From dceccae0b74576d092fb3b2accaffded2c0b5f63 Mon Sep 17 00:00:00 2001 From: DrKLO Date: Thu, 4 Jun 2020 19:47:15 +0300 Subject: [PATCH] Update to 6.2.0 (1984) https://github.com/DrKLO/Telegram/pull/1561 --- Dockerfile | 2 +- TMessagesProj/build.gradle | 28 +- TMessagesProj/jni/Android.mk | 2 +- TMessagesProj/jni/gifvideo.cpp | 43 +- TMessagesProj/jni/{image.c => image.cpp} | 371 +- TMessagesProj/jni/image.h | 8 - TMessagesProj/jni/jni.c | 2 +- .../jni/rlottie/src/lottie/lottieitem.cpp | 3 + .../jni/rlottie/src/lottie/lottiemodel.cpp | 8 +- .../jni/rlottie/src/vector/vdrawhelper.cpp | 2 +- .../jni/tgnet/ConnectionsManager.cpp | 8 +- TMessagesProj/jni/tgnet/ConnectionsManager.h | 2 +- TMessagesProj/src/main/assets/emoji/5_0.png | Bin 1137 -> 1137 bytes TMessagesProj/src/main/assets/emoji/5_1.png | Bin 1291 -> 1288 bytes TMessagesProj/src/main/assets/emoji/5_10.png | Bin 1621 -> 1620 bytes TMessagesProj/src/main/assets/emoji/5_100.png | Bin 922 -> 923 bytes TMessagesProj/src/main/assets/emoji/5_102.png | Bin 1651 -> 1654 bytes TMessagesProj/src/main/assets/emoji/5_103.png | Bin 2285 -> 2283 bytes TMessagesProj/src/main/assets/emoji/5_104.png | Bin 1988 -> 1988 bytes TMessagesProj/src/main/assets/emoji/5_105.png | Bin 1920 -> 1922 bytes TMessagesProj/src/main/assets/emoji/5_106.png | Bin 2004 -> 2004 bytes TMessagesProj/src/main/assets/emoji/5_107.png | Bin 1949 -> 1949 bytes TMessagesProj/src/main/assets/emoji/5_108.png | Bin 1929 -> 1927 bytes TMessagesProj/src/main/assets/emoji/5_109.png | Bin 1964 -> 1964 bytes TMessagesProj/src/main/assets/emoji/5_11.png | Bin 1889 -> 1888 bytes TMessagesProj/src/main/assets/emoji/5_110.png | Bin 1941 -> 1943 bytes TMessagesProj/src/main/assets/emoji/5_111.png | Bin 1263 -> 1263 bytes TMessagesProj/src/main/assets/emoji/5_114.png | Bin 1798 -> 1801 bytes TMessagesProj/src/main/assets/emoji/5_115.png | Bin 1396 -> 1395 bytes TMessagesProj/src/main/assets/emoji/5_116.png | Bin 1247 -> 1247 bytes TMessagesProj/src/main/assets/emoji/5_118.png | Bin 926 -> 927 bytes TMessagesProj/src/main/assets/emoji/5_120.png | Bin 969 -> 969 bytes TMessagesProj/src/main/assets/emoji/5_121.png | Bin 1256 -> 1256 bytes TMessagesProj/src/main/assets/emoji/5_122.png | Bin 2119 -> 2117 bytes TMessagesProj/src/main/assets/emoji/5_123.png | Bin 1973 -> 1972 bytes TMessagesProj/src/main/assets/emoji/5_124.png | Bin 3311 -> 3308 bytes TMessagesProj/src/main/assets/emoji/5_125.png | Bin 2259 -> 2259 bytes TMessagesProj/src/main/assets/emoji/5_126.png | Bin 1812 -> 1812 bytes TMessagesProj/src/main/assets/emoji/5_127.png | Bin 1155 -> 1154 bytes TMessagesProj/src/main/assets/emoji/5_128.png | Bin 3166 -> 3167 bytes TMessagesProj/src/main/assets/emoji/5_129.png | Bin 1770 -> 1768 bytes TMessagesProj/src/main/assets/emoji/5_13.png | Bin 1854 -> 1855 bytes TMessagesProj/src/main/assets/emoji/5_130.png | Bin 3333 -> 3331 bytes TMessagesProj/src/main/assets/emoji/5_131.png | Bin 3259 -> 3265 bytes TMessagesProj/src/main/assets/emoji/5_132.png | Bin 3337 -> 3338 bytes TMessagesProj/src/main/assets/emoji/5_133.png | Bin 1287 -> 1285 bytes TMessagesProj/src/main/assets/emoji/5_135.png | Bin 1012 -> 1016 bytes TMessagesProj/src/main/assets/emoji/5_136.png | Bin 711 -> 709 bytes TMessagesProj/src/main/assets/emoji/5_137.png | Bin 897 -> 894 bytes TMessagesProj/src/main/assets/emoji/5_138.png | Bin 1452 -> 1452 bytes TMessagesProj/src/main/assets/emoji/5_139.png | Bin 923 -> 927 bytes TMessagesProj/src/main/assets/emoji/5_14.png | Bin 1908 -> 1909 bytes TMessagesProj/src/main/assets/emoji/5_140.png | Bin 926 -> 923 bytes TMessagesProj/src/main/assets/emoji/5_141.png | Bin 1065 -> 1067 bytes TMessagesProj/src/main/assets/emoji/5_142.png | Bin 1109 -> 1109 bytes TMessagesProj/src/main/assets/emoji/5_143.png | Bin 1187 -> 1186 bytes TMessagesProj/src/main/assets/emoji/5_145.png | Bin 1405 -> 1404 bytes TMessagesProj/src/main/assets/emoji/5_146.png | Bin 1532 -> 1530 bytes TMessagesProj/src/main/assets/emoji/5_147.png | Bin 1890 -> 1890 bytes TMessagesProj/src/main/assets/emoji/5_148.png | Bin 1458 -> 1457 bytes TMessagesProj/src/main/assets/emoji/5_149.png | Bin 1250 -> 1250 bytes TMessagesProj/src/main/assets/emoji/5_15.png | Bin 1015 -> 1015 bytes TMessagesProj/src/main/assets/emoji/5_150.png | Bin 1813 -> 2552 bytes TMessagesProj/src/main/assets/emoji/5_151.png | Bin 845 -> 1809 bytes TMessagesProj/src/main/assets/emoji/5_152.png | Bin 932 -> 845 bytes TMessagesProj/src/main/assets/emoji/5_153.png | Bin 1159 -> 932 bytes TMessagesProj/src/main/assets/emoji/5_154.png | Bin 1213 -> 1163 bytes TMessagesProj/src/main/assets/emoji/5_155.png | Bin 1184 -> 1213 bytes TMessagesProj/src/main/assets/emoji/5_156.png | Bin 1205 -> 1184 bytes TMessagesProj/src/main/assets/emoji/5_157.png | Bin 1132 -> 1207 bytes TMessagesProj/src/main/assets/emoji/5_158.png | Bin 1572 -> 1130 bytes TMessagesProj/src/main/assets/emoji/5_159.png | Bin 1694 -> 1572 bytes TMessagesProj/src/main/assets/emoji/5_16.png | Bin 1551 -> 1552 bytes TMessagesProj/src/main/assets/emoji/5_160.png | Bin 1232 -> 1694 bytes TMessagesProj/src/main/assets/emoji/5_161.png | Bin 803 -> 1231 bytes TMessagesProj/src/main/assets/emoji/5_162.png | Bin 3904 -> 801 bytes TMessagesProj/src/main/assets/emoji/5_163.png | Bin 1664 -> 3904 bytes TMessagesProj/src/main/assets/emoji/5_164.png | Bin 1193 -> 1665 bytes TMessagesProj/src/main/assets/emoji/5_165.png | Bin 1342 -> 1193 bytes TMessagesProj/src/main/assets/emoji/5_166.png | Bin 761 -> 1340 bytes TMessagesProj/src/main/assets/emoji/5_167.png | Bin 1032 -> 764 bytes TMessagesProj/src/main/assets/emoji/5_168.png | Bin 1095 -> 1032 bytes TMessagesProj/src/main/assets/emoji/5_169.png | Bin 1037 -> 1094 bytes TMessagesProj/src/main/assets/emoji/5_17.png | Bin 2198 -> 2197 bytes TMessagesProj/src/main/assets/emoji/5_170.png | Bin 707 -> 1041 bytes TMessagesProj/src/main/assets/emoji/5_171.png | Bin 1723 -> 706 bytes TMessagesProj/src/main/assets/emoji/5_172.png | Bin 1602 -> 1726 bytes TMessagesProj/src/main/assets/emoji/5_173.png | Bin 1868 -> 1600 bytes TMessagesProj/src/main/assets/emoji/5_174.png | Bin 1322 -> 1868 bytes TMessagesProj/src/main/assets/emoji/5_175.png | Bin 1893 -> 1324 bytes TMessagesProj/src/main/assets/emoji/5_176.png | Bin 1292 -> 1899 bytes TMessagesProj/src/main/assets/emoji/5_177.png | Bin 1168 -> 1286 bytes TMessagesProj/src/main/assets/emoji/5_178.png | Bin 1229 -> 1168 bytes TMessagesProj/src/main/assets/emoji/5_179.png | Bin 1354 -> 1228 bytes TMessagesProj/src/main/assets/emoji/5_18.png | Bin 1603 -> 1601 bytes TMessagesProj/src/main/assets/emoji/5_180.png | Bin 2199 -> 1355 bytes TMessagesProj/src/main/assets/emoji/5_181.png | Bin 1729 -> 2200 bytes TMessagesProj/src/main/assets/emoji/5_182.png | Bin 1176 -> 1727 bytes TMessagesProj/src/main/assets/emoji/5_183.png | Bin 1701 -> 1176 bytes TMessagesProj/src/main/assets/emoji/5_184.png | Bin 2146 -> 1701 bytes TMessagesProj/src/main/assets/emoji/5_185.png | Bin 2090 -> 2145 bytes TMessagesProj/src/main/assets/emoji/5_186.png | Bin 2687 -> 2088 bytes TMessagesProj/src/main/assets/emoji/5_187.png | Bin 686 -> 2685 bytes TMessagesProj/src/main/assets/emoji/5_188.png | Bin 624 -> 686 bytes TMessagesProj/src/main/assets/emoji/5_189.png | Bin 2744 -> 623 bytes TMessagesProj/src/main/assets/emoji/5_19.png | Bin 1938 -> 1938 bytes TMessagesProj/src/main/assets/emoji/5_190.png | Bin 1820 -> 2745 bytes TMessagesProj/src/main/assets/emoji/5_191.png | Bin 1271 -> 1820 bytes TMessagesProj/src/main/assets/emoji/5_192.png | Bin 2540 -> 1271 bytes TMessagesProj/src/main/assets/emoji/5_193.png | Bin 1075 -> 2540 bytes TMessagesProj/src/main/assets/emoji/5_194.png | Bin 1280 -> 1075 bytes TMessagesProj/src/main/assets/emoji/5_195.png | Bin 1221 -> 1280 bytes TMessagesProj/src/main/assets/emoji/5_196.png | Bin 1713 -> 1221 bytes TMessagesProj/src/main/assets/emoji/5_197.png | Bin 1111 -> 1711 bytes TMessagesProj/src/main/assets/emoji/5_198.png | Bin 1848 -> 1110 bytes TMessagesProj/src/main/assets/emoji/5_199.png | Bin 1328 -> 1846 bytes TMessagesProj/src/main/assets/emoji/5_2.png | Bin 1489 -> 1489 bytes TMessagesProj/src/main/assets/emoji/5_20.png | Bin 2040 -> 2041 bytes TMessagesProj/src/main/assets/emoji/5_200.png | Bin 1503 -> 1329 bytes TMessagesProj/src/main/assets/emoji/5_201.png | Bin 1725 -> 1503 bytes TMessagesProj/src/main/assets/emoji/5_202.png | Bin 2028 -> 1725 bytes TMessagesProj/src/main/assets/emoji/5_203.png | Bin 1755 -> 2027 bytes TMessagesProj/src/main/assets/emoji/5_204.png | Bin 1087 -> 1755 bytes TMessagesProj/src/main/assets/emoji/5_205.png | Bin 1185 -> 1085 bytes TMessagesProj/src/main/assets/emoji/5_206.png | Bin 0 -> 1188 bytes TMessagesProj/src/main/assets/emoji/5_22.png | Bin 925 -> 923 bytes TMessagesProj/src/main/assets/emoji/5_23.png | Bin 2148 -> 2151 bytes TMessagesProj/src/main/assets/emoji/5_24.png | Bin 1289 -> 1288 bytes TMessagesProj/src/main/assets/emoji/5_25.png | Bin 947 -> 946 bytes TMessagesProj/src/main/assets/emoji/5_26.png | Bin 1874 -> 1870 bytes TMessagesProj/src/main/assets/emoji/5_27.png | Bin 1436 -> 1437 bytes TMessagesProj/src/main/assets/emoji/5_28.png | Bin 2233 -> 2232 bytes TMessagesProj/src/main/assets/emoji/5_29.png | Bin 944 -> 943 bytes TMessagesProj/src/main/assets/emoji/5_3.png | Bin 984 -> 983 bytes TMessagesProj/src/main/assets/emoji/5_30.png | Bin 1711 -> 1711 bytes TMessagesProj/src/main/assets/emoji/5_31.png | Bin 2044 -> 2046 bytes TMessagesProj/src/main/assets/emoji/5_32.png | Bin 2277 -> 2278 bytes TMessagesProj/src/main/assets/emoji/5_33.png | Bin 1624 -> 1623 bytes TMessagesProj/src/main/assets/emoji/5_34.png | Bin 2949 -> 2948 bytes TMessagesProj/src/main/assets/emoji/5_35.png | Bin 1952 -> 1952 bytes TMessagesProj/src/main/assets/emoji/5_36.png | Bin 2197 -> 2200 bytes TMessagesProj/src/main/assets/emoji/5_37.png | Bin 2265 -> 2268 bytes TMessagesProj/src/main/assets/emoji/5_38.png | Bin 1965 -> 1971 bytes TMessagesProj/src/main/assets/emoji/5_39.png | Bin 1662 -> 1661 bytes TMessagesProj/src/main/assets/emoji/5_4.png | Bin 728 -> 730 bytes TMessagesProj/src/main/assets/emoji/5_40.png | Bin 1113 -> 1115 bytes TMessagesProj/src/main/assets/emoji/5_41.png | Bin 897 -> 895 bytes TMessagesProj/src/main/assets/emoji/5_42.png | Bin 1193 -> 1195 bytes TMessagesProj/src/main/assets/emoji/5_43.png | Bin 1726 -> 1726 bytes TMessagesProj/src/main/assets/emoji/5_44.png | Bin 1803 -> 1803 bytes TMessagesProj/src/main/assets/emoji/5_45.png | Bin 2659 -> 2660 bytes TMessagesProj/src/main/assets/emoji/5_46.png | Bin 1564 -> 1565 bytes TMessagesProj/src/main/assets/emoji/5_47.png | Bin 2519 -> 2522 bytes TMessagesProj/src/main/assets/emoji/5_48.png | Bin 1616 -> 1614 bytes TMessagesProj/src/main/assets/emoji/5_49.png | Bin 1712 -> 1712 bytes TMessagesProj/src/main/assets/emoji/5_5.png | Bin 811 -> 807 bytes TMessagesProj/src/main/assets/emoji/5_50.png | Bin 1765 -> 1766 bytes TMessagesProj/src/main/assets/emoji/5_51.png | Bin 1586 -> 1588 bytes TMessagesProj/src/main/assets/emoji/5_52.png | Bin 1613 -> 1612 bytes TMessagesProj/src/main/assets/emoji/5_53.png | Bin 1107 -> 1108 bytes TMessagesProj/src/main/assets/emoji/5_54.png | Bin 2034 -> 2033 bytes TMessagesProj/src/main/assets/emoji/5_56.png | Bin 1097 -> 1097 bytes TMessagesProj/src/main/assets/emoji/5_57.png | Bin 1110 -> 1109 bytes TMessagesProj/src/main/assets/emoji/5_58.png | Bin 1048 -> 1047 bytes TMessagesProj/src/main/assets/emoji/5_59.png | Bin 1344 -> 1344 bytes TMessagesProj/src/main/assets/emoji/5_60.png | Bin 2010 -> 2010 bytes TMessagesProj/src/main/assets/emoji/5_61.png | Bin 929 -> 925 bytes TMessagesProj/src/main/assets/emoji/5_62.png | Bin 1561 -> 1561 bytes TMessagesProj/src/main/assets/emoji/5_63.png | Bin 2279 -> 2283 bytes TMessagesProj/src/main/assets/emoji/5_64.png | Bin 1378 -> 1371 bytes TMessagesProj/src/main/assets/emoji/5_65.png | Bin 2730 -> 2732 bytes TMessagesProj/src/main/assets/emoji/5_66.png | Bin 1497 -> 1498 bytes TMessagesProj/src/main/assets/emoji/5_68.png | Bin 1825 -> 1825 bytes TMessagesProj/src/main/assets/emoji/5_69.png | Bin 2095 -> 2099 bytes TMessagesProj/src/main/assets/emoji/5_70.png | Bin 1087 -> 1085 bytes TMessagesProj/src/main/assets/emoji/5_71.png | Bin 942 -> 942 bytes TMessagesProj/src/main/assets/emoji/5_72.png | Bin 962 -> 963 bytes TMessagesProj/src/main/assets/emoji/5_73.png | Bin 1501 -> 1501 bytes TMessagesProj/src/main/assets/emoji/5_74.png | Bin 1295 -> 1296 bytes TMessagesProj/src/main/assets/emoji/5_76.png | Bin 1540 -> 1542 bytes TMessagesProj/src/main/assets/emoji/5_77.png | Bin 1577 -> 1581 bytes TMessagesProj/src/main/assets/emoji/5_78.png | Bin 2183 -> 2179 bytes TMessagesProj/src/main/assets/emoji/5_79.png | Bin 2510 -> 2515 bytes TMessagesProj/src/main/assets/emoji/5_8.png | Bin 1504 -> 1505 bytes TMessagesProj/src/main/assets/emoji/5_80.png | Bin 2265 -> 2266 bytes TMessagesProj/src/main/assets/emoji/5_81.png | Bin 2157 -> 2156 bytes TMessagesProj/src/main/assets/emoji/5_82.png | Bin 1770 -> 1770 bytes TMessagesProj/src/main/assets/emoji/5_83.png | Bin 2113 -> 2112 bytes TMessagesProj/src/main/assets/emoji/5_84.png | Bin 1721 -> 1717 bytes TMessagesProj/src/main/assets/emoji/5_85.png | Bin 2025 -> 2024 bytes TMessagesProj/src/main/assets/emoji/5_87.png | Bin 976 -> 978 bytes TMessagesProj/src/main/assets/emoji/5_88.png | Bin 1663 -> 1661 bytes TMessagesProj/src/main/assets/emoji/5_89.png | Bin 1731 -> 1729 bytes TMessagesProj/src/main/assets/emoji/5_9.png | Bin 1151 -> 1155 bytes TMessagesProj/src/main/assets/emoji/5_90.png | Bin 1469 -> 1469 bytes TMessagesProj/src/main/assets/emoji/5_91.png | Bin 876 -> 876 bytes TMessagesProj/src/main/assets/emoji/5_93.png | Bin 2514 -> 2512 bytes TMessagesProj/src/main/assets/emoji/5_94.png | Bin 1507 -> 1506 bytes TMessagesProj/src/main/assets/emoji/5_95.png | Bin 2071 -> 2071 bytes TMessagesProj/src/main/assets/emoji/5_96.png | Bin 1627 -> 1628 bytes TMessagesProj/src/main/assets/emoji/5_97.png | Bin 877 -> 877 bytes TMessagesProj/src/main/assets/emoji/5_98.png | Bin 2159 -> 2157 bytes TMessagesProj/src/main/assets/emoji/5_99.png | Bin 1196 -> 1194 bytes .../widget/ChatListItemAnimator.java | 1280 ++++++ .../recyclerview/widget/ChildHelper.java | 14 +- .../widget/DefaultItemAnimator.java | 69 +- .../widget/LinearLayoutManager.java | 4 +- .../widget/LinearSmoothScroller.java | 4 +- .../recyclerview/widget/RecyclerView.java | 10 +- .../widget/SimpleItemAnimator.java | 52 +- .../recyclerview/widget/ViewInfoStore.java | 21 +- .../telegram/messenger/AndroidUtilities.java | 15 +- .../messenger/AnimatedFileDrawableStream.java | 19 +- .../telegram/messenger/ApplicationLoader.java | 144 +- .../org/telegram/messenger/BuildVars.java | 4 +- .../org/telegram/messenger/DispatchQueue.java | 15 +- .../telegram/messenger/DispatchQueuePool.java | 89 + .../java/org/telegram/messenger/Emoji.java | 50 +- .../org/telegram/messenger/EmojiData.java | 6 +- .../telegram/messenger/FileLoadOperation.java | 21 +- .../org/telegram/messenger/FileLoader.java | 47 +- .../telegram/messenger/FileRefController.java | 56 +- .../messenger/FileStreamLoadOperation.java | 2 +- .../messenger/FileUploadOperation.java | 2 +- .../telegram/messenger/FourierTransform.java | 565 +++ .../org/telegram/messenger/ImageLoader.java | 112 +- .../org/telegram/messenger/ImageLocation.java | 9 + .../org/telegram/messenger/ImageReceiver.java | 156 +- .../telegram/messenger/MediaController.java | 156 +- .../messenger/MediaDataController.java | 91 +- .../org/telegram/messenger/MessageObject.java | 162 +- .../messenger/MessagesController.java | 554 +-- .../telegram/messenger/MessagesStorage.java | 1495 +++---- .../messenger/NotificationCenter.java | 90 +- .../telegram/messenger/SecretChatHelper.java | 8 +- .../messenger/SendMessagesHelper.java | 248 +- .../org/telegram/messenger/Utilities.java | 4 +- .../telegram/messenger/VideoEditedInfo.java | 240 +- .../messenger/camera/CameraController.java | 4 +- .../video/MediaCodecVideoConvertor.java | 1033 +++-- .../messenger/video/OutputSurface.java | 17 +- .../messenger/video/TextureRenderer.java | 524 ++- .../messenger/voip/VoIPBaseService.java | 1 + .../org/telegram/tgnet/SerializedData.java | 45 + .../main/java/org/telegram/tgnet/TLRPC.java | 386 +- .../ui/ActionBar/ActionBarLayout.java | 32 +- .../ui/ActionBar/ActionBarMenuItem.java | 38 +- .../ui/ActionBar/ActionBarPopupWindow.java | 4 + .../telegram/ui/ActionBar/BaseFragment.java | 8 + .../telegram/ui/ActionBar/BottomSheet.java | 74 +- .../java/org/telegram/ui/ActionBar/Theme.java | 70 +- .../org/telegram/ui/ActionIntroActivity.java | 2 +- .../telegram/ui/Adapters/MentionsAdapter.java | 3 +- .../ui/Adapters/StickersSearchAdapter.java | 42 +- .../java/org/telegram/ui/ArticleViewer.java | 36 +- .../org/telegram/ui/CameraScanActivity.java | 40 +- .../org/telegram/ui/Cells/AboutLinkCell.java | 15 +- .../org/telegram/ui/Cells/BotHelpCell.java | 24 +- .../telegram/ui/Cells/ChatMessageCell.java | 1138 +++++- .../telegram/ui/Cells/ContextLinkCell.java | 70 +- .../org/telegram/ui/Cells/DialogCell.java | 6 +- .../ui/Cells/FeaturedStickerSetCell2.java | 24 +- .../ui/Cells/FeaturedStickerSetInfoCell.java | 256 +- .../telegram/ui/Cells/GraySectionCell.java | 30 +- .../ui/Cells/GroupCreateUserCell.java | 15 +- .../ui/Cells/PhotoAttachPhotoCell.java | 22 +- .../ui/Cells/PhotoPickerPhotoCell.java | 147 +- .../org/telegram/ui/Cells/SharedLinkCell.java | 9 +- .../telegram/ui/Cells/StickerSetNameCell.java | 71 +- .../ui/Cells/TextSelectionHelper.java | 5 +- .../telegram/ui/ChannelAdminLogActivity.java | 19 +- .../telegram/ui/ChannelCreateActivity.java | 4 +- .../java/org/telegram/ui/ChatActivity.java | 1715 +++++--- .../org/telegram/ui/ChatEditActivity.java | 4 +- .../telegram/ui/ChatRightsEditActivity.java | 4 +- .../telegram/ui/Components/AlertsCreator.java | 78 +- .../ui/Components/AnimatedFileDrawable.java | 53 +- .../Components/AudioVisualizerDrawable.java | 194 + .../ui/Components/BiometricPromtHelper.java | 427 -- .../ui/Components/BlurBehindDrawable.java | 15 +- .../ui/Components/ChatActivityEnterView.java | 118 +- .../ui/Components/ChatAttachAlert.java | 22 +- .../ChatAttachAlertAudioLayout.java | 2 +- .../ChatAttachAlertContactsLayout.java | 2 +- .../ChatAttachAlertDocumentLayout.java | 13 +- .../ChatAttachAlertLocationLayout.java | 2 +- .../ChatAttachAlertPhotoLayout.java | 4 +- .../Components/ChatAttachAlertPollLayout.java | 2 +- .../telegram/ui/Components/CheckBoxBase.java | 6 +- .../ui/Components/CircleBezierDrawable.java | 17 +- .../telegram/ui/Components/Crop/CropView.java | 144 +- .../ui/Components/DialogsItemAnimator.java | 10 +- .../org/telegram/ui/Components/EmojiView.java | 1805 ++++++--- .../telegram/ui/Components/EmptyStubSpan.java | 21 + .../Components/ExtendedGridLayoutManager.java | 52 +- .../ui/Components/FadingTextViewLayout.java | 193 + .../ui/Components/FilterGLThread.java | 414 ++ .../telegram/ui/Components/FilterShaders.java | 1403 +++++++ .../ui/Components/FiltersListBottomSheet.java | 420 ++ .../ui/Components/ForegroundDetector.java | 2 - .../ui/Components/GroupedPhotosListView.java | 107 +- .../org/telegram/ui/Components/HintView.java | 2 +- .../telegram/ui/Components/ImageUpdater.java | 3 +- .../ui/Components/InstantCameraView.java | 61 +- .../telegram/ui/Components/Paint/Input.java | 32 +- .../ui/Components/Paint/Painting.java | 257 +- .../ui/Components/Paint/PhotoFace.java | 3 +- .../ui/Components/Paint/RenderView.java | 153 +- .../telegram/ui/Components/Paint/Shader.java | 4 +- .../ui/Components/Paint/ShaderSet.java | 6 +- .../telegram/ui/Components/Paint/Slice.java | 3 +- .../telegram/ui/Components/Paint/Texture.java | 13 +- .../ui/Components/Paint/UndoStore.java | 9 +- .../Components/Paint/Views/ColorPicker.java | 6 +- .../Paint/Views/EditTextOutline.java | 211 +- .../Paint/Views/EntitiesContainerView.java | 17 +- .../ui/Components/Paint/Views/EntityView.java | 90 +- .../Components/Paint/Views/StickerView.java | 60 +- .../Components/Paint/Views/TextPaintView.java | 49 +- .../ui/Components/PaintingOverlay.java | 240 ++ .../telegram/ui/Components/PhotoCropView.java | 12 +- .../ui/Components/PhotoFilterBlurControl.java | 38 +- .../ui/Components/PhotoFilterView.java | 1707 ++------ .../ui/Components/PhotoPaintView.java | 514 ++- .../ui/Components/ProfileGalleryView.java | 8 +- .../ui/Components/RLottieDrawable.java | 163 +- .../RecyclerAnimationScrollHelper.java | 134 +- .../ui/Components/RecyclerListView.java | 8 +- .../ui/Components/ScrollSlidingTabStrip.java | 6 + .../telegram/ui/Components/SearchField.java | 12 + .../ui/Components/SeekBarWaveform.java | 2 +- .../telegram/ui/Components/ShareAlert.java | 20 +- .../ui/Components/SharedMediaLayout.java | 54 +- .../ui/Components/SideMenultItemAnimator.java | 8 +- .../Components/SizeNotifierFrameLayout.java | 10 +- .../ui/Components/StickerMasksAlert.java | 1645 ++++++++ .../ui/Components/StickerMasksView.java | 482 --- .../telegram/ui/Components/StickersAlert.java | 155 +- .../ui/Components/TextViewSwitcher.java | 53 + .../ui/Components/ThemeEditorView.java | 5 + .../ui/Components/TrendingStickersAlert.java | 22 +- .../ui/Components/TrendingStickersLayout.java | 85 +- .../org/telegram/ui/Components/UndoView.java | 66 +- .../ui/Components/VideoEditTextureView.java | 123 + .../telegram/ui/Components/VideoPlayer.java | 227 +- .../ui/Components/VideoPlayerSeekBar.java | 253 ++ .../ui/Components/VideoTimelinePlayView.java | 2 +- .../ui/Components/VideoTimelineView.java | 7 +- .../telegram/ui/Components/WebPlayerView.java | 2 +- .../org/telegram/ui/ContentPreviewViewer.java | 33 +- .../java/org/telegram/ui/DialogsActivity.java | 174 +- .../org/telegram/ui/FilterCreateActivity.java | 24 +- .../org/telegram/ui/FilterUsersActivity.java | 18 +- .../org/telegram/ui/FiltersSetupActivity.java | 2 +- .../org/telegram/ui/GroupCreateActivity.java | 2 +- .../telegram/ui/GroupCreateFinalActivity.java | 6 +- .../java/org/telegram/ui/LaunchActivity.java | 28 +- .../java/org/telegram/ui/LogoutActivity.java | 7 +- .../java/org/telegram/ui/MediaActivity.java | 46 +- .../org/telegram/ui/PassportActivity.java | 20 +- .../org/telegram/ui/PaymentFormActivity.java | 14 +- .../telegram/ui/PhotoAlbumPickerActivity.java | 20 +- .../org/telegram/ui/PhotoPickerActivity.java | 23 +- .../ui/PhotoPickerSearchActivity.java | 5 +- .../java/org/telegram/ui/PhotoViewer.java | 3456 +++++++++++++---- .../ui/PopupNotificationActivity.java | 4 +- .../telegram/ui/PrivacySettingsActivity.java | 61 +- .../java/org/telegram/ui/ProfileActivity.java | 35 +- .../org/telegram/ui/SecretMediaViewer.java | 2 +- .../org/telegram/ui/SettingsActivity.java | 8 +- .../org/telegram/ui/StatisticActivity.java | 18 +- .../org/telegram/ui/StickersActivity.java | 8 +- .../org/telegram/ui/ThemePreviewActivity.java | 4 +- .../ui/TooManyCommunitiesActivity.java | 4 +- .../ui/TwoStepVerificationActivity.java | 1104 ++---- .../ui/TwoStepVerificationSetupActivity.java | 1526 ++++++++ .../src/main/res/drawable-hdpi/menu_bots.png | Bin 0 -> 783 bytes .../main/res/drawable-hdpi/menu_private.png | Bin 0 -> 1106 bytes .../main/res/drawable-hdpi/menu_unread.png | Bin 0 -> 917 bytes .../main/res/drawable-hdpi/msg_addfolder.png | Bin 0 -> 710 bytes .../res/drawable-hdpi/msg_removefolder.png | Bin 0 -> 667 bytes .../main/res/drawable-hdpi/msg_text_check.png | Bin 0 -> 293 bytes .../res/drawable-hdpi/msg_text_framed.png | Bin 0 -> 588 bytes .../res/drawable-hdpi/msg_text_outlined.png | Bin 0 -> 842 bytes .../res/drawable-hdpi/msg_text_regular.png | Bin 0 -> 600 bytes .../src/main/res/drawable-hdpi/photo_add.png | Bin 691 -> 1348 bytes .../main/res/drawable-hdpi/photo_tooltip2.png | Bin 0 -> 315 bytes .../res/drawable-hdpi/selectphoto_large.png | Bin 363 -> 352 bytes .../drawable-hdpi/stickers_gifs_trending.png | Bin 0 -> 992 bytes .../main/res/drawable-hdpi/toast_folder.png | Bin 0 -> 547 bytes .../res/drawable-hdpi/toast_folder_minus.png | Bin 0 -> 457 bytes .../main/res/drawable-hdpi/video_cropleft.png | Bin 123 -> 313 bytes .../res/drawable-hdpi/video_cropright.png | Bin 124 -> 309 bytes .../main/res/drawable-hdpi/video_pause1.png | Bin 0 -> 459 bytes .../main/res/drawable-hdpi/video_play1.png | Bin 0 -> 727 bytes .../res/drawable-hdpi/video_send_mute.png | Bin 0 -> 1544 bytes .../res/drawable-hdpi/video_send_unmute.png | Bin 0 -> 1247 bytes .../src/main/res/drawable-mdpi/menu_bots.png | Bin 0 -> 591 bytes .../main/res/drawable-mdpi/menu_private.png | Bin 0 -> 734 bytes .../main/res/drawable-mdpi/menu_unread.png | Bin 0 -> 583 bytes .../main/res/drawable-mdpi/msg_addfolder.png | Bin 0 -> 534 bytes .../res/drawable-mdpi/msg_removefolder.png | Bin 0 -> 503 bytes .../main/res/drawable-mdpi/msg_text_check.png | Bin 0 -> 250 bytes .../res/drawable-mdpi/msg_text_framed.png | Bin 0 -> 390 bytes .../res/drawable-mdpi/msg_text_outlined.png | Bin 0 -> 523 bytes .../res/drawable-mdpi/msg_text_regular.png | Bin 0 -> 402 bytes .../src/main/res/drawable-mdpi/photo_add.png | Bin 407 -> 825 bytes .../main/res/drawable-mdpi/photo_tooltip2.png | Bin 0 -> 225 bytes .../res/drawable-mdpi/selectphoto_large.png | Bin 269 -> 250 bytes .../drawable-mdpi/stickers_gifs_trending.png | Bin 0 -> 675 bytes .../main/res/drawable-mdpi/toast_folder.png | Bin 0 -> 412 bytes .../res/drawable-mdpi/toast_folder_minus.png | Bin 0 -> 271 bytes .../main/res/drawable-mdpi/video_cropleft.png | Bin 101 -> 232 bytes .../res/drawable-mdpi/video_cropright.png | Bin 105 -> 227 bytes .../main/res/drawable-mdpi/video_pause1.png | Bin 0 -> 289 bytes .../main/res/drawable-mdpi/video_play1.png | Bin 0 -> 500 bytes .../res/drawable-mdpi/video_send_mute.png | Bin 0 -> 933 bytes .../res/drawable-mdpi/video_send_unmute.png | Bin 0 -> 799 bytes .../src/main/res/drawable-xhdpi/menu_bots.png | Bin 0 -> 1124 bytes .../main/res/drawable-xhdpi/menu_private.png | Bin 0 -> 1556 bytes .../main/res/drawable-xhdpi/menu_unread.png | Bin 0 -> 1263 bytes .../main/res/drawable-xhdpi/msg_addfolder.png | Bin 0 -> 924 bytes .../res/drawable-xhdpi/msg_removefolder.png | Bin 0 -> 889 bytes .../res/drawable-xhdpi/msg_text_check.png | Bin 0 -> 375 bytes .../res/drawable-xhdpi/msg_text_framed.png | Bin 0 -> 808 bytes .../res/drawable-xhdpi/msg_text_outlined.png | Bin 0 -> 1125 bytes .../res/drawable-xhdpi/msg_text_regular.png | Bin 0 -> 821 bytes .../src/main/res/drawable-xhdpi/photo_add.png | Bin 979 -> 1846 bytes .../res/drawable-xhdpi/photo_tooltip2.png | Bin 0 -> 352 bytes .../res/drawable-xhdpi/selectphoto_large.png | Bin 447 -> 411 bytes .../drawable-xhdpi/stickers_gifs_trending.png | Bin 0 -> 1325 bytes .../main/res/drawable-xhdpi/toast_folder.png | Bin 0 -> 760 bytes .../res/drawable-xhdpi/toast_folder_minus.png | Bin 0 -> 577 bytes .../res/drawable-xhdpi/video_cropleft.png | Bin 132 -> 369 bytes .../res/drawable-xhdpi/video_cropright.png | Bin 130 -> 364 bytes .../main/res/drawable-xhdpi/video_pause1.png | Bin 0 -> 594 bytes .../main/res/drawable-xhdpi/video_play1.png | Bin 0 -> 1158 bytes .../res/drawable-xhdpi/video_send_mute.png | Bin 0 -> 2083 bytes .../res/drawable-xhdpi/video_send_unmute.png | Bin 0 -> 1703 bytes .../main/res/drawable-xxhdpi/menu_bots.png | Bin 0 -> 1590 bytes .../main/res/drawable-xxhdpi/menu_private.png | Bin 0 -> 2273 bytes .../main/res/drawable-xxhdpi/menu_unread.png | Bin 0 -> 1919 bytes .../res/drawable-xxhdpi/msg_addfolder.png | Bin 0 -> 1363 bytes .../res/drawable-xxhdpi/msg_removefolder.png | Bin 0 -> 1287 bytes .../res/drawable-xxhdpi/msg_text_check.png | Bin 0 -> 543 bytes .../res/drawable-xxhdpi/msg_text_framed.png | Bin 0 -> 1205 bytes .../res/drawable-xxhdpi/msg_text_outlined.png | Bin 0 -> 1769 bytes .../res/drawable-xxhdpi/msg_text_regular.png | Bin 0 -> 1253 bytes .../main/res/drawable-xxhdpi/photo_add.png | Bin 1715 -> 2997 bytes .../res/drawable-xxhdpi/photo_tooltip2.png | Bin 0 -> 448 bytes .../res/drawable-xxhdpi/selectphoto_large.png | Bin 685 -> 577 bytes .../stickers_gifs_trending.png | Bin 0 -> 1920 bytes .../main/res/drawable-xxhdpi/toast_folder.png | Bin 0 -> 1043 bytes .../drawable-xxhdpi/toast_folder_minus.png | Bin 0 -> 819 bytes .../res/drawable-xxhdpi/video_cropleft.png | Bin 154 -> 574 bytes .../res/drawable-xxhdpi/video_cropright.png | Bin 154 -> 571 bytes .../main/res/drawable-xxhdpi/video_pause1.png | Bin 0 -> 1044 bytes .../main/res/drawable-xxhdpi/video_play1.png | Bin 0 -> 1935 bytes .../res/drawable-xxhdpi/video_send_mute.png | Bin 0 -> 3373 bytes .../res/drawable-xxhdpi/video_send_unmute.png | Bin 0 -> 2860 bytes .../src/main/res/raw/tsv_monkey_close.tgs | 1 + .../src/main/res/raw/tsv_setup_email_sent.tgs | 1 + .../src/main/res/raw/tsv_setup_hint.tgs | 1 + .../{wallet_lock.tgs => tsv_setup_intro.tgs} | 0 .../src/main/res/raw/tsv_setup_mail.tgs | 1 + .../raw/tsv_setup_monkey_close_and_peek.tgs | 1 + ...sv_setup_monkey_close_and_peek_to_idle.tgs | 1 + .../main/res/raw/tsv_setup_monkey_idle1.tgs | 1 + .../main/res/raw/tsv_setup_monkey_idle2.tgs | 1 + .../main/res/raw/tsv_setup_monkey_peek.tgs | 1 + .../res/raw/tsv_setup_monkey_tracking.tgs | 1 + .../src/main/res/raw/wallet_crystal.tgs | 1 - TMessagesProj/src/main/res/raw/wallet_egg.tgs | 1 - TMessagesProj/src/main/res/raw/wallet_gem.tgs | 1 - .../src/main/res/raw/wallet_money.tgs | 1 - .../src/main/res/raw/wallet_note.tgs | 1 - .../src/main/res/raw/wallet_perfect.tgs | 1 - .../src/main/res/raw/wallet_sync.tgs | 1 - .../src/main/res/raw/wallet_toobad.tgs | 1 - .../src/main/res/values-ar/strings.xml | 77 +- .../src/main/res/values-de/strings.xml | 59 +- .../src/main/res/values-es/strings.xml | 143 +- .../src/main/res/values-it/strings.xml | 107 +- .../src/main/res/values-ko/strings.xml | 99 +- .../src/main/res/values-nl/strings.xml | 103 +- .../src/main/res/values-pt-rBR/strings.xml | 141 +- TMessagesProj/src/main/res/values/strings.xml | 198 +- 487 files changed, 23032 insertions(+), 9363 deletions(-) rename TMessagesProj/jni/{image.c => image.cpp} (74%) delete mode 100644 TMessagesProj/jni/image.h create mode 100644 TMessagesProj/src/main/assets/emoji/5_206.png create mode 100644 TMessagesProj/src/main/java/androidx/recyclerview/widget/ChatListItemAnimator.java create mode 100644 TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueuePool.java create mode 100644 TMessagesProj/src/main/java/org/telegram/messenger/FourierTransform.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/AudioVisualizerDrawable.java delete mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/BiometricPromtHelper.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/EmptyStubSpan.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/FadingTextViewLayout.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/FilterGLThread.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/FilterShaders.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/FiltersListBottomSheet.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/PaintingOverlay.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksAlert.java delete mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksView.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/TextViewSwitcher.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/VideoEditTextureView.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayerSeekBar.java create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationSetupActivity.java create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_bots.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_private.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_unread.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_addfolder.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_removefolder.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_text_check.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_text_framed.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_text_outlined.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/msg_text_regular.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/photo_tooltip2.png mode change 100755 => 100644 TMessagesProj/src/main/res/drawable-hdpi/selectphoto_large.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/stickers_gifs_trending.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/toast_folder.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/toast_folder_minus.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/video_pause1.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/video_play1.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/video_send_mute.png create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/video_send_unmute.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_bots.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_private.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_unread.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_addfolder.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_removefolder.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_text_check.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_text_framed.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_text_outlined.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/msg_text_regular.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/photo_tooltip2.png mode change 100755 => 100644 TMessagesProj/src/main/res/drawable-mdpi/selectphoto_large.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/stickers_gifs_trending.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/toast_folder.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/toast_folder_minus.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/video_pause1.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/video_play1.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/video_send_mute.png create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/video_send_unmute.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_bots.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_private.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_unread.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_addfolder.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_removefolder.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_text_check.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_text_framed.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_text_outlined.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/msg_text_regular.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/photo_tooltip2.png mode change 100755 => 100644 TMessagesProj/src/main/res/drawable-xhdpi/selectphoto_large.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/stickers_gifs_trending.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/toast_folder.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/toast_folder_minus.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/video_pause1.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/video_play1.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/video_send_mute.png create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/video_send_unmute.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_bots.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_private.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_unread.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_addfolder.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_removefolder.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_check.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_framed.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_outlined.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_regular.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/photo_tooltip2.png mode change 100755 => 100644 TMessagesProj/src/main/res/drawable-xxhdpi/selectphoto_large.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/stickers_gifs_trending.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/toast_folder.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/toast_folder_minus.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/video_pause1.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/video_play1.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/video_send_mute.png create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/video_send_unmute.png create mode 100644 TMessagesProj/src/main/res/raw/tsv_monkey_close.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_email_sent.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_hint.tgs rename TMessagesProj/src/main/res/raw/{wallet_lock.tgs => tsv_setup_intro.tgs} (100%) create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_mail.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek_to_idle.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle1.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle2.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_peek.tgs create mode 100644 TMessagesProj/src/main/res/raw/tsv_setup_monkey_tracking.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_crystal.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_egg.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_gem.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_money.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_note.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_perfect.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_sync.tgs delete mode 100644 TMessagesProj/src/main/res/raw/wallet_toobad.tgs diff --git a/Dockerfile b/Dockerfile index 3fcd42a78..5f8c9c625 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ENV ANDROID_SDK_URL https://dl.google.com/android/repository/sdk-tools-linux-385 ENV ANDROID_API_LEVEL android-29 ENV ANDROID_BUILD_TOOLS_VERSION 29.0.3 ENV ANDROID_HOME /usr/local/android-sdk-linux -ENV ANDROID_NDK_VERSION 20.0.5594570 +ENV ANDROID_NDK_VERSION 21.1.6352462 ENV ANDROID_VERSION 29 ENV ANDROID_NDK_HOME ${ANDROID_HOME}/ndk/${ANDROID_NDK_VERSION}/ ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle index 9a355bdda..c2815100c 100644 --- a/TMessagesProj/build.gradle +++ b/TMessagesProj/build.gradle @@ -25,15 +25,15 @@ dependencies { compileOnly 'org.checkerframework:checker-qual:2.5.2' compileOnly 'org.checkerframework:checker-compat-qual:2.5.0' - implementation 'com.google.firebase:firebase-messaging:20.1.6' + implementation 'com.google.firebase:firebase-messaging:20.2.0' implementation 'com.google.firebase:firebase-config:19.1.4' implementation 'com.google.android.gms:play-services-maps:17.0.0' - implementation 'com.google.android.gms:play-services-auth:17.0.0' + implementation 'com.google.android.gms:play-services-auth:18.0.0' implementation 'com.google.android.gms:play-services-vision:16.2.0' implementation 'com.google.android.gms:play-services-wearable:17.0.0' implementation 'com.google.android.gms:play-services-location:17.0.0' - implementation "com.microsoft.appcenter:appcenter-distribute:3.1.0" - implementation "com.microsoft.appcenter:appcenter-crashes:3.1.0" + implementation "com.microsoft.appcenter:appcenter-distribute:3.2.1" + implementation "com.microsoft.appcenter:appcenter-crashes:3.2.1" implementation 'com.googlecode.mp4parser:isoparser:1.0.6' implementation 'com.stripe:stripe-android:2.0.2' implementation files('libs/libgsaverification-client.aar') @@ -42,7 +42,7 @@ dependencies { android { compileSdkVersion 29 buildToolsVersion '29.0.3' - ndkVersion "20.0.5594570" + ndkVersion "21.1.6352462" defaultConfig.applicationId = "org.telegram.messenger" @@ -102,6 +102,7 @@ android { signingConfig signingConfigs.debug applicationIdSuffix ".beta" minifyEnabled true + multiDexEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' packagingOptions { @@ -124,12 +125,6 @@ android { } }*/ - debugMultidex { - initWith debug - minifyEnabled false - multiDexEnabled true - } - HA { debuggable false jniDebuggable false @@ -159,11 +154,6 @@ android { manifest.srcFile 'config/debug/AndroidManifest.xml' }*/ - sourceSets.debugMultidex { - manifest.srcFile 'config/debug/AndroidManifest.xml' - java.srcDirs = ['src/multidex/java'] - } - sourceSets.HA { manifest.srcFile 'config/debug/AndroidManifest.xml' } @@ -286,7 +276,7 @@ android { } } - defaultConfig.versionCode = 1947 + defaultConfig.versionCode = 1984 def tgVoipDexFileName = "libtgvoip.dex" def tgVoipDexClasses = ["AudioRecordJNI", "AudioTrackJNI", "NativeTgVoipDelegate", "NativeTgVoipInstance", "TgVoipNativeLoader", "Resampler", "VLog"] @@ -381,13 +371,13 @@ android { defaultConfig { minSdkVersion 16 targetSdkVersion 28 - versionName "6.1.1" + versionName "6.2.0" vectorDrawables.generatedDensities = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi'] externalNativeBuild { ndkBuild { - arguments "NDK_APPLICATION_MK:=jni/Application.mk", "APP_PLATFORM:=android-16", "--jobs=8" + arguments "NDK_APPLICATION_MK:=jni/Application.mk", "APP_PLATFORM:=android-16", "--jobs=8", "LOCAL_ARM_NEON:=false" abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } diff --git a/TMessagesProj/jni/Android.mk b/TMessagesProj/jni/Android.mk index ca4b76b6c..dea885799 100755 --- a/TMessagesProj/jni/Android.mk +++ b/TMessagesProj/jni/Android.mk @@ -624,7 +624,7 @@ endif LOCAL_SRC_FILES += \ ./jni.c \ ./audio.c \ -./image.c \ +./image.cpp \ ./video.c \ ./intro/IntroRenderer.c \ ./utilities.cpp \ diff --git a/TMessagesProj/jni/gifvideo.cpp b/TMessagesProj/jni/gifvideo.cpp index 90bfbb2d3..49a900cc7 100644 --- a/TMessagesProj/jni/gifvideo.cpp +++ b/TMessagesProj/jni/gifvideo.cpp @@ -30,6 +30,8 @@ static const std::string av_make_error_str(int errnum) { jclass jclass_AnimatedFileDrawableStream; jmethodID jclass_AnimatedFileDrawableStream_read; jmethodID jclass_AnimatedFileDrawableStream_cancel; +jmethodID jclass_AnimatedFileDrawableStream_isFinishedLoadingFile; +jmethodID jclass_AnimatedFileDrawableStream_getFinishedFilePath; typedef struct VideoInfo { @@ -189,6 +191,20 @@ void requestFd(VideoInfo *info) { attached = false; } jniEnv->CallIntMethod(info->stream, jclass_AnimatedFileDrawableStream_read, (jint) 0, (jint) 1); + jboolean loaded = jniEnv->CallBooleanMethod(info->stream, jclass_AnimatedFileDrawableStream_isFinishedLoadingFile); + if (loaded) { + delete[] info->src; + jstring src = (jstring) jniEnv->CallObjectMethod(info->stream, jclass_AnimatedFileDrawableStream_getFinishedFilePath); + char const *srcString = jniEnv->GetStringUTFChars(src, 0); + size_t len = strlen(srcString); + info->src = new char[len + 1]; + memcpy(info->src, srcString, len); + info->src[len] = '\0'; + if (srcString != 0) { + jniEnv->ReleaseStringUTFChars(src, srcString); + } + } + if (attached) { javaVm->DetachCurrentThread(); } @@ -579,7 +595,7 @@ void Java_org_telegram_ui_Components_AnimatedFileDrawable_seekToMs(JNIEnv *env, } } -jint Java_org_telegram_ui_Components_AnimatedFileDrawable_getVideoFrame(JNIEnv *env, jclass clazz, jlong ptr, jobject bitmap, jintArray data, jint stride, jboolean preview) { +jint Java_org_telegram_ui_Components_AnimatedFileDrawable_getVideoFrame(JNIEnv *env, jclass clazz, jlong ptr, jobject bitmap, jintArray data, jint stride, jboolean preview, jfloat start_time, jfloat end_time) { if (ptr == NULL || bitmap == nullptr) { return 0; } @@ -592,9 +608,16 @@ jint Java_org_telegram_ui_Components_AnimatedFileDrawable_getVideoFrame(JNIEnv * while (!info->stopped && triesCount != 0) { if (info->pkt.size == 0) { ret = av_read_frame(info->fmt_ctx, &info->pkt); - //LOGD("got packet with size %d", info->pkt.size); if (ret >= 0) { - info->orig_pkt = info->pkt; + double pts = info->pkt.pts * av_q2d(info->video_stream->time_base); + if (end_time > 0 && info->pkt.stream_index == info->video_stream_idx && pts > end_time) { + av_packet_unref(&info->pkt); + info->pkt.data = NULL; + info->pkt.size = 0; + } else { + info->orig_pkt = info->pkt; + } + } } @@ -624,7 +647,11 @@ jint Java_org_telegram_ui_Components_AnimatedFileDrawable_getVideoFrame(JNIEnv * } if (!preview && got_frame == 0) { if (info->has_decoded_frames) { - if ((ret = av_seek_frame(info->fmt_ctx, info->video_stream_idx, 0, AVSEEK_FLAG_BACKWARD | AVSEEK_FLAG_FRAME)) < 0) { + int64_t start_from = 0; + if (start_time > 0) { + start_from = (int64_t)(start_time / av_q2d(info->video_stream->time_base)); + } + if ((ret = av_seek_frame(info->fmt_ctx, info->video_stream_idx, start_from, AVSEEK_FLAG_BACKWARD | AVSEEK_FLAG_FRAME)) < 0) { LOGE("can't seek to begin of file %s, %s", info->src, av_err2str(ret)); return 0; } else { @@ -710,6 +737,14 @@ jint videoOnJNILoad(JavaVM *vm, JNIEnv *env) { if (jclass_AnimatedFileDrawableStream_cancel == 0) { return JNI_FALSE; } + jclass_AnimatedFileDrawableStream_isFinishedLoadingFile = env->GetMethodID(jclass_AnimatedFileDrawableStream, "isFinishedLoadingFile", "()Z"); + if (jclass_AnimatedFileDrawableStream_isFinishedLoadingFile == 0) { + return JNI_FALSE; + } + jclass_AnimatedFileDrawableStream_getFinishedFilePath = env->GetMethodID(jclass_AnimatedFileDrawableStream, "getFinishedFilePath", "()Ljava/lang/String;"); + if (jclass_AnimatedFileDrawableStream_getFinishedFilePath == 0) { + return JNI_FALSE; + } return JNI_TRUE; } diff --git a/TMessagesProj/jni/image.c b/TMessagesProj/jni/image.cpp similarity index 74% rename from TMessagesProj/jni/image.c rename to TMessagesProj/jni/image.cpp index f4d31e3de..83255245e 100644 --- a/TMessagesProj/jni/image.c +++ b/TMessagesProj/jni/image.cpp @@ -7,10 +7,9 @@ #include #include #include -#include #include "c_utils.h" -#include "image.h" +extern "C" { jclass jclass_NullPointerException; jclass jclass_RuntimeException; @@ -19,43 +18,32 @@ jfieldID jclass_Options_inJustDecodeBounds; jfieldID jclass_Options_outHeight; jfieldID jclass_Options_outWidth; -const uint32_t PGPhotoEnhanceHistogramBins = 256; -const uint32_t PGPhotoEnhanceSegments = 4; - -jclass createGlobarRef(JNIEnv *env, jclass class) { - if (class) { - return (*env)->NewGlobalRef(env, class); - } - return 0; -} - jint imageOnJNILoad(JavaVM *vm, JNIEnv *env) { - jclass_NullPointerException = createGlobarRef(env, (*env)->FindClass(env, "java/lang/NullPointerException")); + jclass_NullPointerException = (jclass) env->NewGlobalRef(env->FindClass("java/lang/NullPointerException")); if (jclass_NullPointerException == 0) { return JNI_FALSE; } - jclass_RuntimeException = createGlobarRef(env, (*env)->FindClass(env, "java/lang/RuntimeException")); + jclass_RuntimeException = (jclass) env->NewGlobalRef(env->FindClass("java/lang/RuntimeException")); if (jclass_RuntimeException == 0) { return JNI_FALSE; } - - jclass_Options = createGlobarRef(env, (*env)->FindClass(env, "android/graphics/BitmapFactory$Options")); + jclass_Options = (jclass) env->NewGlobalRef(env->FindClass("android/graphics/BitmapFactory$Options")); if (jclass_Options == 0) { return JNI_FALSE; } - jclass_Options_inJustDecodeBounds = (*env)->GetFieldID(env, jclass_Options, "inJustDecodeBounds", "Z"); + jclass_Options_inJustDecodeBounds = env->GetFieldID(jclass_Options, "inJustDecodeBounds", "Z"); if (jclass_Options_inJustDecodeBounds == 0) { return JNI_FALSE; } - jclass_Options_outHeight = (*env)->GetFieldID(env, jclass_Options, "outHeight", "I"); + jclass_Options_outHeight = env->GetFieldID(jclass_Options, "outHeight", "I"); if (jclass_Options_outHeight == 0) { return JNI_FALSE; } - jclass_Options_outWidth = (*env)->GetFieldID(env, jclass_Options, "outWidth", "I"); + jclass_Options_outWidth = env->GetFieldID(jclass_Options, "outWidth", "I"); if (jclass_Options_outWidth == 0) { return JNI_FALSE; } - + return JNI_TRUE; } @@ -65,18 +53,18 @@ static inline uint64_t getColors(const uint8_t *p) { static inline uint64_t getColors565(const uint8_t *p) { uint16_t *ps = (uint16_t *) p; - return ((((ps[0] & 0xF800) >> 11) * 255) / 31) + (((((ps[0] & 0x07E0) >> 5) * 255) / 63) << 16) + ((uint64_t) (((ps[0] & 0x001F) * 255) / 31) << 32); + return ((((ps[0] & 0xF800) >> 11) * 255) / 31) + (((((ps[0] & 0x07E0) >> 5) * 255) / 63) << 16) + ((uint64_t)(((ps[0] & 0x001F) * 255) / 31) << 32); } static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t radius) { const int32_t r1 = radius + 1; const int32_t div = radius * 2 + 1; - + if (radius > 15 || div >= w || div >= h || w * h > 150 * 150 || stride > w * 4) { return; } - uint64_t *rgb = malloc(w * h * sizeof(uint64_t)); + uint64_t *rgb = new uint64_t[w * h]; if (rgb == NULL) { return; } @@ -89,16 +77,16 @@ static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int uint64_t cur = getColors(&pix[yw]); uint64_t rgballsum = -radius * cur; uint64_t rgbsum = cur * ((r1 * (r1 + 1)) >> 1); - + for (i = 1; i <= radius; i++) { cur = getColors(&pix[yw + i * 4]); rgbsum += cur * (r1 - i); rgballsum += cur; } - + x = 0; - - #define update(start, middle, end) \ + +#define update(start, middle, end) \ rgb[y * w + x] = (rgbsum >> 6) & 0x00FF00FF00FF00FF; \ rgballsum += getColors(&pix[yw + (start) * 4]) - 2 * getColors(&pix[yw + (middle) * 4]) + getColors(&pix[yw + (end) * 4]); \ rgbsum += rgballsum; \ @@ -113,11 +101,11 @@ static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int while (x < w) { update (x - r1, x, w - 1); } - #undef update - +#undef update + yw += stride; } - + const int32_t he = h - r1; for (x = 0; x < w; x++) { uint64_t rgballsum = -radius * rgb[x]; @@ -126,11 +114,11 @@ static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int rgbsum += rgb[i * w + x] * (r1 - i); rgballsum += rgb[i * w + x]; } - + y = 0; int32_t yi = x * 4; - - #define update(start, middle, end) \ + +#define update(start, middle, end) \ int64_t res = rgbsum >> 6; \ pix[yi] = res; \ pix[yi + 1] = res >> 16; \ @@ -140,7 +128,7 @@ static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int rgbsum += rgballsum; \ y++; \ yi += stride; - + while (y < r1) { update (0, y, y + r1); } @@ -150,8 +138,10 @@ static void fastBlurMore(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int while (y < h) { update (y - r1, y, h - 1); } - #undef update +#undef update } + + delete[] rgb; } static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t radius) { @@ -172,12 +162,12 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t } else { return; } - + if (radius > 15 || div >= w || div >= h || w * h > 150 * 150 || stride > w * 4) { return; } - uint64_t *rgb = malloc(w * h * sizeof(uint64_t)); + uint64_t *rgb = new uint64_t[w * h]; if (rgb == NULL) { return; } @@ -190,16 +180,16 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t uint64_t cur = getColors(&pix[yw]); uint64_t rgballsum = -radius * cur; uint64_t rgbsum = cur * ((r1 * (r1 + 1)) >> 1); - + for (i = 1; i <= radius; i++) { cur = getColors(&pix[yw + i * 4]); rgbsum += cur * (r1 - i); rgballsum += cur; } - + x = 0; - - #define update(start, middle, end) \ + +#define update(start, middle, end) \ rgb[y * w + x] = (rgbsum >> shift) & 0x00FF00FF00FF00FFLL; \ rgballsum += getColors(&pix[yw + (start) * 4]) - 2 * getColors(&pix[yw + (middle) * 4]) + getColors(&pix[yw + (end) * 4]); \ rgbsum += rgballsum; \ @@ -214,12 +204,12 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t while (x < w) { update (x - r1, x, w - 1); } - - #undef update - + +#undef update + yw += stride; } - + const int32_t he = h - r1; for (x = 0; x < w; x++) { uint64_t rgballsum = -radius * rgb[x]; @@ -228,11 +218,11 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t rgbsum += rgb[i * w + x] * (r1 - i); rgballsum += rgb[i * w + x]; } - + y = 0; int32_t yi = x * 4; - - #define update(start, middle, end) \ + +#define update(start, middle, end) \ int64_t res = rgbsum >> shift; \ pix[yi] = res; \ pix[yi + 1] = res >> 16; \ @@ -242,7 +232,7 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t rgbsum += rgballsum; \ y++; \ yi += stride; - + while (y < r1) { update (0, y, y + r1); } @@ -252,10 +242,10 @@ static void fastBlur(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t while (y < h) { update (y - r1, y, h - 1); } - #undef update +#undef update } - - free(rgb); + + delete[] rgb; } static void fastBlurMore565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t radius) { @@ -266,7 +256,7 @@ static void fastBlurMore565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, return; } - uint64_t *rgb = malloc(w * h * sizeof(uint64_t)); + uint64_t *rgb = new uint64_t[w * h]; if (rgb == NULL) { return; } @@ -340,6 +330,8 @@ static void fastBlurMore565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, } #undef update } + + delete[] rgb; } static void fastBlur565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int32_t radius) { @@ -365,7 +357,7 @@ static void fastBlur565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int3 return; } - uint64_t *rgb = malloc(w * h * sizeof(uint64_t)); + uint64_t *rgb = new uint64_t[w * h]; if (rgb == NULL) { return; } @@ -441,10 +433,10 @@ static void fastBlur565(int32_t w, int32_t h, int32_t stride, uint8_t *pix, int3 #undef update } - free(rgb); + delete[] rgb; } -JNIEXPORT int Java_org_telegram_messenger_Utilities_needInvert(JNIEnv *env, jclass class, jobject bitmap, jint unpin, jint width, jint height, jint stride) { +int Java_org_telegram_messenger_Utilities_needInvert(JNIEnv *env, jclass clazz, jobject bitmap, jint unpin, jint width, jint height, jint stride) { if (!bitmap) { return 0; } @@ -471,9 +463,9 @@ JNIEXPORT int Java_org_telegram_messenger_Utilities_needInvert(JNIEnv *env, jcla uint8_t a = pix[index + 3]; float alpha = a / 255.0f; - uint8_t r = (uint8_t) (pix[index] * alpha); - uint8_t g = (uint8_t) (pix[index + 1] * alpha); - uint8_t b = (uint8_t) (pix[index + 2] * alpha); + uint8_t r = (uint8_t)(pix[index] * alpha); + uint8_t g = (uint8_t)(pix[index + 1] * alpha); + uint8_t b = (uint8_t)(pix[index + 2] * alpha); uint8_t cmax = (r > g) ? r : g; if (b > cmax) { @@ -510,30 +502,30 @@ JNIEXPORT int Java_org_telegram_messenger_Utilities_needInvert(JNIEnv *env, jcla return hasAlpha && matching / total > 0.85; } -JNIEXPORT void Java_org_telegram_messenger_Utilities_blurBitmap(JNIEnv *env, jclass class, jobject bitmap, jint radius, jint unpin, jint width, jint height, jint stride) { +void Java_org_telegram_messenger_Utilities_blurBitmap(JNIEnv *env, jclass clazz, jobject bitmap, jint radius, jint unpin, jint width, jint height, jint stride) { if (!bitmap) { return; } - + if (!width || !height || !stride) { return; } - + void *pixels = 0; if (AndroidBitmap_lockPixels(env, bitmap, &pixels) < 0) { return; } if (stride == width * 2) { if (radius <= 3) { - fastBlur565(width, height, stride, pixels, radius); + fastBlur565(width, height, stride, (uint8_t *) pixels, radius); } else { - fastBlurMore565(width, height, stride, pixels, radius); + fastBlurMore565(width, height, stride, (uint8_t *) pixels, radius); } } else { if (radius <= 3) { - fastBlur(width, height, stride, pixels, radius); + fastBlur(width, height, stride, (uint8_t *) pixels, radius); } else { - fastBlurMore(width, height, stride, pixels, radius); + fastBlurMore(width, height, stride, (uint8_t *) pixels, radius); } } if (unpin) { @@ -541,7 +533,10 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_blurBitmap(JNIEnv *env, jcl } } -JNIEXPORT void Java_org_telegram_messenger_Utilities_calcCDT(JNIEnv *env, jclass class, jobject hsvBuffer, jint width, jint height, jobject buffer) { +const uint32_t PGPhotoEnhanceHistogramBins = 256; +const uint32_t PGPhotoEnhanceSegments = 4; + +void Java_org_telegram_messenger_Utilities_calcCDT(JNIEnv *env, jclass clazz, jobject hsvBuffer, jint width, jint height, jobject buffer, jobject calcBuffer) { float imageWidth = width; float imageHeight = height; float _clipLimit = 1.25f; @@ -551,177 +546,173 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_calcCDT(JNIEnv *env, jclass uint32_t clipLimit = (uint32_t) MAX(1, _clipLimit * tileArea / (float) PGPhotoEnhanceHistogramBins); float scale = 255.0f / (float) tileArea; - unsigned char *bytes = (*env)->GetDirectBufferAddress(env, hsvBuffer); + unsigned char *bytes = (unsigned char *) env->GetDirectBufferAddress(hsvBuffer); + uint32_t *calcBytes = (uint32_t *) env->GetDirectBufferAddress(calcBuffer); + unsigned char *result = (unsigned char *) env->GetDirectBufferAddress(buffer); + + uint32_t *cdfsMin = calcBytes; + calcBytes += totalSegments; + uint32_t *cdfsMax = calcBytes; + calcBytes += totalSegments; + uint32_t *cdfs = calcBytes; + calcBytes += totalSegments * PGPhotoEnhanceHistogramBins; + uint32_t *hist = calcBytes; + memset(hist, 0, sizeof(uint32_t) * totalSegments * PGPhotoEnhanceHistogramBins); - uint32_t **hist = calloc(totalSegments, sizeof(uint32_t *)); - uint32_t **cdfs = calloc(totalSegments, sizeof(uint32_t *)); - uint32_t *cdfsMin = calloc(totalSegments, sizeof(uint32_t)); - uint32_t *cdfsMax = calloc(totalSegments, sizeof(uint32_t)); - - for (uint32_t a = 0; a < totalSegments; a++) { - hist[a] = calloc(PGPhotoEnhanceHistogramBins, sizeof(uint32_t)); - cdfs[a] = calloc(PGPhotoEnhanceHistogramBins, sizeof(uint32_t)); - } - float xMul = PGPhotoEnhanceSegments / imageWidth; float yMul = PGPhotoEnhanceSegments / imageHeight; - - for (uint32_t y = 0; y < imageHeight; y++) { - uint32_t yOffset = y * width * 4; - for (uint32_t x = 0; x < imageWidth; x++) { - uint32_t index = x * 4 + yOffset; - - uint32_t tx = (uint32_t)(x * xMul); - uint32_t ty = (uint32_t)(y * yMul); + + uint32_t i, j; + + for (i = 0; i < imageHeight; i++) { + uint32_t yOffset = i * width * 4; + for (j = 0; j < imageWidth; j++) { + uint32_t index = j * 4 + yOffset; + + uint32_t tx = (uint32_t)(j * xMul); + uint32_t ty = (uint32_t)(i * yMul); uint32_t t = ty * PGPhotoEnhanceSegments + tx; - - hist[t][bytes[index + 2]]++; + + hist[t * PGPhotoEnhanceHistogramBins + bytes[index + 2]]++; } } - - for (uint32_t i = 0; i < totalSegments; i++) { + + for (i = 0; i < totalSegments; i++) { if (clipLimit > 0) { uint32_t clipped = 0; - for (uint32_t j = 0; j < PGPhotoEnhanceHistogramBins; ++j) { - if (hist[i][j] > clipLimit) { - clipped += hist[i][j] - clipLimit; - hist[i][j] = clipLimit; + for (j = 0; j < PGPhotoEnhanceHistogramBins; j++) { + if (hist[i * PGPhotoEnhanceHistogramBins + j] > clipLimit) { + clipped += hist[i * PGPhotoEnhanceHistogramBins + j] - clipLimit; + hist[i * PGPhotoEnhanceHistogramBins + j] = clipLimit; } } - + uint32_t redistBatch = clipped / PGPhotoEnhanceHistogramBins; uint32_t residual = clipped - redistBatch * PGPhotoEnhanceHistogramBins; - - for (uint32_t j = 0; j < PGPhotoEnhanceHistogramBins; ++j) { - hist[i][j] += redistBatch; - } - - for (uint32_t j = 0; j < residual; ++j) { - hist[i][j]++; + + for (j = 0; j < PGPhotoEnhanceHistogramBins; j++) { + hist[i * PGPhotoEnhanceHistogramBins + j] += redistBatch; + if (j < residual) { + hist[i * PGPhotoEnhanceHistogramBins + j]++; + } } } - memcpy(cdfs[i], hist[i], PGPhotoEnhanceHistogramBins * sizeof(uint32_t)); - + memcpy(cdfs + i * PGPhotoEnhanceHistogramBins, hist + i * PGPhotoEnhanceHistogramBins, PGPhotoEnhanceHistogramBins * sizeof(uint32_t)); + uint32_t hMin = PGPhotoEnhanceHistogramBins - 1; - for (uint32_t j = 0; j < hMin; ++j) { - if (cdfs[j] != 0) { + for (j = 0; j < hMin; ++j) { + if (cdfs[i * PGPhotoEnhanceHistogramBins + j] != 0) { hMin = j; } } - + uint32_t cdf = 0; - for (uint32_t j = hMin; j < PGPhotoEnhanceHistogramBins; ++j) { - cdf += cdfs[i][j]; - cdfs[i][j] = (uint8_t) MIN(255, cdf * scale); + for (j = hMin; j < PGPhotoEnhanceHistogramBins; j++) { + cdf += cdfs[i * PGPhotoEnhanceHistogramBins + j]; + cdfs[i * PGPhotoEnhanceHistogramBins + j] = (uint8_t) MIN(255, cdf * scale); } - - cdfsMin[i] = cdfs[i][hMin]; - cdfsMax[i] = cdfs[i][PGPhotoEnhanceHistogramBins - 1]; + + cdfsMin[i] = cdfs[i * PGPhotoEnhanceHistogramBins + hMin]; + cdfsMax[i] = cdfs[i * PGPhotoEnhanceHistogramBins + PGPhotoEnhanceHistogramBins - 1]; } - - uint32_t resultSize = 4 * PGPhotoEnhanceHistogramBins * totalSegments; - uint32_t resultBytesPerRow = 4 * PGPhotoEnhanceHistogramBins; - - unsigned char *result = (*env)->GetDirectBufferAddress(env, buffer); - for (uint32_t tile = 0; tile < totalSegments; tile++) { - uint32_t yOffset = tile * resultBytesPerRow; - for (uint32_t i = 0; i < PGPhotoEnhanceHistogramBins; i++) { + + for (j = 0; j < totalSegments; j++) { + uint32_t yOffset = j * PGPhotoEnhanceHistogramBins * 4; + for (i = 0; i < PGPhotoEnhanceHistogramBins; i++) { uint32_t index = i * 4 + yOffset; - result[index] = (uint8_t)cdfs[tile][i]; - result[index + 1] = (uint8_t)cdfsMin[tile]; - result[index + 2] = (uint8_t)cdfsMax[tile]; + result[index] = (uint8_t) cdfs[j * PGPhotoEnhanceHistogramBins + i]; + result[index + 1] = (uint8_t) cdfsMin[j]; + result[index + 2] = (uint8_t) cdfsMax[j]; result[index + 3] = 255; } } - - for (uint32_t a = 0; a < totalSegments; a++) { - free(hist[a]); - free(cdfs[a]); - } - free(hist); - free(cdfs); - free(cdfsMax); - free(cdfsMin); } -JNIEXPORT jint Java_org_telegram_messenger_Utilities_pinBitmap(JNIEnv *env, jclass class, jobject bitmap) { - if (bitmap == NULL) { +jint Java_org_telegram_messenger_Utilities_pinBitmap(JNIEnv *env, jclass clazz, jobject bitmap) { + if (bitmap == nullptr) { return 0; } - unsigned char *pixels; + void *pixels; return AndroidBitmap_lockPixels(env, bitmap, &pixels) >= 0 ? 1 : 0; } -JNIEXPORT void Java_org_telegram_messenger_Utilities_unpinBitmap(JNIEnv *env, jclass class, jobject bitmap) { +void Java_org_telegram_messenger_Utilities_unpinBitmap(JNIEnv *env, jclass clazz, jobject bitmap) { if (bitmap == NULL) { return; } AndroidBitmap_unlockPixels(env, bitmap); } -JNIEXPORT jboolean Java_org_telegram_messenger_Utilities_loadWebpImage(JNIEnv *env, jclass class, jobject outputBitmap, jobject buffer, jint len, jobject options, jboolean unpin) { +jboolean Java_org_telegram_messenger_Utilities_loadWebpImage(JNIEnv *env, jclass clazz, jobject outputBitmap, jobject buffer, jint len, jobject options, jboolean unpin) { if (!buffer) { - (*env)->ThrowNew(env, jclass_NullPointerException, "Input buffer can not be null"); + env->ThrowNew(jclass_NullPointerException, "Input buffer can not be null"); return 0; } - - jbyte *inputBuffer = (*env)->GetDirectBufferAddress(env, buffer); - + + jbyte *inputBuffer = (jbyte *) env->GetDirectBufferAddress(buffer); + int32_t bitmapWidth = 0; int32_t bitmapHeight = 0; - if (!WebPGetInfo((uint8_t*)inputBuffer, len, &bitmapWidth, &bitmapHeight)) { - (*env)->ThrowNew(env, jclass_RuntimeException, "Invalid WebP format"); + if (!WebPGetInfo((uint8_t *)inputBuffer, len, &bitmapWidth, &bitmapHeight)) { + env->ThrowNew(jclass_RuntimeException, "Invalid WebP format"); return 0; } - - if (options && (*env)->GetBooleanField(env, options, jclass_Options_inJustDecodeBounds) == JNI_TRUE) { - (*env)->SetIntField(env, options, jclass_Options_outWidth, bitmapWidth); - (*env)->SetIntField(env, options, jclass_Options_outHeight, bitmapHeight); + + if (options && env->GetBooleanField(options, jclass_Options_inJustDecodeBounds) == JNI_TRUE) { + env->SetIntField(options, jclass_Options_outWidth, bitmapWidth); + env->SetIntField(options, jclass_Options_outHeight, bitmapHeight); return 1; } - + if (!outputBitmap) { - (*env)->ThrowNew(env, jclass_NullPointerException, "output bitmap can not be null"); + env->ThrowNew(jclass_NullPointerException, "output bitmap can not be null"); return 0; } - + AndroidBitmapInfo bitmapInfo; if (AndroidBitmap_getInfo(env, outputBitmap, &bitmapInfo) != ANDROID_BITMAP_RESUT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "Failed to get Bitmap information"); + env->ThrowNew(jclass_RuntimeException, "Failed to get Bitmap information"); return 0; } - + void *bitmapPixels = 0; if (AndroidBitmap_lockPixels(env, outputBitmap, &bitmapPixels) != ANDROID_BITMAP_RESUT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "Failed to lock Bitmap pixels"); + env->ThrowNew(jclass_RuntimeException, "Failed to lock Bitmap pixels"); return 0; } - - if (!WebPDecodeRGBAInto((uint8_t*)inputBuffer, len, (uint8_t*)bitmapPixels, bitmapInfo.height * bitmapInfo.stride, bitmapInfo.stride)) { + + if (!WebPDecodeRGBAInto((uint8_t *) inputBuffer, len, (uint8_t *) bitmapPixels, bitmapInfo.height * bitmapInfo.stride, bitmapInfo.stride)) { AndroidBitmap_unlockPixels(env, outputBitmap); - (*env)->ThrowNew(env, jclass_RuntimeException, "Failed to decode webp image"); + env->ThrowNew(jclass_RuntimeException, "Failed to decode webp image"); return 0; } - + if (unpin && AndroidBitmap_unlockPixels(env, outputBitmap) != ANDROID_BITMAP_RESUT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "Failed to unlock Bitmap pixels"); + env->ThrowNew(jclass_RuntimeException, "Failed to unlock Bitmap pixels"); return 0; } - + return 1; } #define SQUARE(i) ((i)*(i)) -inline static void zeroClearInt(int* p, size_t count) { memset(p, 0, sizeof(int) * count); } -JNIEXPORT void Java_org_telegram_messenger_Utilities_stackBlurBitmap(JNIEnv* env, jclass class, jobject bitmap, jint radius) { - if (radius < 1) return; +inline static void zeroClearInt(int *p, size_t count) { + memset(p, 0, sizeof(int) * count); +} + +void Java_org_telegram_messenger_Utilities_stackBlurBitmap(JNIEnv *env, jclass clazz, jobject bitmap, jint radius) { + if (radius < 1) { + return; + } AndroidBitmapInfo info; - if (AndroidBitmap_getInfo(env, bitmap, &info) != ANDROID_BITMAP_RESULT_SUCCESS) + if (AndroidBitmap_getInfo(env, bitmap, &info) != ANDROID_BITMAP_RESULT_SUCCESS) { return; - if (info.format != ANDROID_BITMAP_FORMAT_RGBA_8888) + } + if (info.format != ANDROID_BITMAP_FORMAT_RGBA_8888) { return; + } int w = info.width; int h = info.height; @@ -749,17 +740,17 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_stackBlurBitmap(JNIEnv* env zeroClearInt(vmin, MAX(w, h)); // Large buffers - int *r = malloc(wh * sizeof(int)); - int *g = malloc(wh * sizeof(int)); - int *b = malloc(wh * sizeof(int)); - int *a = malloc(wh * sizeof(int)); + int *r = new int[wh]; + int *g = new int[wh]; + int *b = new int[wh]; + int *a = new int[wh]; zeroClearInt(r, wh); zeroClearInt(g, wh); zeroClearInt(b, wh); zeroClearInt(a, wh); const size_t dvcount = 256 * divsum; - int *dv = malloc(sizeof(int) * dvcount); + int *dv = new int[dvcount]; int i; for (i = 0; (size_t) i < dvcount; i++) { dv[i] = (i / divsum); @@ -769,7 +760,7 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_stackBlurBitmap(JNIEnv* env int x, y; int *sir; int routsum, goutsum, boutsum, aoutsum; - int rinsum, ginsum, binsum, ainsum; + int rinsum, ginsum, binsum, ainsum; int rsum, gsum, bsum, asum, p, yp; int stackpointer; int stackstart; @@ -955,38 +946,38 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_stackBlurBitmap(JNIEnv* env } } - free(r); - free(g); - free(b); - free(a); - free(dv); + delete[] r; + delete[] g; + delete[] b; + delete[] a; + delete[] dv; AndroidBitmap_unlockPixels(env, bitmap); } -JNIEXPORT void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv* env, jclass class, jobject bitmap, jintArray colors, jint startX, jint startY, jint endX, jint endY) { +void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv *env, jclass clazz, jobject bitmap, jintArray colors, jint startX, jint startY, jint endX, jint endY) { AndroidBitmapInfo info; - void* pixelsBuffer; + void *pixelsBuffer; int reason; if ((reason = AndroidBitmap_getInfo(env, bitmap, &info)) != ANDROID_BITMAP_RESULT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "AndroidBitmap_getInfo failed with a reason: " + reason); + env->ThrowNew(jclass_RuntimeException, "AndroidBitmap_getInfo failed with a reason: " + reason); return; } if (info.format != ANDROID_BITMAP_FORMAT_RGBA_8888) { - (*env)->ThrowNew(env, jclass_RuntimeException, "Bitmap must be in ARGB_8888 format"); + env->ThrowNew(jclass_RuntimeException, "Bitmap must be in ARGB_8888 format"); return; } if ((reason = AndroidBitmap_lockPixels(env, bitmap, &pixelsBuffer)) != ANDROID_BITMAP_RESULT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "AndroidBitmap_lockPixels failed with a reason: " + reason); + env->ThrowNew(jclass_RuntimeException, "AndroidBitmap_lockPixels failed with a reason: " + reason); return; } uint8_t i, j, n; // gradient colors extracting - jint *colorsBuffer = (*env)->GetIntArrayElements(env, colors, 0); + jint *colorsBuffer = env->GetIntArrayElements(colors, 0); uint8_t *colorsComponents = (uint8_t *) colorsBuffer; float colorsF[4][2]; for (i = 0; i < 4; i++) { @@ -996,7 +987,7 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv colorsF[n][j] = colorsComponents[j * 4 + i] / 255.F; } } - (*env)->ReleaseIntArrayElements(env, colors, colorsBuffer, JNI_ABORT); + env->ReleaseIntArrayElements(colors, colorsBuffer, JNI_ABORT); // gradient vector const int32_t vx = endX - startX; @@ -1004,9 +995,10 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv const float vSquaredMag = vx * vx + vy * vy; float noise, fraction, error, componentF; - float *pixelsComponentsF = malloc(info.height * info.stride * 4 * sizeof(float)); + float *pixelsComponentsF = new float[info.height * info.stride * 4]; memset(pixelsComponentsF, 0, info.height * info.stride * 4 * sizeof(float)); - uint8_t *bitmapPixelsComponents = (uint8_t *) pixelsBuffer; + uint8_t * bitmapPixelsComponents = (uint8_t * ) + pixelsBuffer; int32_t x, y; int32_t offset; @@ -1036,7 +1028,8 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv // draw componentF = roundf(pixelsComponentsF[position] * 255.F); - bitmapPixelsComponents[position] = (uint8_t) componentF; + bitmapPixelsComponents[position] = (uint8_t) + componentF; // floyd-steinberg dithering error = pixelsComponentsF[position] - componentF / 255.F; @@ -1056,10 +1049,12 @@ JNIEXPORT void Java_org_telegram_messenger_Utilities_drawDitheredGradient(JNIEnv } } - free(pixelsComponentsF); + delete[] pixelsComponentsF; if ((reason = AndroidBitmap_unlockPixels(env, bitmap)) != ANDROID_BITMAP_RESULT_SUCCESS) { - (*env)->ThrowNew(env, jclass_RuntimeException, "AndroidBitmap_unlockPixels failed with a reason: " + reason); + env->ThrowNew(jclass_RuntimeException, "AndroidBitmap_unlockPixels failed with a reason: " + reason); return; } +} + } \ No newline at end of file diff --git a/TMessagesProj/jni/image.h b/TMessagesProj/jni/image.h deleted file mode 100644 index ebe736c32..000000000 --- a/TMessagesProj/jni/image.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef image_h -#define image_h - -#include - -jint imageOnJNILoad(JavaVM *vm, JNIEnv *env); - -#endif diff --git a/TMessagesProj/jni/jni.c b/TMessagesProj/jni/jni.c index d6568b8ad..c97fc6bc4 100644 --- a/TMessagesProj/jni/jni.c +++ b/TMessagesProj/jni/jni.c @@ -10,11 +10,11 @@ #include #include #include -#include "image.h" #include "libtgvoip/client/android/tg_voip_jni.h" int registerNativeTgNetFunctions(JavaVM *vm, JNIEnv *env); int videoOnJNILoad(JavaVM *vm, JNIEnv *env); +int imageOnJNILoad(JavaVM *vm, JNIEnv *env); //int tonLibOnLoad(JavaVM *vm, JNIEnv *env); jint JNI_OnLoad(JavaVM *vm, void *reserved) { diff --git a/TMessagesProj/jni/rlottie/src/lottie/lottieitem.cpp b/TMessagesProj/jni/rlottie/src/lottie/lottieitem.cpp index 979c39b8c..1e86d368a 100755 --- a/TMessagesProj/jni/rlottie/src/lottie/lottieitem.cpp +++ b/TMessagesProj/jni/rlottie/src/lottie/lottieitem.cpp @@ -535,6 +535,9 @@ LOTCompLayerItem::LOTCompLayerItem(LOTLayerData *layerModel) { // 1. create layer item for (auto &i : mLayerData->mChildren) { + if (i->type() != LOTData::Type::Layer) { + continue; + } LOTLayerData *layerModel = static_cast(i.get()); auto layerItem = LOTCompItem::createLayerItem(layerModel); if (layerItem) mLayers.push_back(std::move(layerItem)); diff --git a/TMessagesProj/jni/rlottie/src/lottie/lottiemodel.cpp b/TMessagesProj/jni/rlottie/src/lottie/lottiemodel.cpp index 5cdf7c35c..65b1d739b 100755 --- a/TMessagesProj/jni/rlottie/src/lottie/lottiemodel.cpp +++ b/TMessagesProj/jni/rlottie/src/lottie/lottiemodel.cpp @@ -201,10 +201,13 @@ void LOTGradient::populate(VGradientStops &stops, int frameNo) int size = gradData.mGradient.size(); float * ptr = gradData.mGradient.data(); int colorPoints = mColorPoints; - if (colorPoints == -1) { // for legacy bodymovin (ref: lottie-android) + if (colorPoints < 0 || colorPoints * 4 > size) { // for legacy bodymovin (ref: lottie-android) colorPoints = size / 4; } int opacityArraySize = size - colorPoints * 4; + if (opacityArraySize % 2 != 0 || colorPoints > opacityArraySize / 2 && opacityArraySize < 4) { + opacityArraySize = 0; + } float *opacityPtr = ptr + (colorPoints * 4); stops.clear(); int j = 0; @@ -257,6 +260,9 @@ void LOTGradient::populate(VGradientStops &stops, int frameNo) stops.push_back(std::make_pair(colorStop, color.toColor())); } ptr += 4; + if (stops.empty()) { + stops.push_back(std::make_pair(0.0f, VColor(255, 255, 255, 255))); + } } } diff --git a/TMessagesProj/jni/rlottie/src/vector/vdrawhelper.cpp b/TMessagesProj/jni/rlottie/src/vector/vdrawhelper.cpp index 5e6ef4dc9..2bc7fc702 100755 --- a/TMessagesProj/jni/rlottie/src/vector/vdrawhelper.cpp +++ b/TMessagesProj/jni/rlottie/src/vector/vdrawhelper.cpp @@ -155,7 +155,7 @@ bool VGradientCache::generateGradientColorTable(const VGradientStops &stops, colorTable[pos++] = curColor; - while (fpos <= curr->first) { + while (fpos <= curr->first && pos < size) { colorTable[pos] = colorTable[pos - 1]; pos++; fpos += incr; diff --git a/TMessagesProj/jni/tgnet/ConnectionsManager.cpp b/TMessagesProj/jni/tgnet/ConnectionsManager.cpp index bf68ba1a7..5504cb202 100644 --- a/TMessagesProj/jni/tgnet/ConnectionsManager.cpp +++ b/TMessagesProj/jni/tgnet/ConnectionsManager.cpp @@ -125,6 +125,10 @@ ConnectionsManager::~ConnectionsManager() { close(epolFd); epolFd = 0; } + if (pipeFd != nullptr) { + delete[] pipeFd; + pipeFd = nullptr; + } pthread_mutex_destroy(&mutex); } @@ -1645,6 +1649,7 @@ void ConnectionsManager::initDatacenters() { if (datacenters.find(2) == datacenters.end()) { datacenter = new Datacenter(instanceNum, 2); datacenter->addAddressAndPort("149.154.167.51", 443, 0, ""); + datacenter->addAddressAndPort("95.161.76.100", 443, 0, ""); datacenter->addAddressAndPort("2001:67c:4e8:f002:0000:0000:0000:000a", 443, 1, ""); datacenters[2] = datacenter; } @@ -2309,8 +2314,6 @@ void ConnectionsManager::processRequestQueue(uint32_t connectionTypes, uint32_t if (genericConnection != nullptr && !sessionsToDestroy.empty() && genericConnection->getConnectionToken() != 0) { std::vector::iterator iter = sessionsToDestroy.begin(); - sessionsToDestroy.erase(iter); - if (abs(currentTime - lastDestroySessionRequestTime) > 2) { lastDestroySessionRequestTime = currentTime; TL_destroy_session *request = new TL_destroy_session(); @@ -2324,6 +2327,7 @@ void ConnectionsManager::processRequestQueue(uint32_t connectionTypes, uint32_t networkMessage->message->seqno = genericConnection->generateMessageSeqNo(false); addMessageToDatacenter(defaultDatacenter->getDatacenterId(), networkMessage, genericMessagesToDatacenters); } + sessionsToDestroy.erase(iter); } } diff --git a/TMessagesProj/jni/tgnet/ConnectionsManager.h b/TMessagesProj/jni/tgnet/ConnectionsManager.h index f94a43344..e6f913666 100644 --- a/TMessagesProj/jni/tgnet/ConnectionsManager.h +++ b/TMessagesProj/jni/tgnet/ConnectionsManager.h @@ -196,7 +196,7 @@ private: std::vector activeConnectionsCopy; int epolFd; int eventFd; - int *pipeFd; + int *pipeFd = nullptr; NativeByteBuffer *networkBuffer; requestsList requestsQueue; diff --git a/TMessagesProj/src/main/assets/emoji/5_0.png b/TMessagesProj/src/main/assets/emoji/5_0.png index d94ea77c82982d2376235c3cf21ef63b5dc7d9b7..5117aaf8dda93a6c5975a8a9cdc7d65efd689b04 100644 GIT binary patch delta 963 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 DrRFP_ diff --git a/TMessagesProj/src/main/assets/emoji/5_10.png b/TMessagesProj/src/main/assets/emoji/5_10.png index c811a9878e14e58e87ea914d957e5fa1937c92f1..ef88f0df757d2596528ea9fe46abf5e48062675e 100644 GIT binary patch delta 1412 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 T)Nd~D00000NkvXXu0mjfY~-Y6 diff --git a/TMessagesProj/src/main/assets/emoji/5_100.png b/TMessagesProj/src/main/assets/emoji/5_100.png index d6afc1bf8231f1f976eb4c6946866d42ea9907e1..db4b31a0403d73841a55a6f0d883d31a381b4e45 100644 GIT binary patch delta 848 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 delta 1367 zcmV-d1*rP=4D$?-=`OCau$r8jmY0^!)6v-6*@lOO;N;(MbaGi+Sz~2n>hJ1ZqpX3v z!hxZr4h4fAlNSL=e+2zWL_t(|UhR|Fa@trJgpZKUrUkSvXaNkECF9t!on(?|XZ4c2 z|Le?uU_8F?0^xEhT_qJaeAV553;mDuM|7u?0eC$5{9&iwX#h64X#cC_=aUG^by4JH zwp01>6vFsZU9GLG-02hq`S_*IE$im&Uya`d^m^>Y71Z;pf6mv|xytC_i_qRhba8h5 zc`_OIdc771%ad;xP1RV|H9^M+2t~WFtTpK7e5W7Fhlkp-tn=dtXp%?m_NK^6KxEk> zuZq>f!=|dT?ade+r;poax!OFmqh$mv__^7v+EHEQ*0BUMv8;NvS*_ZuhmFu`S>#Ps zSJ}~Lyc&Mpf0o4()ZRP@1F$BD)0CEeuY+Ph3Q-i zo!jhd6|H~~MPOl1xXUKT09x_%N}D=Y_U+fQilBsco$ox9*8N?1Oqu39Hf(2ZgwF8G zudIqhl)PL3VZFV(FMEeAg!3yhcWh(k*w}r{VGql8e-!0Sv&g{2_U7QMv^XZ_bY_^2 zYm%Ast^KRa>!K*4CSQPwyY;8m0Sk6)wo=#Tsgt&VqV;Ycs~naIUYf=F{_Z|IfH1<4 z7^6fZbJu2}Gb63o`M$~*qRG785jyL?nsO zz_VFvkl2W%5Qn8sDB^&RGHVKee@UlU>T1a7dhqft`;?4a8}(h+Anwn4 zkyS-e=j&Gy40FWw4neXnVI=xMnl}Q>XlPQ~9U3sP58oflvIfR$K`7%CVO?cRmvqKD z-GEWk6PP4{Hr<2(p$~oh$`%DM&R!rWrHCpjM!eHe5SM%nvB2|N$h`Cjc!)VkfZ)2b zf7`6gf${fC1O!nqL%5?eq(Gwx3Nb0|Cj&SNTm}|mYOb5koU^j2iU<&|R)G{um)L_ORpR#uA_`V80)psN5uGYv z1PEP&bVq?bib*VV@iZk(2u$ZZ?2+S^ugkfZQ$4`lQfIvkTXcvWvp+7|lI0u3*b&26= z=zYX~p$zQ@21Zmt=rG>#RW%quqvkOLP6bAkfmJ92i~vDW<&LlMK_49!V^0I481_N2 zu8U7!R&+^YQa}$AD1AB$5HLbme^;saV6Yl!Gzi$y1SVdJ*at*`r7K+Ss7MFGaiWYp zFHE80xEy+=GMx8FG5UNKQHH88tg287eg+(M7WVYj%9wIlrd)kNID8h0Io%Cam|^no z5$KM3B?{r__Ylvea(FPMK>B^{32eVsehPuoJq8{M.QqHK=?9i58VKPTvq Z{s9`_roIa3hOhtt002ovPDHLkV1g4jrriJl diff --git a/TMessagesProj/src/main/assets/emoji/5_103.png b/TMessagesProj/src/main/assets/emoji/5_103.png index f36ff7af1946d355dbf748fc916bed4b48af839a..0894290c504eb77e8d1f5bcdd7190aff23cf2b7c 100644 GIT binary patch delta 1869 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 JPDHLkV1hCNn92YE diff --git a/TMessagesProj/src/main/assets/emoji/5_104.png b/TMessagesProj/src/main/assets/emoji/5_104.png index 17dd21e5ef96261990ce5690c70b1e3bba1963f4..0fecd47b661af5fdc6f6f914619aa4edf30b02cd 100644 GIT binary patch delta 1572 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_106.png b/TMessagesProj/src/main/assets/emoji/5_106.png index e464f1018cac3f6d9b49e0cf77b017d130a5a4c0..ad977c6950f8c25d9883bb95d2e91fcff0aba485 100644 GIT binary patch delta 1517 zcmVMG>$|F-!otCKbaKnf$@=^IsNan0+q>w_qqnxT!N0u8$j1J7rf!px z0iJ)|1wm{nr2s6?Zhod}yIrlWmzA>;f^5Z`*L__m7vcDh zPZ;o>s3%VF5)P%55WoOE9=s1ol&Aqt@K694nH;<*GDV3?08R^a0H8GDLO3l+IE48m zi9#<72S}J;fDpnMb&@0lB5zv6z<*ehgYDy8Fb3Fa1)O6t;DpChpa(Q`EC){;VXG|k zm>j$;p*NV~e-*%}c@E|E;zUTj$>jF-*Y}6~;0ZnRrT-qbEWZ|sdY`@wUK-54`STEu+D zeBa38JT>PFb^2zUOjmcGz;xb}tFGhR9SjCNKncSuY~%_y<}l^TlknQdPAD zsOszM%ggqeeWf1$dD*O^YIlgR{r!iuxy+}0@=l&QHc8WBn2!V9`8-$Y(=nFU#wv(kWyCjwt1hLIRfhj0PJCt15 zPn#4Vn3T^SI7qR0S2$lPqd(*ws022nPykfJq2fIS?Q3pC-f3kfkNLVv4i!|$YDIPE zmLGX^q{M{?$6CYy2TH1%ay!Yepi7rA&8f~l;qom;^%|20sDB*Cj0|RK8O%K#7^kqI zQI?_uF8K;H2zrnfJ&yu1=y~i%+UY?*k$H&0VstE*U;)U4UjRr+K!()HSfn)%8{#R? zIht>!rVSFbAS9X*3rsLylOZ;khILetIUY(etXv1ldR{;#d={6d=WP=Vd7Sx?dy9f9 z7d$$A3%iC5tbYO2An02IBuMijME}FA5dPpfXjO17Akj_2u0s6?BG5nnISHyX!6EUx zO%%r#XaJos@w*^T^W3r;k`IPq-K02|_%P6RA%kvi734@tbJFMZh_Zi)aV9E=25# zM%Wu)9oHF-FB>~ffmIYmf$`{7a1ao>iXsMGm^+QlUq>~s4Oh?mZG#KCop$@^;`7%& zYy)FuF>-(Rhr`?7JJ;=-`=s$Q*=`0O@5RY@JAK}8$)E5B0>9zpZN4MRGK^w)2LANz zK47Z4-SvbT#p?@fM7MUUs-FyR?(aqRTcdaOQE}r)L3iA#80rzO2lt5=4k*Qci+Vmi THpwkS00000NkvXXu0mjfwD{=3 delta 1517 zcmV;f@~$5SAAVUuqMw_EfF%1BJ1{ixY_s}^uWQo zs%-^kX|#94;f_c3(Om7vXr0 zM;P#&s3%VF5)P%55WoOE9^4N|l&Aqt@K694nH=0GGDV3?08R^a0H8GDLO3l+ID~m5 zjzTvK2S}J;fDpnMb>cV!B6nKEz<*ehgYDy8Fb3Fa1)O6%;DpOlpa(Q`EC){;VXG|k z7$4j$p*xu3e-*%}c@E|E;zUTj$>jF-`##7g5%qF*cmGe2?!x|D22uXk(Z}_mp!n|-&HPn#5|9`q^Wl70> zT2@)seDmvJ>?Vz#_4>H~r(nN-oYV*R5B#o2NNsfr@UlX|^A z7!2<3AHMhdy&t>UY?)WS88)jMbw;p%gt&rB^Ha-YQ9;{vKWIo4!A((8b%c52Y+X#i0}XVg&xyL z7CghZXB*lG_nAy43##OHoTiY2xtiR1yFt<@)EpL5xq2ZW14(iXc=Rb`+JMNm?KE<)PKwtsMew3H zvo@F_FQPE)AK|hAq<_GJT(7Az4vL?nUAhWA!{mjcNU$eZRoZEIy^TE)oniLnB7zV~JWYEp+9FAlJ&#}2_X@L_N9k^DN4kZXh zS!5sqV!|!~H83qm!l(lewA!Hrf~+JS_H!V8BL*9hrhlH8$Vo_sN^TWH2?7PXEaD?3 z+0f~mP7)|`(xoaYX$d?Df*{O$HNgt7{RZtIal)Jb8{BGh1XB(bf#5hUVjSSQ5V0+r z;rZzLxXN&RRoe*)?4l?Nj7P78gMiRg6gg6O900000NkvXXu0mjfqzLH< diff --git a/TMessagesProj/src/main/assets/emoji/5_107.png b/TMessagesProj/src/main/assets/emoji/5_107.png index 6587a5de6a2582ba2583a5088948a74e91c0e9f6..ec636e11b3397a7851d0e108c844872652411f36 100644 GIT binary patch delta 1644 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 Szk@IU0000G`)ad&7E}G zu7TpWJH3OK=f!EnoH@scdEc{H$CzE!pl#QwPPvJP&#qwHrjs856$DB?$MBOl0YiTU zNklR+Ay_l(sif1dvm@PF_1dbKm*tH4<=Qb2BRyOCPpD}eC58&CR>Mk8Lh?fSp4hgKme zip^*=dU*q+ldgSUi2D-7%Tt=@jp%<%Ufh1x=oNekJ`rWYWiwHv#^?6pFEkQ-Njwlm zKHfD{EBmc z>o5VZk;kU04gm})VMyB6u?!A}L%5WLKSH6%-SIWKj=8`X(Hh6$mpHR|lbTzwUd0JeC1q-$XGnioL=DiKHw8p(lT=A}~PMF}Fq_zk|R4 zdiH35)|^F@iH5NCszeB8NevvdgkCBo>~W4wBOL2{73kvac7iXqD-m_Fq7S7+V;H){ zxjp6*4JB-Q{Sfv953nh~q70|1K0K`dA^p(j^Et5ye(8uSZ0+@cwh#^icEA8-HKd=R zxBLa`5lWy53+;cP8$)xv9xUlBDmxHt3QR!v)o?m}QC|@0g)N`c=yRQZy$*PLQp#d5 z3RbX}B9>S4!9P=Oh42?WcT;Fa(Q25jZ$ z!ECU0_Q5=TB0#`EiGwg@0t)=C0^*HP!w?6v*`U8LRFr>UEm(~s0fTmU`KiQlirP@u zmHuwG8}!#EVb3OJ@t$BUj)0*{hY2Y5*iO-ZV|G6jvNcD=HV`524r9Y+@#M8Q8XR74 zcL0;|U@(wQkyod0FZQ~Y_ujFqAT>b9kK3oMOLzi05D=V&=V&_~jAnzG`pQ`rr}i~< zabNKS?Bsu8H+c38R%3ds;SghPSezn1FGr)%Zh#?mZEhqp^DW%a}@*AxT6VAu~!W zXAkYWTB*e2o^W;~gct}Io6Y9&@$u=<16i#mLmYpINdff0%-TJFCX+4Us?m%GPTtjk z@jnZfG{Z^Q9P~JS?9N&ES=Q|X= zo76tMr(Ff90mRJ`f}7a&$)6?DYrSsvFf&+#VxaRh3hHv+*!a#sL8WiY`*z|bjt zE@2qwM*t^z^7&M9ZVx(*9R3@8CE-decaA3HVioM+ixI-tNEi+N&G|3?2c@ds`>Xs0 Q0ssI207*qoM6N<$f{NlcVgLXD diff --git a/TMessagesProj/src/main/assets/emoji/5_111.png b/TMessagesProj/src/main/assets/emoji/5_111.png index 07c3d7f6763d6d6bfe793b3c26b59489839cce82..e44e9b6b9be22b4494d7502dc58db28f8265bbd9 100644 GIT binary patch delta 787 zcmV+u1MK|o3GWGzfDGbV0NPan*i!|Wsko7hDh5zcQe0hOk-Rw!o+c8dF&JcIX88U7 zlK}x3H1LQt$Y3zaP7ItcAfHD;yFw4EEek6uES)tO-w-qNr+6Ieh#p@)ENR#oh6 z5AORD9g|G~gn#rFxY-29^6GOl80EZSh=y2)9Ml;M$J8ZDgdEfvL|=2kpv=KT1|y8) zphBIakar|S(KRsWazF^rG8?Q426YbM*sCjGnAk8SINOCBv5^%eWtf9~GdLPU9p+$t z${YpJlZLx!u5a2jIk+tkjM&w&p@cTYUFXgu2j>7I&%Ba^(1L)lp_Gct$-oo9Q<@4RC|yPq+t#Z3>6{Q*Tcv*M3cz^ z9)H&Dv+dKPJiISDt49&!h>W{se&Q0_s@71#z(*)Ts$!;+V>s~My4XNd2#|Y^jT^BJ z$AI8x1IJp2@vvb=sdKl?F_S}}N~7URhOSkjdiJnfEC@oOn8ik9L53*=UD18NZrzDt znk@?-zd^{EN+?~ZaYLIpP5i<%<1jQDeccDsA1T@*}oOeb7MG?8(WL&r=y;Iyy((HFS$*WMU z(o|WJlU~1{Tw(zTs4_dk+*LwD|Gj_LGhT8Az|Hbl-az zZeMd#%QD1kTqNCO_EQT8M}it?r*I5{XXlFy{RoGSXm4SGez@Xhkz@Yb{04wL^JR|3 R*02Bo002ovPDHLkV1jLjYmxu} delta 787 zcmV+u1MK|o3GWGzfDDzF>)z6xJ29|16Ieh#p@)ENR#oh6 z4{G`P1d~kxgn#lDxY-29@~U$)80EZSNQP8}9Ml;M$J9kjf*jNtBwusEpv=KT1|y8) zphBIakat8y(KRsWazF^rGV81g26YbM*sCgFnAk8yINOCBv5}QTWtf9~GdLPU9p+$t z${YpB6NkHKu5a2jIk+tkjM&w&p@cTYUFXh32j>7I&%Ba^+a)Nlp_Gct$-on9Q<@4RC|yP#96{Q*Tcv*B$LSk z9)DKtv+dKPJiISDt49&!h>Y81e&Q0_s#aIRz(*)Ts$!<1V>s~My4XNd2$1^=8`onU zjsd~X29C83<6*;$Qs;J=VJoT z%{eSVJg~%Nr!^85*BF{5eqFb^avKYei=SzhfC#O=+`ecus06Om915@o7QPZ6MU&+N z8-H~Z3v^Yk?2QSyh#3Vaf?|u#yHKMj0-Ee~t~(=vqKMpXGA^8x-YIS;Y4$sv;|#AthPcWkX*OSlyT1$kKg!AM%5swY5gzB4 z7&2n*pe4)l)rSnE7b5e;54u3m3;e0-Y7YMTqNCO_EQT8M}!(^r*I5{XXlFy{RoGSWN%@Cez@Xhkz@Yb{050s^FU34 R!K?rP002ovPDHLkV1m}!ZZ7}; diff --git a/TMessagesProj/src/main/assets/emoji/5_114.png b/TMessagesProj/src/main/assets/emoji/5_114.png index d613c9c000020f3a1ace6e34a9965e6713ef3544..024a4854915d8da7185f7879e583766749464608 100644 GIT binary patch delta 1667 zcmV-}27LL34v7wsG7@V?6p?;tL@Xp|TvgH1+J;&ikwi#;nQJ7HVH~P%KpP zW-Fd_EvS4hjcY67wmZCyGX3jRrEVd~mNI!u6#d*!dSNU6{AvE_K>XG`n}0Twb1&Mi zJdAfY#-cr1IuP{7Ieu(2(xo`Tf-3jRN&fvwuZ}q<77!W@3A&g(rHDEH{&+AN5&iv$ z{{31uZqBn#Qmi|CUP0VsdFNklw(krGP_%5>aPx&FVNUf8(95(c7mDKjgeDH;~(^o!$FQ88ZM(v+T6oFH8E_Xgy!;0@iY({SOPtW&vj`OF8uI2WP z!JtlhwqEX?y<M{!0z>WM(3{kTY$dDSQJUp;UGm0g&~XM zV2si9KOV2s@feP$X+cU!QbtkOKt2i}%K#uP_Gf`oLl}z#f()!*E|V7$V43*-)=!e< zQbS~ABqqi$7p*(w5dew5osqWNEhu2rJ{F1r$j=t7+W}#}^l^WB3eBdV_!Xl;D8|ox zxIBV|EuBA|rYBGoW4{LCQATqhE*S3)(-WyCoGK{>Y^+}h5zQAs1iRgMM-1z|Tg6ZX z2mri;czvCR^F_ScL0|-9FB<7%~bL<#JH)5Mh>s=z~BA#0!}ax|m5s-e28<5~!>n!ute zb&;2|N_eXixTw<;*#}CMpCpqQ4WSC|vwWWb`+ZFSf*4H*Hw@QC@bC9a%57w>7T#$e zL|H4y zAQ|5OefFDyQcXNG#x$A3XBcQT=G5sS6VZQT;|oX`Jt$XF-U&HV{?XmZnEk+TQLxbh zXKie(ab<4nZD(C$OhLaK;3`uHjZv30tVhij=e0 z?e)m}d7eoTIYBAq8lh%M76x1(@nD>SyZZ8Y$&8xg2I%@aXj1?C>qNX5)2TMz>^?pn&2D^emNK@{LEj4Hy&R+9H{=D z$V-l3LF@=KZ7b5XED1a=9iCQck{G1z(vGO8xyj$~!drifL+a$*K)4WnE8akwCMg($P3v{DOEDV@$K!e#jF_5LI|nv>Rj z-;d)o4Hs|)Px;p?gZslYjbqdWV N002ovPDHLkV1nn#1xf$_ delta 1664 zcmV-`27md94u%epG7^Sb8r|y~A$dy_dSNSmY%|iOIR5-;_sdEC=|KMd zNsMVo| z{{31uZqBn!6f(g2eY0VsdCNklam$5C&i)C<8{4Q>ap&+q1B*+V{n4 zl9~5^pZWWMFqWM-A;0fz_^J=xwB)PLV&dm-V&C1}jYd8DF9a<;B|+$Goee`1ULc|{ z)-|J>;5?rei&MJ3-^Syy)9DmZHv2ZqLAu0W8I_H0~FuGJRv`VYo z{D=IzDcw$8xqjTRL&3^&gE*ZUV%~1bm;MCrHx7i}<+T z?^cC5(76-^)63G@YzAEn^ZNGdm#4=krRAi-`qYtJUl)=-QL*tpAx3w47A~} zU#eJ^)gNjD$N2r(xaogsF5^5bib56zXB1!W_xoD!#{4Z{;Bp>Cf^s+rSs-D^N=Kxq)pW1oOx{NemQ97h(!RBG&@nUEQ120sbi-MAU_*4vj<_iPjUAGIW2#nq{?U$%J^9w4vSDi zM)xn5izO6gOxGapMYILcGCpjkD}zc{)=>t^SU(dHZFeC2$z(hs!}#c};y48a03Q%9 zFWYdti&ql_hCkNcAH~okZ=cRDiS$fFTU4=%Nq~aWIPZ$kPy~p@@<$bAoaT5IAnvIO z7%NqUBK&t{7`lJ-rs@2c1DMSqz*rm=v2KV}L&R~cUrtz$32(0me0bDGP6VB!A&|O= zIA){Eb1<<^D&bpY5HU|bB*wnaIn(Tma}BQ3TcRS7_$+b3N4;6uX^5!5Yf(QsLf~Ly{5pp59YrmNaCcTP4M_`-@n$1Q4 zL8+>clC$k7LDX|EhI>Q^;X@9MY-mRBS2sNTBRm!~>e zR&QXh*`C;aQ0o0jv0$`>dU2nVrUXoONO0H-ZI<1R+aMH#vlWoKRqCu{TQ!DwA0gMd1YaHA z|9v{cUtDQFtjI$0=LsC-gSJeWDT&Cd@soe>MqZLCA-(Y_N%~_H+PF(YZ82k`1)H_8 zbHsx@j>nthh%tC`IiYkC?>Az%iY-LjRA(a5>TNJOc zZe3T=B1NFJ-a5W!2^I!iAaIb))suR2`|b)WT@YXti{~Jg4$?G4J9is+)}LQsueg8m zTU5GQtS^NB@fxp0j_b#B|2nas$iaXxiS+@JuEDaw;P#IJ3b*n$^Nq(94+GWz6S?IG zCV~*IDyX9em)pymG1->VM(#zajhHEAK}S=-m7$C9X<_169wx1(0u2D#tXQGAn5iV9 zq9cOPa0E+5?21?wlna@1X$)qZr#o0;S40vGrIcETMyYhB@b~HOXx?9v>+s8%aUAD) zS*APq1gHGRC&B!*Eb}~$hDYq%4)~fGaCU)GrlS;R25=>pGyecR3jDlOjfYSG0000< KMNUMnLSTYlavzHT diff --git a/TMessagesProj/src/main/assets/emoji/5_115.png b/TMessagesProj/src/main/assets/emoji/5_115.png index 6f7e68faa896b34048f6b1f848cdd6f1a04ea73d..7c0c1292148e6907b21bb7f3f4172c9eafcd45b1 100644 GIT binary patch delta 1198 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_116.png b/TMessagesProj/src/main/assets/emoji/5_116.png index 6836a0a7ce455a3af5c08330b5ba3c450160a5b3..76ee7cb188e8bf08fcf8e0d3d16175426ac7605b 100644 GIT binary patch delta 1030 zcmV+h1o`{l3Ev5jI|)xmMB?7uKtDr~M0*5yVDF%j!#RJQmg$nBN)UxDC@2cqH+S3a z+S%0if4Q4DePh&)p@9tlsKiH}b22GblZ!aEW!Vn-@%vPOQ+<70F74-G=R2za zIt>w+cQ5<^no!E9iFU-U;q`0BCB~RZpa?X{4j+H)_g?2Y-w(^eT%q{Up0Z;FH{2^< zJEo6iah0lfWQrNgC|+;gor7fo21ip;u~OA)fwsO)$ZLNohEz6F+So_K^Gfk^vh!ac zId+Ad6s&VH4HUFeZ(k5}&p4W7=qf*VU7s}u-9z%0mXIj_H4wOBV{TnP5Z)11WW=us z`*?q@;-I@`jY4((j<5mo>!Q%4zsT#Y*Af6f5w4M2XH-k)yj9C}rUWK2gKNS%Rz_1e2{eVTt`U?5nQ=QD0J4=d5vjtP!2hMj~>ApV+3 zA!Op)lseYe~_ugAcDCk_iPQq9tSGtpNGTY(q*D{N4%skPPeWRXuW3l z!l%ifv)oUIMwD)$jP#0;9&8YC>so;rh=_J%Maj4RJuq1$CHxbGBMasqo7=T-MGb#h z2B#=^vW!^qDaANVPq8&Bq90n29uUqIjo)5Kz)H)qA(vl841nM;xcCpjBO-c8LQ4=K zgWZBRGrEB!u8jc^QE;xve1g4K*GHD$B4!uKA&Fb2`9M%Rx=2J1A`}3k;B%P>{lAE4 zk%-l|hzDV55<`{>K@#q=BtrAO6U={IEaD0+JSKXP2(l?M@KM!_fr^qWAe6GZ^^e5{ z2J#oEa9}BVEeAprN&YyToOxns*fhdpP?0A&=Ud^8@p=YYG4Q; zAvbZBAks%0E`)=l-4X)bDGms?2sd$9(FFujY9+bivLa+fR!fR(C71Addy$ztVt_y) zS&kqvFuVxnVR_L6WA=RdElM>l7bWq`u$CC{AGYarj*AX~mH+?%07*qoM6N<$f;xrd AZvX%Q delta 1030 zcmV+h1o`{l3Ev5jI|)EPL*m}tPe(+NM0*6}>q^;?!#RJYmT8x=I242p1VWH~bGPlz z&ZhqVKQ|Yr=ZxAjH1I~h=;1uvs!9b`lNWJp%d#EvO$ZME4}bUwlP=o*DwhMC8WHZq(&i2c#Eh_Uo^O4n;Fm6C}wdj^fXq_PQd^8I=Z z3>4CNKJ=>6pHt+41_Bo- zq0{qjg#+dhEz6F#@I*0d8PO{+4(P! z9Lgdm1?!wl0}Do}w=W2~XB{FYNp zwm}saUeh31yY7H+@78MtA*7OwmNdI~ea|?*Gv-COM(F->PwUdi@!dIy&~1a(=#IT0 zOtIwh{&Z94(5pHmV>;qM>I?*|*Y17m(;R;T13_7ypK+skSc$%NOmK`bbP}3C{56w8 z$i%lPb*!()Gp-{4FTy`&w`;}+5zISzXKN7lc%X9rc{m&{T_$R8#7hd>>DDy@!O3zj ze42!h^!;=gMClfmk!~?EgAF2XT`Ld+5fPj!lzi*o1CvEkB8H=Iq+tHBxn28K)R2E= zaEgK_%ZL@9QjF8|6kDSr`e6j=0^wZI`0a%Rth6i}a`{!n00<6)i~lWnOhgY!XbB=@ zuv_qEMmLbewJ{(f3eFXoPq6pu`pEKI#Oy_KNaB`hJ`mK7E)vm$2nB#B_*^DJ|05z= zBx3a~;z3xN#E_*zkc77^iO_s^f_Z<7MOP*IWvgi?05{!wgT zAb)`h2TIXvIS`^q^2cH5%o9Vyrh!_*id@M#-}<(HIOg-Zi9HwNh_L~{r9_`uE4Q=e zp!+otWOC#JK3sCGg+eiz$%xJ+%?l3e0RdKB&Ma7L0V$RO0Dp4?D(nT>*ad1=1494_ zd5Nf3!;Q+-A1s<+%$}cqi&9O?MM*p}tR+VL1tcbQpxK~?DP AUjP6A diff --git a/TMessagesProj/src/main/assets/emoji/5_118.png b/TMessagesProj/src/main/assets/emoji/5_118.png index 44482cd094198461fb720528b8c1d51f6f66cb8b..e7d5651c8cbacde2cbaabfbfcca64cc0556b6fee 100644 GIT binary patch delta 797 zcmV+&1LFLi2cHL!ZX&jDO1pbrkytsLVne5BNU&{5Y(gtwIwo{SFM&`sI8nW*k&q;R z)=5M`RCr$1*x8ceAQT4R5FsIpSyXniy#G@UhtSpSMB}lYoB6e@(#rn@j(B7CDvWcM z;j?ek`Z6?K{YHnymr$&WcI>-OhghKtEI=-ov5i#`qJ`e#yl%0?b#_|&*j8S|M8fG2 zOPouqg>znQb(aulb&nk=sbnH_c%*25VXf}41g+LYKr=oe&WesB37)U8bDw4)bcz)M zOJw;Xgio_bD@g>w61Pd{NcaE+&2N+uqDB+5(;}1sh|v%sg+>!sAiUoM7)IKN7sZd6+>wIWJW4oS4gbT30ARtc*(t-5Bef^GYf2kBN|Z zTGnk7UweXELzItk{uKerysYuwHnx@e>Z_NlSeHBxz@|(lwv|r-spq)44(s5PrVqk!axiNax@+!2=;rKS$%$ zNb=c8l3|H_l7AB|eE1f<3|kKoi};<^KzjU31&D*=OOH b|3Cf!USerk9(pXt00000NkvXXu0mjf)W~`> delta 796 zcmV+%1LORk2c8FzZX&R4Nw#oGyL(=oVne5BNP$o_Y(gtwIwo{SFOgU|RJ2lJk&q;R z)k#D_RCr$1*x8oiAP@%N5FsIp*=%;Qy#G@U1$w%jXe`^gnLi#cJo&#si8p4i!Z>Fc zKKnMUr=jWUH##i7g<@T_W8ZZq#0pbj0WwWv8>=G32$SNJX|cp*amJ|F)=I=g!kH0E zoJ(tjb4sVWyCTk-9y?G{$tz*Pb&U~!)|w7W(8?zQn&|~`R&*Rm@Z7`Bl}KFxVyqBY zBFk4H)O8kVB{za#iLY6hNT>h>O(kj*qDB*oGa{4$h%pc$g+UV+Ae2f13?ms(J z;jY5~NF<_tj{rfzrJAPe$97m8o*?CBgwo12O{f+%EDenOk**r$X>6D*&VX!nHI4Vw6x-G2B42#zL}e?s&h5m_K~&vvI} zRqqgXKYR)V#s5_0BVu-M68r(-@I<-oC&#PVq6s*NyU8(9E!Nh*BN!+3X&MIaw{4hC zHD@ToM}l!0%F`gFwNh>&a!U+ZmPw?bWvQUQv0Gz-%Cx@vZ?1-qm-5^kjO$$(5 zgOoSY!g8K5q?+e-lMe3PQa}K}%4k`ToD#ZtPAugzdk-aum2nB78)KbwN^7muF%h!N zt52J_?Fk+Y(JIENR|F`_>f^I*Y-@e%>zAwWYn}%nDf0$xsHA|@^!>blJ|}23Z`+BV zzw*!rWz{-uATmui7By$2oL>=OMWuv$VScH7J69+I!q1mH5)FJGb!xvRcp&8I=V+83 zNxp27WLP4f<=;dLAAU&C9Z}&4nurRq3IstvBvv3k*$63DIdCiyCTH)6#XTVCAyHun zQmseC`jg;!AjWg)<-qQ5H{y=6zCn&=L0|6hpglH0D$J`2bE a|M3T37-@A}H?&v)0000t^DV1X<8LU$^LQp_}^K z_4HoPG+z#hGGS|(Bp8oY5-Jcv#n6TI*4kQ@wYJ`?Lhu_w&k_V-Ghc5>uzRP1V7>ir zxBHp5+b`C0*w!mD9<3mzY^W$*>9oX}%m1Wy01nNiZI*Bvc@TilGbZt+ll*Yi+$(h2S@Wo+SvvX1?B%VE0Z1!Fv1M zZuc{9w_mL1u&q~QJX%3a*-%l!G9{kV?A82L1TQKGWjd81O-@r4IbMfO z%g4~!b$f)izsVyfD?=s~%-7{>i?4o8GQP*qaYHA*dP)ok2Zy1*Yix8?WOihFl)TL0 znWC$4kg|wyWx~zhD=iB;?b^DJ#`Zv(xERtBNEaBZx+y zc7!aK%W_GnHtV6e$!>PQd4G2oMWX!sQn>lmXojI}x~^kDj^nzFk&o=+T4KWGScs>w zurfKYU@^uFn^oyJAzhBg>GVYqJeLc1Jf?8u81Z`ywS-n0x{d=|0OA=AhAcRuyh&t0 zNXktMh%_CiCI|+sd(H!e8&}l=AT@4pZzWD-*>&fiO65;w5T~e^IDdyd;yE|Gt?S@znDt~y90N=$ma^heg^?V=lb(Up)jr?Fl79)@s7l^y9kQ;XWs=87l(NV3eJ-Q7|zrT>sQJvL^``)F2w{KRH8W>=fW}W3T^&ETxJ{+?nE;q}2u4*pByL)Q zFvA2Poxys@HV?DS5UbalotxGkF})X;yKLhQhX_M`r^UjV7JgJA!QUe<0s@S#15Wpu z*WEwxS6Uc$Yq%xiK@>$@Eb2y4!iHcNfw6ci9BdGTvjUL}5P#tfk_k*92m(8JH`CrD zL@@Fa(VN&9oZoDM$7D9-GKC%4JUqm=M@NxQlGLc3lO>qUVyk>uVb_h z+ar8d-}kAejWpa1k9mYpzu$j(dD-pi@qqAol!Bpah4^?i9Uw~BC;EB~-*66r_CLbX z;qH_{xWGpaUc!_K`$BBsa6%351*90&WrJn_TRUF z=p#`h`dQ7VYNPzoE~sBq8DRlIi7J&on5+`3y(Jp$c0(?GG+dPvv|RdRWtERp_dieg sNVID|Y9pT}WLVt(g8#R_`|64Q2bfw~-vF$&lmGw#07*qoM6N<$g4-7e7ytkO delta 1074 zcmV-21kL;C3FrxshJTx4Kdx^^mR&lVw$r9+LzS(_ufyA?z1Mq~xQkagsk_iaCKZdS z%g4~!b$f)izsa`9-+oRq%-7{>i?4^FzrM%NaYHA*dP)ok2g1?iYix8?WOihFlyQ)< znWC$_%;6&^D~NDqUxcd0)#qi1tb~k}WjY~lU0CDn_NkA690P_U_>%|$M1P#^R?dN( zljH3BKhd7kjbyRdrfjBaZu|=*8>&Aw2j94Ka`KzNci+iMLphOXkH_b2`6Qx7G}^66 zrw~7>sgFjgatc9!cplx!C+_0;`9eB@Ab*G${jFUbC*;${DJ#`Zv(xERtBNEaBZ#Iy zzY?-sF3TmQ+N_7hF00uA=YJ!D7K!q&OX23O(F{Y&a2z{@Y};`dBOlqtwZw$Wi4f0X zVQFw+&0>rZHmlNcLb{wxHnSH&a2+m8c}(HRG2+(*Y6-1P=-4)F0f+}U7_#Pw@-7ho zAt^U4AU2!H#sDFObq`sfaO0|40Hnt4?XAR#Ah_=QQ>px}4C4(d27k_Bk9f!oH#ZtT zFGl)!e7hsI!^&@7B*15J(u_FRM?Kqzd>sTqS0g_d5ySxG#RX!T3z=cnuNs`VM8eDo zaTxV_l^rx|IXKKIC^%0JU^r7FtY0Z_5S#haY9%J%pb{nn9EaNcC2(fy-*|}-$5wj<8^_rDVafmR~4_dG7S>a0+68JvyA|Sx%+2HgZ zc)k4tzom6*wMID+52GmRVNoxN5;lZ1_0#ox;b46~oEL~>h<^xgm<(VFzVBQ9hZ)u$ zA%c;Wi0;6`;QVd_JO=X-AE&7YGcie$A!Cw66qoJ*W9M-2MlQe9VHX)OUx}jVC%%Y> zxau$6rR%zV_gMKXykPrpvF)PYUqX*?{;*e~>y5Q>A#L%9_3!Wb_5E-boamY+A;jcq znz^{g)o|k1M}L0K>*E7k76~3olu~_`6)#ZZ)b4~z>Y{lz_2|;_r03-NtAg zwnuoZuIK5RHr8-AJmwLid)@BK%ggJo9uEkQr|V#tS|L7O&BTon_KvyT!Y5onp#6`a zCfr?T5H9eLgCAkagnb}3a5$lc_kvZ_D~yxwGV?SD=YN~Oj4nk{W0?f@RUq&V@Zd9G z6kbRMvs+WKXDp(LrSu(VfhAM3Gadsdd@pLQ&sg0JI~AC+JBt_ z(M6(0%(I%OtBvw!yU@Lw$_NUCPE@J%$z+w#c1|?f?S@?XY`7{T^m6Hol~q1Y)B8H% sA~@-QS<+e>b&R@0hrpI{*Lx07*qoM6N<$f{O_h?*IS* diff --git a/TMessagesProj/src/main/assets/emoji/5_122.png b/TMessagesProj/src/main/assets/emoji/5_122.png index 4f939da72b1c062f3e85c9c5d981b1f57b7a775f..8c94412668a2fbb952622c726c2c0880094a81f2 100644 GIT binary patch delta 1901 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 p{&4cCM&N;% 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_124.png b/TMessagesProj/src/main/assets/emoji/5_124.png index 6ea0547e39112caecb3e31d32691c4d35aa5e34e..0c00d9fc6fda0486c701d0d1355ae5d2a576362c 100644 GIT binary patch delta 2822 zcmV+h3;Fc#8SELbtO0-dqpI$*B<|!~{P<(_?O*@RQu@s)`^k9x_HpTGy#M1c?ZY+t z*E#>yC-kUj^SLGL-B8nZoTFTvfe$J5{+-<-9hwAODBJ+P|!@`0y`*_y;fZXYT z$Nl0${awnhNqyvCvZW$tw;rQv}**C%Kcs0$hK(Nklb^CL)(;O$U?GF1th>y61ZLDCf)@$c_;R!-iv$hy>0KkruUcGA!S?eDzW|D z42GEV&B6JHwhO>1CKU2HY#2pTvF-i`gy-ieVTE7Sx6?Dw|-2 z)FFoDSXSi*oR@zRINY9SJlYSrJpFD)9dP1!a7g92aFFtaxX_hL7~FB91|SF+P`YNe zZf8`E4T9ClaN!FbsO$PB?DcvHpxEAqivhnmEn4M5)+{mlVuzaucp!vCTy-Mu(XV;n zq905p$Sw>V2Lv4F&%@~rbfe}5BH(@|gxKBQQWt8Y*oA-I;{rR)eUF@Dz@mZf=EhYk z4zmm9GN*{oTosc@CsSmX2gwS4MB;8Xm&=KK=Fi5_&2&1Q*|A{omcRi)?*72n{=S}`&jZCbe-j;#?u?I5K3skL_W6Eo zt5zP2iO8TTySVbc!wLTAu)4F#XB0S(4@adBYDRE+&u%;)8(aF<2J$(wQLbmz z*^EgGxh)W+%oJSabNeZtx~Js=g=K#O=`UiBHzCx%zS{wPKQ1Zi-^);Q3k=kh;AayQ zyRRswV$DK<+!mg4JuCJpjK6Q1j$@kKq@0_k!p(a#gP<6c8v)1E-&@DVUNp!0`+IwP zr~9U-r%Uy$ehW{L=Q%Z)tLU8OZTL>ftb$@&C^X-0LW$ZgHpE|Gm1jFLScH! zRcfl-bX1eB-d)Fy2*uMKbgY13a`fGra3c*FN=zg`kkAS<|&(f7l8)}1vyO1xkU zFB~J2pOT7PsF;OJUo>Bg#bUjJ>0gBPJaSf{szNz)D3fmrqwq1C>yALdAK(;4OZU^e zo8Z7u`}_K#8`HOc8`iVp*UUBK9i|x=3DtG#XzA>3_xkq3y@iGOgJOTto|*9jMGV#h zP_F*(hKiy}n7G3n8{bT7Gs^WkJei zkhzYY3KWegLOepmBxQe~S)kY!il}g~!qq?lW55h^qob!}J!>0MDkq%7{BjH8g^Ea| zq(BGbQUN<@YwHjM^{jb2r7Ny&xN6!VHgi>*L#iIlF08Ldq{7xM;kdrEwDk1(^A+GI zGWo82dRBo#CA#IZJaI5ppHn06nKP(Ze1ZyHvk!p$>;>CZ9SdHFZxZQtqBxn}p z9^nq*D)AU6s^JmFh&eNb8xac2E`p(m^+ZK1cw|h6^{jXg6D^%+c&aIFw>tu zjp7vdc2V(F;6O=C*7Gf~@*AZ5!NUr4D7*43c6P$kSdsM@V2go;A6co0>wo@4igV+RbNkWbGaqzTV+q8qNI zIV2CMLO_bKdUq|dzTUMB_sCYEP_TThsCHg`IkvfZzub(rQ}UUWB97vDhUzlgbMgwN z>e~1VwWR1og{dba2!d!oe^{j_lAVN@vYCl6o z_m$+$<$=ylA&F*YQ4l&}s5l~;rCP*0@Q8zBltwZAJyfhElgXipt-z7lMZq5gawnpm z$2$$3s2YDKhT>wkRh58^K(jy*NhWU&4Gkp1h>5`V8xN%vFkzqvt^u zhUQ_oJg>US%y?uSws8Xt?eXCP&Y}BLJxD8njzCfU4h>F1bzH@8JspaXRb69d4erxq z^2Uw!_V#!@u>}fSyY&xYkdoHtpg0W=oJNzp0{4HgCa!UJF|v3iIn*A|f(||aidLlL zI9>UznuZK{9qEO|uC*j=;;^Ih5h}_Oa5PmyvpDgb*D1CaL22NK+O5@qGMPV*`kgj5^}lY(({${~%l!hs!X;Iy{_6B=&yQ)YNnu zIC=79eSLjhUGSHDb#-l3eZ{eN8cv)z12bX)%=ELv@kE)4iRISWB_3dB(%~JZ!Dekf)`J<}kc$)O6X#e9d?ZY+t z*E#dKCI8hY>1e#{-BvgjIh~fLmc<{bg?|{#42STF(7= z-0iF){HXE$aM#>zzukL&>y$ylVFu}|N&aBe{aVWVc-Hf0!~B1M-0js)!h$o&wLZ5e zZvSlE$0u^>fXDsfLh@L-#+WY7ksbbk<>X+ptzQYHB4_ks_xQLU%0$hK+NklkdZY*Z^1wh6|nPKwQ_hA+Ohq1I6|0P}x6iOp8{ypgBvFKHK5O{T@3^!mbt`^VF|; zpz<`BN`T!+oCE|Mr_Y1%`o|GtW5=NxCI~y+-s%`)qu76qNt=a(=01l{F`yCuxV3ZD z%5y9QQgL6Kw;PIg?PEUfgHy6~K}Oq_qL}tM%w2f`qu9{JL1N6>lI!RDSL-P#xMKqZl9py9p z`e&a+!|H!!lj!hJJZ2M^ai8b;$d!0J8cmKas&hMOZeQd1yvAp=&iA)fRn3@$hq6Jv zQ$`wr%i(ZX-x>M3P$(F6ssg3B{Y5^XU(9Fz==}0cp669dG4w?2Rva`aRiNUk25#ed zO;ZbcF}*+9XykrtNI$RNyPeH8ayI~(95s}O-yDCtuaL{s%Xd=^aB8o#w3TYy*7)3?oqM;k*=+8H34;v;PP^SbCzgXA1Dl>&Vgd8xwX|EIlR;VcDaA@VC&8<^k`+X+pjcnOR-%8EG?z^#~nlQ zSj+P!$-(o)B5xWo-<~$ID~uPGET(0*u@a=VS(J?u^+h7lO0fH;O|zR+YWw2eVE|*o zpS8^v)<6lHY?qKt(zhs5wIUftalH268@A01Ljy*1Z89!1V-x;lLPEPN72?bEoI8Ir zHqquqACG3ti~Hl8^E~(3a)O%Dn`=425frL2;f;Syq*YT$ym5Kw_Yj&6O5BM&-UL(o`tEw_`*|4=d_P6iWgt+M zi@#R^QFsM09cktW)LqW0#Ix#vLiq=(Y8a|&s?;=9RWQ{@nL$7dx{Uy1`tNOHV^5nS z{r$bYz4LwZ^YdOj@pQu}nmLmy%n@Xh=5+W=NG$?lha)7*(sgC->;GE7Pn3&u!93Z?Zgi*oDc6S3}0}&|J z&5UnC5oGe^`-aMh;CrEE6jB6L~fjGHSfE6-lO zTm>CPO}^)zo;83FiL5y+M+|h;GO3cY)eIsQo+Cn*^nFln_9=gudgaO$j7D!SZ1>+E z@sdSNo0tYMMPf6Ph>A@ZBWh+E8{r5|F9M;6@kB(#J2K||cviiSj+Q6tPcW%R&4pYsmRky8BRkLtBEniR z9HxKS{0!CX@7BM55OB{d0HAzV`NM%v!w@*KaD5OFsBk!S^CMTE`@VjN@eD#NP#jPZ zm41bY?(6Z}8v|Wk91>2=BEV-v5OIVjOVo(HZxaK{D3_vI>xfv3$Kyj2%N`?DK)|24 z+)j8rk9U75G7%+{D1w987DWOy0?7hIC?3B(G&B?|al}3={Ml7cPfr^k=@!QGm?IRy zN81K36v;+&&79~6nek8-+PDRTj_7a+>yWMK9#k6$86Kkc4D}`<8jheiwhX~YijI<5 zgMAv0-@4V&(GiWtmI0wlQ~%%u7t;0;5U1h5X;gp7D>7}2iK9GN2rXQX4|RBIMTR*5 zh&EK2ak}~kfrb=$of1n6m)GLZ#9>C)3q({Pz-X$5WSPV^UWeFOaBFCF)zKOQ#7)Rm zb2GQ(bJR6BJ?r0L4uc7T7vV!Bnwx%p9SN`&UmoMd>>pp%RfuO*I6cDHNKvwFxmb49 zrpbTxC!BzaM)5uzZH;lnRjzASuc07YRVU8A7#Vp%g%Ki)BP<85>W(1`()#UIumaY> zV!TI(hg(}?cfRF%{21E#1*)kAzdRp5*4O|bR7xCibT%Sd%zEgri^6RfY#kns#bWEf zZE9*d4LW)9WH1=4ulK&m*Vfk61gnmnX*gwZ;w;nzVycxKj>amQnAq6ZxOnk=OQ0H5 z>n?lkZxQuDucou%{2;72fBw>?OD!!ezXsv|t*`yRe!-}%3)BRUgK$YrO(0NLSBER1 b@Wo>9^#=*c$Nl9K>T0=iS;NanQb99l8kA8c7 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 N002ovPDHLkV1j`~U%CJQ diff --git a/TMessagesProj/src/main/assets/emoji/5_126.png b/TMessagesProj/src/main/assets/emoji/5_126.png index efd01711d96dceccd2fd3017846d5c46b2ccf8c2..ad845e51347d9510a91399fba303f5ad950c739c 100644 GIT binary patch delta 1597 zcmV-D2EzH24wMd%iACX@7rlZH=c5?hH9PxSSh{}>t#S^TAscNM6zZ=S%qJ;|85jCZ zO~i*1ry(HTE-&UgKk`IIryU>PiW#Um8`^pp*(WHG&NB)(1qNYB0rY?0u9FJ^Hh+h1 z8#xdLU~9Xo5yI#PMCd0(wpwk!R)0T36C<509qZp9jcL5+GvKzO&iShjU>`(_F_Q3~TDt4&G)sK&$00Pzx z0)LorG=yT$A4LVwi`L;&OC`Q+uFqzGytoH=eZ^_^yUZUaFXB8VfxG~K zW)k~2N5Tbrt*PE(!8*1=1XJ1K^?5hV^dSfk0+J-pkpn62<_WNQHGe}CJ79rSb#0pn z&tZ<^q(6chyozm(NCL-)s})R?yytly=W%r$=WsekA|9`)KxkuNkXs-yyM7S#^=uo* z@o>0Zy#eq(o6qOt?Fus7Zo6@gO47|Tov9r-9flz%9EKmZnf722`fn5f-oMZHo6R1w zgJ(g^5RiNee@!={^M6P*VAWd$5Yg)gAA>0Yv-y59`2m@1ChPq!1BB?QUfp)P-N+3^ z8Ws^?5CIv$G}#!>Yb20@$PsWxSapvs4n&bc zf(Zm;+MZhYNGz92&%+`MEYQKi?g`=I`3TpW(qb5Odej0U9N#Q0jL1OwiqHoxjqo|kGLe_8JuS+C>}j?GVBuqKeqjoXmMgA3AV&|bR!|f zp8c|gDSrtD$blHn0Dujp7QBWeD2Eo3P*iF$5yV!sAVRdTOGFg%mnw;h%Fq}|f|3e? zkP||*XbZwLGyo*Aq8ovDd=L`C5@Ay$LI0H;?bd3>WD8LuJSF%jNQhWXRT3Ezq&Rq~ z6x$_2K2!))`;3H$+0s0=lZ3ccLEzXWf+xDJ0DmB3wbcVLW=qdIX%Ws#1ObY1RgQ5B z1O*BBNCHcj2m<5~GBwMIi5p=0O&@(KFSd;Bk*WEPK1X=e1t{%s~Am9w)o8&T%M-xh!)Z3%3lKV v^^UMb<9`G6dh221@$wy*e=@8V0GIL~YeNRXG@MsH00000NkvXXu0mjf)X>HW delta 1597 zcmV-D2EzH24wMd%iAB194!wd8=c5?=T3F$n7y3<2t#S^;hZ30~8*LX9>aQ5gCn<^< z7u+>Fry(HTE-&UgKk`II*(WI9iW#Um8`^ppryU=W&NB*ONdY$n1|#U_%99HLHh*_l z+ej1zaBNjqFc3ltqu%A-yJ^Yp_y0os?u?9N0rA;f=MPSN-jDmNndJDQ9QD3)UsbjI zFEqW~RO?@S4ZTdjB54%8{QC0ct6nTnxo&J^c_Zfp5Dff(>{LVTVwVDmXneL_(?-!tnxOA>`i0Zp5xDF~P0#kQk99fZL%4*@T~7KiQjK-tr^ z;LMDWbVt9Y=ks|GO@BJ-Z4PjvKX6`$BM!_Lhw1b;WxAbi=yN87(<7y}>-BoRWoBvW zoPYs>GNf&i3Fc)ka0N&aC=+_aMv2vw2ujzhOYwM0$q8h;?~D0U!T@nmX}Bvg1VPth zkCQeY%j2;S#>i?ZWk9)wN`%(3WVQk!Qj?Y(p}1n69%1ZSlYicO!ZNNjPPjopNirHT)~}0=c%CWXWRyh$6)+H-4bY=Z;-_i9_yDA@(JFpl^qgaF=%stdv$jZO&K zW*GH06UebePE;k{Vww><(E`L<3*&_FO#>;ks7MUPI45}GjNnL_ z5G}4ULQ`b|a$=1q!b^xnxL}?T29guvzmme)TF+Ubg(;9SAyxsAMQ=$tk$~We8(If}<=f=VxoSLQ%X+ONfDiw^&xzNKkNba`8`5lOZCeLqe@3 zB>r4y);v14Cne1?F~vVl;6p>)Lr}jTA+R4G)j~<8p5C&jCTg0^!3B#gjj9b)UbxHF64>ncR*l}{wpdmk8c*A%8>gsdU z6yY|8Yt`Z30*)Jc-gN4Di_mqn`(yjwIvoy&X$tTA%ZumQcLL!QKF>u?0KLE8iMUhv zeDF4a7eWdl&dn9ZYxo}1ed|I<5r}`!ZxcKOp5C4)t(HIvW6W<6<_P?~q);x#I~vsj z0{wo!*@t{FaF!~8j|Xo6G@H%GCWMeLhFi6ZH3^SJ5Rpcn;}uD#PWc#9m;!}A6k*^j zS2facDdEEyLU?$1D2(e-@RFr#r?kWXN{~PyLyj^iM#;-+xF?tcOFW2tTO)r>U)44E zJd=bpi5D#8N-YG99MaXEz`N)Q3YDPw9P$ru_~1QY^fhjzQm z7|Svw+G8~l8LZK6351?cpv`|8j17>8stCr~h@gT6NN7VE4JwgErz~qI2U(bjVe}de zG(e$80x0O2fdpepVr3>BLk9y9WF!FT^?JGiLKJ1auB*ISdtqRa>j;2>U_?YHuNHTn zfw0JcNZ``pim+8J>|Jb*I+mpiM5af8ZW)~@NnmTexu#5bG|z95F#AYJ@ zMM{qY3_w63W<*IyfPH_Bwd(K%7*vFmGc_Op1e4CP+E{JLAVtJHlMo+pj9U#vFa>ZR zAvS&O*0|4L03w6HJ~l(`_Bgw(K!}NvIL7gqYj=c)Py`TUVg!!+cmcv)u~!m7;0J=n zHD_@_;{C^wg!|)&CI@J-0^w(|Lpa#Op@snA%f3T}$v=Pn{&J z)xv+Bdb^ocD-PFY0oQ7V2eaCQvvF!0vyENbnEZwj{6>$ZRyVWFr1ox|AoztMfYfbb v12U_t@Z}^3CNt-M=3dlZPBt4TV@u&5Sp2C?8x3zb00000NkvXXu0mjfNdC!t delta 1026 zcmV+d1pWJh34;lcFDLgoK>R;P<2pL;Lr48hS;8wS|7vyRFEr;yQ}jty|3**$Vs6|l zFp*X&Ubk3Q$Y*TUSz&>If}<=f=VxoSLQ%X+ONfDid3JWzNKkNba`8`5ttBL;Lqd}w zBK}-w+(S^-JUX@~CCxH1#XnBqLqo71AHN?V)j~<{P+Pe?P0J)Fp&1!Y)qEzA-aUU) zNkld7A5Cu>#2xGH};Ap&nA%ra?2Z3k?ug4-sfX?R!5pM>s zJ0}Nz5L5)h?yfM|!26i)sS5!`A_0HBPw)|VK0Wia+X5+#3B5;HAn;qJRHSi6!2KsEmS_EZ?x&5)PCQ0tSuiC{8&_Tvx+8!W>v)B=T*IJb!;v*Px3+ z5?4cQt46$_>Wz}FSjc}w^==Gf^(4`eblbv^E2-QJNeqX_ zji_)XD}e9SlT}sQ{*77fn91v+Wleg9|GY_io`xmCscbNG=d_4Ad@1n-=#|s9*R5tLJ&|3 z>QId>C6eww_gr{9Of)$_i>VYIjvK+j9u5rz2wg3ApCB|#__1zoD9}ax8o7;xp#40^ zqDC!(x0(Mw*BXUUZ5~psVQ4sSOt39$Y|OWAV`KdjM)(swR$9}{x9i5cWnuUOMF45q w#06yDRH3VN7_R5+Z{|_dU9GoUD0AKNA5qn)vG`Oqw*UYD07*qoM6N<$f`X5|`~Uy| diff --git a/TMessagesProj/src/main/assets/emoji/5_128.png b/TMessagesProj/src/main/assets/emoji/5_128.png index ed31305a6e44440c39ae9987a164cea1d711b160..8ae6de538bebc1c67a9df1f98a23a114068cbc78 100644 GIT binary patch delta 2588 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_129.png b/TMessagesProj/src/main/assets/emoji/5_129.png index 655537e9663aa13012ffb83d5050d184b5759ffe..549ff858e98424342834614999a71c5cc7e2b0b9 100644 GIT binary patch delta 1642 zcmV-w29^2h4d@M!ZdBK6l)_Va(qxX>W{=-@pvPE&-fWfeex~YopUq#0)nJL_ahmUi zug_Y8?0u)?e5SZhcaU_Dk^T8^?hqrqMsI30F zoYnui98=RY^Dh9?J-#GGeb{OB^??wG76vf#`t_%V4uJ`DQqnNGSIVrV_YeXEggQR_q!;al zL)>G`!_XB00gWI<9Lw(wlLb_xI-z0sY7{(72$X^i@0)dTjwEoQ6Cw%_hJUkiK&bT) z7zG(I3>VO$RaNm04Rc-+{gVk6o{SVf zOEXNZsOxO*qN+ZCJP3W|5`RH`1dp0pDb!+z5M(_IA0IFfgNG4!SDy(!F?cd$hWUXA znUEPa6aWZ>@WM`nvD$r}IqkG100@CV)XJHJjBa0mU5G8o8BmBpMD|SNTtryZRa~6r zyPAlY1P0Is?~WyLCW3Z$9>Wk;6amRY3{VjT2-!3b0mgF*MNq+r+J82(g7A!DVtTl= zycQ}0ge8%x6aW^62vZREP7pY1K!9n^sxl(3ia0A`HWI50nP?t_D5I=t8iG$Je(>B0 zmxzXEri8i(!vtnZX%&G}!=x;;ES&%tDRBDU1(6{|Ndy~pT_|F1L07cTqV zFyC%{f9o#^5D@BZ)(uw;gjST?2^)|HTol5HSKUVQx1P5(baUlwZ?_(Bf2p&xdcfr9 zc}O)z_g4{Fxjhb@L>8)H#D6HL%y+ce_i86~xe!)l$&0sn zBG#Q~TT93bPTYEjSKEF>HT^d#!+*cnF(O!26b1HIV&nBA5m6*^`?B`2TDtH1<|NF6 z*KC;sAfZj<;fYwI!>9!!a(Q`Q`U}R3xrc~|C_k8Ah{M>$fz{p(|64+@0ic*@MXoIg z^K}3r+JDIi{s$oLKs9JqFYY2+q9Eh=fntvs~>xgFrDPXvZko!RJ9}{edSM%#E zNnk^DL&VORLu!^lK@bV_Y>HtliQNZ^k&mW@6rtMY_}D&flq3l&R@1a9#&Z8^6#!N& z&+xYqBgm^gh^)LD^oAz}G5lp4oFdvAnnS6*7GW?I_Yt!xVE}nGbbsG`@Z`hCo#;-# z-+$`P-Sqbqq@9=EIi_W4B}sVD;hDz1BE*XI$G)`i`!Dk~xf@|VPAO4=M_({v(bU5G z6UWj0Z~iyb_HAYP^Tun+D9H_HaSf}fS`748g>JI#gUAvzu_#9~_SSC*Ai6#iC$Tku oJdWxAX*sT;t^VWX{I&2eKJ-4Kf+>7o01E&B07*qoM6N<$f=U4c(EtDd delta 1644 zcmV-y29x>d4eAY$ZdAfkdDm-{(qxX>W{=-@pvPE&@qVW2cc0B)h}B?;n%drRcXm zF6Zt4T#l(}n)wHS>F(aIdA(g}GpXq=O4pXZ1uWh7BrUFC9gDp_3hTd6horDJEB)7s zwmT#Z5qT|yr>-~OSpbZWH~udW_kaCxoQSw>RV(fR!jXj_&uh>8R{@tMAYgzHt--{a zh-4(Py54I4E=)w2f$$uf4)uW$h!zGgvU>lIh7N%VbW+eT+C62~k|~4)0ilk!=4(NF z=MYnjc^LXgKtLl%5y#@SVX}Z~#!hG${x}LACIm{shWBD!oE-#J=!A$Ign!{+R~)AG zkQfCSF$}}`A*?5%!9R+@1a7w69i~1wMXqAZhBN(j=M3esR556t+a(&D2?#1i%?7^H z+%?L@1GR*3m;f-U6SX8-imw{A9#q-Xitz9(9Fi|oxG{E*LRpr)L&J=hME_!fg(oAy z&yo~V%j-IwyC};GkUOEjxqn1ZAHls;EBUzCAp}v+!sP-3F?bkpd-j>&3xg*^q?jLw zkO`4uLjiz52rsN6jJNgIk<+Rz0YFLwqE?P1r1ba#Y(s2G&VWJ;BGP9f<08VMuHyVK zJ=ILa5EOtmcy~M!M)+}A;Sd3)CmGd4G1vJajcYx^GF;OaW}435i-%-30XvG(=-Gh4t(%T zgiA!jGaH3E4?|i95XqDRmxkA(NYg|CFcRSOxeFpiih>9>>N+2Zxe*xEFc7L&I(Vex#1-#K;$z4Arp3;U$2EF1I%(!(M3rDLRCV25P|bzNyHH( z8*rGwsQblY(Q_>pUDs71HvBvacnFRWRUQbBhz1|b2DVb$FMm4xa;`;pyY)FO#683{ zsKvQj;p{YMNf3(-C5Vb{y|NKNRe$xZIVV}6{ zPs9AUb=|EyU4eiY-)3!f)<9@^L4=9{xx!5$^mx@RHGk!KD?>NmoYn2t0q#z9dK?d! z41Ii>Ak6#=kAE@6z;Di%Ex_i~Kx)?+6LLCx7Bu&yAgYJ9U3QAQa8VDwd0oimx8UJ#X(ab?Ff6x+5% zj6N!z3BRsIMXLs&ulh;^(vtQwvFf_BjI7M=t5zTjRe#lE6jbIX+U&Y`2e5{u4`@X4! zdGMMoG5{nDSFwE}7U(bl zkA%6eK!3z4jDhU7{K$#u(+GKhBy3CO8LTtbd+n$?rOqQSA&E?nB5;Ao(8?Y{VNku-I+{(LqUdl>789t6c*0btq#vLHYFietl#&gh2MXhugTp=^L|Nz3OxFN5sRi4 zPA86|`!D`)sBMPQ^5>1$6wx&^oQHc@O*vqouWRlmUEPWF%1zAWXvW6+1p!3YXW}4N q=Fjgj{ogIeHMF;Dzdhx5bXa6{Z>e^C@= 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 FV1nPv&Yu7P diff --git a/TMessagesProj/src/main/assets/emoji/5_131.png b/TMessagesProj/src/main/assets/emoji/5_131.png index e28860a2f0584cdc0bee54841981c1f69716da14..bfc738ff8481bae8c29c7d2ee976e4640018950d 100644 GIT binary patch delta 2542 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 Ef`${->i_@% delta 2536 zcmVgPT*{nAH&p7|)RQ=pWlt#k-*i3{+ z#)(S5{kt&4d-46lGRB}elN$m>VE?!9{?kmqgmA&4J;SI&Kz97+xH13SQ2a4!wQTH^ zM9Tf89JPp`?tq1~Y{mTZqmo>*@1*_y{W+j*jICqe^VxCTt(?rOHNC8W=AL5t=D5>~ z`;lnM;E^EVc_`o>Mw7q-NEVu+pZTc%bD;mbgtTIo|In9h>2-@NlO6+!e+d3bL_t(| zUY*rtcvIOH2H+EE&PkKBO}hrr%rW|)%)D2^Up0||GTYN0)SM1YvF zEr^N)3+FyZ%0R+iCX=bgf1^)eGT#O0<~oA0ufHu61kb~LUW1no2-g}^jOpV+c}EEH z*Dq+-+YW0`EMpvrcQ!O%>J5fHB_bwq&LG2ld~BB&tTf7e*h?C-AIn~1Kj zkA^K29yS(MER$!mYj10V>pI9(K@2Y&eDID8dyZk<@y*Q+7$Zud=u;@1J#0W;@hLjM z+1XYfileKnH^+t^oK8oyd$>v!0I7(YuYj2k_gV4vg-_9n=Kl8JF_y`iXACWHg2Tht zIxKZqdrTJ1K%%E(f0X5h`Ibz-uP(;p& z2`fc}3FxYpWH)tn(K6Mv%I>=|*ut@|FUAKE^o1(bQmTD02ejR9-#Qoxre%~Bi^Z}c z(>1X&;{h1me`=EOH^Z0_F=Rl^*VosFVnjf2D8zg3IunAhin1if!v<%JEl){#5PQ2D z?$Ka<_t@#xP8bUwiX__FLlG4n>=0n@{oR15F)0)#lS%P%_Hw03QZf!bWjD}hm0URx za_dM!Us3<|UTsbYj$K$-0AtA1T5kBbG6jf(8`<5oe+D)pk~Q*03|$)h+xvkSc393E zwn&h0uv}!_%`IyJLdq`Dd}KzZ0f_A*5RSHiv<#9ckL9vUZr_!i=2gY!mVM+z*0Qbt zTVhzj({@83JSGT0JdI^*?f@Z?igHtPxo*gauJ8SpF`U5ku$}qYGja)-bsHa>G)TwG!j(YTn(f1{V&s;KxSqg+o&LM65HK!irf9xS!1ptb}n;+G(-LRpC z2y0%xlrd3?vVE?oxS*isRIPrA_-t{~f6>_2whD!K*77#AnDmIG0uf01+L zLp}$Ao9%djmXPqOxCc(0C`bq6vN&EZB=FN7U$(XeK_j>3qN`9t-q~f+A?-b?s(3uX z0azj{>*q7i_k(a$E5ya6oxSn2L9RL3bo=(nMfl29yH*Zfgp$F)8hCE361&5ovm{q9b) zr%ahgC5h3#(DGkWs(=s(bg|xlMJt>?-+$vVA66)T{kjzabj&bjKujUmV5~j`^(wfQ z41_^Ans@mX2>*h4aziMne{5}S1zqVI%+d^ID?% z%*8dWt(jvc4z34v7FDNhO+hU$sOh=CQD77j_HHA9@g92Pp+}G6Z(~Y=6RA<;3tSHQ5{Dfg7f9J?dDoy^i}x6hD80= zfmXdX76O|!v`v}DAJ7hP~iVEadY^kVU0`x000058y^`Z>f*@H!?Nn;)?GbY=)h&WyS2rynM^5Sn|x@- zyr*$-XXw_nx}t^l@y^-N!iaKYotK%wc`4rB&TAVUg@ku69XZa<#byi*bPW$xB2`2n zPe?g3?(XO;799N8Lr)(pi&J5X9VcxQ72dp;JTX!I{_^w2G+IbhLtG(fjSdoi6BM5_ zOg|78Zc|Q5L{_eyd8BW7t4Sf|zNS4FFw(1yLLEUlFKVj_7%3-D)ty(ypG8;`8?TUW zhc7$?>pvlr8v|s2c1c7*RCr#@l*w<}P!Pr=ffwXNU}6qP5Cjs3pio&v1c@}Ql3S`C zBKL27?|C=-zGvU}?)%BQ9v{-^@4PcxL|3@G{=%0IW}vV$@U!CN+Sy z*i=n0i_NAHm`=!|-mET7XMm0HO^K*aMzGlg`xnG2MuaDS}M1*G8om+tp&cYa<9P%aBLo4K$N zU~g&c0VW`b;_>s_{`LOx?QI_k0fy+v!({;=q^ZLdrz5l^iXuAhpPm8ma%a1b3rQpf zolMo_ybP}oQ+~&o0wNCZ;q3HRZP4D?{-NPgK7tm1DgzG=4w}t+dY5vXksuNg0NSgP zsVL2#4^$2RkqFzd5bBvdT{r6ImcvuOV2?;cqf1k1*6V3i!x1EO5f1f6hF*n@lC|VS z08CH^m!_fXu+ab-AR@faLS|9cw3JH3}>f~X~O7T4J5E@1{LzFS1vajNQARH#HP$g#sVk4;fDl<4Yj;_Jg&CG9uDVN$!_?i?8K*kaRd=@A?sjJH zBlqU!{eF@cc|Zu^B_QvYyi}B;t&ggG&~ayWHx7 z(f0p6b8lvnbMm>r@AvmRC%-rfb}@3iE|(&hlarpqNqgm_e&d&Zt?r~PwZBTI9s9*k zd6|*waGXeY`NwmoU1BtSi7VXkve-=@TvfHU)+(xMYjv7Kn||WR+LhyQ3@y1>OkznN zTv|%v3Xwe<{n+y7;|@t}YwOvwt*xhj`73|g@}qoa3As;tpP_mtf$Q~b2t`pLBWu%3 zgk#56&dTNTg-N-*sqomV3|g8HEo$y9=^rH6SpPJS4Z{#u$k-s|AAoRtvQRFcoSc+_ z8!%qdlDI>NVmMUkm~aMhte<+pFcdH{)(G^2y~mErCuIxrz=2AcOjZc4LmRz+%HS|i zoQZ$ed&8Aa;DggaCQjgx5JA#5KiBz@>FV)9d0;^nI3NRJ3T1)96-o9B1}%%j;pB+n z6TK_We5QDtGl-$-=?DiA=KLzU;G+)Hqs~*6w*vv0oRTpaXeueMH)Ye-WNg}nARLNv z=bJlota}fxgZB)Ekc&dRX!_rO>*(lE^?mYrLDRy*t$=J{va-@KKXloo%3jM^d>Vtn zKsem?Yj^+UWnG_|`Y#H;4#Ak{{jCwJvibF<^A~mJ&!7Ef>fcXpO-IO%>r(MAbehe#UgMvn~ipZFkl#tA`;(I@f&`qF&avLM?%AOH!p;%$#YNr zMnm0&zWKbUlmyDn^f6M4yC$(Lxmsi81o~H_@ zx$Z)2U-G_ac>@_p{>-C6oW)}0o@lm|;ZR6DP8A0B7m!ujL4HePYO26C5+Y+)dwP0S zJ>e1FYjb_cVhB70AfuLhPB`OvZ1YUNuCbe2m5F&^Ok&B?p_b1X) z`1SnSlTMeyLWWBZ07O@v+c)Z|bNQ{h^sZ-7{UsyOhphkJjfgnsfc*BO_l=ls@(WDekb+?*xcFTsZwV z1)mGtLGQ!aS%7$YRDXX?JnmT(+vnJ9JdU0hc6QCX-EN=O*fu;m`W1`yaTgT^*|zff z@07WJnK21F-pG9SRHMX#KeRu)F|GUbsbNrh!#=<4;;j}B{o&V{@tLm&96g$3w=edF z{o7@Ui;YWHpUwL``O?+bw*D+Lx>w&l)uK`q-7L8MtO_8G4p!VQXpp$Da_Qe9Kk#oZ zG<{z$SPE9${-i~sa>7N@k|&+ZZv5loNH6q%GUCimzER8*pIJvlI_WJDL=qf9NTP^U z35B4qw?VI+YB5ahKW1lBA5#n7iHoj00_I<87~?m;I^yFuG&+eM hKc3&basK~5{s$7-u|dHQ96|s9002ovPDHLkV1f*IB3}Ri delta 2674 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_133.png b/TMessagesProj/src/main/assets/emoji/5_133.png index 709e8755243e49d077bcffe345e1903ee678cdd2..1818c8f99ed3020d9940d5b46fad5ea4ff198a7b 100644 GIT binary patch delta 1144 zcmV-;1c&>F3WW-geShLf3O6w+k0ufRX$tpQ3Z*R)E-55|A`v|{FAoh1Cn6mh7ZgxM zI{$AAn<^9hVhYDO5Aah7w=)swObYW}2)sHTt}qd?Hz1@nB-KF=a2*a~SV}7q3vVzb zJQ)(sJ`uh)5XC(j=u!vUMGTI9X#aH!Q<~)>0000SbW%=J0FnG6f6_@rK~#8N&DU3R z;z$$)U>jpg0xW`Aj6I4ukaKXD+5i8i_T1a_LXDRO`C)4gqIl}B&TS#7bn~Z2(~N4h zdq=5OtD07JdG*D7_z`81ZAXZ%zc$sk^m7z6a{t}LXT5BNV5cCB@sls6cIC#BE+Pdjcu1F zl2}h;N{XLs6O<&PIF9z)Y`@)8wp$Q1(A7k@x!bKnrznc$X`J1zZCnKyowZo+Fa7yq zfkR}8W7()^mj&$^00iHk&*uv^#*5iOK`NJp&N`$H1dPY;f5-=A_A#5y7^z=0TIhfV zV*PM9{NOJ>Fa**t)WZD}O~C?yH)OS1y{+C5MyN+my&au30J(mJ{KSE;K%fwEuM&)> z@JL`WVp-Nt3%{fYLS3T;VJ_D5>Q5PgtOQb5?1omO4zhv}q+!V(s8LaDX6Qf|4r%>l zG8&Dhh&x3He_@4@o?;G^;0{z_@=1cs=yQT$(1RvXoYxvkyaV74o;Mh{Zl3?0=TyW4 zLOsZ+pFJl=1A8e6o&v^{57Ynwfr&-s{Qs&rlmI{-a&+M2?qJ|~qX`f)7Oitc#i5-z zbP!{3+}w2sm}Dd;S@bj&@wEh!pVq)RX`CZkVh*vFe}}F7jj$}~9<^KZ0qH)Dv%M&$#eAx;masMRtQ`V41F6a1^L{D{@VUklrUL_EwVkcG~GsR`5 z)#P<1e+?iM7N*A%ihFo1L=D~zX#l|o00|ZgAnNCdZpb%281mlfO*zLq&hULa_iLKs zG2;At-(o`|08Z{%%bx0)96G*yj<9n25Fmj|6spHrWsOlp4-_FoAQlU65N4Mi%*Hc6 z5JeF*Ic7zG=-{+2JeJ7-!NZ`61h@i(`EvP$e>s#jU=YFz7!DO6fI3hKby~OU@GuMz zC?fCNVD9_N0wvVZo^RKp2rF=qF@=D_al#h>>U3|(AcPeeAL|PUPDi`B#*hdU5ebB0 z=c-qd4jVwAz~K)iM4qn_(4)WK?+=V45<1}yX+gLunwi9LoFwsn%h}_%nb~%rS8uK* zZXTEj;z+zq1VNJg+C))#!cH?gKj-A2qE0v-1zjv0h5b;BPws0000< KMNUMnLSTZa!~*#M delta 1120 zcmV-m1fTnb3Wo}ieH%A1DezMX)j_C!ZDLXsP+8sgXx9G!Kh<;Z z%oN+y5%Qr=j%NA7`(Z*FVBhXxkxDDm~O1jkcLX zxNJNmiEsNv0HKV>52cQk8M*mh8zqTt$0HJ0v1{W|$qz3-LHK_*-jwlY2|xA`L4=`i z=OIc_V*AM`Mp%gj(a1$aOe6>~$#`tr`H46xB@rdTpV8RQNrX`pKJG`4`$x)t4}u2D zOtfoU&f(B7GXZ9EBaR=e2J3zwZ;=(=t7^eGFBo?K8~}s$dfjJZ(w|EO zDV!IYn}9kHFqwb6Ag`49>wG?Eq;l4%qXQa<<9EB=EB)XFMIu#GFI=@~3Kjr7BfVbl zxkvvnLOpKv%hB8bP{;R>H@xv9kyl2pbb{FmQUV7f%jNQIiNB->LSLf}VJ(j5qn}g+ z(i2EUvl>R3I>-tvq{dS9K#hWCF#`v}Zb!#27Ts=lhPZ$9ix5^Axz)^p65N3*ES^YE z={_wm40_Ncn)6yli5CFe!Sl9T*PTv(PN!7F142E>sGK|}W)*9x2%ZAQjNhmM0s<5L z!s*Y|P?i8d9j55OnY!Dp=XDoA$mrKk5e0`z!c!&GV!+^0c#_Hq!YB_wq;n`Ct&tK}r--2< zJh>G4i9t&IvxTQ8kiS~EM5t&8&2qZA*Md*#L=qn-anfhh34Q7pn?Mc&1d7NDH&_n_t09-rKWbfUL=jftAQK7! zL&pj3&p$CPXw4GaPzW`cIQ`3ckN#8G_QVg#bov5Z_h?)JT9S=S<#)xgHx mG(NNMzbR5~Zm{Y9;`s%DkX`ZV-T7Gn0000lke96 diff --git a/TMessagesProj/src/main/assets/emoji/5_135.png b/TMessagesProj/src/main/assets/emoji/5_135.png index 964e3313a88a7afb14a42b7667ec8e7130281cc3..6991d0e32051e616b30fcb1fbb5b530a12ce0610 100644 GIT binary patch delta 924 zcmV;N17rO32lxk&LNGUOB_;gylyV6Q>?tY6 zPI!Tlei(mENkl$e@EDfe$_mN65!1 zpMQRw&yRoS{?u$&(J$Pm#OAkoX2gvEJ-02);Srzb0gO%!nr$V4cIpkD|uNgl)8FC#)f1O32*BIquL>t_dwQs5NzgY!Jd+5qD1! zqK}bf0E`JSVi#QDF%4W2#?w?v*jS~$tnz;<(g_0-!Vt27W5Z!S5+aqzHAiemk`~~N zF;FIirx^F(F)~dMb4;n_=v=Isgoh9?Z6OFg9CfHEC#3!kYfkn>pkZOz!UrO3OGqbk zLtdiUR+A$l2(j3Ll;YU1mWY-y<=R}LJxFlHaAt%E-XIZ#q62N(u5gOJbun*sy3_%yc~WYdm)LSy&QkNK%UA#0Lq%bLK5zFbL5g0VHhe z767uR{I~7yWU#l>o8m7BkQ!o`K#0Z#a}t(>8k^tINf+GNWcfvuE8kurgTPWhykZ1{z7K<&$8j|rEa*s)iQw`2oK}#$N z5P=OorvMQuz=9ZSh#`~&^d2ih1TmC311lm3F(Mjx8A5~^p~i^7D@BAUp$2Fu0!Dur z02S7RDDNpfdzlg6feb~oimv!tvX=E{p0*P0e=DFsIjq}*&kg10000NGU`^pxx=DRK!4;<*2Sk$xC|Nl8RORCr#U)ah>9Fc5{&E_Tx4zDly+|3N!L zU$<0Mjf&m``Qd;E9~mHDrhWbK&-?o2@4G+VThI2u?kcgyRi8%O7{K`}y;pXGA1=%*U-uW6tgnqIgQIh8zQ!P2@33Q{F;mJtxMm(UJUaDMB!`tQrv$ z#Sv_21~T^`BvM*6f(@dbKt#FJt+PP}zt;)rNS0$gRySU6d2ohlzK~AHQgTDcaxmAr zH6QREF1>`P5P0%>m>TP%2}8tjWj;@QCq#L0JDHS`n$1)?bgoF=jNx%Zh|<%3P7R z-lzy6MiN1<7@0JP-1^4(Wh;UDRt6eqR9KC8uwi@%)Z|ama~8t4t@*LwEek3!p4){W z4XxB($a6vO#e)cD5cZ6?N1hOD$m)0i%7rM?O9+mIXw4~MBR|zIB6s9}=hhJ-ga`^@ z8CgvbBT(H65l7TsGqtUZ3KOlh#wkSP+3@5FKG{pIxs+CO2)S1lo`W!Yg&_0{+|Wxc z#QlMKEgl3}5iToYV#2pVe6lu@muSBA5|~JX&?_P|Te7wG{@m$0gK__NI zR!U|kKUqjordOER7zjoTu&`cN7&G2;{0m>gWQe!$hsaO~?uamKl9O0Sb`q`$7;9W8 zj22qN6d8m&BW{if81F?kR}6wi+?l{@0KpD|xt&%_83zL|5ruGnIsxPF5vb4!Jm@ha zz6G6_Goli4N$7%3EVv1fxD)<|SZ4wNh(#eL1IQ#q2p5C_F&kp>&~RM=B)*N;5MfZ^ zG-A%c=4;>{O2w2hDF6_0O_(8wA?W}H0m10RA;aRlOaMga#1LSBnSm=J32{Imz!*eQ zh{>1{gSjE7#M|IxV9eqhw}5a>AY?y$zBrBeOl$x_3g*Ta02b1xQZWo528?J(kR`oB z3?RoX5TrsOSb*_|vdn@`pu<6#&co0N+AmE%_VZ`Nx9|VFZxiqnr+cwKZ9JT1;quBdw(@aL_t(|UhUW2Zt5@)1Yn>goc(jc`@ih*c$bw84oGm*3wB(~ zRMFRQl^YHp&vN+AH-9?I2h)Jl@!tn?JXPXY%JuCj;CnlvI5XF?a%m=`3nAM6C{KR-JC_CY2enVI}34b@<5K0nn7!Zg#iHguV zH8|qSheHquU5haAXKUuS1`L^mUPCD4-=X&@>4 zA}k03ARjn)1b-nU5(a|dj0>CiZ-XyEfOHwg3IoYM?&E?| zd{S7wz8hXTiLrxgVT=N|n6`o)@f(D+4pj$oXP7`haDRQRhR~#iKQt|!e9_GQu8sDMwrRFLuMe3b6{|7U#Z05GOhXQBAE-m;hioY j%<20D@tZ%L@<>@mgREBL2n$!iYt2$BZ+Cy%XG zd}9bbaWfzd#le7jVo90o0GkAuA!by1AUl9eBfwq@$R7Ji0ry%M!jk~J6W~RQ*{~_u zmtA#%6sQ|+9e)8fKvV`;u*QXn;%f3O2q!}}V^qUa5BG#1)VqlOA}R!uM%=dy{s>G2 z3&UIVfDtS*t_-(F7EXOl6rchktFb@`$OJ@Ts$xa-Z)<{8cEcy)0zeprKoUtt2aXM7 zJv=3hUO$a2T}0m@wK7UTA7L-p5#LFWcTnAsUxtu(h<_T$Y7lI+AQQTsK;uZFL*fD@ zUP{4TCg5&;nNaxan^EE=9v$QG%v8+{9k4w>H2Oe0r^ z&hR8bJAx^~z8^_v85SqNiR`eorGv4rRfwe{)*GYOTH^2KlTXfX(EkwJcnihZ%Dw;q002ovPDHLkV1fgH2O0nX diff --git a/TMessagesProj/src/main/assets/emoji/5_137.png b/TMessagesProj/src/main/assets/emoji/5_137.png index 009c2228f83d82427e5de7ad9398f05b77cb06fd..79daa0ddc9f7d01c74d6e34b9f86348c07a5f86e 100644 GIT binary patch delta 779 zcmV+m1N8iX2mS_-M-Tp$kN=vJ#ydOyoR-5fF_Bgw5c641{cmIchI!g7C97qxi;;&P zf5S;cK~#8Nq|spt!ypWXVI_<>tvx`Z_rK;0!XjHc+HbG^en?0-k7juG-8sfcEp!{|dX)4V+iYEqge_c; zzYQ4zha2(UMLvYx1k?}#glUY_9wJy|e})Um0BDX0_zaK%ZsE7>J_ByJ05**6g1|pY zF(y85>gn)RchV#v<(D70IpD>e9L%WdglNC(Ry#^IyzYh1?C(p#Jdlpe9GfE z{(hQcp3igG<04+&?NYY$ReI1uAg{yay(Qe|~|-5g!9AfknI(fxdt_;((zLaFqfi)R|!ms6`D0 zI@({kgwtKmpcddM!>=ASc8_}t0t_|@1N!1zo@dC|g^%zyxM23yM4g3rj`T7dIzAI; z`bY{?4iXUH8EMEeO3_vA!YpGNsv!c9V4$%j&HykCr*bFeV78cNZa`)We>83c0kDJ7 zxC=5Iz7Yi6BMdD#;>>iOOBnDbXz(jqgg4+LyOE6iFE|t#Koh<186kmRV9vxj*qn)F zbc+{bhX`ybV?<_*>fjP!G**ijcG!f8!gHLJoWL~H!`pZfA))5$kj_Nc)aPyFMzF)2 zQVM002ov JPDHLkV1j$IYF7XN delta 782 zcmV+p1M&R+27w2VM-Rg?G5?yA#ydOyoROY@89}<0B=gH(BKva{d5#JlByL{q&z#j3%?+5=d`yHaXuYD={gM?0U<(-FE2v7RNou}x+<6Y|bu zd>hgQzxAMzMLvYs1=tV)glY7297GsVe`G6!0YGz1V9o#=&=&S@*~|bNOMvS}{zLFT z3eE+8-PFVJywMRl@hY|6dgBH{C;(ScljdzP2Rf7g|3{0t2&}r7O%ArTy93{%C=dHM zj-P+b;q{kuei-ozuql`NSE9)P=<7+agwc01&9&c0jKxkI5aJ8aLk)}+M6~n>e}Z+n zQTTs`X$cqMMom8@G{NG=Ga*`wn|R(}PN9esS!JZeR{6-PaO|*&FI$8`+%u^ZnNp%H zTnIXi?i?7q+~oq;Q-mV~-(wp6=+`MI(}jo-_GxrncEj&_n((3QY2wB>61ZX|h&jI# zWO^I7X@OE`qL0;$e+z7NyM;xze-NU_c@vZl@OjM zx1ic0nuH=fUol|=8MVZtMfW`&g!mQ#(uQ7-rFqJVQTZqUFgmOc8qlTzke=(yPLK^o3 zK)C}?V+z9nVG;!ZB1|EGWUC^}ghdFV4ERhD2mniSqcSWdfI7pVAYvXW(n9_L)gvZ= z1|ns|7B7r2MCg*!Scb?lfiMIv!&E0~hbcHp(6!H~1DL)D!gy(72>Fkhv^oHwKMzAE zQ9F2NcEv=dwkV5GMiU}6U{p?B^Ud{@8BM4QJ&{0@Jv~1bfi^L}{AS>CoCzZd6FwQq zE%0dpDsV#enW4JV(35z~!@ByRn0Kd?hY{~@-@lS~|NZ>_h1f6XUx9Vm2*5-af&c&j M07*qoM6N<$f}vAp9RL6T diff --git a/TMessagesProj/src/main/assets/emoji/5_138.png b/TMessagesProj/src/main/assets/emoji/5_138.png index bd3c2c543f09f29a01b1793069eb0258a2d3925b..c6166ecf6f750e052d7719f7a09dbc223f2b0a38 100644 GIT binary patch delta 277 zcmV+w0qXv&3#YVm$b}uczhpSl-JbIh!ubPk+eAiV8XHQJOKeqlPm&f z8DFy8vp^)D!Is51yz-BrlB=VrU{qbQCb z(8*xDQx0`Ae_SJ3ogtTMAdcJ&hihdpO(Lj__tQHWWm$Gmw4XlK7)+tYiw?xW7`Ymz zS(p}600000NkvXXu0mjfWMg?i delta 277 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 delta 1797 zcmV+g2m1K+4)hL?Xn(-2f~}QU?BT=3w2R8SlGDYZytJ3HsEYslCeRAj6ale+F(3DlCn|iXAceIp(ttXUhwA5SZ?w8r;gu$t! zlYVpm|GWSH>Y#y7p{#@Q>4wPOa5&%{!IKUFAb&AQL_t(|UX|Ead*V6}2H=1tO9lgx zd!hGEdhcc1|NlW}MzUf%$>wAyH@TVj`DQE-u=hn(s%EVYRWqxV%HBU$)vVjCeM)H< zhLrBNY{RVn3s9-q`!u8ux1OP*C>E{*j$Qk1ma4H&DY2ffWSyVi-QG{9UN?3@F{*tngoVBFv`Rjh)5=>eI3CLo%9g;-=*+m2tO7H7}WkE zh}jCo{MR8E3dvJ=o(z$|TEmdG%)bvox6ApjUy3LX0)z??_WS+tZ^P86^KiUe>KLnC zo>+1|T00e_L+c_8@ z9Hv&BwiQ8m*ctTu5`cCQ$5AAx2}GTo0)fhP7UlP&NMbY&IipyPg#zJLsDA<3ANjsd z4Lq3%0+}L_%k4H!#QZ2Fj8R-1qf82^MRh;6ccC13CY4raK(%bU1p;H- zveLAjxW)eQ*b}gfYBM@HDI>j~0U&~K(l9HK(`S&F+b;9Qp|r z1Qy|q?EF?+jFI*Y7PiaoDSy;rvFOq|Y;)Y}o%Bv}=j12Wf^crW-42AX_6BM+_23Vi zRRv>a>={Vtl2}g?Z9*EA!kZdPM;kaIStoYO@*HE&=3X!8^`=U|e}kVRAW}l?!n+z0 zSi!rRx;7kd5C01Sv;(vkBdm{v3>WmuB?;nTJ0LP5OsR+ugZPqwrGLS!IpMhmt~1D5 zr?R~12CL1>>m;5ePOjmvSj51G8cefhxO~U(&~7&H^x78BA8LaT9t23}2d||rslzQ6 zEj-yQ+kHQZ+W7X60-=vqgApdiu&c-W2Y*dL2TAOHeZ!!R06LYO7Q z7LbF3)6~K!z!=(CE98;ai=VVI0ZIxg#1x3tN)n$L4xUV1 zCa0Y|1CF6WAaMo85K9vee{h)DE9Irndy zf((IkEN(G{CJswENO25xzmpCUN>Cw?I9Dn17&?dBgnu#0Wm-%LatsWCa{zIb69pqt z=dxTiiw!!HJcK563Kb(W1Rko-4AR#^gmd6FRf^RxkFnIk=LQcy68e#-7&yw3;}oBl z+29NX5y?4nVy7p;QMROMe)aW^a}eG_^;fu0kMjtBIi|EYhr3{`aeH zlOz#_&{9Ocj2!^q{Jz}eJoaH1BR$9vVyrB#f$tzSyGaN-iblNz<+?;Jb=x n*e!5WHPw#~|6G-C{si(Ljw0P~>x0og00000NkvXXu0mjfl|EGG diff --git a/TMessagesProj/src/main/assets/emoji/5_140.png b/TMessagesProj/src/main/assets/emoji/5_140.png index f98810c07f0692e8b80d5a0f4c40b2293532da9e..147f190b745678634a9fd0f66570fad775b7e0dc 100644 GIT binary patch delta 802 zcmV+-1Ks?d2b%|wRtdklyQ{3N{y;&IUmg&hMn<_A8UJBq`T6_A9ViQd0A@NnNe zd8|NiJrh9<6OLkx2|f?AW%!dNEB3v>$Mxp=n7Jj);j6N6$qyYF}x!vCuvH4?ZzuI4r6jI6|c^^ z;Y|!8xA@Q!HDaJccfGzLFmk?jbykdVSR)LgR0Im7gl=EVj*x^7LUez_x|OLC-H-@z ziwktnf;@U)8A_o1Jfj4nONkJOLLEY2!gw*FD|;tK-3|!WqH_??1wz|G6!2;2)BrJ# zjnEB45+Tt4EvO1y(G6^H-V}gPh&j0>Q=}cK1TY9NVp>umV2mGyp(HOk#z<-iAz-m1 zjCp8~UFfPX&s+8)P}_e(QwZ<#4aTq=Wk>}Gx5a@_L^&B8 zNI)v!w@8L ziyr~xE;#4i_LzY1w&DXo6&B}U7(q;^$U;g)dfshd^p~7)^^KfzK8~HUSme9^4}C0{=h>z%Fk%3KgQ!`2Z*d%Q2z!=OV;$9Iod3I6um}*{jz-R1@x{b*-YEhi?BX-tf+^Pvrci gUl70Zozv68KS?sB^3=8AVgLXD07*qoM6N<$f@T3?2LJ#7 delta 805 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 WUo?~<`UK$s00003;+ z0z$$gq*X=MoOcMm!Xbp2ej~o_=NMg*>>qb$3;+ z0z$$gqRqZf5OcMm!Xbp2ej~o_=NMg*>>qb$>lQIH7C{|Udh@1={ zte9B?Py(7j1ZMK}6z%-=b`JLra^-QT}9$&0VAZcv&DI!`};Xi{X^S2vYYNeBTUKz{!J z?sV676Q%2kU-aE=vA`_mNU)EDe+)KV&~BvkZS@)iloxO zz`q4?^u*3^$l&y0!Elr?LRV)bChSazSrDdd9nu3)1Snbo75KJ=aDhS2IF+Lr6gm3}8frLN;aU?*@7wJZ4+^EQCBRs+b@E zCWJujNeF;Z-8i}))B*&;01T9P5QRYSb!*3Qq3kc!U;yid`)m*Iv1A`*fkQ9>3VwjNNpilc^-o<>Ya7o3bq5IGS_&4dxk z&`bw4caJ*+C?*s|FoBP|4H4zWCRi=>1C#KBEKV4qTwQ2SA?2sZd8$f5-UwdE2_aEmGsdl2*MNLwHvB#5L%aZm|? zgmFrYlK>JxSX+HM0yPdo@KQk_Xfbb;R)6Uqs^6(30x5Ql-)ThPBI%>Hco^0)#srdQ z2QtLd7VJp29xeRek39es*whv_3ytn$?~tSeiYIWIFEmSXp*PtS6^3k1q6T#kYD}( z`gGs*HPR0tz%0~%ku3SDbYR2?g^$bVfVOZ53DQgzmFa}AnE+H#1bw}DQ^2=XIBP=FM}?WWd~~|2nx725E4j86abjNNIz-gfg-o^(gHyELVRCr39i3|NbPxi z#;ETTko!0coX-0e7mY!%2u~b=94o zC~lmb#t8s|B`}Xq5GKi4*T5GM3@xIKVt+MUM301-cG5DiBIU?5zw z^bCXj*a8j&5Y)o{{zwjC@*@p(P2h7-3xNXxfDU1@0+-pepaLZ6{s;lvq$si?bU;ur zf_(tV^i;#mf@m5~Z~{I7>?Nfq5)!;Q-%lht ziq$w5pm+sr*Q*Rc1F!&Y@N0vLEJU-r#n)4{EjaQ9KsnwwE{9Ux#gVgbA&Hrb;;X<0kk>mPu z$LX#5|G4@8J&?IozxsUI|Gd7yK$X5!g`Sd=ml(Z;Y?E05K7Y_jL_t(|UhLAzZmTdD zhT)?wj95g7EWlw0Qlzt}dMTcmhfMAL-$OrsaAI0WrLOzfSdJoIfs=nf`SZu~*&Z19 zzUTd-;J+P4b(UqvG)?0j1VI>1N$`HidO>m>9co^jtLl8mANan!OM9^@>&U*nMQn^RN`o?-8pF_AQp#NB zGuz&ONdyW3L-?#5tR68;hlG6DV2P8MBBIEL=Ol9zu>z+6#&m19O&1;toBz(4GOZOw zEHS1;*~@2o>AcF05_F&laGKD~$G1g39>a??C}JK|QGd46z+6+d%qCbf7Ul+>D<(Fg zD@)8R_-bbpVS|Q^xQcF5P2=d@kD{T-vV*;-*A;YO&3yaMY;H)bPzA@pB)G{E7+6Kd z>}etadK?Z^1sL%}I453i(A;U7v{NIk=;snj02Yk}7kMO3NYHRf_^9=`ZqwRLEYOYE z&~n1qqJIOMH~}h4)cq{A?sn6L!8i_=1vUm1>(uUucB|BBQ(H|=Oq@>w1yb5>;}SU7 z{olm?e&5(mGFoZr&rU!TKiEf2Y}&{BW{`0?BCh>`7xOpvaYES__8dHM1dMj%rmjQ} z%zCjU+*b7+)9yZcxx^9JV7ml?P|p`(T7r&goPWfW;v*%5;0r09^OB0PvxFLOiL_wP%0^3-1AkK;v5d%&1i_KLB zqEAFm6F5on8sdbvarOQc#0e4KIuRQt*yu!jLcEKYh`&LDo#}wvoa_Jq002ovPDHLk FV1iwav z&HuRh|E>D}eA@q2zxq9pxj>b^yuQFxg`Sd=mw9}fg_BtUK7Y|kL_t(|UhLA#ilaan zhT*0cB`$)Pg;v}t1bQ*drPSF&&fPute-HEhe^QAunub~Dsj{dLe9^+UpS-*zsaS)6 zG)Q_+|CBnIwFQuii zf5?}YGWZkQUw@quoD}QzOe8IgG2cu{@IyO9r{NUsqpkSoElOjQQ5uwy#2*gF$T`=# z_9nL1Z&R50EC<2lv>~6=m#62D(DKsc%9)DEmhU>tb(+wgfL{9~3FvHJ- zjooz}<`Vq1iiy0Z21lmCZjtA)P3}k0b7b1V-uiigFRV=(zs&vs`>^}VOw0DueLcvy95Jo@K^Ds=_S2ZN5Ahs4as-TK>?W?5 z24=OXCEQl&j%jxvyXn&dK%Y0eMU;6o+0ZYinEub+914N($4T&Zf@*M=_h|r~NAh3&r`8wYMNSg%v zQcw^k@Bz@}evpWeE|{pS4rm}&lnQ(#H-EY0&P0mgh;lWi%MvzLBoHVqi4g+_3Jr*6 zjz}R`qWb;i7abs$bwU~+AvVCJHbf?y072VWwII&26%#!oy4mKc z1<_@qLj+Eey@oiEZCt&71#!Z}w^qbP2r*g_pOEb0CE_p0L7brb0uz@20000W@~b;jta^Zx4`152#fJde2X9s_LA|H)lki%(+4Eg)0D`ndc5PlKU4i?q)k3zL+V zVODY@U;ze`RslbMP)S5VRCr$O(%EX;Koo%C>Ou(SqCz4VTO!83a1xv@FEN|;-CMS{ z@Ba`zXJ)iSn3P@?`p+0I!k^AyfBNV8-|geKTgbC4%TfKc;4E6qb+_B?0(<;}VR>s$ z-ETA&?QsmSt@Y9Ozb}`&-EMOag<%*3fe$T??UX1#ARPaHVTtWFQS^K|J@=ibLqP7z z_nhk^1g!gsErEz6$xkLE#(?0_KJ>33R>&B8Rj~+-q{(#?qQ%@A;cz_{oPc3*EQIJH zOuj%3bZ!ShA0$ySnH#7hg8JX#-IhZ3A*a*cBD2s!CLmS~l6)c>Zk1 zg}?)pMa7~>wZ;2CM8A6{wZ`=J@lE~yd_GR(z zDdAQZGyz7z%GVFO{W44D%#pJZX65 zNDxR!3~W4>lq*PN7o^WlK6hKd2G(_dAVP_Cb`8IUuy*HXPYtEAHOQV1p6<9UVhO(k z`!Q$;Bs`h_i!2|Xuz~)Xl(>$&2q!`pc}8AIBw)1~`GmVbx3k?sr_R`Jw=m|5MI6VU zm&;o~zqCM1>6y7=s9n0f|ph&4ruk^oI8MIv_Ezi767}sHz7gD!asNIvr1<>Q#vu zZW2X95@VZ~Q37kcJ~6p}J3MiBM~(lK_%e>7=>Fe{KTu?ZSyt-vLjV8(07*qoM6N<$ Ef|edh&j0`b delta 1244 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_148.png b/TMessagesProj/src/main/assets/emoji/5_148.png index 1800f93bcfcf1e1ea1189cb44cc67945c541b2a6..e773f96f9448cbe6a79b47f65139aa1f0faf6511 100644 GIT binary patch delta 1138 zcmV-&1daQ$3$Y83*AKAt{wQdWD=aQIIy@|OpONMylMMkLMrT$$Pqy$wMMgz~rBp;L zRjkq*U4%T1wp_E>BxH?If0?oT|Jo`Mh%GEx!~IoOS8`Hgr$RrV?E6@jtcpxie3zSr z&KL-jZUI7n>`6pHRCr$P)^}4IM;O3iPCDs?ibbLCUNYPtLnY?LhsFX^8G(R z-uJfXbh%SvIe+@MyA0B>&+OiefTe%!M?VUPen=Fhz=D9d6+4VXB8Tr2A3v_HuC0Zj zAVgS%p}E4=;UFWcs;nx5vq##=d@M3Ro58a^O8IsoZzN}=-R5{$} zwpowuM;3xeehNwsmxv8A0MHaQQW=%YG@?=RE|p4+QlnpH&*A^jS8RrytT4c8;lcs#j1dUwG6GXZ zfn$V!3x!l6`n<~4D_U|rx$ z_$jdp#1kPpe(_Sg+Mlhpa%J=4${~w5TMw~fbLNRW@26Vc0QTJE;fxxa_$Sf{gVC9+5$VkL6v&+v0j zn_)ZRb^>CAN{O(C?lBCUWUvgw_?Z!ZMI`u5DALctMTQ>Ow5I6~9^QlJfo8DGQ>3rlr%`&2Xp>%`T_u_Y=4TuAl70 z%rTTS5NU8wnoaLaNSr9noI*wdoD2}o5yEgMcyJ32+~Bklv^Ru60SRJoBm)G0FO3rx z8Aup}u$_V;3<84fVh9ZhKBA5JoBxrGysOL2j zezZwFbLAOvc{v=0KkV=C$71Wzl`SY9kH0xO+TGoKxda76D_ArN6I&Ge8z35D;3emVn5P^zDQ|0Pp6e zuLZ^e#7lt+8ylNG;9f64w2lR#<=fm?Uf%GwgvAIDfLI0st|BZ#_yjP#jA$)J;G=+h z;7xqrMZ6-%c)I}M1;U5KDy){x8JeLOZu`NkUZ>0000907*qoM6N<$ Eg6vWq&;S4c delta 1140 zcmV-)1dIEz3$hE4*AFW!F0l0eC}@x@b)PpnJdx%k1F`)7lL`SILseE+XI4Bv4gM$Nf13r65+|>G#oFpky zsNQX}?%H=O1d;p{5N$3I9V7vu$x669DwRszQn!l>YXi#F-+fj=j0_OqDbrMoG-{1V zUq)YyKt{YAun>VE1^7As&hrSy$W|(q8l^_R%%8*ep)XquDN*JGw{YPAch2w!H3AIkzllr` z541!gK^3qV5iWP(?aL+SeEc5aY&J^~n2bm?+U0r~s+aAmm+L`B1d4^5n;SIDZvp+; zt~=I%QUBy;Pf?r}3TTiMa6-AQH%ys7To@}Ze;9&)<7o;85*T4*G?Y-|Vpane4Avvg zxQ`O+Kuiq+6-LO4cJXM6f8YfSLR`OP1dp5|{8+=PHQJ-GcvVKca3pHgN~Kb*!nCip z<3PwVB?c%|u5sE|U9%@-l7vL%+EN9kdDs(VI}wm5n!3g@o3LyMFz5k@p!Bbcx!IsS zf6bwb2*n_BP%nq|a9S%yoCs$0i@Dyya{mLd$%rT0i%3B9GS2m2a>D5pIUp7m_4x!w z6f6V=L`H=XdVYTXi}ZOeHxzUKfdu)Q*%G~ss%CCGo%?&3wskuDW+ICOB4#3!{tQ27 zw;8r0ZY3Z_D3l1f=^kCjX$+RG>pwFBf8T=Ngd+V6Tx95mJXRVKllKS=)hPvDllFll}eumn%>pxQ0a{FtJUe!;luz!VrDw zJwXt~*&opYe8N^1_3nH;9-oiTf3Y#N2V1|fcc-}dlmy6<1Ol#Rv*|))PyBYmWdNS- zZEq8dC5V?UDr{|Sdx3ks1kpToxtiYXt<}{nPt&y=0Rj-KK)_X8%Me}{7#>D6mm}~g z;2wAr?{^WejAOiAg7DyLBJm0ckN2(cJp>v{60iRY@ei6IvlYefEMfov3IG5}MNUMn GLSTZ(6AlId diff --git a/TMessagesProj/src/main/assets/emoji/5_149.png b/TMessagesProj/src/main/assets/emoji/5_149.png index 68163b76cf1a14ebc179985d2996b010a74605ba..f68d226d5021de1b4df578049fbe0af7969d86b4 100644 GIT binary patch delta 1081 zcmV-91jhT~3E~NmYZBlK3-j{w?d$9M`T6b_7xo|^k$oXg+6xQW6&1(}3(&^K{r>)! z3k$yp2>xMVQ3eJm1qJ_da@p9}(F+UPq@>4ueD9A5tr{n_mEvm}^;@ZUF^kIie2OvA7& zYhKHs?`1esM@4_ER`jYJ0Z4=xN@CXh@V?r*KIh#88H`Sx|Cr?_B7^`i*g#0`Q+VAw z2{Lfm*#QJ5nC8xu02Cs)$a(7~pfG!J%%wmRV1W>bwPk9;c5GoJiyt5mPQa)kCkJm{ z1yLADkj?~QA^h;2S^M-t3NhLK~|Nl74mvL}KLW0udYv!FPkg0S&5CL&s- z@#pJ5I*3k3`@#xcCt?}VjCG?pP8X3k-H&l%3IYj2%t+&U3lf$@=rB}-jumo7+K7aR zguSklKx4ZI9flx0GKy095Xlk6iY@{G5p*YYqb`4dAfsgkA_5}>A&n|pAcPCVpuYzI z;>#^Bd-)dV20jrB_M#Pj9SyWpm!4xN&^Tf#TNhwYT_XQ zF9^Ldz@U98fPgXSB&r!DvacGKBVfEu9@>au3FuOQA&}+!IT2>wGN_$4c{UveYw|B{F@6kSWC zWJF$;C07%7L_|a+i5CTTR}ua6ks6}MM+Na06=GIjt`4v=00000NkvXXu0mjfa5wwy delta 1081 zcmV-91jhT~3E~NmYZCMF^6l&E`uX|p7Z>&*Am9rNk$oXg(8k8u6&2A73)$G%+6xPp z3k$yp2>xMVQ3eJm1qJ_da>xq{{r>*jq@>4ueDq!;j!?K6K-QIxj zyluwdejIYPO@1Zc<<|Y+oalqd-f(@E>+-PQLfno+#zl-X#!vF)MR6YyannUG#>QTR zy!N(ZfhY-YwN|#u)C6PJ>YZA@cei3H!X^X6djIlM^yg_G9~HqAg#Wf)zpr0%WazqS zn!83ieJ{hA+A4oyxumCd03Z=!D2bW7{o8Wm`kZ$YWH35${-ekZLbxnXL;vMpgG^B*7(PC#!UM;jkr z1yLGFkQRb4MfBFGQO?LYj*E2@WPl-JU*3p(5_GB%aJhdta$C6qNaDqZlAy{Bgn&B| zVXIakdz^S_<1mb=zBB7`Jhjdh&z1~?xDy~|Uf{8o>89b^RQNeD$DN27Q##n`6d$qj zY&M~-S`kWOON6`=qbPK|li+ zy(n@BG97h($y*Rwu=AI*+{VWQG${5J(VWMjAJpldvGdfuSNCtdKL(lSqh2 zm^cmzG`5RyUw{N7&NH_5HQA_L_MQICUvuF1dQkLeH$^X07nWi1ai7Tu1G+f|Imn$s7W+OG?8K3 z&#r&k3-74-~T@Z*gP7%FaNZ>!rAjq<8o?b~x5I_P7g8z^Re#?sNx7^6vza*jzMVAtI zrjeIr$;HGi5fKqd;zhyjMMOV+poZw-K|%Zl8xdEXMZa;l00000NkvXXu0mjfl^*7Hkw@}Mo;&gyc|c4 zbX(;}zsji*5nmMR`@DE-xlxG}ODVQk&EIo%J#-&ILP)!gg-!_D^0H>+L0BCZ;;4Uw z5n>Iv$#5?WjAn2 z#{_2+3@ixJ_e|VYF=3Ns142MQjxH*(c@rX=CiIu%Rftt1zJ^`8fZgsr&q)=H-eBzi2XE$ z&EW;1DPff8QHf0@3KP=h`zd-ME;fWOCi*eLVhZ1gvk?7rqA+pBAoV2@0UX*C#bY(X z*YzoJZNwF-U`J$v@Ss!JV%vWi3E_M>GqLCEsxyel^Ot$i^PEtAGt{0Q9}rPOC6PPkZX(;j3DYv z*varNNa#==A&cFoJQEQ)h$;}iE79(J0t0!_yRED_B1Av{Hb?^{Bs+gqe@>+}qtP6` zZ#Uhjf9K+9G^Yo&d^pbmZSPYw!9RI0^IDu7Crb}xCLYJAf_*feJk?fbM1gsZ)nn1m z`!gVjUa48HVR`NIJ#ZNu%fUQH|~H@NK(kwLW$q r5AFAFDyZ{++dO>y2m0-|?#IG^r&_CT2pCaQ00000NkvXXu0mjf8Lg#Z delta 917 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 FV1oQm2m$~A delta 1798 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 delta 822 zcmV-61Ihf64$TITB!4PUOjJcja7?PIs?*cc&d$!n#KgS3yxiQ}%gf8v)z#$W)_~E>B(Y$eAZg7k|WcdUZtRio%#-=t8H^2|N~*cHVO)XyJibCEY?&Yu=ql&ziyGgbqmn z(App#HEvS2;eiY0bLoiHx7=7C(GJcTHPJpS1f^hQELbdPeH1r_-a7&ri+j;(+f9jc zA1o@nVH8o!xs{U9Xa|2K7;0SjSIO7hvv#{9iP)WJ9DnIDw#}8W581X= zW*s3Wg{_B9Yh7T~6&fW$E;utHZbYzDTLzUhF7_Fu)RRCJnv+;Abz?6WnFS(vv^NJL ztpt;mV)GCpqQwLhHgGXh$-srEJG7S&>?TQ2V2ZDDBasrZIOX_i+6u>al*wX&!nlys z^&HW^d4D~L*qdWuOWNaBv=aYQu+;t$7eJ*chZ|Ab;8~5~Rpy@zQg)!e~weY~EFZ1&2Pi z`0c+kjmyM6=orPz8APOXrXG%iDv9;`zu!^HU>O_{+Bj16;S z1ut`mrAZo0P~T$}VkC`HXRsMF{LW)F>K}fOf507L9iu;vN&o-=07*qoM6N<$f)}}m AjsO4v diff --git a/TMessagesProj/src/main/assets/emoji/5_152.png b/TMessagesProj/src/main/assets/emoji/5_152.png index 4dceb0c82d666261987b1cf91067e9a67748d2e0..91f876d0e7a169694f9738e6d0e060d4d103f95a 100644 GIT binary patch delta 822 zcmV-61IhfP2h9eMB!4PUOjJcja7?PIs?*cc&d$!n#KgS3yxiQ}%gf8v)z#$W)_~E>B(Y$eAZg7k|WcdUZtRio%#-=t8H^2|N~*cHVO)XyJibCEY?&Yu=ql&ziyGgbqmn z(App#HEvS2;eiY0bLoiHx7=7C(GJcTHPJpS1f^hQELbdPeH1r_-a7&ri+j;(+f9jc zA1o@nVH8o!xs{U9Xa|2K7;0SjSIO7hvv#{9iP)WJ9DnIDw#}8W581X= zW*s3Wg{_B9Yh7T~6&fW$E;utHZbYzDTLzUhF7_Fu)RRCJnv+;Abz?6WnFS(vv^NJL ztpt;mV)GCpqQwLhHgGXh$-srEJG7S&>?TQ2V2ZDDBasrZIOX_i+6u>al*wX&!nlys z^&HW^d4D~L*qdWuOWNaBv=aYQu+;t$7eJ*chZ|Ab;8~5~Rpy@zQg)!e~weY~EFZ1&2Pi z`0c+kjmyM6=orPz8APOXrXG%iDv9;`zu!^HU>O_{+Bj16;S z1ut`mrAZo0P~T$}VkC`HXRsMF{LW)F>K}fOf507L9iu;vN&o-=07*qoM6N<$f<8!x Ang9R* delta 910 zcmV;919AM#2BZg&B!4haOjJeM+S*5OOxM@f*x1;YmzUz=;&XFzczAf}>FMI);?mO6 z$;rvSzP@*NcVAy$udlDJ0RrRz000PdQchF;0AoG=y{~h@d)aLO00SFIL_t(|+MShw zLW3|2M62MWX|(_Ux2AWAb%Y_?ZG^(?^O8VY-k{}y-Y$rUcYifCZGWZO`?}t4pUXuA zri*?3GX%!h_xEkNgaAP91co6@%LN2HP}dn5K}L~M?AS5Z5hlYBgVB~N z2pX}Yzy~m77(&bPFJj~XRYX8wL}8C0zR%HY7D@D zjkOvBKF$!@RexL4rpkk%kG47jj5EajJ3>aYyL3?u0md0(Bv9?kVG-Lp- z8B<^Ddq(6}q{fx-$$%#6c7Q1C>U=JJC`1H-5HfNic+X~6C@i1dCMJCzxQOyu4&tj8 zVz}7nk`ZjF$p@i?2+n6hX!l)F``@OtK3jtDJGf#OtJH+3`VvD$qghp3E zvAHo@b=-TuM+75_&*zk?!f?|aqL_9bLfBdr6m;2F25HF!XU@-N2U`Lkcw}OJ#ogor zKXQSHCmk0JCK?=AK#93OBt-nDCcXhEqG*fP4Sx*&0vic|{NbK~Vo{1|S1lVSL@b@c zft0zS@g_Apl@aROD9>YrORgX|^DCSC$Oz-IC6SS94)6!;Rd#_syT>?TO5$Mae&m8i z5g3Id;h6W>o?`@yH;qgK)0u>sW5fV>8+rCvBcKSg=^0@JRhSm9JNuxmL`FP|HnNWs zL4T+|!WmZ_&u#Xh3%I=`rjrqD`E|%6#6w2SH~vY)Ve{Buz(hu19T1T#*|5_IQ5;b& zR^u#@S6yJG7T?b;)K^^izM~DQueeB)o^~-AFL&hp;k@{09YN~h7lfm=^I2uYlaRa# k0P>Wi1Oi%K6XyN^1iWsCmkQs;00000Ne4wvM6N<$g3Cgs>Hq)$ diff --git a/TMessagesProj/src/main/assets/emoji/5_153.png b/TMessagesProj/src/main/assets/emoji/5_153.png index a48ef6541499baef132f90018e09f80701ad2688..4dceb0c82d666261987b1cf91067e9a67748d2e0 100644 GIT binary patch delta 910 zcmV;919AL^38V**B!4haOjJeM+S*5OOxM@f*x1;YmzUz=;&XFzczAf}>FMI);?mO6 z$;rvSzP@*NcVAy$udlDJ0RrRz000PdQchF;0AoG=y{~h@d)aLO00SFIL_t(|+MShw zLW3|2M62MWX|(_Ux2AWAb%Y_?ZG^(?^O8VY-k{}y-Y$rUcYifCZGWZO`?}t4pUXuA zri*?3GX%!h_xEkNgaAP91co6@%LN2HP}dn5K}L~M?AS5Z5hlYBgVB~N z2pX}Yzy~m77(&bPFJj~XRYX8wL}8C0zR%HY7D@D zjkOvBKF$!@RexL4rpkk%kG47jj5EajJ3>aYyL3?u0md0(Bv9?kVG-Lp- z8B<^Ddq(6}q{fx-$$%#6c7Q1C>U=JJC`1H-5HfNic+X~6C@i1dCMJCzxQOyu4&tj8 zVz}7nk`ZjF$p@i?2+n6hX!l)F``@OtK3jtDJGf#OtJH+3`VvD$qghp3E zvAHo@b=-TuM+75_&*zk?!f?|aqL_9bLfBdr6m;2F25HF!XU@-N2U`Lkcw}OJ#ogor zKXQSHCmk0JCK?=AK#93OBt-nDCcXhEqG*fP4Sx*&0vic|{NbK~Vo{1|S1lVSL@b@c zft0zS@g_Apl@aROD9>YrORgX|^DCSC$Oz-IC6SS94)6!;Rd#_syT>?TO5$Mae&m8i z5g3Id;h6W>o?`@yH;qgK)0u>sW5fV>8+rCvBcKSg=^0@JRhSm9JNuxmL`FP|HnNWs zL4T+|!WmZ_&u#Xh3%I=`rjrqD`E|%6#6w2SH~vY)Ve{Buz(hu19T1T#*|5_IQ5;b& zR^u#@S6yJG7T?b;)K^^izM~DQueeB)o^~-AFL&hp;k@{09YN~h7lfm=^I2uYlaRa# k0P>Wi1Oi%K6XyN^1iWsCmkQs;00000Ne4wvM6N<$g53tCrvLx| delta 1138 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 Hu0mjf^4Uxx delta 1164 zcmV;71aten37`p(B!8b!OjJcja7-{?rl~6{!qD8k#LKtE(az%f+1uU7(%LJgF|NGC z#LLs9ppXDgs=ERLw*djb#>@ez5wrmTtN{SA006fL2*#wT%aN2XX|TPAj-vno*srd{ zKS8bs2gyM})ZXUD+34Hl?(OXC&fVyQ-66@=WlvfKk0cI$1wVUf-)%Dgv3{)8o%f3Wdslag5Lvmp$LE(K@=!| zMSHvxL8yWvG9$c)7l^ zCC7%W+s&+8;%<1Bo!QMZE17W|lCb57D6I4Vy%Ah4TYq)L^;bPZFNAZ5b1iXO#csqj zh&&f^yaiAys(SP35IzbiJ_zAwL;Al(^<;?uEQI_2i0_6dP3ZU^AyX%$`;M^sD8$J44&@?hu^B;RL-?}1-Oi7n{Sc`k z(=?z7k$=nEeuP#i$qBL&>_Vnqh#kR1RZL(*bPEb5Wb}4~0Lq4tII{)NhAd5p+&C0+ zEfEif;2um!xC>d<1{-3@bz4Ebmo17qLVY%3${~5kdmBQ3mIp$HX&ay;LU=JD$6I*H zTWl#BGMX)pLwp)BtoQ%+MK-)m!$24Y6wv5uc7JWUrWqT_Ry*7j#0uH}|83m)CH|PR zyyrSnr966{%d>C6ye2XYeLv9skNa?r!z_YVyWedk>0hh}k+xL$-;<0lDqAEndkn>+e5EwzINZ(}$ zM^(8_Jvu7FDk22=DW*AFw=P1A78nt6PDK=;mx^$TFpDBPK>!1h?&w<}5aCRO3Xxsf z;)x+LXWu+QB$Oyyup*G8MNBIq%s?1_oqvcHM6l5%#6A}>28co=MAqp=_NmCcPNOZ> zMPiE-(RNNn%)E*vkzyCUAVN}v@r+W03lS?KA&2JdMa&FHL=d!ykclA@5fFI+V5!9> zM_dF!f;a?%BFHHMW8M`3WOtdYQ;~zuUZ!rWii8%5U@lsy$!-=Q>W>eHn6{S|?tjG? zy#J1fGB6&&DWX<{>_P~Dlp@4A!V=r#Lmksv1|sCdZ(5Kd0%dYUP7sG0M-YxA8G=eg z2t-`oLjU141Vloxi~6qC;~$D(KCQMW5zSqUA||3`gukz=YWp?Grm8kq+fPZhSC!;r enyR|?h<`%?+TZm8l#l=b002ovP6b4+LSTZ=VHw8& diff --git a/TMessagesProj/src/main/assets/emoji/5_156.png b/TMessagesProj/src/main/assets/emoji/5_156.png index 8e582f7c8721cd2fed977e6f10296e7e8d0e5140..41261fa9752744680ea8f4290cf5ce6d2c097023 100644 GIT binary patch delta 1164 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 BIR^j$ delta 1111 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 Y)B7WP5#l@v00000Ne4wvM6N<$f^DKSUjP6A diff --git a/TMessagesProj/src/main/assets/emoji/5_16.png b/TMessagesProj/src/main/assets/emoji/5_16.png index 698e1d579210f93e5f2ffecafe1936dec306aa8d..e8ec3b38d683c2d64362bb14828917219dcb5001 100644 GIT binary patch delta 1411 zcmV-}1$_FC43G?vfJ3gPoMdHY@$l+YRaRMATy}SOm5_>nf`oZ{edgxlZ*p_LyR%G9 zPF`SP_tj|~9UVqSM`>zoCnqO2I5<8(KS&0`bdkd%e-=qZK~#8N?2_4T<1h?GgI1Bv z&KODhLQ<0VEo#O<~;|XWCOa#q~Ohe@Z`ypC)sNx-)vqJS+?8$8@tRa zcGeOpcJEpK8;F42m={z}(_~jD?bA1wl-5LVK~eixb}w1}OHPWS$_pSNon11Z1T%Nz z*o{&he=;wMX(G}X6p~cfpMwJGA6TsbZ@plQEUnQDi^39UG%uTXq%hKa5Cw>0x~I0N zm1~dcSn~0xU>x{cVZ$85!7GBSI%J|ywtj@1D4KGiGEtFjw|h$@0j2jE(i86iK$Y^r zdyH4yTq~bC{C_VG-;4R)iFuF)(r${M_@*D z4iQ-g#bPKwQWph8g^lq9kT(dL(V0Z=*ekf?(%&Zy4_z$bJB9MFs9LWtLa42qt?2- ze_Spy<=TY=?ol2&=l-@^cDr%hFcfwSqjloMD8O}ssIH)yjw(pi5BdHt*F#F4-R*5} zd)DIt?B%zIhmvMdP^b#qC-0R?4OdB?P^N8~}(? z2dhNvHfoFbYa4Gs1Yv4>dVY9rdtu_1e{;)vwPqJ{a!2H<23ih4HlV%)Isn{ z$f2?D$Oqs=!ZZf=iReOY7UwYA5bo~ql|<4Gg4qaJBpah^%0xGa=$T|@G3%R%e_)#M zEPG5{1;&O(Kxd(L96OUXb=L@rRoNKA*&Tf_dzX?2VbiEe@%^-sfuJj*D`HB0h*%$a zXdrvfenVXYqW7ec3Sr(}5%(_S%n>x^T@&N-XYvK^*N@0R8UzRyJrh)K5o$mz1|_t3 z?8IDRW{?1&K{TMsnON`%yAWBNf42yMl)x;Ez!I@cuOhZdP>(yw03sbx);7kq;O3t`XtIQ2UH5nBkd`5IDw? z98j8JSfXaZ_gT=aXJHjtv#jQF3%P9=Rw$dE7C)V?*>pFGkZeVp0H^rAM_DGeO7kRKh;DHj#9RN)+#-Ze1RG*RFod;CskWIXA&$$X8nn`yNa10XD~ILc z!eH29G|jUp947rKJ z0ubBL8}U4A?8R)1Q)51HGiwW{iTO6^{rTa`(_g>qbNuHi`(oq{{ff1xG#?@MNYzxE z#p0uTpL)WR{oCtrHLuXud%e88Jl<=2{Pdyi@iD$EeSQ6gFY*6T4_E!Ke*j$JbSXUE R1(5&%002ovPDHLkV1lN4qNV@< delta 1410 zcmV-|1%3LE437+ufJ5fy<78!K@$l+YRaRMATy}SOm5_>nf`qQ7oOyeFZ*p_LyR%G9 zPWRPmUSMGz9UW$CnqO2I5<8(KXjUCeUZZ=e-%kYK~#8N?2^e+>o5>SQ=rHe zJXaDn-L1j%lnHqM|8ukk$B-55bE+hJp?lm{<;@>>@ZiCN>^YKeHqVJH+iicxF7t|= zF^GcfTbBP*h>Gl(7g#yx%nGKbyJ1jBiTDx}l`~%Pl;y8{k`-lMC}h&vC8GqRr*<6M zkyi^ue~ZF7L3*0^ym*>5oF~dV}&r)PtdZW9u`U+71?&XH;5b%axYbSqrFl}4E(|G zXs>v;gY5!MAMfIY8=HjVg=hlE4(fWoxVCMle~6Z>INB~zry_-@ViNsYABy2|7$N{` z0f1ysEQaBlrYKZYm>5qe36yn+TA{C#5oV~SgNRR|ApzF*On?EmImdalz^ z6X8v97xxD5fRLZc`gp9*QMK0hv(3$KsQx@AcRQp(|U ze>!o?bqXI?i52*q{c5+|dLy@CD4Y#~HoMsk3dq?aYAVRCD?!zb{QrNhhor|dlh?lX zz!L+L;itokWFw%uHk~8Lx!GJ*Bfo$A1mf>^l=$n{Zx7GaZ-vWR>ne&hM!Cfj0Z5Fs zMa+7eZ6tg<<{J=^$&D>PKRl1ElA}=ye=dB+&<|1ed!i-=Mu|WUp}0od?)z+SKi|X_ z)e6Ly6xcDsBQ67hLRAR>6lp+()*_I}Y4>YeT9ec$1VL;-&}jkyhzEL68Zn35K?p)9 zaS+oiNCn|cZcgfk=X3e8a zDah7KSP?gX=sinG*`eP-5ce+ltRrYdn^cVIUpZ8`KQ89UWjH`E^yHv+ix2~>We@@e zXoJ(53V{TGo9H0a2pKR|*cb#Wf9Dm!kPwKN29|*{^UAE71o5~#o~j-cI`&wnjwb!R13#LO{mC;3q^o1F978sC1$?3Xm^P)T^N!+YC#0gR0e~i zEG`kD1%?^_z9e#WVe!Nya+)lOxiVrIE1DJSDyPM}mr1scd_oWl!2SSVe=$6|ABJ>0 z%30TQ+LC_?TzJLw+km@zAmCi%jUspyBS_+ACA}t%LYstr=~q|3rPy63HurM{`~Om>CZppIsSf1UyS@NuUK2o_6X5ODob;; zEFt+1(-WTTKVE-(G=;w3>*eL;@m}lWmy6cN$MkaO`|A(9#Q#SH1w@2%+OYHo QjsO4v07*qoM6N<$f(YK1p#T5? diff --git a/TMessagesProj/src/main/assets/emoji/5_160.png b/TMessagesProj/src/main/assets/emoji/5_160.png index 6659d9c21c3d804b6db0419a7c7643750bb7e1d3..6743a837bd172d05514e7d383074623d0c2bcc6c 100644 GIT binary patch delta 1678 zcmV;9266e&37!p*B!9Y4OjJcja7@5{eXL(zw6(Y9<>h5$WR#Vcz}(sE>+9_5>W7Gl zdw+ysM@Ey2jgXd`TuVwmIy$dtXP%&?aBpyhTw7p6M6hmcgnWLVq^pr(Uye;pXl81Q zov~qNZoa<0vT<)oS!x&(5?^nC`uO+C%F20vh`h+u>gwwB^ndj7^76T5WxHu$H&O*?d=9E z$|L{)04H=(PE!D={{Er<{s*wU{xRKeL$vhgpLf;!w3Q#e{i688yUp|R?ZB75^~xfQ zQ~&@4Y)M2xRDXD0jF0PbqCgNv6<67k;m(KzSkzkm(Zk(K?(hFv+uaG1Kq|HQisDqy z=N#JEkga19EQaZ9XBu2-n3kn04tIQ%?raj}I}73La&p+al)9KJGv7G~OIIiyWqYXU z%sSL$vg-qx;yS19SjRJ6h4sOqFV=_cRFP#lDYA7)ihqn1L3X4CgNzmHjH+;zu_DW? ziNZQBNa5T%Ry?m*aep)se{KOOx-%SE5d}77Zf)$VajlYipE1p=fc(qw^ zX2tFF-4@RsEAHR7pt~PiyeVEtkx#ZTP19PebA+>a2od(;!9fJw(PYF3Yu!;5b}Oom z-O55}gMYo*B+FhV41tK2(%on*mjW?V8d%v{F$XX_?{Wvm9l=0cE{0)94T)z6t~3mo ze^RJBuNOWT5yC)7f}iw47)Igt0_}dZy=x(ZBws75^$R zgWlG07zi)m#`~J%yY%)hTY&NKavjN%iqb#6{fX0pUVHrhg_!D=Ol>%Dqx9XfoR%zz0)EZq+-pv$a;O z&xCm04=(NqJV8)I2o4BRT{-29zLDeZv1ER~p#Z!a^!d*MU zb=n{h3W7pAsv|^5aCPHItBOG?B7N?oRc^^Kup(+CCTihZ6d5A^xp6^?#ONFvwKdWr z76AiON+3-*P=0SGQt^QhZ&e{^2!C;DDTTozf*?UkSvLp>5H9o{E$`9NKnPGIWHgiW z@Uc5DejY0GAZW7`6oGh^!Aj2S`QxSYLY0V^1YNkZmXgn_$Nu9Ywk!7vt(L^P1#{UE}GSAU`7jc{sr-W`84bHj?u?-B!4|0gs17aefc9Bvg)1j z9grhzYPSC?=Us2nqNXH4SW?om&f_i526IX^2=HI`|6shm@AOa8`}^CUu6X01PZItG Y{=-d7Z6I^#00000Ne4wvM6N<$f-OTV3IG5A delta 1212 zcmV;t1Vj6t4bTaYB!6a5OjJcja7>Vwo>*XLY;=7$H#cTwWfvD0nF7liw)t@8w?^?7lrVYQQ(dlaCtNR;#3@xh zUe5ZL@#8y3b-&kVw^85k1x59~p}swu_Y<1iqu$m(vKSE^x(s%MNin(u;`rz0HvQOS z#h5XpF=iBnLw_^}peS(dV{E3Wug&P0X27>M(`&)=wE}`49>x>MUTW^+&#W-2V11MS z^`VLdR@oxyrSF$spSFsOcgDD$$^cN02A$r;st~pcmvD3r=m2nWGzn!RtE})bITNGQ z1wi^K8B8$?2nvI+C?=#Xp+kI=H57C z+fzv*fCDigbngw2!?cJ`fo{M#ENCz3a^OI#$%Z|?(uf$A-C}w)!VofF|A?SD1)oG= zATX7=M9pc76ETAVC`k}?3os(7gQTUGMOqYftc5v(nDmA=*vJxaBbp%2BE$%rU28G~ z(0_v69D=opZo+uvmqi#+v1Y)ARd$O z)|f2%E+Uqaa?VeP>7Yr**!h*JeG=^^B!BsgF(IZm7Fxt~i$QQh;z7tlKv#}gsLHfZ z2?mNpj8YKxNCupUy@w(s`MRtJk8=z{I1zgb>Tfij(G9QbLhv!?wZw^7C8)26h$Ltiqhmrk z3H9}fkW!jt+++z{OmhqhPz%m1LTeo%2!p^o+)qLohsDew2to;Cj!aNMJuIGoP&`t} z$I>gPL4BmH7M1q&M)y5R&QS!I05vq0rcMhRta*y(}^UrS|&zJG9#@GJ{ aOZ*0s%|V-&ixcqx0000Vwo>*XLY;=7$H#cTwWfvD0x63YZk8;s?f?H|g_Q!KhBgP!Tx$deM3{VRY0j6A11{%A;*jQ) z&qw`p{`!}rc|1->k8yfDDvIWF#p!x$KM!cHx6``*reZ{N=oIV*lVWr`#Qf{(R{hwj zA}b~vW3nh5qJP-|MS)8nV>?ZKX|rc~0)D)jz7+gC7C`XB&3FRYOU-@!t_o8WTu$;o zzC^KtRi*&+()V+(PiuwZoiVPbIsnw8L06t)Q3z{=OPHMl+5ue5CZTL()fGM_XJVAP z0!Tk4gDI+jpfU)HVnXUVzO+RF`|kpiNRa9PflGqXf`6c@0E`Z$Ja`$-0PQ`6&gVTb z00Gnl64KWlKt&NO1WQa{gRG5!C9JfVxCF4R4AKP{!sH)^X}#W_X}v%31u1Ncd6yJVmAy!(L(PSOdc9xTk`Gy zf3lL|vEuklX{XznV;In4ZRHFMBND-fLe&txH-9<&*u9-S9dC&C*P-jkvmrEMAdLL7NKc}UtujXtM(^lPpI8D0q6=a#LX7Yw_AX0+ zw||0a4yX5-2I2ZCFN-ju%IHAYmuX5UKoib)ieMLF_FfQUen=Eh2Ms{L^Sw8sA9sX2 zy*lqiVgy1+bwO-V#Oy&WoZc0f1`s0F{6J7!RI(GqEUpsRc$C8*G1Z*w%XLo9g_xTN z-nkJ}Fd{I*BpRh#iIhTU3&Iv@MFs-iB;Zbn z0iZuE%)u;HiF~c04gzh6)x#`0OB|U9s;xl@D`L!>iCHMkMS`RyjPOLPJ;)HPCx4cx z4MM&xQUE(*?J*FNavVNDKwEeaO*eoncP{btY9+@!bH;d;#6f=!N zs#0MZw3&XlX!MAxh(N-s^YSJcp)|*;n1w&Rd&KK+4vzanj)D06^V`Ssg#p~;>wknL Zegi>kKcC*OL^l8c002ovPDHLkV1koxCsqIe delta 780 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 O0000h#KeB0XF?(Xiiw6rZS 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 n4IMND1?``b{LY{+zW5LJE-TUm diff --git a/TMessagesProj/src/main/assets/emoji/5_165.png b/TMessagesProj/src/main/assets/emoji/5_165.png index 0e010710bda320d4d8f37914eaa15b35a4355b35..c3c32866b4ac40578a29dd2cfbb6f11497448da2 100644 GIT binary patch delta 1173 zcmV;G1Zw-f3aJT@B!9F}OjJcja7=%JgR!%;P*POr=i!NqjkUM9T3lYYx3iCtlbfBM zYi)0Ic6d=zQhk4dFETW$sHI(CV)@^xHa9l%*r4sOV>&!ONlQ&5CMYW^DlsxMR909| zQBp)kM>jY+U}I%JK|+g)hrXk0$g6L3c6bdA4H*^{&$N2s$A61xYHhKWWAW3Gpov;t zKqq@wJJ!2@?Vv~Ty>;{2o{o1+vN|fHn}|nXpuIF99YJ=)vzfF>F{>yVcvU=S0000M zbW%=J0Bx!D3x#<8DpY=t^|SZn*Y}Xi)87`~fF1w<1CB{VK~#8N?Uvbc>NpUFVQ`Mj z5FiN|ZC)4lEr07-X6F6hYr3sSEeTR}ZssnZY*Iz6&wsaVnZf_Z7hfdbuJWhPO+*?h z(!1I1?QAx?g+GSf?GCv|7-J(g8jUj8^A8wXOvXu|Snh}lVK6hx@+{8c041Y!el6iV1MP*z4~LhK?H14Kuz%-A+WlE8uB6mr>|Kr5KKSe5^;6)V z0IK%Kld83Z6oFzJasB+8zNX_FD3lCSq<0_n!a)ShqCT|1+gb4v49ZK9PEW_S?LMRJ zS_JL}!})X)S_XwAe>BVH`|r?vZva^0idb>iEFC*qMx#}oma?oWRGebT>@h&bGDmI} zKYxT?1Dt1EUR59@auP%Y7G7UdfM90?aTXMyB6yEvH5yc;*rCJVg|HC{+^7;zm=r_5 z5NlwSi;%-G87Ks$P#3+RQUGhPA?R)7r%;-uQ6V;jD}nkTe1j`QPXyMFz8} z3NdSD4QzzqMqnJJQJ4^<0H_Vkj_DE(g&jWfsuG+8fI!6}2^G$Pu|bh3P?$Mo!C1io z_k~dm2Z16-1^qH=mYL$N{G!@n1Q?V;$vK1|KoLF?CWWPDtS-4nDY%rAfzLNk(0}5P zi(f23c4MU0$M7fvpko{AV-#O@uFa85B!ZDC{H4cN@00000NkvXXu0mjf)8`(p delta 1323 zcmV+`1=RYf3BC%DB!ALSOjJcja7Z91=q1fj9x@}yTubGr#cF|+6KWU0QF)#QA>(dWgD;-5*l z?)dAgUSp-cd%Mz>+UtG8*pSraRFkY*o3&q|x`N8yiq7D5zJJqjxX*R6$XA!KYN^6n zpt(?wsHElfOpBywug7Al!=B*ruk89rhM&=oAZxVC-j_0nxyG}^z>%-6ue6-$qDS_v zSdhfgnxcxst7<}jn8$<^q?2B~^ZXZ=uPy)p03LKwPE!EMtKa=vK@KYZgXM};a*NN= z!=~c=mCL!ow13m3#%tQ(H2?qu{YgYYRCwC$*6C6kM-&C%AV4!<2{4P}CF!1?RhnHJ zLK0@No%esGoI8DS_n=TRLnXg*gea<@KhC|4fZzVlf0w@VR>3_x8@y5J-`ySEy-gY1 zAxB3?-4*9g2!wQ3+%I1n0S4uB2c!QLF~(U3VgLaKlz)a8bXdjU=H`Zr5Yq2Jd}#*isQ}qYa3bn=cm7@xF;V~jDRo(kiw28ipMM@`JCs=EAR=)N$(C#jT_BmEeU z8{&!>GJhUDpM=Jk&!ITmH?ZFTa-1T0lg*DSQ{>h|Sb*`@{PKgXxEKJDNXh}TN>{6g zAB+&e0=0mFd@#hZOkypxloe(3fGR{-W3W)2JBFyUiGqSKwAySotEV&rtqI@~1k7ii z|Is2Ai#p3ylElQ2vtHlcKCJFJ$^Gpk6AV!QD$Knlw^b= zO@HXy{v-%NfkcfIGP?J5W?KY~hfzkughez_UIoScEP3&WGL|aQQ=*7PxEKTi0wl^Z zdLQM|$6-{U34ApgBg<4J6yDWIn;?S`5oTEdgyxyk1hGCpNt;bD;kAi(JP8CO6uF>b zgb)+yc_={V^HeH?2u5BeLPX@bKn=WH)qiM-^HTz_3O0C>p&=YYuuli+|pM zCfHyif`A*Da2PShzS|}cu3-%HV8R$c*hsdC#XsE&5mO2y+(RMTEf`_rsYWDI90$RQ z)q@F6@8G}?);gf1AQ02UjPjh=HZ-CMfd?bH2GS;unP}fE0%9^1g5TQ4_`=s z%Dr8Hxt_fPEfei`8+L;x@iUW4@b|CR`ZY4AG4?cvW0h%OE6>m;e8qC3FI hdvlGQ5di;s{sv^0dWaxIg3tf}002ovPDHLkV1i{tdZ7RS diff --git a/TMessagesProj/src/main/assets/emoji/5_166.png b/TMessagesProj/src/main/assets/emoji/5_166.png index 5faa5524bf33e8b98b37184f3529a7f796d52c78..18fc3d1df4790b871281bce404e592025a527fb4 100644 GIT binary patch delta 1321 zcmV+^1=jlc1-uH7B!ALSOjJcja7Z91=q1fj9x@}yTubGr#cF|+6KWU0QF)#QA>(dWgD;-5*l z?)dAgUSp-cd%Mzt%HCI(v5?f|RFkYsi=%-6ue6-$qDS_v zSdhfgnxcxst7<}jn8$<^q?2B~^Zb8@K^Oo403LKwPE!EMtKa=vK@KYZgXM};a*NN= z!=~c=mCL!ow13m3#%tQ(H2?qu`$l_sM-&C%&~z_Y0!(pSl9}6kQSUU{ z`Tu_@`%KY{P*@nTlBaBy7npDDa|Qvw{df649p}A*dwJP?r_#B})pU$5oF&Yd8H-Gfp7Y6vktBUhnK8ivRw_t?v zlm;XSV}Cq`;_TkQkpOs6BDKis=dCHSP7x)*_-lOg$yQtpfN-STq+XPZ#p6$nthFFo zz(773;*4jW6l?_ovU-%Wtj!o&7+g7qi2Qy91yRsqwOTE7#6U{`x^Q5t-nh7UFv3|b*Xzf{gG%I%pl_w4W(-jP z$pUK^y*8ReZ5xJ3nWZV1Eb#C`7|{Nfi2FONJja9*jn*K2LxMfI;e29#VP42dPDLXces=$6-rG%*u?KZwNwA zAb+d!3dtV=nb8h`<8k8CFmaRgt8@Ux{4AwjPAPbm2>>PR7A^*XfB;E+pWc(22RMuh zG(k}11u`qEjG}gRzD1BB)o(*&M8-!H``6p?NdAJilekeJnshGC5Ld77dC zov%w?Aw($TWguhNnSv54*+Tu_UCSiGKtF zZlte6h;1CX+XSL(gw{4}Le8@>vRz{GPq#wEkRlP?qe6CDNJJaDM#4)RA8r)W!zPf! z<6}cu>wr>%Kui-e%5!4ZkccE09tzPl@@?Ww686n%qwEhEQ_pRqxOObUJ=``70)l{M z*sw%4QO4}c2?Q(7iCKraT0+X2C4WL_7*$bA9sX_r6N5xBGy)%Fc1N(ZSq$1J4-pEID fje8>i{`LF~L)Ur&B#kqv00000NkvXXu0mjf(pZ1Z delta 737 zcmV<70v`Rm3i$<)B!4qdOjJcja7<)wb5~ztOHol_XK8J7bw5T(QCM0pH8*yBfQylm zfQE=4B_^V$sJg$v+~DH*`T1jB-(3Iz00eYWPE!D8lAJ{c=KlZy0&z)1K~#8Nm6h#| z;~)%0+m62>>AwHdZY+xdQkcTI4pRx`^!i6NkHT}CN6!mY(|>00)f%3Bytg^HE%IVJ zw=sUT3W8+2DE;&bO-LJ{CHznrQCh+LAsQ>-Tn1&V;AEcorldELMSP5hiqtQ1oHveC zSy5;@EOpqKv^rSQM4`V5H9I=YbWKsBc)b60ypJV?8&Wui3b!w`h!Rsp#1%Sj5rWAg zSPU0aMU)t}cz?Sh462hBSXwxWXy*+>b;9Ecm?(+__yZ^{zA6IzZ~$s$u2{lrj1}4| zP_ay;gGDC_RG)aGIeKv82*hYCOh0KO6vFjTtBv4RPfAs#A-k7a8$gzBHP5JD&cFqc&T4WUYCrl=hNj`Q7P0O7de z3YaNsi+_)Qh~@5U3;3d_EqJ1c3OH7{WV(oi;sSjpElNw6De5AQo$rqGQq&%EMc@)v zyP>58L<``NBANz5BGiRLKVQUOf)4Id1aXo8@LYi~p-RvdOD*Dv>6y3a*KnXrW5GoQ z=nZJV6$P`M9md;>P$q7mESm}j&ROUe$$6=TFj_D}3FQv@z3`bUI!G?E&joRZj1`n6 z*SETlA@h`>p#l~EM&pQcpkRhA_(MS(Fa`2z6wjPxo1CAIh9B8SVvovmpGWW?4d-j} Tmy#~R00000NkvXXu0mjf-&;of diff --git a/TMessagesProj/src/main/assets/emoji/5_167.png b/TMessagesProj/src/main/assets/emoji/5_167.png index 8e16e26ce6534388ee488da61c5139d6bf941f9b..c5766dd1a1327b961ee8a17e792c78593eb67517 100644 GIT binary patch delta 740 zcmVb<*B!4qdOjJcja7<)wb5~ztOHol_XK8J7bw5T(QCM0pH8*yBfPjXG zi;WY z;bujl;fSFjogg@G8)j)-cQzQ6#``KuPgU;ozGCP;cgn6)eVB zp{)WH|Jtg7MJEc>+;)5IKsPNZT#!LTur};sNr6=WjK}r9=Vctxx4sTi42ldP6Jxk4 zH?Su(6VWuqU6h0?B$48slBbFaAfXIf5eb2f=TDhQv42-^uRtcLAjTSUMV~_0zLUvM zm4p0a-)9-7Km}Tc6^DwTtAsFAY%*71{EnTG$dvc{HHPGJ%@FztBNhVo~5I4wJ zK}phmSAQwVsx%E1sQ4N6gB=G7X4rz?6tn^RS)P^Rk&)n1&+&00UD=M1Mh4cwVHGZFAx<41`PY zgxt54WQUjb{{P=RtrdH6)3|WQT6ksDJR^k5$In{M({x@w-q11$fax8^1eu&Nz0pHL zT0WAcf9qq3sD#tW5lh1TL`HvqG`6|xGGAP?1Fm;SN`m|KbeiT1<<+LY$Gpss(7N6? zohTInM6@1SWq(~Cp?S|ZH^No1mu$jb>DnOY9b#@hXn%@{N+_~cf<89HyhB{tr+|vI z2te3AQQSAg*w_~t?MCz`u&?%pe+) zh*;ky3$r{xxQZ3`E&V2zw&DTeLB#7S<1XGufPw!;WPdA2Rbpe67}yBmLTj`bSB-95 z7M2GH(pitKul_ytQWbbA|=)2;wEUPaA9Ik5TX9B5{K3S{e>=2KYkK%Q0%mkY{&5z&OK6cs zmaXT^G8YkpF6!Xa+ANbBCz}$FiDml& zR}9iU4%>^$QF+z{$0@#OQlsB7h0;^BF`mU(y|bsYkba>7nurOYkeazeN+5<^{B^I4 zTO`&_X3x5SxnS=7KD6)Iy%KJjF+g|;Rb~-P0g=cf9Kba|u;$|S-ES^#+!=C&U=`vE zVt;%Y&3NEj`A_dM1 z0LQB0-RTYP2I=dH5tS$*Euu#JJj!GEQgBwtpOb1APYIm}%xo0_7Do#F4FtP`b5?+P zt+G0I_o4y-rI2-Z1V9i_LYrn&p^ynMUu%HEnpy#B7K@5@DvJ1b1j_h++8n^`>f gojtUl528o*7eJNqf>S~hg8%>k07*qoM6N<$f}*DB3jhEB diff --git a/TMessagesProj/src/main/assets/emoji/5_168.png b/TMessagesProj/src/main/assets/emoji/5_168.png index 69cf4ab401da643beacdea5eac2efdeef46cf9a7..f31ed0a2cc0daf8a36549fd83644b50f54634849 100644 GIT binary patch delta 1005 zcmVVlaIELSE{6%VtbJ{Qrh6{L*0UeT@ z7)ZPS|2OwaihU{AO}g&(`a`mXpOcO89WS4&+ikbI?&TZmwoF9Z?=ZH+TTr&&$RSYZ zUV?n>l9Bq&zDSzEu`#EEm3D-z-@g$lnTr*@hL+o=7v8+-jvdcZnk$9UB`x)YpcR~1U zt`2ZBcOu;<#G!@|S|Q1ZpWO`Mg!Fb@rvLrGz5Ku2Y?BqVlLLRIjZa}P53z7a6g0#|KBYy_zDVX@PwbuF;0;2rMUbI*> zQ)b)@b%fD1?p-P6dnzHQj_6w&vMG|Gg`h|(W;8dEVIm7h^%)6x9o}zsghX8uQT%#F z8>l6W18h#CnT62oR$`P765V8$5h27FAnlm)$StcQ3kX;FsrbOhKEEOhvh4?E82_yX zG}bI)Ab&d_T09FP>4}Ok!DV0p8I}-brKrzjP%GxJ5(Y=48e)*hx&iBaC;9zXPv>d) zbR)A%DDIjEa`DCDD2ixgVFwo_pJlN7g{h#!pket8F=#N$UCqp@E`;ElZ6m}lGlfWS z#10^O)kYNUIDj0RSx|l;iY@Okm3Jg(k)9AE5P$wjzXR&}HF1Y}?FW}-QAH3lP4|J_ zN7Lk?CLBjeVH=Xs!LKb$MjG~6EmOB>7V!_jBpG8|Gv&FOEa-oS};0hB( zV)I~$dq*_0_;9bp-14ZqD~sQVKqRo`KIHEi%?KmbHxUStNyO{)V6gjM6@bz}XbjTs z*?*1@I`2`rjzAV{cS*E~8i8X|Ljjmh)htfq7j)t#!n(xMv{~d9{l4i%_yuE!%x5|@q`E~xaR`}?pvXRUAe13g> zJ+II!$|ZgLZ?@MgG`JFgP7(VVqD#m^1B=TY;8~>I%S^ii5ObYpUR9TL*ggJf|M5kY bzwCbi;rs7k#|Md100000NkvXXu0mjfBi;9% delta 1069 zcmV+|1k(G62*(JJDStcJS!Z>C z;{oux0000BbW%=J0Mz8fc&gGr9buPb+7!+J00WUpL_t(|UVr75$&%|f3`N^++mg(2 z&^-MAZ-xL#fuiI%^|DIkRz2zdbH%R@d-8nZ6Ed~)aLI=r(A5Q(gFA>m&;gcU8 z!?|tn*Ro}KyMM=&i2Bimx|FSyp>7!yOtw~Ns#D(>(}Uk5ahhq8n3n27DV?|bjoQAy zY5RH&gS=G{AqNCt9otH$e%|gwdlc=2Pxhwv9T9hrX!H7EHVwx%?weZ-V}t-?=Dw9L zNAz;KCEAZBTvob?8HgfQYnAcKaz2VK|@sa2W410VB8I z?M{G$5JG7rj26^!yayn|9W6+L`3OQ-1rkQgp^wP{5PHY%z(jLI7##_L5hWZT0CJMJ zLdax5gny~rCP^ToB7_FS;!tf-LAB7ZMn8MD%8L_>Q@BD9%B< z#Lprjgum%(x=bPh+@%By5$v5I#)zOteEcS8mj{GDh*`~iL`AAj>$P_m~Kh zB$C55!nveCkI3&CHh~2E`8^=ay68D6lnzMPpFtM!ri2jl;SxkR?-Fu_uw62sOQcs2 zfgF@-GQ*NXrx&;wLjPiur2|D{K7$u8rwb&1d}0%S>`J0tVV+%`a@mVLjIG5 zk)coXgZ$SzS@g27SAP0H^>2vHtYf?TqrA-Jzvr#DURjzh%jw@!DLrz5b$&VhdnW1| n)BKO7QyNaw|1=HO|L^$=KODx!qQC#o00000NkvXXu0mjf0`v*a diff --git a/TMessagesProj/src/main/assets/emoji/5_169.png b/TMessagesProj/src/main/assets/emoji/5_169.png index c505b8c43c9ada2c13de09c5056fb33d7a6c5b69..d44b50e5a3fe3147a407d9611957c357efcae5d5 100644 GIT binary patch delta 1073 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 delta 1954 zcmV;T2VMA;5tb2|Dq1i($oLwUznDZk-0)fb#`{xc@qEh zx8dXD%#uI()oZeiWnW=qZEtW{T3j0&98FG7U`#eUJ3BElGc`3eKtV#NY8S3_Gebm0 zNJ&Y4YE!#i)$)@;0Wp6MNkl0mq6b4|NP-;VvLqJOGq$k~TT?_lZdtbBm zKJWh?eX1a7Zbq^-xAPmUF*pRsZ z`<#-Ap$}pC9T*xMHb;a*M*;8K>O|FaQdF3zML|>oU;1%^sp;lWI2yq!!4<=9!3f+~ z9ZE+UhN`N@NH-@2!En4{q~KRfw0}Kw(Pkh?-K436M^#;DUoaLk1_E|(@B2AFhv8cE zz4m=dl{6bmS7(2SQk0(kWsY3e#YKS$iQ{<9D#j|$o%)-8C<;UB4+H@}eNKG1`bd2r zrPkqUa5n`b7Gdjhy)NU(t`R~?vs}(amdi9uDSab+Xkl>z@hLc53@+*2)aD4Qs&cVd zti8y#r?ry(3@j^Xnji=sn?3=ZvS2KIN~uqw#lzq7CDebJ+O`{cF$h2~&m*qwZhwSI znCD@rpm~q*MTurCjX9xY&Fu4sOH{)uB=S7A?g%h!+fKH5msv;1_qR7dP}nlOy+M40 z=}dzLyh8*nfGEp~cSxr7{>92OE3ksVdURT1Ko{l4hiu?+!yv}HdJ0K66U7y)$~Z1# zH`(W*lKp?Of-dg_;zE0tiVs{6sD|nnMQ|s%5-QenOITJubJ89mfc9t?M3vfx zClL`?#p7+@y+}C`=4qb8M4djd5l7qe9m4-p61lJnG$Ba>Tx9R9H2d~=m>p)b*~7zg z(<9m?`a!iVB8Vt?d0Bx$R!(EJua@{q--!|)W0!wk1xT{mZWAEf?@v!(xnb`e$4dE& zvD@twB?Q6;LMb<5_kL>( zH;!A0!oJ3Jf-JHSV8ei6Z>mVn^lT&=aR5cgg6KvYiP1k4e?~>U|9j+AtK%7Dn{AF- z-GhJ8@Y6X}MR0DWFvi-JX)OF8K=hI{BLhu6{AU>Zmb5h3VyQk6nq1p4dZ@)h> zWf{ktS2sV5Q!yklwictrChf6_q%wm*Yr4O?`x?8hi;d}w*LC!vx9R!?GTaE@k7W?>EH6IlY)@QExE84Kdl^jNj=>^R@k6ifVg%+FbOpkOq3Wx?M^qr1=mkkiRof9QOYq}!oE9M#ATZN#l24BjDNVVq z1AR)VKk{Gizt~1N#;^=HWwFcibzDcs^F4DGWZcrry&w$ zlE%gw*tX7M8)O?sTo|LhO*{-X5(Q4Qd(+GsoAf=za zyI_H8Wlog1z^NiE7Ug8t7dgF^ydu!-2QlTUoKsSS#$c!>%CaLYJlK6ba5mR!Y^|&= zfN)pkG(~D+Rz_tY5O#zcOVos|&0t}5?C{@XL0tTqHy3mjBvpu0B~>X1%fx@ipdDSr zCDKjH=)M2#OA%?>5g@KcODA3d4B78I4^J5g$xRs&S^q4boMcrAY(4 zJFM1Z<1VAcHj~;QqFgBF48(CpVlX7x)tRiW4I_mN!OyEAVB*pdwkCgR41~y_kh(b7 z0Su-p!tjM20?@dDFqp$}g$W(Fy(3eyM%NPn87e>=4~H`NFhpW$yQJ0*Zw+(+0zs_1 zAP5K)5x=BQGENZ(10P|IoL=@Y*KQ1ORt{H)YZn>9jdIytK(6e~!*-@r~tvzQM`<$1iVi&f}oJ z=;1c_QH6c69U)y5t*W%9#{tUn<@N!(efa4OzVUr{|Ni~!f9f*h$4_r}y?gsk_4Bpf oe)_oU^#^?K{PADv)kXj5FSf*k07*qoM6N<$g4)2R)c^nh diff --git a/TMessagesProj/src/main/assets/emoji/5_170.png b/TMessagesProj/src/main/assets/emoji/5_170.png index 72b0579ef49d5cfcf09798e77218ea64649527f3..1c55c48e23814662c9bd9356233e6a6a7b15a29e 100644 GIT binary patch delta 1011 zcmVJrm(lHw!Xs2&$hk9qpPyW&()r$ zt&^RlZG4EZxWB5hxrLIPyu-<0aDI7*lhoYeSZH=bP+VX-asmJV010$bPE!D<(4ES? zIBD8#D@xq}00V4EL_t(|UgehAcH|NoZ`7k_BC)Xb91>s&Z-9#Tcq zfKM*}ai(d$J?F3d-7oP%Kb|Qi6t|sl;?Xc;ipl^N zd{{#eirMbgDu31S)Ntnt?6VhiSZl)e<02F=fM*=Z1K;u*70Olt@J?s$T@ZN9Diw=e zAULnSNgO;S3<`x)GvN8)hz^}5{?}FLrJlQJ9e9az6<2-;UC|66dgO z1q55i4}af3&0)9@mN@LAS5fy-;(;RzqRGK^z{2qpRbik&5upgmfTBpWaEy{Wz0|HK zF+2EfAjd&sdPm5DR`e=zQ>@ln1qrh7UW9`s^PtGPwOodjB!tT_)Cy9-@Q&1q<7P;a zVimyQS{3Ggk&0L4xuK#AuEOS4B}dm19KV_OErjxsv~M>CyHq}&x=&N#QSK1mc)UnVmD{M|7Lt8$jSn!*`rGjYY+wz5uk@x-w#S7fd z2K7~(73)FJ@JRSqa`o$LBSFFOmh{(gWHwvyZS}(Q>fgwed`=3jkD6BhZl1}1e|5PN hoICJ;&jkFx&rfcftAP(;k){9u002ovPDHLkV1kWN^^X7m delta 675 zcmV;U0$lx(2*U-CEPvy_lFYG+<;A1q#Gb>q$m773;=q&a*TQjf#`&XEMOpFrmp|aT ziqWlt;=GH*q00J6GL_t(|+U=IxlG`8*Kw}#lvaSSnu7CgkrM0|50@Ueboc5ue z90(U-&Po|)W=|jf8pBs695q~oulE%{Mhb*6^O_)x{;o{JFb?y)ayySL!5W4x!qy^v znDZ*keFW$Wx^6HE2iVZhtMa5sTCU83;7l1F_G^jy1|ame64(sahXPY*>xiUC3?h6N z1O%^ec@$uDwttShvTG7KxzX^Q#5U~n(pC~CxL=e_04RoC27o{VQm2(vqIFyf?wbON z%8;%z2)u48afp|ag)ZLC!ZQg-eb>6CjvD$N)4VEYgk0L*H|k1Uj9_@K1v5r+q)d-Z zB@UBiUQ4)?MM-5P!K0-de)K|4=OgvgzM{E~-GVitXx1cok%!d`rhZe)cf2mCQqk3bG+7JR^`yx^v5dr~U& zgopZ;Ip3KwtCM~t>E6=ZEYrz{6m}ayF-Ki8N1Xi z&19J*3x6qJCA>0UtiB&mWx**#nX;26KIBP5wW1bOTM0zji9-~@^J#fYvw=oc67#Qp zvI0W3+%zUjQFxBlRa`;wM!cs^ukuVPOCO002ov JPDHLkV1l^KLva8A diff --git a/TMessagesProj/src/main/assets/emoji/5_171.png b/TMessagesProj/src/main/assets/emoji/5_171.png index 027fb884eb2708dc100a910aec8444e35e1bb61d..3f3f298cc5c14514a725d57ddbe63b338fb34ad8 100644 GIT binary patch delta 682 zcmV;b0#*IH4Z;PGB!5d#OjJcja7^RBlFYG+<;A1q#Gb>q$m773;=q&a*TQjf#`&XE zMOpFrmp|aTiqWlt;=GH*q00J3FL_t(|UhS6aZrd;ng@0pPzNFqE<=o%@Nmr&K zO_?1KB-@V;`9x4MWuEY$3DDg?<4yOWOwTGDjgQwQe)UqAdgU>JsUI&ZL)Z1)JYUP& z_glWP+BFOYGlP}=)tFlbT1V4#K_Y=RwDWc4CY8LL3JW0x8zb&*S>h8A+Or2l`E*#p zu(i^$NaO+$zJClsC?{GD4&oGjTvqNfSv1R%^fkmu;*(|TWEyZeuH;N0Q;;BlAc-X8 zq)wcVqvMhZaL%L=1(FapP7=}4vq2sks|H6MqK2B<3!F$;(v!gUJf4cXc8mn0kRIEEEraa z{1~U2C7VQQ^c!QzLT?HTE+Ig_0^YRV=sY_n1=Q43U$R$zNF4K^cVx%FKZ zjE$6s_18WG0mWKnSGdhnPoE;aK1KT9 zrsxeDBEZl7+$P!3T4hnCXL=XEvs3ghdWFzRae+&Jt(2Y-$b`@`a19X9^u4ok2 Q&;S4c07*qoM6N<$g0}@tfdBvi delta 1707 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 Eg8N`L`v3p{ delta 1585 zcmV-12G04u4Z;kNB!5d#OjJcja7@X`$-lq9&d$!CpPz4UZ^y^SZfn(9nH-eNs|VNJvOOKR=}JJt+VH01I?d zPE!CDK%JCnZT|lL$U*}1$p8Qan@L1LRCr$9R@s*2CJdbES%0u2i5=hm|1V9Igx%Af zlc&6;Y$PF|5Uc&||AV)m{|RrP_?Z_TV10hv_eU8WeD`y!pP=})fP^RT7~y;r4SydI z_{AvX0~)Hyzd>CY`&6P$il3tc1&K{OLrK`mG)H82>8@Cc zHyXbg#rB6MGJjj=>y>98RlEZ{YzPFe+tVrL?w!d^g7#dm>yp!sGw@-P+bfSdSUH zh39EeouWL2j?j-U=)V?*3nD1&xlTTVuCGNjKG_C}?>|O~^G7wPkRJ3v*pFvC-aVbf ziRa&Nvgo;yZXrSHiST;`im6Eh}Ft>)BFJeLvFHi zT`_|;$BlVY`~^~pLAop()on#JRcW=Oy<}}libxzuP@JSN5293Pkv~{;&R$`R`_k#P zLwC67o##!VrI?6nRZ){HJy14HTr3BGnjpe2WGtW&zmq?0;^!9JNB7D1H0(o$A?gvub5OWp>{@K`}T; z+5Mi~6&HLb@I)%NcQ14igcKI!i5}pv7_2I!5^?g)Cldx_=IE zm~)ciESyHr#p(6&Gj0CDGZaw~FJP+aO57GfCVGsV;e zv<8t5Oa`#fbwpwHEaR-Ts&x#ZSbsUWNo@qh^piTw|4rL+3If68-gTbC|EZq;vtB7^ zV_1MwoL#!EM2Z;2;aKZve&vYY7OHB>Ni;L0ZlYxbMMNPUL<$5&%A$VdNHpsPT}h_~ z$qXns5biQ5C=%1SaGXt8saosY&1_nGd?#Qa?NG*G6daTWNPe4YG(|f~TYoF@!$=uN zA@Usp6s3S2f--D>BkwM-)d%L~6uSy2;52D`0A&(^%>*ABE4&){CYoW>aH${x1%qZg z`UNFouxR^z&he1mSyeJQ-0v;8R-h0dXYt=c>W19P++_ZTq3SMVp_tDQG{s9raYoo< zUJkZx)MyUVUBbqD-@*`(M}IA%0iejlx{}st00000NkvXXu0mjfV3GgY diff --git a/TMessagesProj/src/main/assets/emoji/5_173.png b/TMessagesProj/src/main/assets/emoji/5_173.png index adfeb027939aba90f7f0c2fc9febb988c30019f7..5fec5ba782ecaaff5d5e062358d0c5a21386a5e1 100644 GIT binary patch delta 1583 zcmV+~2GIG;4!{hMB!5d#OjJcja7@X`$-lq9&d$!CpPz4UZ^y^SZfn(9nH-eNs|VNJvOOKR=(314vgzt$>I_A^rQa?fQYXS++!Zse~6HDv7@_T z&e5s=W)|DOJbzKSbbGzqDBUCmz{8G2@P<8tV(igb!X#*q`F_3R^kYWK%Xwp&i-P0} zVLa&adcBVJO51N114pyvxw5c(55J;ndIL$nhTCmfP~-|UBIIQg;&OZ@d0aH>3NA-p zSui~LF3e?6R%z+=s<#u?7x)iSjH06MTGULSxMRJ*Re#hmsZPH>#L~Bq^#2Yn7sR6Q=Q???U0*}ncx(s7_aB{y9iZw|C^yQ&vTskny?Z%{ z6VHF)Wazn(o&e1L<2$l|wt%~vE6N2{`hDSaCVz>-ju0qRe~|(eaWlS~=79?sT9w&s zt`+prFN}-gFObS}TTlcnY(+CwsaDWmnpP#nDuZuOoTTtbA{(^G!;*E3Vleu3=@bJo ziZR^Bc~NN2E~08G>eA%dhoErx;vB(I6w=|N=QzY&a~Zf;akGyWV%^?)?#Q`a1m*f$gF}wx#cb~vT<;Q z&VBFwxYptvx^HF^Sy{B)$w7*9Fq>FVaz@L(HBa3|Q5H;U73FGditgvxjqBh&LlthE zIy6vhQ&8#kaWN5dCceH!ofIPj9C?&5LVtEMs1wnTZ{MlzBR5QqdciPm13cMMoPj%&Ik| zG+BJ?O?Au8(L1QfkP9vD+M@U!o7#cOB(zQv1VCIIVIDw#vggxW-GBR{;Ec6&2SICf1_gm+S}8itp1GCx|FdEgv@tCp zD9$29XClR##SxhEsBz^;+!m_p%0+Z{l;Wb9=kLx!B8ddt6sd{El_RTLacCo*IwUKg z;6!-JBqJoQ`@$icu#tH!Jk9KCWql`LpzKt7XBM2427>%D)oF?rL~G6a4}T-&z!Me< z1Sohf8wF+9@veHfz-Bi*;uO0HDByIdd;nz;fz1M+n`z}E5f^Q+X@pdefPzW0AN_)e zI4s(6pL0H>4_1{%j_^kh?iDBmXiXZ|kh-Ea8xL9h!%z(us!*&q2$~X6QT#?YVw(Z> zt<>laGhD*X``p41kndJ>0)L=r#Jte9ygU(nkQzn0!psQwMMU`fMtMQR%SwoZC=9mX z8y58fqo8<>GF1x%J~2Q002ovPDHLkV1kH(9diHx delta 1853 zcmV-D2g3Nk49pIYB!6{KOjJcja7=i3c&4VNhK7c}zrS#Ba6&>t8yg!(M@M60W5mS7 z9UUD;Mn;vDl~YqwsHmt`R#r?*Om1#&gM))XK|y9_W?o)isHmumi;FWeGo78Cw6wI8 zl$3mYe0FwrC@3h|+1b$0(89vP5fKsR=jR6p2mSs1`^{D)0Dk}g5Oh*bQvi{YYzr;6 z{F|LN)?UTd-q5`=4FCWJc1c7*RCr#k*XwTEND>9$wJn==Jjv9(`rafZ`TZYpn~ahL zv~(~*rUVK4_2JZ^S|I=Pug>Xto6{c%&o9$-p5EVIUZ0+yzno5|-xuDm*Xew|j+rK* zx37rVe$NZym(STM}~Nw zSbA)KzdSxZKK&}z)71O*JYg8jy3aD+o{JL71at<05;}x$-@ZOPK5o#ui;2KAbUYUSNtIydyuX#~b^I!y2u_%`wHUi=CbVyjpmPpgOetgVc<~)C_Wm)r_olywX zw8%z;z@OB~g<;LOeEgWph1Z$O2os7`5JBwU7x|0;Gj4PvejtlhvrH+w0VzQm!=c<0 zZ-3|B&*!sMPFd|n{Fng215z#)+~hk^kBB|R2t8}Le0;3yeEAtO>t(c|NPy5bg8S>~kif9yYV|S*PwOc0MtGao8r&Fb(z+1= z-;N1jAfMYhh$Z;y*_VAE#+;CnIj~3A2!Fu4ANc7;2&p2|Ugx~zc`b8Z2a$t@3W7=s z_?;Mw91_r=857Sxi(K;7Oi)N!pc*KO-OkAIBF%VJ^;G^><-SNoOmhvHM5t^;pmEF& ziR8w?QqY=~(ZSCtWzb<}kpPi4!tnK&sFy?#7*P?ZUgjHfDF6k_rA9%Sc0%NiIDftF z#2Kp**H9VI*0u&qK3`@^DWV9^5Qni}k)m?E$l1tKP*4+WZ7EQzG$nTuAA___ZHV6hiOfiT=*h&-O2EbX=2{uX?R*QF3T(49W14@CC zRaRbT<=#>*DWOh0G$L%>)&YeGVWeQtK^%1< zq?ig=m7=Y+Sdu`bON}6f$+MuEY=wr&?oaA%5h+zrHGxoWoRn6JD#3#j<8Y*g3~}qC z%foROoof_BEM8LJBGK25kszfSTb!sUHmqBU*k3Ki?6j=hv6-np9$4 zpiv-=mRZC?4=y6M*Li&%#N9mq_4+O`N=J?c)|vdSp)5c z8j+fnQl3u7!f~3h6ZXidpml;+MAFYkyWe46-a$-bY*C|a_cp!1ZJf3+FC=FnncfbB r-`MFLp+D@zA21IuTakZ;+-LYNi^>p&gi;py00000NkvXXu0mjf=I3aI diff --git a/TMessagesProj/src/main/assets/emoji/5_174.png b/TMessagesProj/src/main/assets/emoji/5_174.png index ec576df20c25651a5b4a93bfb29ff5f0a98786b6..b93fae2500a9ff74c3912f8e17d419ae12e69024 100644 GIT binary patch delta 1853 zcmV-D2g3NO3d|0WB!6{KOjJcja7=i3c&4VNhK7c}zrS#Ba6&>t8yg!(M@M60W5mS7 z9UUD;Mn;vDl~YqwsHmtxK|xklR!mGxZf!sHmumi;FWeGo78CC@3hj zw6v6zlze=Ac6N5c!otwd(AnA95fKsR=jR6p2mSs1QG-&j0Dk}g5Oh*bQvi{YYzr;6 z{F|LN)?UTd-q5`=4FCWJc1c7*RCr#k*XwfPND>9$wT+S8p6Yql=kfjN<>l|hddZiGs+Ze%^(076hVe8R z+qA-~GI?H%^slo&k@(BTJ$QXY8`uX(yyiq$u97RMm<5bGL z{Abo>nccln50Fo%3C)QVG5q|oN1QGwA!%)zY8}ivfPX79-dsba-ij&2o^zg__6e#e zttzXAQd=z}#Wovrn?aRQy~YWj_X$W})kNe9QkB`LRPAK=X7_$p^ z3$q1NVKFZ^=1vX9X?j2G63{r*Dylt*S7UcX6|Ksp4Cj0v#wL{7^V`EBPd6fRSCo{n z`7$qEq<>b{rmZ%X)RTu>E5$>cz9U4fYA+mY37)!1FO?;freY#2fx|Kcw+zqw1d7V+ ztrfO4sr1CDq#AlEE?ruvKxD{D>bY7$jH+Subgfyh;DTN%Lz9GD< zbFUqd8>1u(Zrv0`n=un{CnFw&#rXbkQSStKX@90IwT@n@vKyv^0VQy?z}TSMBpadh zO`UD_W{k$td@br_E{lk$2W8|&RjlT)5rof&T|z_A#FFOu^Kbole>;710~H*FFzo2|j!A<+_hiNyJGV%_D9E(tpDT{BS3LMacMC=em@2u4|bGQG$eqK*EA_ zBgP`T1a|CdZ0lE%OWB$Uf~f#DMIq4p8QEW?tIZ;w>VK=eF4Bn7+CpIft{V|}9J5^_ zxmwT^q@`ta@HMp#I;;i|F!Dwyz3mh2oEU=<2_d)hdS}iRu~I#^2n5rW0C*q{Z+}T6O05;q{H zjxo*-ASeu|gD{lc6oW`iy>fuLe7 z0<$eVTkfgUlt?BUnz>J~Eq|i;bl6P+jc|2h!zDC@)(lyL=GGBK+JHjDFj5%GAojWd z7D^ShL6zQntO+pkxkZF(>;*_}zeQov$CG+r1Zo2kNeEoJCE;14K=9yfG#qH5VBEUM z@U-7WwiZE&s@D{(Li9OPWK5~W9w)9so!XWn=C^NBkVqCrh=p4-j(<5h0Gn$hLh*r0 zmW_bD?~Ca&x)5}>76~c=4kw0l4>1zs$k2fx=L{Q>PY=Z5_3b!ri!M>1Zl}>zl0a+= zb`C62iveiJ!2v+8bza^E@i4D{ynR57kjbK=_6|Tn5RGCMYgIAE)CNJ1DIS?4a0e7| z1~en+YDH!CppqeIkbnCk@%bU%L8;32-k>Lak)BBF_ r8#{dv=BF$1516OpR^&fJ9y9zK+}#jlRx>tI00000NkvXXu0mjfuj6$? delta 1303 zcmV+y1?c+B4yp=}B!A3MOjJcja7>$QL8x>$qj59%)rXd9PUXOEwSW_SJsx{nU655L zwu3{fco4ymNVI`Su6h=glaP~?m2+Atxwp0H!))@*bmYHicV8gm`Cl$aNOSB#gZb;pEuvSWBb&4{?~n_sDG-SprZ8g=KtG&#m32- zoSgpIY`3SBtB!u!ym|1{lbdif_Rx6mzf|^(8-36| z^DY2=(5L@3BTdsrqu&vJkPypvL1#uaQ_mw%Z3g1ZO9R;7}=+IQ=F95vT%6 zjY-qgt%W5ev7*ed4Qw?Ar-50|$IZlw0cNNUGh&@$T%zDyoW>0V31qM{gEA0c>~JjW zkRYaioqrmMdT6{l%d*6+komq7SVYWURm6;s8gWOdnA2$w!a_yR7!#BdgNl(P50LxQ zt5_iMrM<}gpP!%B5W8Yz^HmGKtN*AMnsVnS(b$YBAf#blfZ2n16A}Ys=Y-vaWU4Zi zgKGtJhi!y%CuXovOjlSDU%&PkPzQDb2Avq8JkH}d$4_f|d-?yb{GNbeC(DN)n_EpW zq1XxXmW{J)_;IUfpok`!VfS-XzV555;p0FJbnn#vqJ8?!{PHUP1`u$K;SiD0WNiQd N002ovPDHLkV1f?@azy|D diff --git a/TMessagesProj/src/main/assets/emoji/5_175.png b/TMessagesProj/src/main/assets/emoji/5_175.png index c9ff1c21fc8fb94311abfbc8141370002977ec2c..16729985bc2e43271199666607834126d2243c63 100644 GIT binary patch delta 1306 zcmV+#1?BqX4y+20BYyzQP)t-sM{rD=Y(c1WH=}Vg_|=D&YEI?AZnc0DeLWs~T3wJ; zC$@t_t9TH>kVv$FNUnMom6MQ@l$CQ@De1#(xwp0Czi8vTUEj1**RfXEt4Q0mUC^pe z&Z9=^!eqjjNA1UO+}_^u%yh+)BLCZe{?~of)Yi?PH~Z9jrGKcZo}i-i@#f#UW5veF zo1C2f*=)C`l&g+@+Prz2a5V7LllIVf@#4Mo%VdaUBmduoyrXO2r!9(!h_!nxc}zv` zzf^x-Ua)~-|NsAZWHp3sH@k0JlK=n!6LeBeQvg$?eq$|!{|1|^4vIc|S5v)<3-P1may07p{-re-B|qQ3 zU0)v#Pft%_7REFu>#CSszFDsf9u%;|IhVQC_0OcRtj29-Qb z?;-D}7r8{@OLL2fD!}vFKqN=z_1mJECW5CM3wlnW|3PC z8Gp!Raw8=Xsfpkg{2{}w3@VdpLLgzA2p5J4$W@OOzYs+T0gA1OWdo5zG=X11er6^s z7ilLH!haC4NRi2oHqFx>>o%eqdW`~@W6aNTyBVp~i2X&i$A1J!X7Y;|!9 zBf$#XT;V9}qYXC-WMJf%QpP>kdrR zw(wP4--81Pyn{+S62h?QS@a%?=b2VC<@qq;dQhIm2`~{>uXj~|q8Tn!Nr(UwKbfdx zVD-8e{h~l7iXtFF*eMJv4VYNg6Mw{XdRN3ikU<9#nx!)`wcs+H?p0qg5iu}UCTb^` zQDu~aYlU=2O@v`5X0T8~SEPuqUpow#0y_bNPJ+-ZnI*{#KdtK%O??KlIE%`%c|2)~DahFR$Wn;1iRNGRuWy QvH$=807*qoM6N<$f`bEFcK`qY delta 1879 zcmV-d2dMb03gr%vBYy!SP)t-sM{rEdoe$)|C+fZ~r>b_)wq2p5eX^7^e}b8ufE3iy zsot&})SwNoyP3C)9@yBs;J{4SykE43C(OHZxVwqzz%|CpxvGj5zp-7VuZO0OHp7q) zz{sn-x{!>UdGE(B%9;v*hkbWx9>BnptEoqIcxJD&o9xUV=zqfx?8z3~xew*O3-Qkx z;Jy>?&mZ{VC-c@L*Ru=t*dye^7WUgE=EfR^fJNcD2k_A#)vg8Iv;*nM9nGf%x0@%l zph51y7v$s1!j}uLj}+FsBjv3Xtf_R!y>t837WT;z_ueL{ucrCrD9O&ujdKE(os+=C zzS7pw-o!c7z<*YleFXa98_dOvke7?b#G{^}i=U;J&$U8DJQGn;I*E^l^3x%Zl62VH z*9qj=+yDRoCv;LyQvmG#;vg{;F$eAa?EaLG`m=^+Vnom0?C*6;y14#2^49$P*}K5o zivpXW000HbNkli`u7k`(d_~GH1;24*?yBnb@nx=I5{NHNLn)Fb3Sn5yGM@L83*QB|*g8`f$pP%Cf z6`PWdV+z`NpU=OdO%>73Xn$)13Xr}AnbgH4G!RS?rub-d`PlEl~`t`DGb>!J?w1l_38S*gJaxy?=|w!YCWHgn_<7I8aB({U{{K6viJ5OABb zhf;5W6cP=NaJ*G|?mL3y-*A~jDD>O{6Q|DZrY9AGw` z$q}>&z`O7$w9UY(qWRk#WM&tcg9V-p5RSQu&KfDwY07Yi*%=Bl4p=dFkno!7Z|5@n z8i~(GQf?B83_lKD#oTpju})ww^0@odPji-_G{uF24oFyGvf_jl5-k+ygztu>7JpZt zjsQ(YB5U9s|E74O%#w&kMy*maEyGel2uF?@kix|~-u5UMb*bBI7DauOU=Ww^Dk`*0 z11;|7DAdrNFWB!_kjcFi5Eshw5WGyosLxlde~OPtfqaI;RGxgCmQOQ^N1?~U`>N&-)99tAt1o8fR^SbFY`X=|u1>!$=ps((W96j?0q zAQCkiX|;Br8e`Ys7~(h$q$r3H41r}8^Iip`Ep)rRhUL00@`&*C-yC&d;3$H!SHXY5 z2f;=+3xnlaDFzzOvjV`7&*$eV)KL5eibmeGEX#lbA!%U&6oyn3y$XJ}BKu3htZiB3 zsKX+1Oq~@Z_+bm3{(`GZL4Uhw0pUPk+Mg9g2*{93lH&CC`xksmSzHR{Ez`8bx8MnIfq+`vdKAj~CVu4%ho#*t!heqA8*m44 z$$DFOHSa$J;b5}anr)ZqWU@2|DL%7ez5{F7!c5hg=#qs7h%6}xq1a)?Pf#%vG*z5L zc9v@I>*v=Lj3!o7MHi+aZ`lSbc9%8fb##qp3PRE#1qydVZ zDDuC8E*>{D($f2wP<{hlqsQGPL$|l3{2scTsoTIWq~C|%y;bE8(Y1fC@*mOphE{Ji RIQjqp002ovPDHLkV1kHhnn3^n diff --git a/TMessagesProj/src/main/assets/emoji/5_176.png b/TMessagesProj/src/main/assets/emoji/5_176.png index 0b7691c2d9e1f227b5ea3eb9fd7515dd27d386a1..7d04f6cc088a5407310ef2a755ec152407aef271 100644 GIT binary patch delta 1885 zcmV-j2cr0l3hNG#BYy!SP)t-sM{rEdoe$)|C+fZ~r>b_)wq2p5eX^7^e}b8ufE3iy zsot&})SwNoyP3C)9@yBs;J{4SykE43C(OHZxVwqzz%|CpxvGj5zp-7VuZO0OHp7q) zz{sn-x{!>UdGE(B%9;v*hkbWx9>BnptEoqIcxJD&oA}`;?tjl8?93nFz7y!f5A4Yn z+_?|sz6~AmqXp_ueM;*dvC3Md7*!_S+@q#v0YG1>Lj**Ru=F zrv$f~C$ykJ?!Xtwy>sN_%fgonua6YgyCdbT6|AXr_Q?^cucrIe7Rk=cm7SB)*3rPk zzMrL+-o!c7z<*Zy;TxEJ1dx}D%*BhIp^L`Eqm6R{&$U8DJQGn;I*^id^3x%SkA~RW z*KFg|wEzGBCv;LyQvmG#;vg{;F$eAa?EaLG`m=^+Vnom0?C*6;y14#2^49$P*}K5o zivpXW000HhNklzi@3Wcil`aWHH<(>dg; z>RG?gYjbq<^t5+7nIs+_&U4P3qVZmvoAI}6N$wOaV~08mTpdbt5!Vq z<$Rh|+<)_nUV1h=r5wTK?(T-DnqhED41BM(D9O>-q&%7`*=+Xm5}BJj5FjT?f zoFD}=SFuj`=;Ut*8hE8rBt2M_1tN2FAPMqT7k>yZjLBo>dmt z1%Jgc#nD4Ab~HOXE?<2h!b38NPJ91edD#axU#%7?C}6%ijx(K#iJ2b(Ph>nAsnh`t z+6F!kCx(o?syf}y?Cdom$D_MIxG;#_X_~j7`C_SBEr9^Z`x8?1_GWi1=9DY}3Qi+| zp#~+0>z1HJ9*MJ8gp>*=4g+HiO5h;d$$zRxpn>zy0tnTQi1rgZp}@FGgV_CF({2gl z@@1&1UyIOoctZ#Ux@^!3YSaJ}mk^f>U!uQ>greXK@4#D-@G{P8_%9^3DFwPESD_iY zKTPtS1j6NygSNtVJ42~{_#pAH|2R_EEC#1>oCrJ+A;Mt9JrbS~4fkVrlX8bu_kWfE zjLXAoIF9+9cqc3-lT7qF<+j3yIe{Uggbk2z;2rP!6N0olXt!%rA4_n;r_I7^G*o2h9ze?b53NT3RS%o|-0YmFBjeqtlLQcgFrBEP}qfxv&QG6!=VI8oBgA1`=6Vi4# zBS?WUe{wDlaBQ4CO&~M?a=DrhfiE}`_?t*^*(5#1g+)L#5c~)s*^ecIfpN*9O-F-* z^$DQqJPE!nycc}DYJBzFpiR)=s6i^e zgdC5KBdtLb1k*9qm;QVn2?_{>Lcy1iqUjqTS_Q{6P0gf5bA3|5cF;(4p$>h z%QVr*fkJb<01*WIu!W3&!GERIh*dKoWWa#epAj_xP|$TGj<1(r@Eswz8Y!5DVdB9; z3hTen0ZyxZdwjc0#4`gpR~g3pv$KNl2K6ZcxBti(&v45NmiA zbTArA1plUV5M7DrgSuhZx=m$Z>nVh=6~F}mY;paH5aQeYSb8!k?|(N9Ky16ft8j-5 z2oc!g`S^O75JJfmd^;^a4yU%w$FYe)H%EXGI>xfv&(|K|<=uy?tNZ(=VOJ`k;9=-E zQ{d6*M8Iky@y&;z-x0&c00P0EarbCg=dtvk6N9>4q1Y7*8Qs>&co8g?#t#T-Wl*mp z&}dY+1E*zihR=_nLw~dGLr^x>KCU!it^pwjn{Wh9i*^AH%a`Dh-)*dYiU0sYy+IU0 z5Y~Y%&E*z;%*Rg=Fj$(+hGl_55Y+$yiEoVXH(*5Bgq_io1v{~ zp~3|q_L6-5KP&XOf#J&Vb4K`$$RT{(0~7|s9pU#P^EC}x@D1q?Lhs&&@Q0C?{%8LO XlV^BQij7>!00000NkvXXu0mjfBlek5 delta 1273 zcmVpUe zydE6MB_hu!B*`o&)F~&>E-auTA-ymzuNM`!8yVOzE|DD@tA8sh(L5>`5f7W4o}s6x zy|1ke3=GGShGTQmL>rCLk^lez z8gx=lQvfkXYW^Ac1pb?{m-vdToWjA1;<3u%>uJn0sbcW}00ZqwL_t(|UaivScH2e} z1z@v)R7^9L5`RldwpRe`RC7t*|GhG^*d=fvqnIa`fR6smhdT>=_+OJvFxm2YVRFA% zEFK^4??2C`lPp^MIH7am5!{J?^`SqfeJc}I_>NVw(430r|ZPES`3)G7Y9Udixd=pvese# zQmmF;Eq~re*T)l?!+!qqGM+#KQ!^kS@!NPpM?*`v@#{M6BhhmflsBKBYlVMMkXlN; z`L^HfenNcSHd-)~3#W5cA>qQHVWqqoLujLkv8Hf&E_4KtfQ)K^&oCB6b9UAtnq9W0An)B!3P743*U#WpFMD1*DfaMnWhRpKcAt6Ald^KoH(TJXbBW3K1BkK!G;EID-Tsc6gC62)C$% z3@9=feJ!5f8bk_*pWyHp7#;*T&Zlky&mwOCI4n^Kp_oMMdk7T?o{TyuFh&Rvy^E+g z8``79DW_2&lvt?I)#6KPQ4K02a1L)k!hcN|0I@|cArTRm@^GgFfejOBjb;l10KqWG z2!e-HXF)><&Vv(;PU08|F7eqZG$K`4FY)n02!TYrX>G8ogdZdXZJr}(RETSMzj@jX z5Sa8P2?DehMiHv@A|pX*1mHK=B7IA#LrMf7a*&__3Da;_4h!+aiyVQdKZO()1b@PO z6ucZD;tH`vMC$l4MB_cu_v2#-K@z}HgYZ%MNVpL#uz&g#FW+<`(C8$-Y$L%g8{jxX z9tEHFaITA({PpoM5b4>?c)WZvc$-MZ5|zInw4iA`I6e%s8t7akLD_V5_ow6}5pfm- zmyE6!br;xawz`x2QpU4jAmT#$TXLWhr0F`8!TA&yklq$;CqssUQpZ6O@$fKBK(Ca| zR>*{DxGRJJF`s4GAduQ*a5PvZOsBJ$PwIhjP}qr(sF0`GV1w@0&2SaDf^t`8i91;z jiR&3Clh(K%X$$`W&q0H&t6LOi00000NkvXXu0mjfY``&} diff --git a/TMessagesProj/src/main/assets/emoji/5_177.png b/TMessagesProj/src/main/assets/emoji/5_177.png index d3d8ed10cb1c67c05ef662db177ef5eff8210a3f..8c34db5eca860557d2e1f5e7603442aee5d5ef46 100644 GIT binary patch delta 1266 zcmV_RT+Dc6zI0@Yhljv~bs-TC)y>D&N<6AcI!H%G z#Z*DmTt(7sR&Yy2g;7YEY!oiB-vC84=Y0NXJV(|a~1LsLZK~#8Ntx)~_zq9i+Iq`TY6zcCi=@lhu2R``z1N3^^PQKfUKt+j61RoN29>(CZeh))hz7@85T;w|~PPgum--_efPr1*MqOsn#7> zBec$h84|12u6TWY-S3ae`#XFgAZ?QrFiJ3P3|P0rGvaq5e&Agm9RzZ+6hn$xoYkm_ z5^{siB}3G915y>(Vs_bLN<>o7$#pKWF2uZP5uDDUwayqY*DnExwiXoXbGg=b{8G$k zO)W0t@_+RZv)zneUV0K_U@`*&62JB*92w5Q!MAI_A)@6jxIBG+=`8+1!8l{w^4n&; z{ukoQ>ZFB;r4FvNMfe&*3lz@*U16^7=Ld1wa^8uP?fR(!a9g33U7=A!FLlD z3G01nVh9Cx0Yf_vMBf$`Q-WfB6}>AeZSiG*LYjzPEflj>V;iTdSj1qA=0I?1ByT2u zs|hef3|w&rnk}98mC+6f!zDL;2#ABJDn=!=(Awf6hDEO>bnuM#ArQfLxvE$UN&utr z$A6I0Fb+s7u_HoTOHcO^qnLyS5FnUrA)b#doK4XfYe9iFz=VhdW4?QlGzdrMAOng? zMq7*Lw^M>5;iDz|1x6+TuJfsxz`H03AVC^bQaI*=*t8Iq2ua3CP!NJKAX*o(G@II^ zB)Q}yFwQ*GXln7bZjlBp5;%tkkaU;;fPY%F5(W`nm&Zd%g6Jml9pn~_!@&qh4??CK z?}Dc=oCk-DMq)>VH0jwCPRKE$mH1Q>S|dS+XG0uIs7^xj(|cqzP7z3`<!d-*e2ww8O@PN({PRm z17bXyOu7MTGl8o~WderoVm!zL{h+iHW2CUBQD=kZpIhK6W={8b4TC#*Ma11cdvB3XlnqB!7ocOjJcja7=iLY;K5IW`ajpdMZa%MP!3Uii(L>aWo(+A8?ad zYLqN;nmj5(B3gbXfwnP)yEKWwH+``#d8{j8i6?EDEqtmya-=4X#yXVFJ_!s8g{n}S z*Fq5%5oVPhrKG1qSs-bGMYOlBlB{hiHYuXAi(Fk<*45aZoPV9i#mIMwUOiJBFiixf zHsmw_000kkQchC<5-v~vua*9s{eRxT(Y96clM(;`1F1ioD44><2==*lZ@}#bQwvMV@8Z ze-WDIyxBBOvwx@3%;xj)bPA>3r?N#ext3-5`+7aBj1)o&DXpD-!zw1t`C9Idklk^& zyIfAI6*v|otI;Zktm$MjX*QGV#VcQ3j>pUC2yKm)UkfBcT=)Pa zFy6U%0f?%qKsCGtd#bD-2fN_1dc8K-ixXupug5i6SJm-5mP&k z2m-8YQ4O{*q+QI30m6qW#dtW8w}>?(q*m&VP(%~fcDS|J_Y-&!#?*{xMOYx1bHs2y zNK_r+4ZKtAK#U`r4VoV0;W`5YZ_G1F1%kataE>1syxQjd7Oq3O_{AK7B++;xJ{=Us z+J7H(D5HXkAz}h8!X7+Uz=Re8h}~cdj#~(i#tOK+o8z4p4wSeF0RTck36Ul+4-IJO zAlhsX!$gha0|5>N0gRA$2zRT0+Y5?D0BDM6kl;YXP$UF)kZFQ-0#pczgp@K(Fnag= zu0!0-HwYfrx55(ugM2245D!E_bb?Qc;D50K{=&P!NI(XNCK6a7Mzp6XgODaDu8)Se zk4z8^63^F>-YtKZ!1A#IOd@ZDO%kC%yG+C}BoK($ffGSO#B)SNNF*f2_7Pb=8U;dN ziHAsdB?f`y#b`mSh0Yjo@cHnOY7v?7e5NfdKmr%v2{I6Wfapo)nVCjL;zpujp>%>b zk_0lvbUE8v9~py!O}2>1TSm8z?WX96#iBqU$y7_VZ5^a;L^=J=7ubAS&4AGW1)|Kq z|80J}1O_0xRflP+LGN)di2_G0lfck%S2LnW_0#`QRLlI=5A)Yi{0kx|`(NUo{TKiM N002ovPDHLkV1i^75Jdn0 diff --git a/TMessagesProj/src/main/assets/emoji/5_178.png b/TMessagesProj/src/main/assets/emoji/5_178.png index 2e8889acd7b5b3eeaac3220b7e6a567ab78c576a..ddb9dd3a5f81eca6f2a78a245d4c2ba51e2fa914 100644 GIT binary patch delta 1147 zcmV->1cdv|36KepB!7ocOjJcja7=iLY;K5IW`ajpdMZa%MP!3Uii(L>aWo(+A8?ad zYLqN;nmj5(B3gbXfwnP)yEKWwH+``#d8{jPq$XjBCvBN6e5yT;#ySZM3Y5-1g{n}S z*Fq5%5oVPhrKG1qSs-bGMYOlBlB{hiHYuXAi(Fk<*45aZoPV9i#mIMwUOiJBFiixE zO6k@B000kkQchC<5-v~vua*9s{eRxT(Y96clM(;`1F1syGw|;0B_g zmS!9P=dr5J>GyxW&Sr;%5~)anOTv1o3O@_2z9 zFURBke%)@tQ6MRURxxEQ7mG!+Up($k`3|{U?$@g;rMgIZf+w;ZMWC!9hJ}T zPnRgE5aaTZzasXH-tF3&Q@aJ`v(J-c4qcYd#NHE-c7KF{c*!yICt@Cn77%bav#%XD z;!!(dq($4J0Uv0?Uf20Lk?|JobL!eLPtK)0ohDo07t(>X3-6}ddggL0fB!w!0tuhm zKLGKJbM8(6q8e`zklHVAdji6!E?*P#AwgMW!0^f)@V((+PGgm0E2+QvBjTzQ3V3}8>0=eJ4zU_ zZOsuufQ1&-WD85W#hh3mT&UKJ`xAMK*fBy{tp|iAhOn+f-{Le*;6Yg1GGa7go?vxN zEa#I%6$oeGonmKVYhpNF3GE0pOp1U(lyJ-NVt*Mzj8g=00>dO*z#K{&swjm%Fq0$5 z$xx04O%ZsPsG&w{Bf0d)Y0rHPI!erjdja9h8Y8q(Lg1aUupWtY3k)*a#YoCH2Z1s= zelKRv1jkFsskH`%GNv*@EL1!mF_YE)R3O)1pQtYytv62q+=agwL=6 z^&Lc)!+Dx$aeN@ap&&3C@(xk=_4~b`U<81shz1E9A%r3!u!Bq!EC^7+ClXT1G{NZL z{h>qL%{K@h*LT7b0E2ub2p^6xT;X z3?mangT(W7q=V(}5?DS~fJtOes3hSFbjw5>Ljr+_nm7?8L_9}SghWDO)EJTFvzaFZ zmWTlXK8Zmfc`;iPrJyqg9DF}KQY|7g|5zCX3y{FY13`M?HxMJq9J4aWNZd#?6m(Q@ zMv_3LSZ-DaQ}QDKTetk(qsNv7K9L+2pX6Xo(Je_-=vwF1Tf z`M>%31{i?UL7$hY2BXKlAsQULNdi;HU9E^FiK9r*RBaL)kNu N002ovPDHLkV1hYt0#yJ2 delta 1209 zcmV;q1V;Oi3C#(RB!8<=OjJcja7;*Mn^0ML5fmOoah_O+wIL`$Fm0S&g|9HElMzu&KhZ~7Gv^09LC0KzOe8Y-~iJhFBr=y?{5q}o2va=;9Gli$WM1{2* zK3Lk<*2Kfacb2VPVrSFP&sL(!pti_Nd!RX?+FypG0XJU!RNB`7000woQchC=pn31HMT_K~#8Nt=Csq8%YoaV6&1ef^5K@!(_!ka@_y_ z%eJbzM=i7-T7T^NGKV7`>f=^1FMRm38AC2F{|_)5jqX3rX0z$!KSGzYvfQrMWm$HW z{`BeQ=K6Yq*1Lr5%VM#3f$Uq(=X0qb@3F@BNNi$OtKIXj{ho_CgfybAff}|h?zf|I zy?xp3Hk+r-Q_SW&QmuzHNJ*J${fn54wjbdT_UF%U-+y-B!T5RzNSi3tHDb_>Gjnr_ zTp+OqfgieV@fgz~q>ugqwhriz-svby!GKDEL zIN=3mj4OI%9Xq1!` z(}osjE)u4LU;tq7C4(RWvC0rM8xTgb2pA9;7eZujQQ!$ADbZnv@Q_RkARxrBFn(kR z0YJWm>Q{hJ`y_CF9#J3>gX7_faSK7o5`Q#$Kwy~8*e6SrxCkU%Ak^To!1*my64DJK zLPnEs5ynrhkhW-=CfkA?ho1msoY4XRnS|FwLyIgkL~4)(fdT=L9FdLylkBvBAR|w3 z>d+?ICCjC)Xg)8t!(-;Lvu;Hd!!KHmZp`+vVG z(YNrz4W4s^Etmj+MTFX<=|Bv&7++o8Bf()HCEWoZkHQc^xg1~3Y!i|I`sq+1Lj-2} z`PO4yV0e=Zx?`?IVkXni-iHws#KC~%h?Mcg9WoSJAVUn40p_-*|E2m)$HZ(l&H!nr zTTs9Wl8eNb$%l9R2RjC)rhtML5Heo|=5sss@otg<^2}WZ$ejk5X$Ht;JiUWM{Nelq XMl(Wx`vT^o00000NkvXXu0mjf9MCTJ diff --git a/TMessagesProj/src/main/assets/emoji/5_179.png b/TMessagesProj/src/main/assets/emoji/5_179.png index 1f22e27925784225d72afa64efce431f1ddc85b4..2f1c6127c9936999e410e40915699d1503f61815 100644 GIT binary patch delta 1208 zcmV;p1V{VI3d{+RB!8<=OjJcja7;*Mn^0ML5fmOoah_O+wIL`$Fm0S&g|9HElMzu&KhZ~7GoQ0>qM1{2* zK3Lk<*2Kfacb2VPVrSFP&sL(!pti_Nd!RX?+FypG0XJSE8)%dO000woQchC=pn31HDN^K~#8Nt=Csq8%YoaV6l=c0kQ#i4wDrF$@%~P zvaRaGzI$e~>*8)b?zZda z!(q33+&zZuz9H2}NR1Tdsn&m`>3IDC4xxYi`1YPVFHI8APV79V!V@t-Ri!b4G|(G8U@BdMXa;itnPoEAj$~52v!xU5a57! zJb;iPAb(|?PO;W12ymr+`aSVapP&Skw}`?jnB~)EpCO7;YGErY3P)Ic6x2{IL@j@A z_WR!vTThg@hSCLV8{L{hzyf{^U_yA7z%%GZ8m*7oz$bSG>|pc6IuKwOqZ{3nq*b~R zR=FPPJ&TBvX*bN<#15?s#?Xd z165}c*1Zu54q{uw;gc%r*7R6h& zvTZnl(CjUQ1w&Co4NNg!TdbqFGO!2`R8cxaT*ekSV%_W17{j!bjB(4kQXqsD-*b!D z7=Jutqaj98!nteUiPJ5F8+H%p*o8LGM(e6FSOIe`5d_!)7zK<*f-st2M8HfOwY(SA z_!eg_;-|f!03h(gy}&%N$q_i}5#nYMP#_S>7|Y(Gz!TuZqeD`tPo@PB7&M3DgXbJ$3&H>(0dZ~8bRY&>OfE0)kf1e7>E8h#iNYX(nNKbky7uXfLsAQwAv`nt zbR)4YFtkpFzhkyVVy3fCQu+}TSTZ14B4u)M3yhCjAVUn40p_N1-=$)wKCxI#azfha z1{83-WCHPdI+~Bp&IFjsM@qDS_%S>%pW7)$nrQ~eGq)KacN$=3qd&`Jb~_*a?feU` W<3rP`viXKp2RKh_AA@|F{6u*4e`{4)*F934u=0l3XZC3 zG@n;h^^k|+?T0@;odER`YuKv>v!CmWpR?K5Z}<0wWPdynoWFg6)gR3Vv-RQ}VvM%Jg3X6s-u7|kbx+3E(2v&%Eea!J(vG|RHMkcue<6j&eeT)z^dqshGb z>ngpy`+l=rp4GX&ek=h6R$M@&{17}xOn{)=g0qBqAEN5@rWyj&$x~wD2@2KuzPx^# ztu)oyUVkD@Qy5RLQeu3aCyh3xZXgJtkd)@Pci=oxHV;N!Y^Q=+dB{z7w3OILyR5~ewYSp1Ora8s)_Lv;&;~qrx|lh z?i0Dl)nc>pEj+Pn0d+H*hB`!p0BYcBBuP5~5q~z6R+d)hc?hHM8SaEAQeT^i`iNF( zQ(9J#ow2Z%+bjjZ#xNa5VV=cchy)_H z#CY!_cu!$%YRr~^4q?t740h;7mg6E&Bed4Q9f(lv1S0swjEzHUPz+0J zsDFiMBIdqDnkl>>VN+|37O`oE5ZHjy zoq+b>a1~1pOBt;}U=U8XSnnrt1acHY5Pt-HMqCx3UUeSluFFU0Mhf z@a@96fENh7^CE5>l!O2X8C)r*S_zu;!BGlzpfnHzN7M?Z4ZMIAIuQ|$6M@L?1{lT^ zzEr%2=(!d|IDig`{Sg2HQ@6NiBxrogY%4GdA+ohaf!G}YmE93s1x!2PLQ7CQB2^c{odOMqxI@Toi_Lzb0>X_y7U&MOP_z>X-xcst z(ltP&wFNbBfLnox+9}!>p&i_~dl0@wQS5I~Z3*Tdg>O&;1ptm%w-7W-N5le{$3)iB zBJmG_5L&@+(b!@>np8+APar}94u8`h3E3W^|G75+qD-*31Ge+ZEkVK_f)eyUkKWfm z7NqodEc_0w1Tn{l@1{B3aYG002ovPDHLkV1nGbU7Y{` diff --git a/TMessagesProj/src/main/assets/emoji/5_18.png b/TMessagesProj/src/main/assets/emoji/5_18.png index 3138a32896434cd6901814a857fa2055f06819d0..9cf00fde66a0c73984e3dd625e083e218528c274 100644 GIT binary patch delta 1448 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 delta 2188 zcmV;72y^$#3YQU(BYy%PP)t-sM{rEtJTSgHGN{3fL|1xJX=N=vYPPVbBs`6gosKX_ zmL4^Qg`<8>XRM6Gb|p7*m(7JLJ9C%Mgk*wJAU1&@E@6kfa~Uy#xmH;!K3Gp|xIK6* znbm_UEm$~PD1yFh6IKH#G-A?8Kv8I_DllDYZe@JAWs%H$kAKT~md}8bzk|=w&pUZ6 zFi%s*$H#rSXd+n@r*KwSZ?aT)LS#^Vi7X(7dwo4snL=PP+Cw-taV4-K8I#X`JNr>P9>8>+mx;1Lrg*f`x=cU8IwmnvxL)N+ndMJ~kvb zcAcc6+#C*RYiBV{5XT@AEg=EvA{0ARn@(GmZca^OB~j0^uL(~9M`*yZDIIanW4RbjI=#Saetv#RB=5&HB+%|lx4=HqBAs2 zK^Fl|FgjR0S$#iU%8Q0wqeW4gI()okMUyTkc@u%aYeQx=cer1Ax??L_7iFnU7g-89 zh$AsxAS7cH8fFKK$#!$KTYtW28gT}M!)|S`Ri&k;l8};Bd`?YqM2N<5IC3nL&wN!= zNLVTc(|^>{w6wIozrBEcdWegQUT|4(dUu2;CC<#uotmAuxxICDZ>+AZ!^6Y{x@tH8 z002OAQchC<{{A2qC_DxI5dP`@{fCJ+UTcl1?@-QJe8H#wrv1k2zm!4T-Rs`gyr+?^_T600rksM1Mh4cwW@e$!_966a`QuLaf?Y7Liy* zu!xwfq(MPSvWUd*Re7GxOy;r2;RE~CbGaIDgBta!FWw;Q9bGP^{~$_Pt5!ATAFkDI z`xv5^_rE51ef@AOa;@%z5Ur-_ozZCYAj73jmHb`xn%Zl$>^mMnkdf)uc25FtD{7G`!3JCC?qFWGP+SLim1YQ8Zjb6p@OIkZ_U$5&M1; zP8k|F2oD--j2Nk1oaErD9s`n2O_~`wB7fW1s{y7s$&mv_?5Al22K+IIKmZbj;NcpQ z@NH)IHYQPok)#pBB7mSGpknMJ4a zz%LmGYrYx|7{HGfL{Vc*>?#_Y)w)l%%dG2`ZRx^I@SGxW z1}GQtcmx#MDneT?9o~A`C0mv_T7Uh}L`NFOt$IZG1NS`d3nbg&WQaKnP$HfcLM z15uX{Tz}yW@4~Lr28{COeofC+xU2zP42+qLQyu;4^MuYc8-+wd2re%_^?!!LyV%%& zySKmpCKK}0>Ghx+5v{5CA_gf?NM3>1l8^DAo=m|dck_aS@uD^%lLC>O2A-W;o z@z0yR@B2sF8WOFTa0ac=m?w?&yR(9rtH9~T3#U(+QBQwx7)FRx_^-qx8J4HU-gfwL2jVigpFuyW5UDpwBZe>GlzLI_3fbB zCDa#Jy#L<4Li|QlH!#sk5|LVCC37kn?NrZ}w=;XFF9$u&A9@)Xx-l^u-EdfWH)*WT zW5NLXlp)sv`Xbex@pycEP{SyVF}vZ2@NRb`VzqkK=jSsAdHm=>Uw`qUPW|!miRKa6 zF<5M@Io!O>=C(w5Y+Qez-b<6|J=VHDG2w7H1{pbU4AYv!7P0wkwmFN1hsL7!1=0Dq zlj!IJO-5PEsC2|U<*K)El=*S#Z*EM4p?;mj2}F8B$>;^E=p^f}_RD2fL_SzPK<$tTo9 zuY^MJw4BS8fILuXgsX6fekZ2b(9I!*7%l8eDVu z|I%*#bdf+HmVZdNkWlFOxHv5ylzwbulo|shu~kiM1!A!TG0zIMZ965m)M1)X{L#0j zv>+$ya*^E4a=CIDb~BHQV;H`|D1u|8j-IDbKJ&xSAj6(=RbT+vx2#!zNArO(Ozf)b zDCEZ*Sqa^S@02c>o_nUf$tcprva6xODcpsLSzT^a&3|S?mMcB``AJOM-rl2DPN;|2 z)xv3sL!Cg}svH3MT2EJZi;DRWI!K6leN{G7w=>$>N@aDMhWQw(p;Y03!z-@PgX=Q5 zpUCah+3FK;qvx^;Y}q{{eP_BD^6XxY_^! O002ovP6b4+LSTZz>m&aF diff --git a/TMessagesProj/src/main/assets/emoji/5_181.png b/TMessagesProj/src/main/assets/emoji/5_181.png index cd5fd7b9f4e4ac2fdc3dd03767e7c183020b98fe..3309e2df1f022cdaf74ffa47bc5971c10f525fe4 100644 GIT binary patch delta 2189 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 P0000ya< z?CbQfu(Z9t!ofb`KhU{qoSr;URxw`oIQ!Qpnsm8i;j|SaBzZygk@%9 z{r&$(l*2(pCP+?DlbD}+dwUR3YgVV*1VUN{DmX@Oi55CXXIKT?zs_a=000woQchC< zC_`oa`o;|lzMjfw=#+ER!aW9)-wj6e z<(IFYZ#~iN=Sx5)mtSv5Ves_}IR6K9aUmPmU>)1GjksbopD!j~yfGLUW3=`HLPkIV zeyY)}Qc9cHHC@+Mb#i0q%Oxw!HVr5O0f;=`LYK$kcYk+xscl4i07AMdL(dzlyZZ*q z!aQW7mDc}7*l1t<^zGrnX#_OQeRJQnQHPQ_gzO5@YR%T$;Ii|kkTJ26z=`E~@%Hyk zMcho^7SBm{;(+l?&RJJ7dF4Y+cC~hnh%k^9*V`OOSFiGNe2OsMB}96wJw>VN{{Ft{ z*ss>fcYpVF&~{N<6-r7@oXX1|5ATREvWQxlP9m#w%9FJejo+-Tibh9IFuU!*kwx+A z9MLs(uhxc8I60R??w#h%w&avqmsA4Mv@ED7ew-r=TSQaLa8cvAw&_q45WOSV+@Td5 zT;KOD+f-~kMLYmu2-{fFov5uB-Vwtu+oGg8%zwzNG0HOqSK4!g>R_5kHn+B9>1iM! zf@kAHaDmxGaBzY3Z-}ULCrvE{xw>F2v$*iGO(|n<4#g$gyHb>b!Gai$5p#H<90IA> zV3{Jkm-<`IFSDN8T~FbL1;`TGpAEA3fKaU@xqnt0O-gB8;bm6P>{c5^Xs(nHV^qYk zb$`nri&Mm*sT#iL+^2+M`ViK$k{#QOGJ3}@?0O2tJbXl`oC8xqIVH38Mj1F`%X&8S z9^}@*WuNl^Yhp=-+Y`j%3J7DZrM7;~5vsNu%In$g1@AzS&qxzlUtBKm;sb&XJq3ll z&mk0Rl?Ng-Ax>Ku4SWm5h%3U2@$?VK)#*v2SpbMFR=s;n)6fe;Ts$vO3CIObSK zQ9eeDr4a6uBkOwP=)KbQlTz%~v(=#L+ZoXz4ltw7Ms$WCL&o4}GNv9$JA~o1e(E_2 z0{O!v*lIMB(b2%p`2leaMDJ@;8?i!>x9BKpVhcoKr7dgCUf|VgBXY-xxgd7Kq1Zt=;@NHDP9wNMYd-M;*_&X1H4Q~ zla)sQP&vF9Y;CZ%wj|dN@S+~A?hHZljbIZJsl69gya+}r6hlS9d$<~ge1>2-V|G@+ z1kctpN*Ba)&@!()O3+{n#~7v386ujti3U~{XXTt`7?6`7Tp;37LbgkXRDV^KK1X<; zP+?DL>3SOi*W;00^&+(O?>ezdr64IHFz7rBgXFnrJ~ks-L1f)D)la1nD&2-^A@gIz zlB0weF+xNNh}Kj)Gj;Vq-G@RXKW7Lluf5hF93#R2g!7rAV)HTV36f`@9`PFt8GqbhbAot}`&soJ*Z1#_kN;FXK4B!7%!?Gerd57&p@b**?jRq{oOEJy%G6HLhbX!NP7 z227_1#AG7ZyKa8nd@H)Xg04Sd^;{F^H~+P{cnAEp{^*bX2jZndVvk(xiU0rr07*qo IM6N<$f+(F|!TgDC_>FMy$(AKxNyV}~~%F58} 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 VnTLR^!u0?E002ovPDHLkV1hH>A4&iK diff --git a/TMessagesProj/src/main/assets/emoji/5_183.png b/TMessagesProj/src/main/assets/emoji/5_183.png index 47df74f12c0f63157c52e3ee7a6cfc17bd5636f7..5d32a6221799f338adbd6c38ba6116cd9f268068 100644 GIT binary patch delta 1156 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_184.png b/TMessagesProj/src/main/assets/emoji/5_184.png index 8e6bbc718bfcbef7ac6e0c9171ba67acb4f25dfa..ed50f3cf2593351d5f0597c4cb14e1cef3d3a21e 100644 GIT binary patch delta 1685 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 KMNUMnLSTXfQ6GW; delta 2077 zcmV+&2;%qQ5ULQ6B!7lbOjJcja7>q%m34P{KRP?m$-;qyf~%{j)XTv2*}U+_t$~At zczS!Er>$#nbGXXdk(;7+m9(IwsG6j$d5@%Pf0bBWUu}x2adLRIwz`Lvp>A_`K0!iv zjii~Ps%UL-Nl#WfJU&KCO-)ZwNJU0`dUtnjYEV^JH#azUo`1-HnzdG1U2b=QXKr?Q zm$y|~Vs@3cX=G%Lp|nj>Sb3MVS!8ZzZ+AsXP*h%NeW1gCrq1H(?lUhjbeq9mWNUtN zX_%|Jg@S!lU~8tEj%js+pRc^CtE+L1tAuxJp_7Gegqw7XrfhhHZg+u|ps$*nnXAFj z)7ss}%+9T+n}1$mYJaTTTT@ecrPPSF=a9YY#MR`c%<+S<;it&yotT-CjghCLq@Ks` zxxK@e!tTe=*RRs@QcO*)tgyJl&hz~KbC$e^f`n^nZeLqoeRg=s-R`~J_~!Hb)Z_1p zuhqiG&6mC8&+7bqdVjgq?xMZgvdrd!g^!@F!J(tA)_>mOke8&BqPU~D%!!hvZS7V@ z0000~bW%=J02WvJ5F{K50tGZbHcI|h>nTK(^KAV7{d;z_uVrNS$CT6iivES){;;Xc zqR;mD{g1rBxQ^oL-~Rsh?8?2(;n(imd&k`3hS>1vxc1A@=E0`^_M)Qw000I5NklAe9__FX^}(I8QAjWKb{B$*^LV>kQ0?>p{W{`pjCMk7s`F!x)Z zI_JGr_df5fYROYDQi9`H5~n3&1@rhpSS_zqOG~OFi+YNZ{Ev{TH~P`|8Hj#As9Tv} z##WH;=393c{z9Qp*Wa9FgE}=nuEMu=bVb(%5-k zKGxZYfPIh;lD`Cn`MYdzV?zt{QT4}&(SV^Acq&YwPZ6JoW~{9;edZL z@qeg&@ltzC*RA3x2?;e@&*WpDIC7_&OY@+#sGzalz%WumLV1sSdHy3o zyst*G{5;w=TxxLkl^RX{GC0HL0;yO}M1Qiu*GT&k@3zukddtGc?y-l z4)W`4%wo-u4?x!BVv=Z)(-M(Flx1yiN-b%Qv{z*3;;uj1eBw0$n%;Ba(|~$ zO2<%maIRj9N0tNk9%rKbXLj=aNhyuOgPE;gM<2!mEjP-=c+`5)-~!35CzSvXYIGvA zzLO2EfCN*@uF5LLqtQ!y7H|w`gi(kQbIDHFqoyP?xd9K#BA!4wfCpnbPJrod9a(l- zAxpKOwH5kYo>z&ijoFg`j~OO#oPUak5YDHyGD9o2WMl%++DCHn^Z@yFCTj7x7!PeA zG-h2rU~LRvJ;}kzJ6v&-J#`+^faRJYjlzR+2;dAFP716Ir>3}T#q*ekBj4*YNIY<} zA6R>Ta&jG5%QH+oO?m5vD8Emz5D%0g$Z0pQHtavJmghAi#v=o!2hRDbrGG4sXe~R} zXl5&LJfu!xdxrKwI05370Aur2mD$Y$8ljPFhGGAqwU?|T@K9zo7;S==|E3i&9%PBr z5bS@=5RHlOpfTY5?!J_n6%z3<%K2Iu$PfDutu1mMt@UN1OD0fS0pRh9MB!n`$21U+ zUYZ|%WYGBXMWnwVl}OEX(0^J)NhwDmljlEkBS01qj+JC)`as+R;D5^G@2tps_8yM_ z9)Q+XJ<}izZNtNhhFPvQ&kn(vP7O;I-Ez)7^TXQC;%Vj{a}*v1IQgYJ{;M>v`tMQBsIS{eKl>w(BiStd!yq+qvyh1f z_gQkMo{Wc7d#`rU4~A3eXR?L7I0_`Idu<0R;yxw(cit6OAfY}qB~ zzu(^8TOgr-Ezb|d=A6~1^1yd4xJgYUQP-kX#}Q)WIR@}JRilBT3Nmn z7KemUAvMdYXMbVOk@1mi=$5;3sqQ3y`!Ce7UH_8iD@R5-b^kr325!0YJJ~UQ?X`2V z#$}(ceEJC8_EFc(pI-T$oMfCJ9NRMe?ODIOxw+Zx$K#hLf|rnt7qr5>EfY?@-(Fq< zyVV4z7L6rZgq@w<-rkmhSo7M*C*qlLL~vF+>u{K!+ZOF#bWd1`&Q|r?00000NkvXX Hu0mjf2sk)| diff --git a/TMessagesProj/src/main/assets/emoji/5_186.png b/TMessagesProj/src/main/assets/emoji/5_186.png index f9b818be4d5664f4e71ed6c2e606b6a82edf2e5e..549eb485459d90a32b2307447a62f1a9a878af29 100644 GIT binary patch delta 2075 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 FV1gIhHFN*~ delta 2678 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_187.png b/TMessagesProj/src/main/assets/emoji/5_187.png index ad0e9e83c469fa3750f296cd564641ce329748c6..40e4432fa3b899cce90cf2e6ebdbe47fe47137c8 100644 GIT binary patch delta 2677 zcmV-*3X1iv1^pC|BYy$!P)t-sM{rDAUtqMgw4bD>qN1LpuDR#r+~&~P^XlNKsj9BC zwTOp=pM;38yvL4?j#N=jb8vD!JwA_=mRek0udb|fc6WqpR9IM7WNB=2YiygOs@LP| zue7&#b#Pu^V2_lQQ&w4of_!9RW2dgQtFyS-N#XlFP&JYHX8&DY#&Xl0w9p*i=Cyk!Ka~_pR>lr)Zl4{ zqf}dDbdIP$Lq%YKp?i;{cX@ktoy2>Wvq4H#UU-m`kBP&{%cQ!?j;zYF!^^wI%zcH8 z!qMHAih!S}w5-0*_5J^pnWFCZ`=`0f`~Uy8!_I$vfPY_CR=mpAn4hYEczKJEmuzNd z(c9sLs?p`{^rgPog^G}!wa$WriLlG$-stc3`~8iTpsBOKxY_sW^Y}+aNRyD5Q%p|T z?fiLkc*@@Hp`)sjveccz=yQ62xw^d0)Yh-i?s=cam$=%Sl#w$rGq0_w<=@{^WO;wl zqyhi{0Dp9JQchCpuq zp!^yKB#!#UyLT_@@nq=Vj8y+@{>Z1KkSOIysSQC$N!FSdj{(A z(SPx_ST5`uemmrw&rd?|&Rf zq(N?mL2dPgV$mlQbiw<6bZm04+XIKc63ZOIu*Yx{49cX@r0}H%&~hffJ3jXGNEwr9 z=MTs9a+zq4coU34vyH{v-g`@|YBaXs3Q4f) z3onw#<4#r`Xg7vjXIPTm1sJ@mWZX955r-Ot7RBfT7{gi1BXp{`CVk)BMmxYD zl|l^0ot~CSE2se&>wh>i!pivKCY1vrVi@GQO{A@%&W+HU&d(WF?`Yf?=^_+$oGsLm z05T@lLxxdIIp-8Zk&gy;dnJJkvq?-Va8-gFPiPlnn@pOJMJ&RA>cmJ}J-}#dDjAnR z#(gV&vx;1hftG4jtiq z8Xc|yj?hjdV#>)%@7SHDIWe(~iXAu7-AbT^rG~LmjhTkE3jzCjhbO5OX|jfHOgW#~ z_@kbt%G&M;@^j`P2qU$1!_$%ngL!Ce8mD0#kGMb#<|fmgcz6D@3^%Ot%3<<9`AMM39?oXn9eF%!vucsS8>m zyb>Uz)f`cwJ1E9BUCZ^FY(RO5;UYFvNz=lX8z`WBO3lyaPE^zew(TGrNtN=HTmYg$ zAK(k!7citO+kPbkHybUdqjEHG^r0;0!Mv?gqB17HI)|~I-LK@TE?`iGZMJ(5VQ9nE zf_{vqkAKa7sOHPYC4m!nPerRaq$>0akG=jwOJK9w?%+!($aPNV6VRfmJ~g@|jpzf> z@aHx2Z?~d{@yMEV)L|VUW%u9#%LR-o-`W#sFtDqW<>K2D(jOe?PaI5K`Jh>X%D{|7 zMn|dmTr>pQ7;w?NvGb8}rVJ;4{(Oo#CxxlCMt={u(9RhwTF;hZ2>Q)H$moXuBcYIJ zDVNJ9L*?JBbW8?jJhrzKgYb2Ou7$b_E-5U zz#yxbj1nWws9cr?%;k7A`h);ANOoRVlrS(lt%yU3$tX5yha>s9aJ+tcmk1^dM}Ii4 zEr0PaY1~%`&w*h#`_IOp!dbLU_uytDZ9ZcF4&y1Hp9b*RY_yv#Pur4>P%UgVhuSW2vY37Ve;$s;m z?TTj$OyaVCI@}(Y%cN@;337Y0*@J=_1E@wfZuj10QcU;=lJ&1N!%I6l?@ z@?U|#)|Mn@{0*Ljx%b$0UKo4^rFe%wH>LZvzdyzTZ%Qr+`X?)wzGQcFbg<{R1PH$U jzt0j*;7j?0elo1UVqzR`DtlZ=|HlBK(wt-`?4 zDwBU6zfOuTv|1CVHW-gnxWC>Y-ZcW05Xe=vxZW z{;3Pqql=)+%M_v_{NA9GFyzZ#oaoZES9+ZyVknF}VaU-{v}~`4BF815OPWwKOz;*=Gun{LNq|yrlIRsr&gijcUqDz8^94>Tx<`M*QoC5AgnqYCk z#_vatfFZtHbbrYb*sY>VhQMB;%a$dO16`8D*o6ya2^fb7!(JYVHW>crfzRBW0OG&) zqsJ@dN{JNheA>_Zuo%AEInnMEYgzqgzYJ@`(PdV|k!HlUuMGxn;fx62Bbfo z&y`|XZUc9{(3FVB2{(K%ao5$lOo&^!2;>k&mq()gq<;vbG4`U?WqTw}!zKuH!Cq7= zJrM@rb^hD%E{{bbM-YSIU1*Y`F^Y_aMwf>ajgewBT)_Ppi2!~H^1ZmB8hfGt5F--vjIfT(=Mqu`MA0hZH zd?bh#dw(dt7us9oFu}XvGY0}w$0=;K8@&&AeI!`NN4X)#xfXN*F(1B+Sc~8F41wwR z_hMbr1c%YlC7%LaSQK4SMC9P!ao0g447MgF2p0m8GQ0}zN1niLqe~EL!qDT6;a!|? x1Yc7_e4-2O>x*G7rPR9CQg(~6y&m%U3r^KTK@i#)L~H;6002ovPDHLkV1f#3IHLdn diff --git a/TMessagesProj/src/main/assets/emoji/5_188.png b/TMessagesProj/src/main/assets/emoji/5_188.png index f9553745b4dadebdc0115dd27cf5d9780fb81a47..ad0e9e83c469fa3750f296cd564641ce329748c6 100644 GIT binary patch delta 662 zcmV;H0%`s51g-^;B!4PUOjJcja7@X~(wM5gg_fzCo}#S2(RYNCjGC*GrMsK0!obqx zwaDAd+v%pd&mU^L|N}jWwj#d;kCfD@jB_RCwB@)zNOHFbo7x z9LN$o`2T-*jgc8$WtYfcTD4C{Gq~4XmW`ILQ!9NYdZDj`e1A6Tp<3x1=+d=UdYvL-D2zN|$kA1_Y_EtS$0eXknou)L@GcA^ zL$DdrCA!cXf;~s<1xA9f5hpIB(hCAP1YJ^uPZ)=yOM-|TE_8h65(ILb0`5neU~$35 z??;Y+A--F5$$t{qt)feYz+R%umL-q_U6RDug$rc~7>5bNULJ`y82;yh&)l2<;=lHz z$1CMZi4^U8+Ryv27{1#%(e4y$S^a0f3~R&DWmd$IX2iCy4F+!Ej0oT)=no9sk2&Gb zm10?L19!d9l!(U(H+(N~*VVdAh+DV_kCq|>)e`AbWI1&uv*YI>!Mory2Le;aDQvbIy$^SNBv{8sxgp277IXnIAHIxOi{JGOf$8}7 zVqMY%htbg`p8{Q26kSq8e}-QNi2K*?;$2bN)m3E&;^W0NmdM zqsV@p@DDT-nrMhZ6|H$4wtY&htiK)}W9dHvM`%^~{K->rTsz)wFV_ z!O*`Rm8Q;6S$~+*okFGHF$tO;sX>mihb|AJkfo*xNsogvn~Lrgk9fhL%%&ptdDHQe zVLr?|E$osnn$q%4?;m?;V)8!dqd;+&lSkx;rWFr~&+;&dJFV?pAj-?SzNuqeCLl*|&QEoakp9X_L z0LqNz0lm;P*O@(>K$@1CCc%H;AT64T7Iq29x)1uyB9&bd5=|$Kj95Mu&O>gy3+-%BeHO-kfW^CH>P>5md4UfFjhJS~e!`vGl7vXB^1&@V-;|PL5 zrPTBqe#yxIqNy8dcRI2M&jaPA;Sqy*A5v?&icAkHHXW(KrsqTPPKPH3^e8tSKF7&0 z5`Z!zJ>WN*&UK;(Jeqo`=_HJCd6+4iiWhbvB=5tn7e#8j5W=Q`Fbv4E;4xK(gC`bE z-`|f~4^ToJdKlk}gjx@JP(xo_ob_ delta 2737 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_19.png b/TMessagesProj/src/main/assets/emoji/5_19.png index 045777aa1463d279013ce17d54d98f64bf736def..d997228cce0be57b496e4ee7b6d3818b250706dd 100644 GIT binary patch delta 1786 zcmV>;px$}a`pR|o z91mhh;^dJ(9)mi_OC^{9B*=*(yi6u9PVihSK;Vf4aYA2>GJo-aLPT0<-*v$P%R`H! z4>k#CfWv#<0U8M`X5*D`xmCuy&KMI4O-4chl7)dl_e>W)4KS0@9Pfft7lMQAuB9;|*+@C@?7NM=1x>10} zO+Ym%3Npzb$`SF#`^KKaF?1*IhfL%oDxX5Cl&>cAc#d-2w7v5%3{}^-;5D2Lti50( zLID3eZhvB7>$-QcKg3EX)6t`3n?}N2l8^{szpq};vnj^5yPegoq2FO{m3649$^i)HI}_#S+$<##bP0g3=ilritLdiYQgSQ>tOBs1=*$r9 zkm3fHmlM$6PJh^p%IVXFzATxaWsppFUW+_GV}D#VsSCbc;}G8q^;l9tIT& zHgv|>$N`-#=4t(RHUFW7#p^#0;m@CE%Rm9=I7*J>rl`Cznl;mMJ}-aXli#||2Xj0Q z44S%ag$D5%kka`s9F1Om-~4>BAh&!c0u4ll2(=1GToA=g=Z_DI?}QKTe$SCucC_&a zV}A@817mt5fRxro*O`aeJ+W%*OuQjMZ6HAzqO*|eNf5?a=U8`qy<3Ut)^dA8kU@=D z{?!90ZIx0kI&YRY!hBOZdrxG8_EiC&O{8aEgFn8$UCpw3;$UMYUN3`u8B8fb2uRS9 zAT7h-tJkZgtlbsiM}yEPQ8fvX%2_3G8h@#WP>r^q*#~Rvh#0MAHV6ULNWo;|oYk(j zZZM}8B+6;Z17}T?k;hDUYQl_~$ccsQ;7GVZS7t~{c0+JWq2gSP6`)daTFfRPLUaWKSLO9~SH$cYIOg-g zOobS%&Og?NdXGWGcTH_O3nIN2$A3h*mVzQNd!es`6Nf+rCYPg}PR@#wOanzb4A3G;AWYq!4f>EE37Ee6vxu$$zV?E(B$Y z_mhwbxMGmlwP>^le6Z(FtPvQgcp}6XvDmkS&_WY2PA2-65VtPzS+Cm^l?jGKo+M5C zFGMnkp#7Kf(LyGkk)TY;MWH_!p>EPRB+%$vi^OFQW@CaT>D!cE7=4%io*<*;BZ4N$ zLc44Chnwt3AmnCK|6qy{aev;I$mlVAT zRR1%9=X!RP`Fyt6N*d&Bthf6^`@KU`?5%tLbI$YgmTxwj|Mff*Ipt!7U-@=F&LJK9 z{Jce9RO57msC#g$yFc9eb`)xB^OW;@{cxN0dfV4X+%EH&AYoqqOC#pfDGqXzIgT^V c;@5xW|HNdlSEHPSEdT%j07*qoM6N<$g0>Az1poj5 delta 1786 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 delta 1805 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 O0000oR__UXdh+rPub<~%dmYHrF) zP|QqM(L_+ZMM$zpQPAr1H$t{NM5kL~`*bo5$b{(pCT{cm*sX>R^=c&9;1 z_*h-`Pg3PSO1n8fpVQ7fq#G9K|s5qpyzvgp+rNen3m*ye(QjN@r8xrXK3qgZ1i<=|E{s`Sy$p) zVZ}W`(N%BjB1 zkd>a(%+A2k-kPMcmcQ%B&C#ob->+SBq;`DiBVbt8?&419-^Y-_s!q|FcWXQwDs>a>U($|%ThTPND=$a<`!L_%Wj*hgb zsHni$^78Vinw*q^gP@I&X}QdI0002IbW%=J00tN;GXe?_2V$qn<<6{fB0zqi_@$^FqG=|NsC0&;S4b`PTpc|9}5dBLDmU|NrFvs{GIYWSNbLXW?*CSB|BU~c z)PMbk?Zdar{`xAOQDp!C2CGR#K~#7Fgq2rAquLh769UApph&lX%BDw(DG-cIFe*+Y z(|hmp{on6KO@MgMIscacYx7&3)Jm!&4YYyOYyTe~9o zKLeTsxwO2zxwM7WAKIvGnqgUn;{|bN7k~Nx0DN(IZ=dIRNstfL4(A{nM+yL{rm4EF za*}8qV*iKGSlVYahRbDIc5Am;HloMC(M;2|ELZb<)wFj`9x~8vO=n!!bX}LzG*c4S zO2M{|9iO8Wq0{YldjSYN&h8)1m$7jSfN3do)amwmfd&{!JjG`z9yyLl(}UG50)HjQ zvz`_^oNOR-#X9mm-lFA4Ln@($=RMWYq|q*R&%bbDPP)9>x@{HKB+s?f=SS;UC5S~Y zbR}VMy@6qQNW&fo8DZz~G>BA(gan(OPR_klv#VhsM=_hbnYN)$_F{*Z$9MPWO{QE9 zuIq(IYLbO~>q&_KBMq%+FeAVTdw_Mb}5h7nG#){R8rfHV_sapbCBx7=o+hR%XS#=w_cW* zZ(^xq;I&GqS!T-PdjyzA)ZTijGFmV07jGP?JFdDpN+II<_WE7s&nHq_e1HFe5lh%t z8Hff6RvnZNq1)NL^XP>8GAw6V#QP7bTwv?ZGd5~f2Nr$(!MD11ZM$GI#cow634QYc z*haIM-;A?&(8{d6by78G-91A-#y}AJk1H*?`QQl#QZyu1>}nLmr!X`poA@1%)Zu}V zQBLJm_Q98SHfG;~*CB6@c7Mx@zpciq)upg|AA6xg+oS$TeHO&0Ec5xoE%Crzc1q+7W66#Bk$_t}Z%&7i_VA(#&@ZA(jplUw4B+Y1YUf zbeMfxY#D3g@!DsZ4MQJj_H4wThb+A>7 zPtPZTl`D$m&Ll8R_kYXRCjRZlQ`}(E=|oYGE9x9sjA_ z{QULx_n+_4g4V2?+8tAEM$P?S~9D3^InyFm!ZNXIAa{We7eSul;l_qUb?Rb*L`I>+&Adspj^ zhq}zthA~Sedq`!&_&siC-apjGFbJD8j7QiHnJ3MVU#vA8!Z3^l`q^98 zvf79dHyw%R=~@HFpvGq80e?SdL5KPmk{yScCy!$s}x5`Gtf%P z0sw$6ks00lb9ya0Hcn$^H5qb!TRN zShsBsqsl7v6@TCNS;PSMp%0!>5G;w&v;D|{xb$Hd z@Hpp*u1=e>2XDTD7@(I9^|-bHPSNyhVoT>7DvE;RIC~OiGM}_tEJstb z)Yd(_R1^U+&hEly?!;yVirTfrGfRaL1Od;5{lhLRcJDEW>ad7lKH1p9peQi7}ynSTcEXv@Qs?G)3VKHgW&}002ovPDHLkV1foBXlVcd diff --git a/TMessagesProj/src/main/assets/emoji/5_193.png b/TMessagesProj/src/main/assets/emoji/5_193.png index 077b7f2f739427f4d5be68aaf2a4f25710816150..0731e224af4ac03029f315ae421b330b02524cfb 100644 GIT binary patch delta 2531 zcmV<92^{vb2<#J(BYy%kP)t-sM{rD%_4K%_tha}Xy>oR__UXdh+rPub<~%dmYHrF) zP|QqM(L_+ZMM$zpQPAr1H$t{NM5kL~`*bo5$b{(pCT{cm*sX>R^=c&9;1 z_*h-`Pg3PSO1n8fpVQ7fq#G9K|s5qpyzvgp+rNen3m*ye(QjN@r8xrXK3qgZ1i<=|E{s`Sy$p) zVZ}W`(N%BjB1 zkd>a(%+A2k-kPMcmcQ%B&C#ob->+SBq;`DiBVbt8?&419-^Y-_s!q|FcWXQwDs>a>U($|%ThTPND=$a<`!L_%Wj*hgb zsHni$^78Vinw*q^gP@I&X}QdI0002IbW%=J00tN;GXe?_2V$qn<<6{fB0zqi_@$^FqG=|NsC0&;S4b`PTpc|9}5dBLDmU|NrFvs{GIYWSNbLXW?*CSB|BU~c z)PMbk?Zdar{`xAOQDp!C2CGR#K~#7Fgq2rAquLh769UApph&lX%BDw(DG-cIFe*+Y z(|hmp{on6KO@MgMIscacYx7&3)Jm!&4YYyOYyTe~9o zKLeTsxwO2zxwM7WAKIvGnqgUn;{|bN7k~Nx0DN(IZ=dIRNstfL4(A{nM+yL{rm4EF za*}8qV*iKGSlVYahRbDIc5Am;HloMC(M;2|ELZb<)wFj`9x~8vO=n!!bX}LzG*c4S zO2M{|9iO8Wq0{YldjSYN&h8)1m$7jSfN3do)amwmfd&{!JjG`z9yyLl(}UG50)HjQ zvz`_^oNOR-#X9mm-lFA4Ln@($=RMWYq|q*R&%bbDPP)9>x@{HKB+s?f=SS;UC5S~Y zbR}VMy@6qQNW&fo8DZz~G>BA(gan(OPR_klv#VhsM=_hbnYN)$_F{*Z$9MPWO{QE9 zuIq(IYLbO~>q&_KBMq%+FeAVTdw_Mb}5h7nG#){R8rfHV_sapbCBx7=o+hR%XS#=w_cW* zZ(^xq;I&GqS!T-PdjyzA)ZTijGFmV07jGP?JFdDpN+II<_WE7s&nHq_e1HFe5lh%t z8Hff6RvnZNq1)NL^XP>8GAw6V#QP7bTwv?ZGd5~f2Nr$(!MD11ZM$GI#cow634QYc z*haIM-;A?&(8{d6by78G-91A-#y}AJk1H*?`QQl#QZyu1>}nLmr!X`poA@1%)Zu}V zQBLJm_Q98SHfG;~*CB6@c7Mx@zpciq)upg|AA6xg+oS$TeHO&0Ec5xoE%Crzc1q+7W66#Bk$_t}Z%&7i_VA(#&@ZA(jplUw4B+Y1YUf zbeMfxY#D3g@!DsZ4MQJj_H4wThb+A>7 zPtPZTl`D$m&Ll8R_kYXRCjRZlQ`}(E=|oYGE9x9sjA_ z{QULx_n+_4g4V2?+8tAEM$P?S~9D3^InyFm!ZNXIAa{We7eSul;l_qUb?Rb*L`I>+&Adspj^ zhq}zthA~Sedq`!&_&siC-apjGFbJD8j7QiHnJ3MVU#vA8!Z3^l`q^98 zvf79dHyw%R=~@HFpvGq80e?SdL5KPmk{yScCy!$s}x5`Gtf%P z0sw$6ks00lb9ya0Hcn$^H5qb!TRN zShsBsqsl7v6@TCNS;PSMp%0!>5G;w&v;D|{xb$Hd z@Hpp*u1=e>2XDTD7@(I9^|-bHPSNyhVoT>7DvE;RIC~OiGM}_tEJstb z)Yd(_R1^U+&hEly?!;yVirTfrGfRaL1Od;5{lhLRcJDEW>ad7lKH1p9peQi7}ynSTcEXv@Qs?G)3VKHgW&}002ovPDHLkV1ir6Xe0mt delta 1055 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 P00000NkvXXu0mjfdfioK diff --git a/TMessagesProj/src/main/assets/emoji/5_196.png b/TMessagesProj/src/main/assets/emoji/5_196.png index 8fd41bfd3e6543b53a93cc37ed01db6a9f47a27e..a7e715e20fc4b8c37824583e17f6de12c0f595bb 100644 GIT binary patch delta 1202 zcmV;j1Wo&~4aEtNBYyzQP)t-sM{rDvi;s49dWnjSguYisK(LRKto0_GBh6_AoThC5)&09CMYT^EjT+rMt@397#SLBZ*=VQ_}}R7 z!N<*(ouk;`=Fr*Vg^ZMKW?xTHQm?tfeS?Rfr>t65Q0VFD{Qv(XFhF;2WPf;XtFpFV zWo%$yT*S}V3JVR<)6y3sHENz7egFUfAaqhrQvflAPZ9px2mK)a{-u4G{iI@)bJ_OA z;<@cV{H~hUb$_>)YwrL61BgjPK~#8Nwbj>l;z|$&P=PYW7#Z*woVt~B4#Z&l|NrTB zN#j{I^Frya>38jQ>U2rs*pUaC#;Y>d@4$2FL~`9?KGxJ;1PBs!h^rir%3Krr<(PZ| zam?b(S04C2;|#W+TgM?vc8E&RSH?Z28Ge3lw=9MqM}KKrX388NWC8@ls1D~aIoB+R zfK9=KHU=}&Figryc^Kdb-f9gBjh1N`glF+M*HDBYSxm4k>a<2+1SuP4D5Eabw(afK zvg|(w41>Cv0j1RTbls-(w_${%3{{9cq15tBQ>WhyD1=AESW;bQ2IL?|kr^8!ILAjt zyFSLPLw_yZ^E_ra%oruXX496cU0tg1=-7}?hR%#{IgA8l+&awA zA&G6%KSo$03^ocFp6Thss190>8#*rfjQ`m5y$adcDvVHig3ALj$^`Z~aX z^=J*)v7|mEHNuc54xzfqPM719)zx9MVa9`s*nbW%-kD*6p%hhOYz&m4N~AU3JHvLx zs5N4QF<7>S`3|#K7V9($v4*yEzjAmwbQ-rt8Y8}^8tDv%w4M6D4H047f?;{g@Om2X z;=3-}Q}e<&qYUCwN-Zel!kEZc8%s)D=WioJy!iuOa`DC`^6!iaW2kfTw-H3u9Px)z zAAiB{E^^cl0{6d+P2v{!GS;v=qkCV@ZXSvEvV6TFOnw-C<`nDoNPM0Oy>nP3TCdlK z>J0!)4)SGqRE$2>Ni0rnqA_q!d-a@uEybj^$nn`VL8GGRJ< zetO#FyPO$yv5M666s|M&`@Cq1U(=Tlm?j*lD1Sm$ zU+}lfF*?K-5sl=8M6jdu>|9V>k)%B+T02% z|Eq#!M-yBdBR{#4B;B_Lo`6PMgOJX^6Wr|X<_V0#?Ti<>hXKn0MwjDNz!UO}#rT$E z#q~I==OcT(o!13@2wZoQNlnQ&Q$IK!6%ac135g?N0Nag QK>z>%07*qoM6N<$f+ECD*8l(j delta 1698 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 Xk?E_$JF=(`00000NkvXXu0mjf{(P3J diff --git a/TMessagesProj/src/main/assets/emoji/5_199.png b/TMessagesProj/src/main/assets/emoji/5_199.png index 234561e4f6808915a2972fbbf04005aa855d4c2e..a2b83c49f4cf8d872c643054e518dcd6216edc1a 100644 GIT binary patch delta 1832 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 U+iPEFp^Y-CE@L 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 delta 1904 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 Vf~PhK^*sOp002ovPDHLkV1mN%ddC0& delta 1486 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 Eg1}yCTL1t6 diff --git a/TMessagesProj/src/main/assets/emoji/5_202.png b/TMessagesProj/src/main/assets/emoji/5_202.png index b0f7f6813e694a69f37ae471854ee1b3301fb752..e758ffa17a146524bf8965c2fc7b798dd693d4fb 100644 GIT binary patch delta 1709 zcmV;e22%O#54{bLB!2}^OjJcja7@_R-OSL`!_wWr(%;70?5xM+rmL;++1JnB=(N@J zxYhBc#psi^+o8bW-r?ok?DpsS{)wy2ps~T=@%a1x{>9DHq^!7&mY|T3l!k(auD#BF zcz1ViaGjl^ZfI!1#mdpu*yrl)v9!2pZ+3x*k+r+Q>g?|L`G5QK_4x4d^YQTT{Qdrq zgnjk(_4WAts->fyl8U*nr1$vv`}_Lb+t|a##mT_6u&t-@@$s>;w3e5chl`JRe~N;F ze`IB5T3%mfU|>{QVNO$7OiWH=WoBDdRDOVfL`6tPOHFBOZ9zmxIzB^9Pf;r|I3Xr2 zH#$8YAR`wT8-Jdbi#$I<5)%{+4G#j0h;#w zYSsU~mu5rm4+evNzsm#4#^%~LkXE&^wY|MP=qswG8xT!3zlXHy2=q#sRDkdAK7x`p__YpBmLRG@;Ij8wW|4(DX4h#7ahE8;uWpX*IaO zcnRrqC`Urix6r76MAZ5q%y*_SO<-A;W%SXYaDRnD9BzEDFBNFRoHIGjDGjqMfutEP z0TnF78;uRAw_ZMu`eIul%tavq0h7@TM}iOwmT>l}w|$Su9B*2MG{Zf1c&ZYL#UC4%cI7=#6Y5Ni}gFdQspcKtKXV0Z)*@;7l-K z=o*G3tqF;r24lPrF0A-clpY_^qT3Pe zN#&14U=$Q47-26jljRU}Fw`+vw^I}SM}Pm0=fnr%9RNuHfolp#L|ub)yP|Dva>ApJ zfJngrp%X<+{M(!99}rvtCi#fi$D`^)f=@L6h_DS62uv9PgGvHdXJy2}&{Ex3RV1&U zMLBLt;OK?YtqF+g-@`qdI5dn_pu98id4#({gApkfZc{*1jt-Ca9_ERccY*%+)_;18 zEEjFzuk+;e@YsT3gkk~0iNGanxo8N_;O5!s;hu(_L?u=5Uuis2fvAg5&cCOJhrA42 z9|?pAwj`EWu_GP@}Wjlp@`jjixB`>pv5SX_ zQg;5fj-ZUw`&KZkHwj{$T0-znP7e*=<8^T3B>_S_QW#qv*o1jDYGPii#YOFbrvk?_{%*8~M;T{}lw65s>0pB@L1o5v(Dz za_$WT{ua2vNF!6fHPeU!*Y!Ntb%Q9v_00qTAz1O@cA{tWdR<)JOn(4O&HV3s)=*IE zq2}b?Y%Fv?3j%5>2>+qmT*$t3Xf2opJAdl{{zHpfpR|mRUpv6LjnK`QZ@qWW5IRO# z9xeS2n3PMx))!O@?jH#)IcN&F7f{9(Qx&uXtieIN41rJDTEO20U}}t32W8at3jr|- zTEdhcA|@0xW8|WSJT>(iynLiZs#)O)&{3|Zeg4bw00000NkvXXu0mjf DFiL7` delta 2014 zcmV<42O;>q4eSq)B!6g7OjJcja7=P-SdWj6ke;oPf>1U(KYx62=+@h>xxdxX(1Cq$ zwykqvVP31Pu~=ACfrg7*PA9pxmpeQ^fO=pxH#~)sox01~dXcF`Mo2X@G?kyIXl7$? zYFMePsf34#h?kBNTUSzJUQ?W?vzwJ( z-R$)b4-v}Y@PCAkn2m@~i-Jl;OjT)eeSvszjHJG@$=mq+{Wdcvp|{O+ZDfL;yv)|$ zfqFNZ2$lOFLY8)QvggH{eQ6jJOcazyJUS1W80eRCr#c)@M`OSQG}}#aT&~ z;}S46kPs5GNjAx<7uVirGvj_z6;xCN`lWG#blN(@jNezVzLKKI2a;L zN25pxssdFry{hD!G=Fx0i&>6F9ti$K4R+}=5y(%2>hXoRjsIRS z9Rq^XgLe!nP3X2(fZh6~gKi$|5XoSGJdf>Q(1vUE@LE($Q!mCV%Kc z4GA^4o~FTH!792pPQ3%hp+(SK+bCEr0^$H-($%(UbE`tMoCLriP>ZlF^LSnjB-rMh z+JRI%>_p2kIT#4QSJTg^0-PzUIE@4e9R%p02ymVlhN`K8e~z#u9O-H*IUeImhgD1# zXb|!spdqMQB7p=Zv2Fp7^YioXzkh#7cfH={^APs~Ask>-0kZcVUbdMKTi-J0=jXS# zwsZ^P_*2d{ZKZL5P?NmnesS5++1QF#tOHc61ZA z=)mkXn}ufl@RtSgEffl6P`nm`|BP?7TG{O3kKYlO76QX(3$0cmdpLubEr0m=g0BU{ ztQHX1!#UQDSqZ)Zq#2JN{;(p@AfXJKG!uq=>#oD>K@f2eXh(H{QiU24e5x>eosddL zz-0Q7Kn-`1P=L%LGH93Am)tYjjJe%VjM&HjZtseQ)&pbUxXL zbviOtySo;9ySqrx01zyR%y*$L^?T(q$91^k8f6rqLrW)qSP%!XvLvNOlZ%PKamBqM ztO9+veJTMhAWcXdVzvu%>$NcIr~0Gb1tckhur_3d@ZI()g8F_vs!7lh|^x!(r@gvq2=PLHwD-f+n8A5<=V_Z5IZ9Z+;a z7aFuA^#RF2hg|u(%d%`~?`;17h=O9M$=+w`bmFh+x&#IgynNBSO7R zwA2))4>&<=()D^hB7eagxn3@RJ!VTH>pQtcH*!GGy;5If{HNJ2T=sgk8maf~_S^_f zQ7nnY-8%sh5S=hz=jTYZTCGbTGDjbBc@V^Li3b6q5I;4+npg%QB7KA}d+617=r9&b z`{ydLj|jzx>q30`biM;ZN_|4ab+?2{_-;W^2xE(^9us1xKYx1jPw40xjua|!n>j}T z2pQ1hQMB8yPSpFUH_KnsH)4^662;4m3Opp@*1I6y)g>g9VGlu86icE47zsm63G$;s zD2ZaRf(o4I%ZN7%kd`rzc47Od3S%}1W0Z>QnISLEUQ7p`J>v}o;TkD|h=gL1W&fJW z3;3C0jQ?YQ23JAomi90f2)6^r@wxjr^vtQjwUD|%E`NFR?DdA*y}rKgffoo(R~`}S wFa0^~bv>@-FIz4bNhp8&w2&?mKI;GEKfyuG`gQI%`~Uy|07*qoM6N<$f_Np!>i_@% diff --git a/TMessagesProj/src/main/assets/emoji/5_203.png b/TMessagesProj/src/main/assets/emoji/5_203.png index 038724ff434a4ce28ed70a359e7c0025f523f52d..929a394f3bc5e116142829da09451cbed1ca5a74 100644 GIT binary patch delta 2013 zcmV<32O{{}4eJk(B!6g7OjJcja7=P-SdWj6ke;oPf>1U(KYx62=+@h>xxdxX(1Cq$ zwykqvVP31Pu~=ACfrg7*PA9pxmpeQ^fO=pxH#~)sox01~dXcF`Mo2X@G@h@%Xl7$? zYFMePsf34#h?kQj)qN_pQnq2O^~a}rLVaU4-s2eQe$3IoT#&#m0sQK^^J&7 z%Hi;Yj+l#rN`Hc$yoP^EMNCy`a(#h#aEzqBvdP={{QaS~&2(*K*wTjy3Jl7^fO?Xy zyRmVt%kGhgOeHNjW?3)H*59$HYo?xO=HsA|jafD`Crd^)fqF>7xpzyJUS14%?dRCr#c)@OIqNEij+jaW&R zaUpRkX_T?(LO5Ei2n@=cIz4kBCVzuK152L3Yj(SX!y4wbUVdD@zE$R`F&_ z%w!7H7L-6l)^5H6(*7lV3-KPPxxGcqikl)9aDOFIurV32)x-ht`B;`PAJ|gb>xHj- zJJoor6|Z(~y?~_aE?7i0!!WjFT*1{2!L0c#ux+mlzuk{09G4daL6W3+2b%D(h$IsZ zBf&ow=&b3kQrmI`8bmk_zP_`uv9aU1zaK<8%33pC0D+kZEKSpMq{$qXDkZ4E1K@HH z7=MLfgu~@I^WZRsO!!0>d_kJdzA-D|4)^4Pe(qRs%~8g~;8&`)2O+ACk_N(IA~;|6 zDhGW<5FAF|4uce#lhBFQA&P`7Jz6j;@w(JIIB4Z}j0cx=_%*@MfgM>)0<%F0F(()W z%CQDpp$pI8XOaL%m9R;ISLjxiuyESjZw_!BilZdcA|aw#R8GvEXlt zC({D`hWLZD8b$nGA0~+{_*-J6pq;3wwhA-|i^moArB}Lb-LFr05cp&`T#bmjkbgx& z7WUIL#3qcQeecja;5-@x!#9nB1D`&W$@z z;|?d`LPYWVd~j<9*|7j;$|?>cK|u!*I;aAiCzhqNV<9+4S`zkT$r~RG2(`m1u80f> z84%DS=y|}u*MuG+)!I~I;6T5P^Qz-C!i_fjmMgcn1bmFH4aTY1avbSH~tBX9JySju? zpnJQ42(3k`42eO^WB3!`cw@BzQAx^seSAYKm&hOwzp%OR4T@-+j z0X-f?d;A)SO4s{p`DOB6%5hL4cQG6TzY;O)S&(llG7<_f2R|oCc}WF~gdwH`^}!(I zB`H@#1@`q}#L6j1&6r2Cz&?zH0q2Khi^_Fu^i8Z2ztCg00000NkvXXu0mjfw#~t} delta 1739 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 iE?!FjceS;yjEaVXesadYiFtEeQ%5DcxR!2f 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 delta 815 zcmV+~1JL}N2b~9yWeSLhh%PQK!<1+sk#8D*|4BqaRCr#cm+P{mAPj_8MFEp=Q{Vqp zw+YPd+5O{z)8&j+Q{`8k4utX7N7lIG@Xr1kmHph^v5PR12V+WR-9liMp8{C713-*R zgxn0li?C2hKm?K9j3ayyrWmh_7!o;#<1l9>lyu#NNgy6A#U6ngEq{6 zE=;Lhcg96j89Z2uV^I?T+;>tNqh0YL)DS4;q87($$NHfNwb2vh!9=~(LWM2UrmY?wVTb;gCpBqk;vYKmPoi~@$1l9?c02lMPU-~(SQAjmO-aGSQZ zmy)6YDd$j2?9y$N48;&0T*Vg{aAolhv zz#Z%1&HM6D#wXJ+d(Qe@n3)!DhZw|*=?)ga8+LK_8w~U|HU{n9SmT#^R!SvQ&|%&g zl(E)XAuQ*9K2QjOD}qJPEc=#!sjl?|1|&fr2UseTD?;9kbjA$^6jZoVDv_C3RJ(f{ zAHu0Nmm5NpM9TFSQb>P)d1qXSMA}&u%ay@Ed0dNOd7EzTd;+5}cZo!L^p^{*E`a37 zM8ZL6H*fPpn|qan$8qJWs^n@!t9c*PMw^RAODPGT41w|22=q3mtp-AWF{ujFAf;$V z^zNbuqOFL^`9N~QJrRE<{d*w7ozfvt0+d5&XXkq{9|(1bD(ag3=8LU^5kR_?)D($9 z*vz-zL(i`e6{(41;CMJTg)|BT00_Gsd@0x6subNe6Ms<6aW+VRrU;Pn%ho2(1D#5k tp{)D4J=?kb88~(rVy$r+&Y3?C{szRMOz)zaw9Nnj002ovPDHLkV1m^|fyV#< diff --git a/TMessagesProj/src/main/assets/emoji/5_23.png b/TMessagesProj/src/main/assets/emoji/5_23.png index abdf3cbd093e515d16058b4be8d2a7fe9013cde5..57c915dbb923f0706c854fc01a740308726f567d 100644 GIT binary patch delta 1939 zcmV;E2WDt@d>~C=EW@pw12g)QZ-{Rum z3JT^O9poq|nIC{%@ra4TTVS@Hp1!-f?0S5Y z0RbByrkkAks;TP)1f_w3&tGGIYj4!IxgQ}RoM&pF(#t86K>;d%=Sf6CRCr#cn1_${roT;31*5vH$-S>Zw>u!i6YVEDFXMd@rZV~vZiT(kVwD(g>9kQczCbdW%m^P*)I}~Uzm`xe>81|zZ!SK6UEI`WPW?xlqE)G(K(8gl+C zpgNv)?7I=%hxt%QrDRzm$#N=HIG>GXGo9;jJD|}Bn$%E(9MmCYfKWpK6gZmz!D!pP zo-+l0Tv!uVAr24T z@5l81U`2@e+JR970r{o=>J$*|39cWyz_#r=U(VrwwSISaaDILOx+TH;2C;M;7za)v zyOh56PxrEp4M+kY;m%mj9S9l^H2ZR+>2w9QrrL9&+H}jR{IrD2gLkd zhx!yFm|lL31dM<$7N+Ce-y1-xLqV-xuVur?0%J(0tzH|Ub;ogCZgmGMAe0uN!kGFhrYPY8v8zE>gB|ZU0@Cq| zaFit-EU9jn;FKaM3Um3-1XGz3l7Qy`!*={6cKoE(gBnU9%o9(JLHsS2L_^eIfqTzM z$mF}@x^sNuyRKRKbv1Z!a_rt6r=t@uC1qiM-*M-c)quUeFQww=pOi37YhWpOV5_81 zfklCsb6U(;%ox)w#dH(W?j|}ygokriA3)!qakQ#FV)96>;a@+XRvcmr5r?~{XHqxK z?!aP<@yB7gTpoV+EKTLBCdTDMLj%V5A;iN+iV>kDcMt_#2ZRPz;E&BprCEMD>slIr zpH@K4=K0doxb+<`3_n5)hyd2Eu!A_&b!E`S(hWcW&)_#39 zur%Yg(gano3d_4LWA<_0)qtRdrkj_4cN(JW8X!RY_6qe^7nd`j_~U?X|AmqRATXu^ zVz(t}Uq@Rolxle(PN9emm6F{HfC%C(DFDKQhA6Z>g@r&AgG3@?mtsOF@s?z$r-X2Y zgQhML6k#m|8SYeg&See8L|0E^4Jjg`t5Ovk2YHst_>`klS_?df$x~FtZdbE^x~@Y{6)eNLx<>uAL~9*hlg`o8#tX&hGqyo!`|(Yt zKL7#*_y-i;Zxnm+1Y;T&n66rkHN*#7FoooD6r+I*A_Ef=ClNtm*b+4%#Wq>k?Fs~& zUQXf3Fk?}IK(>2@5P5mK$$YSds9{y1CQQ-QZl97SCg?Nj$ciI_TB1^aS4B?|;Sqvg z(!k*tbW@awZTnn~5?YK{SE;9d06nFqzKDbB3pMpQI<yxQL>nyw2u&aY@h#M>ZDm+cFSOYxo>&%-kKQOw#T!w5l148hc*^x9K$mJ%uf8WO4?Lux-u zn&L*Nt1RlOoP#Q&o@&8=7ZP|-)6|D;qHYr;5W?m8RP;@zn**pKz=vwAL59Wx#}$?B@jf33Yn!fT)q+;E$cT-QxOK-_*$Vf zN*Eee{p!W8ZtwxmzpE-9B>H)OqcduWlpl#-K#^+O zcgkx2pmA+H@@b>V$FuQl@-}t+oIrFY?Ki5|*&urD-dkmFZsc?CUm~P`Uxjq?_9{Nx z;tQ?N`i$9c3lOdP=FBOaoSYmRzbow+rWK^^{}uAtpTDX1Km4DOdiU<#e|}joI33OW Z9~2jiFraez@&Et|002ovPDHLkV1n>9qWu5> delta 1976 zcmV;p2S@nl5abY$eFnuWGrk`sk%J_E=UH6XL`vV{;_Pp5>t<)x2M5X|E#@5^-wF!m zG&AHVD48ZL$TT_3N=%9>FX-{`FMSQ3c^uV=08Ac7#+(#LW3C{!9z!)7Z=*w z+qRyb?0S6hh>5LMTF49xR~a9wHaE+UlF!P@zH@i8Xlv1>r^8!dzPq}AYj61*s;TP) z1f_w3&tGGvo1E0QxgQ}RoM&q3YmgI@K>;d%yX7bAv>$=Ioa<8At{gjf)^LiAQM`5j2tzL0etJPYq7KY)7 zaJmVM1WG>hcR;RCHluRXUXyrrq$-${hB0MP$R!~{9ssHjYt^gkt7_;*80+=g`{Tcn{_v0*Du&XYh1F^p@~5Kq3R%`e!G8f%!&%3^9pOIA`(h>| ziUN};W-`T#*=RP?6&<$&jYb$!Lk$Y(L&$+pBfwP+r63qhdoppR;3t(mYBnc-6ML=9 zW-~mMQONE_4bB8K0Rl$ApJCgvZ`ZcnYW;x79O1`67;UB*DDX>9!@9h$k1(uw2zK3w z5c@ms5sHLp*~@hY%V;TK{PJRz-^)3jQOE&Mvwpi?GQ`p0+x>*z9%&o>{9;PKikVYHjo?u!mY8K zI|v&0tonVV>2%uj9lP$_&2MozR@495&+Vo4R`Uf=2V#Dwqd(aQrtiPT0wYis3)6A# z?hKIXXs9)rv}~+Q?}^8)CWJ0ge~TvWmgRoGzv%y<#cI`)=YKA-itI{%5L++97{Xa= z(j;izaa>oix`P!6qFF z?j|}Wgh#cjchL7Is#MhnN*)k^_4OTTr69HlakP7Srg1)Z2Nr&T@-Q5a$HVWQrK!rQ zLh<;>(7^aUL_B<8F(I_{4x*^*KxnXn@=)1qD&xoVuB9o{4OFRrTr53JvA)xV;WxxU z1bBAE9mJWg%Y!bpZU6zsb5FH4mBqV2lO16;LrAOwV%Q;!=J;m?^ z?1X7^&ked32pS;{wg~Z<5FYIyC3xIGEN45+FPvG$7m{yWM2IuCuK!OXOn`nUK2JS___|we@~+OjbksFP|TJE zrmL0`1My)CTp{sO766(sA_EDR!o&!&L?cmCLSmEkx?PTtrthbCgMc_rASB5v9C09S zH<=Gx@E%qhHiRj;+U>KXLJ9edO=P7IgN;PRRO6X{62fB$xQP(MFXW~;;oJ6U94Gu? zB&Uj*`T=IjhWgA8sxNG)Pw}a>lXw~!91(A{91t2u1jf@iMtEA3aBCS~#xXBKn69+X zEiNQyYCH|c@FTB^l3|QsNdh6MCE;bJ%vo|z4q!<1%MGdhEUEAtVN;djsfq=35zkZ$ zzA(XmgPNw^ZxeN!fWQ&1a*&B;YU<_yT?F(}jWuLwQXom&1k$2}yAwNs5J!9@>9T3! zz|ph-W%$&BAkbnVj1vTLq9U`jhO4ajM$7vR)0DXZBVWrbjT3H8IsR#^hU6+iK0Y}8 z@+;))*sD2yaQfBjU0u-&@4u_cUy*8IS(n&Vcj&9`h*;=0CqIEY8N2{{t}Nk_;76S$qHh002n` KMNUMnLSTZ?o6bZ4 diff --git a/TMessagesProj/src/main/assets/emoji/5_24.png b/TMessagesProj/src/main/assets/emoji/5_24.png index 4718acbd4c3838459e92dfadfcafb097b23aeca4..338c64cbb56d4f683931eeb25f28f17ed9e2f60a 100644 GIT binary patch delta 1230 zcmV;<1Tp)G3Wy4jN`FU2M*zW2fP#TpT3Sz1Q9(aIO-)W=VqyTeNH#Y&0LW1QvqyJ$ zcmj4VD=aGki8lhCKaGx#Yiw*YW=0|+BRq{))+#D5(<`olK>z>*H%UZ6RCr$Pm+5-qI)4yES&Wxxm-h|GcHjRI zZ?!s>2~L>go4-@7X}Qt#p(K+K@BW~F%Cjs<(&9#Gl4M!_)Apn|9Ok)gTeS++?ETZJ zNdAmTPKS1yUZLrA+DNtjX`egcv_=Lqi?BhuXXXmjgAE{YJxE{~U2!A`t*zHi?O7gVUQ6)twWj%l) zT$KTlh=3^3CbznIb@f9kzd5P$hD->)vZflj&`n^86)*OIv9&`B&|fP)(MgI%l$5EjHR)@3&$kI2o(uFGMN zjjV^E#1*D-kgE#|1hLqK1Oe_lIknMN0A>{z*c>Pl-ArvR!5c=}h-JY`8=x4}UcAyANFnd*et5u2&a*w#yepS>pfE zyCM&g?}J2?bcGTDKO@zAN)eG&j97jg`KO3;RJ{xtKQusCVYi4|$=l17#SqDeI~NVa zMpzAxd+>@Q7uNR42g06XV-r)1=1Ug403rdx0>M3tkH`oE5f!;WkouGmL~}CQhyWhn zsDG3n$64%Ba)IJn1M+jp`f7t1VMAR1`<1TTW-rCAsNjKzGe46v&Y^|XpLR)af2V3G zA|map57{{XM%YMZ{9no8(>cBVm0BRwDbU@bY$(3N#;t$!84Aq{t#KqXheCfUV1ks+U~HteC1({2<>@e);ajDa zM#a;oGUjywYJIYc%8T$Eq*$0YiYv=Ucb*Rg?;=9zY2siFk-kQ>h|ue8^+eAS0Bn_A zF3T@Ky%im`p!Lh;(PL3ng)jVXWk<1GRmtPW!#%rj&WX=*j$RdZ&ku=@DW^SuJ3$1) sV4xNIQVPawcvqyJ$ zcmj4VD=aGki8lbqQ39Sn0JumqW=0|+BRq{)nVXz1(<#;}Dw0r8jwK}$!emV~nPdO} z01I?dPE!EV<+*vYj9M_A><`olK>z>*I7vi7RCr$Pm*;xpI)4mAU1Z4$n|hZ^%66j!@6sI?eqbNy^KW&fF-7d@8wsk?Mvbugb zq|x`7=&);x;tCbl;!duuU$)UxK(fuGo#ZI)mDz3bgwWU50*-ZA=DB6@Bv*M}mb%6c zt8?=B0OS4Mm48-S<7E*`3bJ`+cKdz2I^1MmuzQ!4x@6^LF0wv(m2d*>_BUqYLi}s# zMe-b;1Q`&J#+EXjdV+JcwB1X90+C>rq}oP8IM(gM{@e$(@eqN-88~wk6SejP#s{H% zs?x|-4qCcxep<)Lel@I|u-)=LUNk#9P0jpF%`*6UI)4d+can(PVZ4=+Db!vw#jMmg zfMN400V1-Dn9-*0b@S8Uhcv4b2zeEG#Oc<;5-Vei3l`B zp&LM87k@w;H^*&o(G7Ic-PBB~;XEqh&O@iLgaHm}ydUBsAV63U!!*v_gghZPpSzxi zK{aX|h8b6wra=W41_)w_3k3q)cgRx%1YT~M=22lIK%qo}3m`h>5fu<@0tmQn$TsC+ zpxjLpPDLs5&i@o4;Ackd5y>VomUL1u%p0E3DSrb^^6Eo3!`?IzLh9h6Pd3K|G0*rt zdR62>$@`!XGhLxXz|TZApHe_1l^|wTv-}lt_8OO={D%ezW6cV&lDfSNEP*IStX(va z7!frx*5H667sm9_C&HY3W8;&L<{?X501*LU7$F_v!!vjwygU~OQXdn7Xu0w>JV3@5 znt#>jai*J?T%fp&fc#u)ycm`s49DfaU+E%k=A3TQ3La$S<#!5SHfRy`hfUO*->EX9 zfQb9*Q^wD~5jK*P^^2r zl(y;}Bldi!#XGJ0<&)!Qyy-pI6)xZ2-q3Vz3o2e;UoR+X_8tR~$R71s)FXJ7;ffYT z1;hvDte~F((V@`5<1~Rd?&K&!d(Xki08Yq{w-1_JVUWAmiHeNRiSO59u~DA;m4CqC z1N0@Vx7AYcQD-RtWWyC)mU+18D=D-rwB_ebFBkfc0wzdt2F9J-s`T0U!qu_A{jFQ) zmPY3rLg{l@fZ96RcpX!I4ss&QYlW5Nqnl;Bly?yz^fa+EC6OK@S_Jpjrh1`g2>|Yu zoX^XDfcjp1hfM3|^RvgIs^TyFFGyvuTvgHY$HT3-p!@4TmGg6iHCuT|d`>xR<=Y7& t7={3i-5#RkH;=k$dhklqpFHaR)Bm-@36w1Z|APPk002ovPDHLkV1lVhNs0gf diff --git a/TMessagesProj/src/main/assets/emoji/5_25.png b/TMessagesProj/src/main/assets/emoji/5_25.png index 7ddebfd674aa7461f0e9fafd6c74cae21e982358..51d3977d445e35338ed999b78719c312cda02312 100644 GIT binary patch delta 843 zcmV-R1GN0J2eJo{bbr**&EVbHwXdYXyRzfp+?kPup_qxWsG3kuN2Q#O@K}%j0000E zbW%=J0GLQ;`TonBiXO{eo~1p5KCJ)%0_sUbK~#8N?2+4Q!!QhnmnDWc51@k&ZMXM- z$dTVvEtE;V*zWr25X+zsLq6tt^X7B+$+2P=WmS~HXYx3$v43J!c9~G@|E|zTu`YQR zR#rX}g${5nYhGN-aowt@!TL%~-;1lbq$=tmm98@iQIw1}kcZ;%6;wq;QKP8<`&PPy ziXy<444qZ9A|9p9D+=;KnN#Frqt*)$lwm`o?Z}Q}D8%;V9yWC-!dH0omi|DIrWO6U z*=6TQkxoSi1%HJ$5=<%1B?J-{J3~RS;)P;;PQh4ujxpaYny9)83jYWvx_OEl5eEuQ zU%x7T+AF)=wqY0w$G?G*_OMP`2ZIDsI`99G6Dxa3maa{)n_cW9d1T1IF-2Xt?YfS` z5aJi~3!AQMKk8rviIiXl5gJ8c#(P8nV!U)Rbxq+g?SEPdXd%)JF{r6O;&eKx=USe_ zQl12d&EYT-0_r#&2#|o95iANA@p4bjZ*OmuX6vCR3e^1E0Hg)~eu}Af@n;K_?Idjv zhy6T{;8hpK&$~DY+Vva?5dnw!I0$K6r+|0;&>|O$LPA$98cG3Nj>ldIGg3_rrIaw1 zaSp%5%YWiVCv3wQ#Stv8vw^hWU08Hwj4%|$Q{d`S0oGx(lvEH5^8$kER5cfF4qhIW z6oOzK#)worM9}924!Gqi*i0OT^Er^Q{A|y$UhAZi9ATe(!AA(>;-MO&YOn4Ag`cE# zix84<$R;QuUKh5#nt-VqsY-ZB>sOjWj4_BU8GlK>AYBshRk~u)8wr{Yc@FX0gl0EA zFDrS@A%ygKT(S~SEQY)?AD2X8jZJFZ0}qnc>^d#quPg@A_&8=pZFUU=q&bwj>Z4ep zSd3Q}Poo*~@j>Q+)xvHe=GRAAuv*Y+lD?Yc`BAnm`d_FyhV&?`vzXeA!*g#A@fq}3 zSwzQq#nc<^o4Ca_d$-_USsZ%btED%hT9+H@*8av~+CS|JE;l?~w(eiGyMK)T`~(XA V>Iec5S3Cd!002ovPDHLkV1ljMk1zlL delta 844 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 delta 1787 zcmV zNJmXf#=farI4WUWQ)xdjn{Qr_hgtmxuv<%3`$lu)B^6&L;qZN_f z9DhSeL_t(|UX7QBLgP3Ph9Qu0fQozXPVI%Z`~DAh|44G;y)1B_6~&HbzKmpL7vJ@n zD8`fVmrOKwe_=8n44#R{pLu?yz`?PYsa>e|#Qy zh5-%6wp|oOmKE7LLo3i3%t=NRrn3vi*njAw9GDtLBSv9ULpTi$OLTeIBcVYZ1!=*` zCtb&|WG5f7xde>?r%|4}dA`I8EsrqP8_aX4PImCDR`Mw*rnzh?&TE2KP2?_@uIolo zYltFT;ML$8RI8rs}UhYDtLp`*WLcO+HOA;Z>ryJSI7PC6{?0K41dsf z6)d3D7z9jmj`Y+@d9;jn$L;6auV245#P8p~H*^4e^!B+u?hwKe3JvG7Q`il!$spP! zI;menCjB0-LtH!Qe^;+_;DwX8Zx+WpoTZXKo+RI+cAq_(V7^cA(REHU%j zy{Z8Y#h>}zWZt%`ee2J}*%Ecdf`6e_R5d1-EZhSv!y6=8gJv@6Al_j3#KP{}MS_%0 zG1Q7?p1kf?+fO*OKHE+}22vyor-Fi!;vW`QB6nsH6mS@e5m7Uc{%8!ZQ20)66nCVk z{dp4Y4sgI?G!S**;vygeek)MS{km5L_dKQ8^P^&Q!%lK zOJ6{SgcP!;$Vm~s!hu2zdt<_hVy6XEL#N1j%zBF1GHNltgN86kIJ)dkKt({|FFYsg z6wD}GI0%w-CUXk2q6LvM%zBE6QTU1Z=N1ln-O_3S87_+cL_D9$Ab$zkEfI3jkPlD< zDdx9|Wa+w59`&KrE3OgfBB1Cmr*!6+$r6qWCV~1sOPYl$!h_0_&BGVHt(8hB;DF?3I)fwA-Ud&(LuGgi@N>Q~ zI7nlviXjvtojSS>4dTARBLn7<3La=h0EJaK+Ci1{@yvnNT`L1W0 zh1fjiH{sKvP^TJPg_VE+K*5++1SJWyM(`##KP|;Fxu6tz!%ZM{C1dwWQ3mf8L31HX zO@G-^?yN(}=zlL{$~U3lJt%Fh2=H+5ZpI7{iMr+&>RQ|c)E}c!&?(9h9T0){k9V{$ zz$h9RQ3hJTjKa3*DZ?(%Yz1S?{tpbG!wG^4A}b2kDeMynWh1Aj)B3aqrws4C=NXLS zOuy)2nm00}tnQ{3r&Cs0o6WhF>Y0eX0KI`O0ebUVXMeIjZ#GtyA+Ou z3YrST(Id3OP)|m^ibkBR4HBwsZ4@k9hr&wF8>~2w?KoyZY=?O){~!)S8o+AA^enMC zr^hMc3bm~&$yjVt;w|I|ar@#b z)zJb=r+*$M20@WcAtvgE456fOB;2x&p=fFy&2e*?QZRd+#p+X0VG?m6a~1wK$*c%s zlp)Aa=U96-fMRSj+_SL4es01-7lG_A@Ua}lw84(ALfrp=jiH#lV2O(L8foiwXiukV z<-UMMba1#{qXzaexdY=Dx(iqY%mN+uep5D5mSm*_f$8Xi2FemQmg1-n*b9mvCWHIo z@F4>aFE0;IPfrg(zpHa|@?Y>(7z)HV6O!002ovPDHLkV1n8_M$Z5M diff --git a/TMessagesProj/src/main/assets/emoji/5_27.png b/TMessagesProj/src/main/assets/emoji/5_27.png index dd47b2cb556bc7e20c4667fdb45885cc3b71c9c4..2d1da8631256969b581c0424817be5f4ff91edd0 100644 GIT binary patch delta 1217 zcmV;y1U~zm3!Mv)xm&G^KX7w(kdl+j%Eh#lPAx7io|>6_X-r*HMw^63bYVuXqKcDq zEqQ>2!l-eai*K-*S6)mj*t&g#X*7#+JEoIgZdWX@muI@2W7NBicwR81j#8+SQMGWf z|C1B}H-9}zL_t(|Uc{8ya^gA=KrO*Upx_lSTOdr9%ac}b>||f&-v9re+mcB_DpV>Y z4|AlZOA>urWmnnxi;(6i`Jvz>X;pu8ffKhI*U&cw$kcZtM96pRe|x6>`}hA1{lf-v zzTf{R_0`iK^(W{Q`geO@sVCKa)K4ap`=Iji;D4i$kc(gYxVgC*4)+~gkoS^i*p2Vk zPlqsT$6@pB24Op{Mg2dA@X(KHaXTchh6bd@QORI>Z5bSWiY<9@G_AoxP!uaZpBHEF z20p_9tfOgj7;kq_6#Bj&1Z}8yzD69{&Yf`kNIQAHIiwz_b%<3&W>M8pe|8M@hY)qG zqJL`@J*|#x{ecPu2^j@J?Zu{2KZGiRhK;SF;nXjF-5khpIJ~Hnt)kti51*eG2eTfg z71XwhL3FuZXkV$7g7_T!AI{4N(tn~ssi<5&YR+{F;FQB*Ibm2JmC*7R^A@n8loqmg zZWZToT2Sih;x6!8T)>gym?{c^O)facn16GD%@)RjyFqXl=oS`JdHkxF3Z37|G@S)4 zAu#rH-%M>oZ%od$32+MG1+z3w@AQhX*_lz02=^t%UXWg;;BYy^B2RXiye)De*vbV1 zuyF-jK8T1osKW~>sP}K0UV&t?V&Xm1LhO?1g)|0vmC$T?&0EMpqw%8@*n3Q`jDI6h zOke?EnEMn=d7$_&mFom&%V0FBI@R%bF~dwxBsgH7F(Ei*RAC6pxSGzn5?FD&1O@Y+ z%r#_^v+Q;=9ycB2y7v+bJet7%daN?&q&?U5TnNw11%z9M&jia<@+4*YoM6V5MV^C# zid#@H>?MGonMO+QkUzdHlsU~-_J0x63>4RbHXMYrKXPg=$bE&uU|>6l>CVEQWkUI! zK{HTf6gi|f=u2CZ0k3u2v6sxkfaQG9vmcC#oEP&Q3Nv7*OfO@Xhxyc`>*XvHVLmVD^d5Lk+v3@X3>^UQJ-7dxh@VV_-BA^1nXq<>4^FYdYo z;_=|VJb%6}X8e5HB+S)X9ia!BGU7{3TCmodC6|czb$+qb69K`xEQ>`G1|V%f*pQfC z`;`!KR;2`A12u=0wmdMPBEV|}sg$s*RsF<+*i3Fp2~F+R9uTr zBzilVo1Gi^30b&aBu>L@gj8!9SQ&bM?%_lC~-x0sTDj;b*j5C}p^$K&*-RYBii z3XP*`vLEhNK;XNs>v{FokH3J>H=P^)?v*x@WSyg4Q)(ci2=t^Fsrs9XoL^wjG>WEC zw0|ObZt8O?fJ#6s5U9`Bg>oK>KsBuF6cwvHIGg6A+wBg@Xs4)G%H7x3d2W_nUI2BY z=mdAmdE`ntlPbQ)oS}3Z9{&||wu-{tCZaT|DJZ6Db2lW_m}I~vVMz7K8OAsjty`nG z4S9;O9i=axTcb>ENeZ#VDxl6Or4UlepnqP1kWt(7Uc9IV*+^WxD@H6zo(1OaVuB@9feDqPF_jETYNkp-oF{z^ zktHO4UibS|3)uF9fDHDAYJJ(4vFa2#w(Zy|96jbL>}|M&kyvI=Lh#oN60%5>L@6+P zRtf^0OyS15k&O08HXjqIcjK9P#eXEE-@<9MXg{o(>yhQF$o24s5lr}+}4!{5N6cZ;E1YHiP9~|c>;+KEhOMhO!{OlsL z%ecG8&$Bb*`^zR_W@~kV{?L?>UTV^Uwbr;?BHh>d#ZpfM1naXboFO&0szK!An=cYAh3)svLMyqL`~9>%3MgP zwkmR%;=`QO=0XFg3KQ>omk(JGJnLlFtQeu)$T_;wk)WnFs&j#eSyOR45sxt66p4-{09mquIspI`*P;`N z-j3#Gmqxy07QPpW%P^YzO)o#svn=%C-8fucgw98eR*dn6eF)uk@XZX@?k)S2?E9{X ezQ3@*|L_ae+e7O}*96S~0000 diff --git a/TMessagesProj/src/main/assets/emoji/5_28.png b/TMessagesProj/src/main/assets/emoji/5_28.png index 9257b75d7ad6c9ad9f0071694260b679f8c18693..7ab22661c7903c122b47620537770ae282e93d6e 100644 GIT binary patch delta 1979 zcmV;s2SoU}5x5bMl^a4sL>?a>5fKq3CMOyi87?j_6%`c;2?z}h4Uw=IKLY~-fr5jx zwYHX%kw!{Rr=p%}bbY9*tH#B`ywmfjyV2G0|Iq3C$l?91!P=p-#<9lZvaqb*^!#^& zkGRe2lLP@R3i|*5?&8lhJa-e5J^?ZTGm~)v8GkzGoSk#dHv9e$vZriVUFphg=0`{f zsIO1>`_zFS3Cd)%7dJ0gSFaa^{PEv9{-f;0>#uYwZP0?QPI9jo+3b%$Q{n1Yde@z8 z`m>=z>ywX<)Z6c?KY?Vgel2#hO|{i(RX6=jzux`$Saha$-)3ZPex-J^eiI0Qs5bkR zZGWS-gFu3p%r|qmU+-$O{ss^P&}_Hc{YJe8fuz;5?*Q^QrCqn)AP7)vG!8W%A*xz~ zIAVu{ak>igUAJ2UMx{CmeO{1k+ZIKeZ`QggUc`mdN!+cw-5qE)(pU)&OA^B{k|fzZ z2!pceQ<>zmcPk)#e5@T^v_(b`7)gXLM1PUthxPhy#r>5%)rvcJO$YvZZnCcxE~nu1S-LbIyLN9`t2`3AKbNV)Jb2%LSiZIe+r_vSbuz! zrmJp!+i$mtuYd#Y=#82Lkv8O;M8qu=(MhKunO&{11y!1(o`%?cW7rn7b;|IMnWRK6 zS)TPK>BVBvt%JF$V})mkHy9$@ZveuUo->KYDzaLfgD_I5bjiU27*k?CCE0AH)}7Nf zv^6md(;dWRUj7 zND|HJaI`m9cdg2a9>3;z1*^HqBn8fxZHX%F;aK){T971mL|%BBODt&Nw;Q|TUOdUI zR`c0xwrM#&D~O-&64`#OyW;GpB*bex7{o4R#vRukx{<6ihruQ6C5hniHL{i0{P7^( zIuRISN~uw#DmwG!?Js|!O@F=K^&~pFI39#Ma6`*=N4?O}ZJXg}n&wCz46XZAIBvrW zzn&O4d^?)Ty&JDazB3s0d?eWd$8lhAs4%e?*rHM)hyey@+|%Z`Eh(6{7J` zL?MbiOYH;}<|!X((FP{}Y(wrv4w_2tG`?S7muUN`a4eDhRph!*OjA}uA35=Ss~&xrTFFNJ2OSfz2o) zkB0LC8D3wbZ`+vK^we{bC)ayq^h{ofT&RQ1ps=;K1Q8%+8-EwkQ`HGy5--+ZI`%m{ z&GmR}wJMDUjGe>qg$9=fZr~Y?Y$i>v{1qS+8X1Ghe6n7zRvU7-(Qm@=Qjo57I)SIr zbU6`W7>2?lqm%n*GMUfktNGkjHJ*m1lF79UJQYd8c|Hl@8HTL*MiBo4n#6&r3(!(V z;6Q>Xdya!eE`M=FxKTYreNeoh1B3vUHaIUFb~eBu)v+8?XU`H5OVwCDVATr-9V~q< zZ48U4(6SsLSYare$;N;yZTWy4PYq<7JXm08Y(?|*B<>i5AcIUZ5%KU75WMLvJ%{AL zAvqZ2a=A&)jR0{VP>=Z}Z#_JyOIG3?S#}hTRh*zhG=GQ(9Y@pP`KG4pRPx4E#>*wg zaHdR|mZchj;ei6fP!*Wx6h&z~TRuCnr|_nOX-<(T+3`G;$WvuY)@c^LNeIuUHt}-^ zUgKz4RSjd@>-7M!)D#7lSwR~NRD`axCs+9=-I6iVrqi(_Th0=CU@C|#EU<_L+Vk0G zC6gCF%6~K!-ki#cqAA!{G{k~4c{woDyPM39lL%<5?#mj5Xw%UU&4>ccf_SV^ngUDG zx0HX>EKQ+wM%OSWfwjrZLl|SfSoroIh_|xkD^&3>nuW~-qIfFmh~#ws2Y;pB$|lB- zXXn?KpzG_)GLL**{5Bz<$z(2WH4UTU<@GsGo`0Ws9$~$Bp3P=6nf$5a1#+ZZE*Et; zhIA0W7Zg-~Di+J-XTTQniSL+#(cu^^+5#~HN5cnMR!CcTU5C1&q>Qc=)tFANxj$keqZbT~}MJR(0K8x9gpck9lQs_iaYz=2vPvZ8w1ch-$Ol z+kZ4_TL>h0$$T@1`_;BKZLa}A0L|TQ*KX8n5J*}*`wk#~Q`&aw4T1o*hNDpP5u&O! zh$D7L7^kZ++jcrNVDzfP(B}nPk|a@-_-3t>;ze9Ioy6U$)7gTiLyfiJux&F8W81dW zg)k_IK9xy6d$$C_$H&UiMM-1?fw4vSLVpw)eo(J(m)u|3Q?0mjSA@`KC5C2Mnqx$U zMOxS$4R*avz4j6N=O+*sK`A|l!s`;v1Ax|*aM-Fgp(CJuW7BshGP#eIK=@cP0?W}j z99E$xRU$&^HR=#yuf6*Mw834QMxFFEEF_lV{-+>%^MCnA zX|n9pH|^by_zF1Sj_$BY5NSicNkrU25uJ1jlG)Z88&Iz~>}rVJH->FNTPFEoE4vDc8;oRMrv=+)hvbE)xx|7Ne!Hc->T zaygq$r|XvEvx4~PE|G25I!jJ^Na~NF0UbYAxUm;0(%^wfq ztrCGTCX^aQs-iPr-v06zT7TE;9nYqti{nAKeK)jRci0UrU6L4%rfH7k!O*%-g`*w3 z@T;+b!?&ZU+`I8|=sW#k*GIM_a2y8)hYAyWfh~GHf|%ukaCC8WUO)-lka7*vCPNoK zX}?R%*(3r8AnF8R-W){)u3J&fibr7tg%EJJ)dp)2fBuJ9t#Xk?oqr!4d|+?GGApXQ zFfot9W@AGT2X}+d*3$+saz4lJ{Z@UtS|S=B zMHHgQv(!ppVV?4l7Oi3OPuJvLRt@;nRSuBBL^6~`*(zD6ezw27-uXG=>=ycY{MKQ#*wp%Di> zIS)E`lc9N}4I0x@$(2#!opz>H3_!?(m^}bQ35Fn|y2DlzO4F#anrk?>g(QSS5ZH_& z@@P0Okm2<;`ZkS;L{B^?d2+o+M%Uz($b~vc3<_I&OArBKx_@>NJyD(TCGlbnCL^E2 zlU$d_R;$-&z}PtqUubZt?*^XX$Y#>y%3lFOp^?!a&&I3Oa=9jl8|@|xF9qpZr4o1= zO_vi9hG8f?GAg-$#^c#+ww%peRpV)BDw$l1z*CVeoad7eo?*y}Zv^o_pm7|Sx&SR@ z1P&yKvgbHh9#2r|et6A=$T0l}Nz!gELt z9Fl{6E|(kU+z1c{0`-_r^47zHx?pYIk!45WSj7n{M1TFbUvV@Io^NWpP9<+#WxQB$ z3}?!eX<4cf7#=7v3{`=7PEnM`v*oiBdkSwlnC29jk{!=ei9A)dWSwT=n}qOuY7;+) z;5CkxRn;&?-EJ2U3r$gAnH98tUq$FTdvcY3(k&SyZ88}-vgItG2d09^!UBs}pgo^` zRx)|b|T|h&CM!(Tph2EQrS%r75r^ zeM|XA&C(P~XLJp7Hdvd?JcKd!i-m9hfp{xhzCsoMqFLBXAd07=jz~`DfACl8t!!fa zcy@k$3A(<%Ec3|6#cvbxnM~&5R?{#lUS6LA<$w8!=MmP6=hjT|_y_!vDU)-?-VczL-4y}!SE z20bVO!DapS_V?ZI+s8*J#aSVL;y)PqJoF@+Er2fmM}?fe^|9|Y#HaO}mY4>26Niv?g+@O|U zznP|a$TWS$%x}tnhGclpfnbu;zt_!&?R=Q!H3bGc#Grl4M1R!Yl7E;3$IA~tAOK{B z{;sL$gX2v%1prCf68Mq1@9-Uju-&dALImBGgr494UgIXJ0F@23_@KO$vhn^mw=a;0 zc+|#hlNN4J&XUqvN@1)D;)W@39#sL^C(^-`%C3;}L@1BTcvC(@Rk5sHL4L6JD&PO1 zC})L3M4uI?4S&cd1rcZiDMt!!0MSLkjv@sUx#a!nf}T&r4P*d-r&tw*z#!*gie15$ zVl~Bne5Pk9P?gmX0A7~0qKE*Z4SfEK2uM{FQ!t7=R#3|-$gG^U%~C8$S(y?2M2!>% z5U=ZY!))9-jZ+Y5*_L!;*~$V$aSHEZsfu6JWY4-l<$r-oQZUKxJ0;lf5et z!Ov9t=6`9OuE4I4)AfQscR`ihAfO)w0Xa`sXB&j=hG+`^D6Z2&TvDXc73Aa`D~>z+ zH3gmT?4iQBD}>cSdO8szxO733_d#J7&kL!C!LZIag|9+${V3p?BCON7q=2?MAJ*wy>jV%@MpUPGoi=DZ zkx+53v$*04eoo=^6s6o#m}2-aF{3}uIRgE9fqR48KvT>E#l&!|&ZJghN?R$5h$-5~ ziEB+ajTEnz7mmP*l|g{o{kXR|e#-ntf-8vje4OEgS25%zHwR@?oCIQKfYOiA!w9l;`(kC)9x>QAcWwKxVnMWMPSB7bTx$qpvR@%obn2mqO( zziKM_;CRzb0YDOt0Cr~TJA6AKbXQeGh!Br0peDEguXz(ifRUA`@gee-^TG8ww>OZ8 zc-F?MlNN4JN)p1Jb7m|G;)W`4omFAIoqb>kxhmv35lZti-juFTQEYoxkezJ3%J+XL z@~P+$(Pst527jcBf(T**DR~NR0MVdeqbQt-40+Ek==ns+J{fVXWgL_`3I4SfEM2uM+6RWOP?R#3|-$Q(Hwho;y<94alqvv6fvkiObYH@^b-`Q|^%30^7?rREM2xmN zivbaXDhlYPNEHGpv}+_V3QB{St`Lp}($k3$!O#U!s)O7vpci^qfNl2ReyP-AG{xRiSda&GveCOJv^pE; zDB!X>TZ*oT4F&+Gi_`|eH3a~5+!W^$92Emz3V)^SVN_U`%7ZT0hR~RTBi9X`6hIuJ zaZ^Z)`c4S!DYQ;wTBn-=PG)ubDQp$0>r}v)!mZO7Qb1ds59>6>IsqgG#j8`SP8~F# zh^x5QnN2Z*pHmn;Mb7sWRq>uERwMxAhCshxU~P~asET!>SQ!4T&JeZ25RRNT5mmIq zfoxT`%oMMd*LJl}jtpW8j-Vfx`M=C>Bp5-||Hlaiw2CP&xj87Q0!~CX4KZU02sbRc zoohQY%pKnmMPQCdFJjL69YW+0)D2mAz1A;j002ov JPDHLkV1kPYgxLT9 diff --git a/TMessagesProj/src/main/assets/emoji/5_3.png b/TMessagesProj/src/main/assets/emoji/5_3.png index 98da6891dd2b2ebf63ad582ac1b4a63f20a932c2..b1c691e763d710cfbb0b48c010ea9dd340b8b5a7 100644 GIT binary patch delta 845 zcmV-T1G4Fcjvudjanjh^W;LT36Hw6|*8!yxc;RNoSW&!jM*9l-T#>#s$B z5s?)HPe9L1AXM2*xU^{qRuI-1P?Eb^0Ch89zOq;ef;ma76@OJRK!x#VqT!txTUiGY zlms$t@^(QK)XtE?wg*9wcE%=>gwI-n{!idUMDIqCQ9Xmlfh3Zez(Y6*hUf&bsR`=B zZ;d$g=C`k5Gs<1yZ4y5T}w9mziixwwaNYD5bHD?kwZbHhr3hm;t&=lQN@`}#yh~4`h zy1HhPD=fwz9S+rYfRJ zXv-oGGX!voXX+!-<8bH6A@RU$~vKERJP7DVss&-AV_aIfesi? z30Pgcdm-g;<vxxSJGPA) zp+;Mi39(3qfZLV5B}2MJ2z~j6Ok=u-M$BJ}|A~LYIA1Y*Ek6;L8UFye!=DQteNxDO XCyn*)ZZF*M00000NkvXXu0mjf>5G!< delta 846 zcmV-U1F`(q2iOOYmwzltL_t(|UZm5@j>8}fKv5E@&=MAY@JRpvM+asSWE5#?(rdgu z@&?ng?r|$;&5>Q6zrFtJ{eHD+ulL+e!v&^~LB5po?mB^=qjX6SHju)AT!C{_ZZCU# z5}p+V4?t_0KuEHYFk8_OtS0nlK-|pP0;oF!#)-=;K`og-5b~etyAVH>RPBTl$9~PPe;oun7uDp>lHHw%nMNJ2itbv9nEG z9PEM&${n(jP>Ez8UWQx5=wiJPS7B{@L9`5ZMutEr$bZ0ywitt)sQ2?*$6w^QVpE7rfI$+bW^Lo z*M?j<`s6&VZl@88NCVejF4Pzsb~i8QgxsJn>?d`tdm>CkYvlNHo1x#GezbHIEYk2E zq30DEU}9rN8?KCgdgJGaeB~OBNfEei@-H8LzXcm6wQm|90uL>#?y# zBu72mLkyCk!kx-a$&g+VLS4Th%lK|PB9^b!|HQvxT<#dY)}M&$a?Hr`hCffd`=lZN Y0Vj?1?%~Y(C;$Ke07*qoM6N<$f)MbA6951J diff --git a/TMessagesProj/src/main/assets/emoji/5_30.png b/TMessagesProj/src/main/assets/emoji/5_30.png index 0b818a36241e90aa85fc7e663d6d5e0f9cfdf1c0..098e42abc65341b94748270a4a4ae6d3dc44c795 100644 GIT binary patch delta 1665 zcmV-{27dXk4X+K5L4Tj4rno0xz5wpS6g3AQB^lNJK*ExZgY5sij0z% zntFbL_4fB5AtGSs41oXu00(qZPE!MEIj8=1XtJz4+yDRu4@pEpRCr#UnCW)hIu3;6 zHWMt|SH1t64nT?$eKYgpPANI^>4HBMLA$~BuUntbpMR;(=YQ9!&o>i*|1W~)2ImDp z4!;k`H;n&BnZF-G9(l^kt=0RBzvb00eE9BrXSn@lq=;E6P0ju<<Op{x9!?+TD?m+SRLF{` z5~LMVN-?Hj9)G^}V^^S{9~sp%A}uaW5m-LIK6ho#D83d5Bm^2SU~TB2<*Pz$Ssfr2 z#GiU2Y7}cpYAg;mz729Y5C{Q44v2CH`YyC(5~7AAut`{7a>&E9qlAqk@t z;PN#QjWZ{8ZfQwOK4V*rs4nLi+Zfe`*Js~Q5Wf|n5`XaY;!~5%p!9%0pjJq1of?J?P;ec?pM;9H;PFC zdJ_bQr1H96Q(3`Q*Ks4XrrO2W7-JJ*K@A}nRrQy%I3Wh8mEDs9sP%Z{2tshq)QM1W zujyv2j6!G~H)2heR>QT5bVHMMRC?n@ARw$Ys=qhf0G5hwBa}g|wZ0dVQUPcB6GCmQ zt$!qi%vLlngvJ};{bC?uE$W*_P)%>B&0HdK+{8EHhk`&|2*z2jS;)W>u@T_SzO~BMw{ry8Q#8B88~<=pYW#GHA+F8ASW06(0@&Dd~@hTz`Yc1LJ3j4inHJ+0-E?PbpcgY zAZ$e6DSVCOXfD(iAoxqcNDLGoQ&ay;;TMI-=ON1e-HcOi`FZ+8aHJ6VQUJuy#K<6b zfMN~+#X5cOn8|A$g!+$#v?hk@I`~5jEf3!s9IEqtA*T4DU>;EMKum@oP=YDzkbh#W z8=lS-;!}vzEGEQ2Ltg~95xVk$G0X%aV`6Fp963-ClZ0<+eRB+|ghTiENfA2?w#VT> zP?yy72r6e0hD*VO!%vvWmb>bPOs=%NT3ly-2uz zvI)&QTT|vX2g#i5HzR0-HlwCB**C&=T)zQ+)!K=0jY*Z$PGLhH&WNo(Fn>Pnq$IMT zR0cd!c%BoHTu#sAx4jBzwH5Y2Y=vNrs(VP-DMeuDM5VeM6tS$M=g>m!6JZF#o_1%6 z_4P*hejWYXDGk)H+euUpL|mAV3U%c5F394ajQOu}d)w)Ft>jD*61R;&vg)6QgBYT# z2ZGpK+R%d%Y=P3&upq{@l7I6Fv2jJ#WBi{ok3#ilj2Pzh7X(eU8qOHvheBerewg?O z0*J6rM%o!d0M_Y$Bb=TMwrM9}pD*N7k#RuEnCF}ghy~X4rzOX&n#ouZLf4FfKtcTa z-4vlk#U_y!8T75J+5R%H+S?9=p-zI+PnjBH);MOY#Te6@BkuhmEP5M}TQ8=lk7_HT zN(hP37s9bh@9jMv2;_B9ZH3ikGwqMdq2M$15t|5A%6qkKE!ZxB5>%hxu{Yde%Db5L=SO{BRzvo-ODS931di^ie?|=LSvjP7BjkL{)uxz0K00000 LNkvXXu0mjfEU_DT delta 1665 zcmV-{27dXk4X+K5L4Ufx!k?q2sI9S*mzvJg)>m6!MoLZf_V+hAJK*ExZgY5sij1+g zxq5zqO;J@KAtD9xMGgP}00(qZPE!MEIj8=1XtJz4+yDRu4@pEpRCr#Um+5-*whn|7 zhxxE^U!?oL(?dWaE%&rP+F=sq(ZH{UWMa@?w_dM5|5C5l*MC#5A4UNGH-deE=K#P? zKM%+cr2nGAKbufeG5L9sX21NMy!w?Ne*ak+ZeQFiVxE<*75{%KbxaDO_jvH_lQCYT z<@$|0=^C&w+O4JA=RO0d?RhN`j+cf&#Wk6jRG`$FwfZnn(%YgTO}(yCB3-06-CczP=|ygSBY>uF0H0f-&%5pL&)g@wSf;@?_Ks zT)zz=TsW(9OG}RI3yGzG)=N1KNvXx~_Sp+f#IGV$6Mt;pv1_tRc>ghbpK1;Vr844r zN{G=T;2XiS;wdF&@O&)>7N3>fQ*m)WC=>KM1$JL*-hj5F+lPmu7X@W z6DdMk@cwup;;kHX7rYMxk~2RBpWukA?(h`b&=i0ka$JV%ory%G#aKFZ07NJ;UvyUz zZA4xvnt%5IIp0PcX=&t%Km-6RIp21L_C^3RKM~Oq#z4Izg7?1W!qjzFaHiN>@tCk* zh)&?+M8w;;H!aMdGz38i%W=jP^Nl#vH$)5I>lvpmUoQ&G*~?J@+`v*#jrpnQysYJ% zA}uk-E(|%~(1{>)^UZ!Jk1o8I6EUBAHSTeoLVtsGT>#nqM-KI47un0{k;j=W$ByE1 zfFTnBQ_S@|-=?xcY<)p2q|= zRv;|ISSfrvu%k^h*7f?Qg2Ucv`jkceX9^3UOkdJe@oO_a)i1xOZy|OHOHeDo^b0aE z%qu{34*(v`eBYVTYaN94mx+i>qYvktHeD&ni@-z8&KJ|1eyCIuGVI`e ziLob-&lJ0$5!{Q9X1*cu#3FpZ-}Jk+Z^fCzd*a8A6qi>AS&)3B z-mmQkNHu>DTrVz^j%zJEdd&O1Ie$)B+1ZPr0eXSF&{orYN^~OJDH=5>BZnCC?f}L( zYoZ|lO|Z1n?%IeBQ!1pVEvhmU(H!_g3fS9Pwj74Yv2YmH5L4LrI7?H)sER?$ty(+C3QD#^?!kBFDK@y z7;0mnM+(o@5wVxNJAWKaA7D6G4N)q>)vE3$5lxDqFc53&B`9K9d(A;Y8-{QQK@m%< zB>HwE{5T)$xl%f4VJ#pTtci+3vg7pxl4Wosf@R^Y%N$Wf)Z4(-(v_ZG4Xx5 z)Rn|Kmb!iSjywrV-@o?O@2ZZ6hK_$y`>}P{dcD4X|Bb%CUkmU*4_@A+(gt>V00000 LNkvXXu0mjflV=yO diff --git a/TMessagesProj/src/main/assets/emoji/5_31.png b/TMessagesProj/src/main/assets/emoji/5_31.png index f52d83c8003f11635eb89e0560b7c038001629c9..175a9d577563d2ea9faef51b7fd2718a4e27f97d 100644 GIT binary patch delta 1896 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_32.png b/TMessagesProj/src/main/assets/emoji/5_32.png index f208d5df438a68f2a1d5ad93cf69601ac4fa5f2c..d873f30a6803768ff8faa64e6dc2866539a68133 100644 GIT binary patch delta 2081 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_33.png b/TMessagesProj/src/main/assets/emoji/5_33.png index ce5c660f1b5856aa960e69a8feef5ba7c819146e..4b5f5db518e2a9ffa9b868b9e5ab1a71f9d5ae59 100644 GIT binary patch delta 1545 zcmV+k2KM>b4A%^hN;j{rth~Fr!ok4E$Hv*&*v-w%wY9U;)6%D>rGF zlT6mR^(QB%{q>dXU40Yu3APR|zv%^xC{kJsuSy7w-FI1Dto{l3C=TL2Dnf7cQ-+ZL|( z-&I)Wk94;Im;{iIUtZ2Btn)BJ6i&<%1DNgog?##juq|Qp)LW<2T+%-j2}42h^=HDd z23uS%t@w@O^I6*SnbRi4l?Y^0B;@P;=Yj#DG)b5#^7H8`u2yh2#I0mCe%|A>y$)cb zO8CueAdbH@PnPG4b~=O*e|}_~Fsp4bw?yux$4!J|(S^E3ExryTo__S8UK;QGbK8qm zKnxfLJ>rv{R{`tr-`(x~JRTrB!b-dxz{`FbXAF__+H!YnEkZuuzh8t!+$)kDHy~JY z4q)IwEF551jd=ZLj64NvZi`jHj^!AkY!+C-iP>4c9_4(L$gV^)e+!x{?zV8W?B32@D3Ya8Fb?IG0HPe#PXlt%-b!-yjIJLv}@Ym)4HaS?BX;M05xWx0I0y#x4N+YsRfaQ(@GX(e2(<6JD3Oea zAcEAogP0}$e@ie37{4HTSg{g6AXW`89)tKnoV>EWDSjk>+k!!Kn#&l3IEmgfDRC36 z5gnDdI=owOT!gF|QCf4_lZz1yHw4!xzAM-qgUFHFAl98k?$u=_`VGVd1dN`*126*v zqot4$$%wU2AfBZ(T?My`63GbaAO?`Fg(%^pU&Jsle+Nq=C6W>MFCIqlt~75`48d9? zK^Hd(88x`NDwso(v;Ve~fYDr$7)Avp#0cR*BqPi~vEA7m^l8LZj7UAgGGUZp5X`9z zVof569U0N}LhMTHsAG1;2osE;M5R{{W!8wX)I!xJ<#sdTl8#BJJ|2AnUW_QEI}okR z8qv20f1YdhwhC->?h{7cllUPB!U{B3>#oE!FxtM`vY2$6V;NS1ov;~J0U-d061`Xt z6@b;0qaSZ`EMwGYjcW2LFsGELv^t3DfRGYQdv^}wu5BV00%37`XSPiyvKc_22#8vn z5lrOv8j-n*wG1TqN}Q4?fd*K@(E>37LLur^f2_n>1#;y$jnekSFvyIRW^aV{+EiF` zjNEjR1ChFylv=kQqkxSAp}SJrqcQ{|lEbT*lZXPNhfC$LGm@|kOKTl&+8?br?J$Tn z2lDxzM5T@=R){F+PLWO_HJ>o=PNavh8&c4}Brz3DT%xNAZvpuCv6-XR)7RBypM{DjFaNL$Xj?n^?Jj ve(CQt{r;P-pQgD_jPWDna{I$vz6SmUg!t?(63xqV00000NkvXXu0mjfK``v^ delta 1546 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 KMNUMnLSTX(^94`< diff --git a/TMessagesProj/src/main/assets/emoji/5_35.png b/TMessagesProj/src/main/assets/emoji/5_35.png index 2b5113fffdf5388c4fb221f381b7fb81bafa2fbf..48610bfdfae7e0f2e8f2386d5fbd43860b324def 100644 GIT binary patch delta 1868 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 XFj(!&bGpIC00000NkvXXu0mjf!oG_L delta 1883 zcmV-h2c-Cz5tR{;O&H_!{eos%x2vOvZf3>5w&&{O*3rs*Sw@j%r2{q-1(ON^B!A7h zt=Y)Dznp`Dcy!s+(Rg=Eig^x}tKQuIra$o=d|6pri<&)z9Mt@gHL_t(|UZt32S6f*WhSLzcO+tX65}*{Q z%}izF#@*fBgS)#+ZTuh4drlfwS@Z_zJgl(b!+v=8KKHP)!@G%C!Z0HukxJD`cnVqw za=Bcg81Cv4iAESkBEC@~xlu3bQat_j?c2A%5w=g()`Dxn(C^CF;ooy}bAN!Je}8&2 z^twepEP~~mbSf`*Z718?5CGfR?q6Ytqg?(Xu!H?i`*zl;*GwqB?U4N92>*3vJ2^SA z(ekh(sdut**5~utkB*MWw|zL`Nrxl+qvYF)A5r4eH^9$M7Q|V04&Nbyin>^5l0zYu z+vBVrNp{a{Hrv`6+9;D4K0ELsfqxyZBi1>~vc49MVK6<8FouC?Y@-)4i6m9{(7_Sd zhhg982s;p@RpBHW#j6a^%4`D`&|d8OM{#E|+{xoY^%I+zItME&E4A9kk01ZO z2EWv5wH18T4%t~1r$Q`xAr)3i{nY{_M1ZrbGe;yVE9Zp|)oTAhmzc*%yMK(J)#=nm zqsL_plu8ytsT8ofJRYM-C=|M^m1sMUn?9LLt(KY1|9%s*`Mp-1_f(>NO%$Utso$j2 z&Ol#HyD&{Ak2Q{zEkIcwFQxx?#8<9Zwf__$8|q7U1%@fE9*k9lU!ZQN3Ic zlq!(WYM0e&ZAAnL?|&gMoiC{a<%CjnpqJr2l#$MX5{*F&eDv^e#5`5E)nz1yVI6DZ zeJ33+bhsrmx)k{_c=QH9t(|r+zYogP#Nrf_&Ay8uVBc# z)2Y^I)MBli4nFWu#qB>lhQW|d69u0i2~EN@D z`;SoyLmr0tRBDS4gP>Zq!11~Jo@0IfSSmylne_a8YHRCHumh_7B{=%;byfSMFnHXl zbSeb{6@aU&!qs2}j^2A@kfIAinv`d=G{OSNfkL7BndG?hft1P+0R|#iTwL4>2LGWP z=W^$TLjURDU4M_6Jw3k!%jDkPUZ}Xfu3T3p62t*TE;`OMyI4A@F`v(D zZbGuLv9YwYNJDs6mCB2Y1bxR>xT;#3zFpG_4VerSaDQwd#w6*(>-8!R4h}9Zh@z0I zURnB@oX4m!KRvxkA%>;NU@%zpdRLcYP}FL0ybo@C~y!3KG4AjBdutgfyu zFUMjU&BevV)Ol`4z#n6pDsUKJX(PKt3?VWJ7?w4fL(L&9i5wo)Zf=EyD2M>%latxS zU@;W(5`TpT1`yN44yKNexfNh^b3R3fkcDC~R15{ZUK*kd0YX5LI6hu@CT?;foAX;+ zRDh={L_h}G2kJo#imAjx)3<9GD6+(`M-|0&glLQc2BJtLcADKZQLCjD_nY3XP!R%Z zfS{29A*ONzD(*(wCX@>la;>KD_YS@$0j3DC34iXDri*TwwlzxecY;@`Jcz{(53$}* zW@q)-xrVt6jGQV?wkaoPXS=(Xmzd-%HeEY`EO=}ZJ0I72Czc<^>MJHdeSJf8#(gNo zdWb!fDB^lhmUC>&L;B^*-7~tR)*W==#-hj)5CxzUoK1O1!l7_F>V4F=e$1qZfm|NM z(0B^!>CXNMF_4Wz!Bgn2g=#{bK+C002ovPDHLkV1i}lhm`;T diff --git a/TMessagesProj/src/main/assets/emoji/5_37.png b/TMessagesProj/src/main/assets/emoji/5_37.png index 8caad6ba38a8911b21e8489996320cc41de73adf..1496d9bd04a72d399c5dd51fcb29dd908329c55b 100644 GIT binary patch delta 1930 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 QAOHXW07*qoM6N<$g7ajQ>Hq)$ delta 1950 zcmV;P2VwZ!5!n%t#Uc3l``p^t=IQU3gLQIPMdah-c3w~a|Ns2`{u%@V@bK}G=23r| zYC@))k#dt+!z zFlb9SB@+*giH5mrJhhyL$ES)t7zd7peVte_ieW^Ub5Y&t{751UsEc>h-}jJDDf9LC z(AD5uRan%um*dsMhf_Db$liy2bbK~jIH-C>s$n!cCL$&W0SN*El4mxsyxLzuA#7@J zzl~KZ9UQK3P{nmfqO{dOG&D;^M-1@M6_e}%Lw}V?L_t(|UY(eQa~nq#hs7t!vR#=u zjh!ZKlLp!YF*7qWn3NC!sI(IFHHl}e>lIxrxS%Zaa-eD$GQInwd;>Ep+bKLaZ(v!6bFYHV+57R`UZ ze1G}!Bk=35fAl_52$fQ>e3y}~vx65aE1y|rH#ZOBUT?J;!h$7)@%7S@$L%(ck9^-C z|J@ru*n9z!7cbc54!6y=ySwi5y#mmy(fHc9>+pKxzsorkXo>q88?488Jm6XP!G&eM zU7LeLK`4Cd9yh84N|~L7I-m@&_9d`q^T{FqGDwgB9fqZk2qZav|9;u;_Ycj%vEW4XbAPdz zOeSes>!e(JbZ8w9v6w7?oIX13#(q35J=k)gqQi-O_?x4b&MGZiAoE z1Srb2TKQt*;y-Fw0ESUP8-J)(2~d>%bITjc8yl==V|lq|sn-%JH6dsR@kD~DF`aW5 zWC6jPzg%Y$J<1{y8B1lOu3&Kb?ZaE% zR6_LI{=Sm}T&Zl(6+@0MePZGkJv^D(-w!wuR4MDCTp$6*Q2Pg5^k8TID4=y}0cR;o zIVq61rr*B(((d`_pMTof4+H|V6;sNC2P8++$kEx>_hjs6FaWg4lr))4rM$^xwSuPQ z7;U2lY@h*He|SiO;?QKGt>8GCK8FqIzxhBGcaQ)oI0Q&?jWLmjNJ67R&d-PLi}(%l z--Cx^Z-)luH?#o?Fth{)eWs#w>VLsOUOS@C`fn^E$r=m@ zy>)FS2qO|(2u%l$j-n};4fw~k;bx7cCywumE#XspLWzB*?CMal)5wkl-1VVlK*RHGxBKz%_jMV9$j^ z8>W^5PMMaXqJMo7eudU*GG$0qhP7h1+n+yghC@0RI7l)B1}%L5d-!IpQemqrBr^6GPK|G|M+B5z_lX z_=`k3&8}w+$kD_TY{615Gl{&4CrpUPHDw0olkz+Ob7y2b2b+nxEVPCtn0N}~+>u6! zQ|9a}WZc==Ty6_fC@e0TLlAE;o=~V-bt^fKMTgf5iWLB5WeBThXJ-p$NM|_d`g|zh z?K&Xyaeu`-LTIkC5fic5N{F^~v=rhY7_h?ahC(`s?-$Vqs03?tUZ4eNl z5H_`=PRvzDube~SX8UMmb|42Ea#p~x|0A2(A#kH0&7lwo-EIfkPYhdx!(p?btc!bi zjd=x;)g~mkj)hY3sJC}~JRXnZ#Op?}pN;C6r8gyb`tZji#WxQhzSa@&1Y|%eRVszT k5uxIL2!X3-Am3E*FGAkmFI?w+1poj507*qoM6N<$f=>IaZ~y=R diff --git a/TMessagesProj/src/main/assets/emoji/5_38.png b/TMessagesProj/src/main/assets/emoji/5_38.png index cb377e84dbfe543dd1954debb227179cafa94d6a..e87d177c8ebaa9c553608a2df5fb157e73d94eb6 100644 GIT binary patch delta 1805 zcmV+o2lDu>53>)DJ_&}0i1Fp*baZu*M^r}A)!NqC-ObR|xxB&U=s6R{}tH_PeB{#S~_{nnqSBSG) zt;Ut&Enx^kS|bVlzd*d*Tb8-Sf65rnhB2Si2FCXR8T}t&m06j49J)IsMm}RnQ-ah6 z3tyf8A&j?{l@+I1>Fzz#0*P)5Ai{`k=HAakSlPvO3pdNYkgzut2FdFhEfG=nLlJvr zp^%-=XX|WQcuPvdCoLG|zvoW`XWs~zolz&8GSectBPi#u_Je?Ha9yhsf40@Iea0z) zbO(tHLACz4Kbl=vcynrZ!?~YVMq8q8q2=8$^L0nC#?6A4n$vCzLsWv+N=~b?wmq7@ zejM^FgEe#)ftfI^N#1GECA5^U&S(yw{#5GMM{h8+Znd!YT4H>Vn%xo145FnG<$m>g{qdVw<+yug z7KxIq-G(1gt%QINYswf_NyR4~3=+4Z52xauZy`*_OYfc-&vGGHkC67+q-_Z#V&UgRO`-4pY*{P& z@cMXt--lWVN}30YwS+P)c%Cy6h^e{gZ(|3Dhb(42I6t5KLvY@dka^xCDhT2rp5o%1 zmr*i(B%I+f41{bSfA0>FCgrdvf;f(YD;Su5_=ND*vy+NrO6nH0L*(v}$0)?mWd0)o zM?LEWu?SnD6=XhyT_XXx3N-o=NDr~!kH_d5E5A#iprRy_Kwt$l@Hw6Q0^%`?r*~lk11~e*@vIkH;Cg1~KznLMch9 zN_lF=XpPt9FZ<kzNFkI2qKm}-Z`j38+ZY~u*J~i7>WaX(st7QeuQ(7%`iYY~KNRSZ zUxPq14g`Lue>KqxK%_|;;63}{*#ISh9vUVw!=xfLL^m=?V=?`)1{xHOmRHwA0U;j< zKNaz(^GvX}m*EhMAqRuPK9GPCQVC%I5erDnfe`VB_k>tk=i-Dt@Mr~PNT`~?pnwDo zQ_Pc5?6>pnT$))1DHx2I|G*_A6>ZW~L=g(&$taF>f4kkz0Dxi)O0|TT>jn{N6%n#j zLDDCuvO5D&05OCf0v^-q`GUx_34S!8hEVeH%6t2pm01O@w4SAYI=EEb5UM0bJzf>( z&9Yz^Fd$$AvEY=O!tSsCa z5~t&Uf1_buL#gJv3D4V~^z_MzWT(<~i&@pM!`tGSW>Cc{ zN@#&!ehfyQBf@CSM0q7p4(#1F#&5T*00z3a?rDh1kcd?991!2UMc(P;_DBj7z|*V^9A3q7Yjfjxt3Z-NC1)(22z`O3wS#KFy&z2g7E#FeSiPi_t&OK ze=h=q`o3Qi#tKoQla|>1X##`=LX|J4LI#9uPD3b?^!yN{Cait!vcGEJ8;Ifpsg2!> zS0TNSQ_7MgKN1rDqp*$LEMis*NVpecpmJH^kmL0LisXz_7WIz3+&8Jlxg)-TD1gYa z>{7)A0^{IfdxU{Oa`Q^oFzu1pvl0mWe`npn>0)IV6pBTA;{Emesh2Q@znl9>)5Bl3 zH*HmvWeLXRGAk_zC;$|*&ar#WVm-(cJc_XH;3o;Jvwbd$qMRK~%Ce~QHEw}cIgmz3 zAY|12ec-Ds5y6XboXzkrE7Rd#nJf=USOGqn+&$k57#9T0`}?Zj0FO$4aySq|FAmGT vhw6VR_P9TR^!tw8%=lcfoqoSRGOPR#F4wDwTY{J)00000NkvXXu0mjfwnb={ delta 1799 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 IM6N<$g0_TDot~lp|NoJal!AkXb#{5|?eJ-8 zZRkWA5dZ)H2Xs{vaxObv;$T}fBB1wMVnlVBULs0gdr9gtOWRL}>A=e*|GAA~f#tY<_>F#b!h zN@QGZ7)M+rHtio#vOJe0*_rb==Z_Wmxpg9a1!9`iqT=UF($Sm*v?o~!izQ}~EU;ij z7p=~(ihp8XAgz0v;-UvszQH6!J|iST^0XDQjjT3Ofu2k}WIv7|5m_ve6koACxhFS8 z@>keiRBVNSxv<=pz%fQ96Y265<{YDN+#JwvCRiQ!0d)!h O0000dy-{O&yl=%4hf`f*go}ty&+5i9lb#{5|?eJ-8 zZQdcyy8r+H2XsT%_Vamizg_#SB1b-6YB4$PrM2-#>!5E-? z?wGr_R;jh6EUl5WrdFhYqIxHx!{~(M9kc!Q7`!t2Y%5}Ft>CNhv9A_e5!FW&BcV29 z$)77?jB773uP|2i4&%ketr?J?M-{kmV#O1jp{~&Qeo>P%F5Lg=X=L-6{bs)Zis0?y6+0K=evpEQaCz+Wd5`z>37EriY zb$t~Le1AbaA8E=ab`}78Vy$Q&b8H3SePk(!o!~ut~qBLa>lHS&Dsyk*g|y zaY;l$RCr$P*4uL8I2Z(A`G6$bu~`q9Nmjp(2PfJ0f5EjRVneV+k?iF*TvA_k|C9^R z*N~c^hjRPz z_hS^KpcGiQUH8}f+pl`}rcck$DhZYXRNF1O=e)tVlspJCaU$DBl`}fvk_RCYBS8-u z@sf)`Ask~T$;b*35pHNuw#SaZqCn@jF3de6D})keHtM{Q?ZCJWM!RqP{yBx2Z>LaoeFRin4U`>IUs+H9{^0D_kH7BP^3G$r&f%J&ne-K!u)Wqm+yp z*LS%d_{422axHiZ!7!SCgDLfaX19=PfMBQ~sBlgnV?k-hB{RhY-sS&DlIEnWr(7!# ztKh8#0fJ41;no@5pz&EX%*qW5J`=oUY$X zc;L{3sZZ6xf5wVnphrVGsw9MCL}Mx+Cr~{&J@&1Zp9cDdQFR!R%AJh?5%jGPQVj#6 cl(O+(N~O0JkG6dcx&QzG07*qoM6N<$f)qK#%K!iX delta 952 zcmV;p14sPZ2-ygbi6Ryj7e+@%bai(M3JOwFRA6CZ(!o!~ut~qBLa>lHJmslpk*g|y zZ%IT!RCr$P)!TOBI1~g>`GO?Nu^Bh%PLGbR7bltj|G`1Bv4OV5BALf2USU&pfCah_ zsR?>2e?I;A`$*8Yg5N&hkKZFm_4A+iZ}z}{{kO*d20`_PLC6<+{JJ)3#_)5-eUD~v zf#L7;Xbxjh*p58g<0bZ(1vR>295O_I&Pal=b{yqlZwbyDQP4_R0ic^rfE<7S!WrY^ zm;@y$1>SDg{qgbsqu#yg%j>J21VaI;?H288-rzzh5d{ixBHKolGg=TzL?ICaK~Ea# zl8Zng9%CnykrfgmL*Jlmj~#(0fl@AobgsCL2q>s$#7-gpxvDRQ9s|>E5Rfo5=-I~){va>%4Z=N_kt2}ij_mPhmiI~ z$ME$2O9w6VxLB zbS|85&ZybcV{UQZp)88B3~Y#7cC#8W*MgBD5`~k7D@Jn0NqSGCaVJn|$For?&Ryu* zTn~H_CKb6Ayn$#qE5Mb1_CT{+NYz6$bQE+vr%y4UZ4ipPVgw&-M{-7U(#BI^HON)) z#()IL$HEB{oNZAq1jiylT?9jyFE3T4vtSE1-~?o^YBY~4sPUlG(u9W~xGD4@-~nj*Z8yEO0?a(c!04<8(UFILM$3(-)AQec7mTXKh*V)VdPLBdLP*v3oKnh% ae*r1_wUNgtC~N==0000$vdg;n&f~{r2Af{`&v> z^8EAC+RLXoI5j>LmhzFPCV!ksL_t(|UbWTfj@mF31>g{z#0iuP3?189S!U_`KVgsU z%iId7^&<5^e)`k7u?@xlPSv_pnLyKan_dVhh3Ge3+oS{KSxWsKDbHmh(w^;lWn=I- z<=mzSop9?7axsW!L>FD8sU-xgMn-%PC@^FlX*8WAU>wI!n-L5QrGI5)j}ig^xBPCy zh?ZrH&|IdtzXMYrwEX--LG5JeQzQjo>7u zL6ZoGthH8*P>z&{ToX*%g0)f8vApvvfI(Snt2@H>r z;X*f6Ntz?Htz>Xuq6BYgsD?L&2XglSgm4Ky8q~u-5D+KOp??UZ?fD0sRzEsilJN?i z1-&U!Q|rYVi+`&CVyUwT#JCTl(}_~Zg(IaXlZomyfBl)Y%^=p>?dmdIueWLcl0!@& zyaHm)Aoi9(@`+|=4azjHKdTI4o#%O)NWiPeX#oL&Fu~Y0>Bh@`bp}n6JILfSW01@i zKoDzWw?Lrex2R6r{YoW}Q&psAx5dHmz`CA}MMjRNEjEXaMf#@vpzP2gGq1l~-l`%y n$2TWXhfL!YAt5&n5&(V!Sa+*{o#7oU00000NkvXXu0mjfA1-0# delta 759 zcmVG$QT`|!oVytT8hsqom8rJ$Jk>$v^)-tg(+*U`xT{`&m$ z(*OJN+RLXoI5j4T;boDiCV!quL_t(|UbWThlG-o~1>htku@fi(mad&Ux83dgKVcvIu_G-q6IFavx^ zIX5vvThjUgav3nhlx=VkRcjDnHDrVbf(jI=0}a(`2F7vxz>L6P6Mw4%dlVo5K+CTf zL98x9gr)=m09xN)dk8Xw7+W@eLFFtU(0@YuPeh;z8Mz7>0|czlJK=#0AtTH}qxeg> z4g@?Xs5s*iP@{1rMBsoyvkd;XQCssWNDtf?V{6YGog;c7qy`vBbjr7*!)pl+*YHkK zXqkhJml}i7h39t29DfXm!IS7(dA5{@zqgQW^%4Tep2QNElol_?f(!-lM@i=nDdd1b;dd-ZY*3fb;5Shl?>? z74|>E#)qtTf?RZ8YWr=FA_8xyKh>TMjtKjJG31!bKPmtu(9sS~YsC=3wg?1|!Ul)N zFfvByu847QC5kL2YH!d01RoO2ULg?oHqfBNy$RVAs^Jj83~fi`Bo++GvcMdX$?fta zzEH4v7Mt2GXn!nJ0f?neAut0y5F1YvrCuajmqj#Do#wAUvo;CDdcWT&{q1(2c83&V z0)iAI)&ydQ1SFkMTQoS+y#A~bh;^RlX<`9hMM?`4(3mDLwkqB@>{c>(lGH&aml+00 zYyk)ajpP;(P|{mer_FBV5|C4s#b>*LgW-U6Jsq=z95_!K$stRM+Wz2dk6CKoeo@}5 pEIG$_60k$M@dhCwJqqFhegmjPs>VM5C-5jG1w*ql4zILePK`D|KX;}j)9^3V42hf zcYLRQsbuNT6XiJ0pI?>z@&5U__MQiv^-Jy-VOW3K&k7$E3UwLB_1gKRP}arg6Nd9% zn?;t;1O*<)_e1H<4N~Apma*iF^D++aM#^0n^w1A=t7H_R zaJv~OIHSTxC&0mK+qnHp&|`w*&GEV@@L&M}doh1)C>?wK`cmb2h8ISEHm41xvzQU$ zN|tB7?-xZ;UJvK68Pa`wD7*=xH35YIfE9vpH&UAsL1UpJ^AMH*h5>&6H&QFlK)^OM z(X2oM*5qa&Mg;F7=speiyNQGvgpq^ctpiy$4ZmF2mH4Hfl?8T91Q5fvW|aWU;F*xu+8c=bG5$dfd+!QeC)W_9<~ic*}{K< z_C}Q@!HqzTo-)=Ej3LUYRyhx-5V)lvm_6zi&9OOdhbX5^RhkY0HGAzl%Zq_^Pzl2X zov<)|=O3YP&<_V-wrS!{5(Wda?0ck1Q^-MaH_XfK``9D0JDj6bQxt}gFwcT}yWfFf zaXD2$W7%Msuk#M-OY#7>b7DCQ3yewz78R68qA$^wHuFW^IGv0>2$$NE>uazcv#02=zp)5m2{rvLx|07*qoM6N<$g3po!761SM delta 1076 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 delta 1702 zcmV;X23h&O4ZaPKEPt()f8mM}*~7EngcRhD6}zOA=#dQRnGo@+2=vMw@UtNHH$<&*mJq4Up8^2uiV^}OWQ$J)=p>(Q;)%D&>wwe{Vi>A;=dx}5*@*8cn9 z)Ucb?wxR3RxbM)q;J&Kt*17uT!SvO-{_xQG`0@AL!RpSz=YPeq;JKan;mGmW$mQM5 z{p-v7=+f-WwEgVa$fc6Rr(|l4u&lqVr>vQj@Y~g_otDkJw&2RW(!jg8rlPW;ouiYGn~#apzO$N( zh}hH4*U!k&&wtFnxwWO9nY*;F!?v%GgMixE*JNd8P*PQTcy^$lolZ_pG&MFxNJ&{+ zUFhcHsimQDZ*Q`%t(cdVf`5N_czL+Dwa3Q9jg5_`rlpLEhQGePgo1xjQc+!9Tx)7) zdU$nbW@P9$)N%j-0C#j!PE!CWVFZUi6Wqr6{)qav3xEIo{`1iPNr|`}Z^-}A|NsB7 zmjD0g|NsC0|NsB}|Nkxj|NsC0&D+fX|NsC0|Nqwi|NsC0|NsC0*Z@Gx$)7Y->i0RYiZ)CnP= z6-h4db8q9XFqcN?{1hyPifEHdDfeH<);iDBkP#&?a|wtk$qZsC$ukEAD5($;>t0Y~ z4u5ff63^%Y0a}7Tgl)vPIfRHOumu4A5NQ@+J=?%Uq6ASpi+2%)xg`FNa5IRd$V3zo z0#HE-tAxqj#1>N{s7P(ZFcE1E@p+9dlvtQZg;9x6m5A=aJa!VBr!)~m17I9<6=;=6 z{lw+7`$LQ{5w%+T(obkUZcnul265k#kItk6Ur&?njh7l&B)EM7>l0p{; z6~I6cK#@D=Ujy#MJ^8Nv7sF(O-u}WA@OEd!<)vm26A-Esh%r(Q!fMU>0)!;u!Jr2O zaqC!wC&C!~V8S5cWzzX&ay)T42pAxWRY}yQr+gxqo-iXK>YVeOMF{&%IF%N$X@3rJ zvAq2vLYP^XRv^}SdNgrP#O3TC1irYujA|A_7eeVotXx9H27-*)pNZ&*2!mL#i8rN` zEi(vTQ`Gflx@8fGi11A`E|G}n#;g!g*@O_ki8zSe@x)$;I!@qYl(F4~>L zJkRrM5?Y0y1sVM^8s0n(J_GqZiOpuiTz7rxbk5RWK)8Omx^%gaQqI17F$NF>@nenI zMhK=D%I$g;|BrZit_z27#-g&^%*HT20U10tGqeJw<0|63jF|I}U|njh30rLy(Y2}~ zW895~w>LL8w*ZD5`0!oUq zQrhhx3Ns+@T}?D%_3FUqtS0$2D)&f@-30ZsEC@1RmaNupN1**lDMVRV55)6wuS#gi ztD1Pm)9NSC5WwqoN1RqjQM>-!BSb4dr2?7N@XQRnlz$Rx+4(Tvr+@hV0e?|krkNqI zGcjO=n&W7Igr z%^pTbTcYBH^}_XT+uPmgoWYQd!C2J}0RRPqo_1RZFPFVNhKIxXe5O(gA=(kl-{buu wJZ|l`K2_}=pb*p^bssn!Lj1XBUv&2W28p@I1efQ44FCWD07*qoM6N<$g3M5z_y7O^ diff --git a/TMessagesProj/src/main/assets/emoji/5_44.png b/TMessagesProj/src/main/assets/emoji/5_44.png index 7369096d5e9c3c5de1c10cb80b0e2be56d99ea45..64db03b4c02c7683f9a804c22fe38ea1eaadc8ac 100644 GIT binary patch delta 1524 zcmVn7yD6?u) zrb;uiVM=)=7ltSnm`^>EH6)KM9Bm>OY$_n$ntqu$C)18~&53cIJu1h9ZRezkX&Vf6 zD;~msX`(_dq-a>#lX-F?6n7vHyLx1OArWOE7PEC>VHXLEGa{{2JB(6Anl%=WLo>Q@ zSiyN-(}rtt9uDH2fr3IK6#xChyg?nOTt~q~9@dd}sc>N0XC~&LgG&(vvpyYvLO1^H zhX4AasW=+jmVE1zSw9N`?ukI`n{dcVA;s7f>65boS%1}MQ`}Y*24E?xvXyGUrgsA_ zaV_bwy0-V;d!zT}^3QXQE(;j!II%MMpGVhbC(bJX~3MWRAGEa(p~KV2ZeVd~$Mp&y3(2Kk4s3xyzU!9v$~@Y@Cd{%&g;N zV`HP=%zsJ-#tHGr)K+Zt<7SvR(($*kCr{oUn<37V&lVR~111Pp>)GP`t2a+xezU*~ ztgbD-7+rk!nEG~Oac$x0?84fQ)VJsL+QQFI7vAuciTsJgYsySqV{o0vmU&AcW`ik5<1A#Pq#ONbbo^dqQ<6ouNjCC;}XgARU>*F5DYp{2pGLy z0pUJFG56DH!ys!xgc#S5ShtNzrwj~ntnrQ}inKeuix2jXKV2D7qsP@9a+%nEAk)MPllgq9gu<$gGV+*Zp+!S;=c7n8gGx9+7K2DTLX|I7yNciG-+$6;Gw&0V5^1 z;b1aw5UG^fy;wsgq{?9;xY<&=CVvfcR4vA_`z2QiUj~l%k~iNQq2X^=ui0 z+(^*1BWc*lP?vEGOMZVMK{wp)2J|3EBoaxH$Za^LXjAccf^xnjyJ@KGm!#oo>RP5G z>8QrCEF6|BZ@D8L4=9ly5`iuX{0(%WQV}%`2oUC}>)~Iqwb~Krc*|_baDV#Ml+lDF zh(SUSL{Y>Je(C7Bjrt^xImz$yWwV;5t&4)ktu|XtRUxyHAQ}LGpo^lG%_g98ZJD|e zJM4zvFyM0pUGSu~nyr?sDk+%8c)eahUtfn+&@f*+a`HC`#`%c>@m3;LD1#0hO$4Dv z12&vx;WVUK2X!m984$=?3V))gqXDlwPf)3E!N$jaVPMWxSi=)sDVZf z_G8^JjNp$-#n=i_%VptX;6NuC>T}`z{-V(X-)?|_LKx6=*oHzOm&<0eJ}3bj@%h;O z#bPn;Gv1IrghV%p91=btW^B}#!p(wl(SsnsV8AnkPRHjf`kh16mw)4M79rS!AXh0A z5QxX2=M+!)|IR zErZr_FF1?iFh4m>fPbdgCoPu2L93C$!9j~<(mugc|1u0eG{JFpJI75shIoehpYuK6 a^A}0(O~Rc7L%RR~00{s|MNUMnLSTY|G0a*3 delta 1501 zcmV<31tR*34vP+uEDxDmO0hvCS{Dm}L^FXkD3LpX28mveJ|85J!Z2WYB^Q7w8gVly zX&Vf)YE!04GqPbym`^>EH6)KM9Bm>O-kN@yI45i>Ak&U@&53cIJu1h9ZRezkaUKqJ zD;~msX`(_dq-a>#lX-F?6ox1kyLx1IAP{9C7PEC>eIXH(PXQZ7e?m9noq?xZNB-@G z=AeWB{lnIgcd2k-+Gi$$BNR&!1hYOJ+m?L1K^_14qNz9Xf^S!;jVIzN6GBQJmr-rs-Zy0Tcfg_#y zGxp-epF2i~tK|0T>ZacS;cRcOF28;M;>|Y;%*f`}>g&nX?Pt`t8>?F@FBey~o>Sl6 zyRDUmjP9rj{0#=gs!JyS~;rJw5dk1e8x00p*f(2LGUwGyLY{!aKR(u-R_{V{1eEq0F_R zBPV*W95FhG6>-vG=5%0wQVWGc`}-L%{KO#0WrKgu<@g-W^ImTQy0}0ZGN6+NFD|&S zV4mb_(P%gv3L)bTl8Zxyc%e`zmyZDS0)!oqJS@A81eRCx$s`zf4uk+f4A|MjvqrXJ zu~;enU4b=Y*53ls2kR8cx+K-pG@B5bT0Ys<0)ap+>>o_w zA5uHJw*(-tQ18Cts6l2)k`jr8D2P>0wdw&QrF7t6GH?*7l-3(uLnfptVIsKcQo4UG zjhiVw#vuifApj!sU?8Lhsi~BzriRE6nXu;RV?t>r*m_qQcieb#*vF+{Fp*%JZg&&r zAV?$# zf^a1A9=FzNw=|WkjRcSZ00=oz6tdX_%v@imZe@er2x0?1htKhzRKL}3E1H^u)hMsm z%jb@c;3`;HU++4&+XUnI!hpQhNDYQT4jfGcLCq#?I8DQ8NQ-vrPSynw$hCizMKOmA zc-(mcYE4s=R;#5b@IC0$?j{R6fp3YsxfWpzWE5aOjk$rdaYi?RCV3#^}WT?6+kwmFk&bku?y z9UV29=4`VZ^)F+%v01a(W;2^z_A!p3{^!2;y}tmfuTHvV;^U_P000R9NkvXXu0mjf D)*#5q diff --git a/TMessagesProj/src/main/assets/emoji/5_45.png b/TMessagesProj/src/main/assets/emoji/5_45.png index a200bab88237f6d15546e7c1088da998a0c12b19..499fe3e00afbdde8d707fc636bccec61672f916a 100644 GIT binary patch delta 1977 zcmV;q2S)hg6yy}JkpWI;J3Esa8~^|R;u93Oy1TndMbgmFc`z~G6&3MJS??Ga76t~K zQckO>s;yX6#2g*M3l76UN~uprNhT zB|No!yp!<)XMgueL_t(|UX|BndmGsq24G3HV!_IF4XqJs+SJ)3j_t%@*krTqLK%jH z%nW8`W@hFvGc)5d7ym?$W^CC`EzRWd7x|KO>wV|IoS}IM)6YYEXcWT^TeD@&o7n=g z=J&zmfKOOhm@j+NB25lm3fJOhy^U0t+ ziTi^lgMxx;K_#^yK}6!6Wn=;)J!A8R!RM2cdt}JqjT?i5*T4Dx`v-Wl z_YN@AH(LzglTK%@Q!=137*t=MH&wsrw0Edfk&%%hAqNxvNJ_}CIGb{<2Gwb6S(!wl zN>iy1seh|qzWOe_YAEtx5`)ELlQiMC+mN4Y=tpGzRzRSrMb%MPuAO=L>cvdBspD@4 zKS^Se2&~cc4+u-5>3~ZL1YvM@DF~v~Mbzgg|W*=ZJW(ju9Hfo zpnrx+?K)rZGl>Z`k zL@=U%ZZsO(4LN}~Uzx@YK;S}^y|kle z=r^HWcbl~wNQQ3kqlNx5r??R`a`GfW+`e6Bsgt~H%!zSw zf))!y7%bZ93y9*2H*el7DJl5}9`FMETeFUoVDE$x5sYnj6U#%5pm8|@1b;>|yb|wu zCm7Kp2u9;v1Ycq4hcFH-l)EB?Q4ErdfD!qHuUCPXpRj+}&s;=(_SO0`CqB#1Z^Co= zvNiJyyb97G;lKe&IB_DI2q86H&OJ?qV6O$EDqKliC2AoE@e6pgEN3$o+ynh9;lLLu_ob@Y-*XQ$3P$#%x;}W77IB^#5BD-sL?nzz# zS%Nr3PJ{&@fY|LOy1J&G%zb&}+WjRWn1rAQAczo+a1+y0T~EGTB$Sj0zi2?faV{du zMLe2*^b`=UpM6D{2nIVayhKdR&dnZaXqbC_O-GsVi2;iQ-n?Uxcz^N~2o0ceth__;mB8K--5uF6To=f@a?w^_dm;b6AT*JQe8=aTz&ZP%$a2bi?j+EAOiN` z#G8vkfmz0pnSWh?AilVP9+fnfe)78$W#b=~?Pv;`irPk_oY0N?Dv8)^7lvDTyn+HAFKS~b z?JdFv4>a#a?He8*&dSPCD0opHZ~P#XO&M_a#Q3>83>qKL54ryX&64o91EBv<00000 LNkvXXu0mjf_(`+; delta 1976 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 delta 2209 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_48.png b/TMessagesProj/src/main/assets/emoji/5_48.png index 6915a8c9eaac908839c7a5984b6f82543ccb2608..b107dce34201e669c718faf41b4c4a860175d7a8 100644 GIT binary patch delta 1463 zcmV;o1xWhP49*OYiD$*ZslK|*0S>L%&C@F)yI~|oe2Ksg^q+~s{P}9 z{NQx{&mi^11E<^iIg#)qeg0|yt~4c73(AFKc2ztg+k)$9Gs4(s=Nbzu1A>gwj^2)Nsie?OPY@3U#A+4tr0 z=f!Q925BfUY3dSl7P!50ljcGQ#xiRI%Or`J|BCnq#2gV!RLhTh+&OLy%*sQ*fE~7;|K<~wci{B!A5Eikq>e&6i|g zkvUawRHxZU47^vme?=(ItY^+pf~e-4FD5%g(IF-a4q*Tx+=<-U9YQN_6L@rlsElPu znB8=UwcNR|NThX65u#Nlj5jmh^Axy`JwnzU+ie^IP9<#;@r6qrZcTY1JYK-ANun5FPqvfu9=jG{FX@ zld=enet(FN2Z%EdL`I}sp#LEQ)ri#?jH;ZMsOsAeAu*OyDaips_}p@eG;ysLNm?WB z<6)0Qt=3Nw!MWr{V;wDt&AqTRZxMdPypRwLe-|YUVjUSEtm+0gO6f!?IHi(#Hu4UL zevKHhJoAR|dYc`hm~Q9Qc(cVpi+zE)NEXK)sPRl>BikaR^&+*oGbss1AYLQz$vvBw zYoKQJMr19bjLU7B`%HF-T%=C8Sne=_FXjzmTC65hsCI$IkuvyPAbmE4bt!=8pXESU ze{GoKFc~iJ%XF|udgqmPeGsW?p^@c#tVA6yZamiVFU&?MKeD2 z+6Up`aM*+Tc=T;_8XkZ5gtw<{48wX5CiVa6dmdE9kCQF;5g Rm=FK}002ovPDHLkV1jYo!j%93 delta 1465 zcmV;q1xEVL4A2aaiD!g?dBwr1%FDa5v7eBUg#Y{5jBzEGfIPINYQC>_{>lJ?WDx%M z(sFWX{`=zH*0S>L%&C@F)yJ0p=!=eoTYIR5$ejq3v6R-XFK(ZF|Ll|X#RL80eEi^a z{^o`L&mgwPs&8+D5|QvDe<(>rK~#8N?U&bb+&BO~G#~Qx-@ARfO4F-R+!-j)F6BvKKyu7|XIk~wR4?v5! z;raRb`;!B`$Au<>d4uuI&B@92_2uQ~aYUWwsZ+U0wbuL+0`BJhf0xVmK_aa;YJH``s9KqnW@tc4k*is!Jl2PJ?;%RWIoGXqa z3a6SxbzUsR$a|$be}wYPdgcrzh-%JxHr*r29x=^0gaL$bClYJ-2(7$L;n5MI3RYml z?6ya2`KjAzBr}s8?gM%eQX$>DO!WWjIXpR$}+e9hv^r%O; zv=9Xhl3-MuuBc_X*;Z>XnxeMN6UPZ_OmcuoY+;4fq*J>Wf8}~x&FAxaSGIf6#n*%v zEbhhV0}vn1bnXF2G;N}!-_A7vQM(qw3B(~_P}vSK9svOxCPbSx8pPMt7J#Y(r`p_x zM1J<-glcq&;*E=uRsva3(x`XwT>`M1RJ$5BUgBPa$zeA_U1cuz2(A*QWdooTs1~uC z&$p{-wZh*?e{^BAF(yaz8BU^&SBR7n8VIS%Io%^BKx{VC>H2#>s66zhPK_q?cZBA7 zprk^GLX#d*Z-6LQt5rm#8U`~SHZ(U!5Jn>h6qj4qB4pUjx{_tNh=^&b`Q!clqXq;E z0^#`b03m7cR^(0^rrV0t^D0ob>#}iScz*wUe~(n5e~2Kj5rk4Wa6}ay0(}7pG;I^% zk03k;8NkLWHAggk;EpdJi&}4P+sCiuMq?cuZqV5pr@g7kpOcRbc#yFO1dx-D_D;RUmVXq*zY!SUmAZGQFA*dkd7{e5A zCF@-zj3uJgai;se}u@O{#`5iH<5a<|8U|H*W7Z57R zGo7XewYQcXb1|!#wMxa8gDl>wP>XP?e|Ow#A81)Qf`kDj*xQ z{qf_+ODt+QfOx@$ZH!^a;fxEoxG47O!s71f>1jvSygk-rhYNQiPU;o^1>)WKiv1$N zgnxK=n4|}q-~teU>{Z~riZ7mnk5_+0U0q#WKp%rXJv=-Cu!|@3^ziU02EqsoM{H+& z9CRO*+_JrF*A=wcW)fG}zJSKsr7&@Z1c=KufI@J(;}x7+kj!_!a% T1EeZ&00000NkvXXu0mjf#ca!e diff --git a/TMessagesProj/src/main/assets/emoji/5_49.png b/TMessagesProj/src/main/assets/emoji/5_49.png index b675d65420dd193e5f7e53ab55246b10ec4f1bca..8420e322860119f0c7867db88e2eb7c6d9fe7ead 100644 GIT binary patch delta 1462 zcmV;n1xfm_4X_Q6-6)2bdCc6#FE%c_nvJHlqUrhP*yz-osF#b3c&@#uRcJlAhk&T? zFVT|)0W^QxMid5MOCe2AQI{LGFKRFBy{Osm|3*1y0nn7gnc};(8=9{8!;RO)a=8h~&&ZT4xp#>0ega8s? zWQJHxzR#gYzWF|}*I-ToND?Fh$8pM+7aoT#!8iwk0dh<{?1pM~zoBSzXO(yd_5&@+^z-G`xiP32 zA|w>&L^OnDrLp)s@octXwZ;u;2`qo%d6^-cYI#J&9Ek9k7$EV4i-2tMnm_>vt_=|y z;;bfof<*ea7Ej|>AaFPi1h$~5FvPOQg?CI~i}IHi#R@vWTITISkOuDF zwR{SMh%%XFMrd2WPGSp~tjC{30EiNfF=$Kp7Ufz9fujXT))3fYy}}afjcI>j2Ur3P zBCtnU5pf_$FA~h0Ygwj>shQX8#p4|3>M=)R;Bp{LJgx-{GbbWw2~II~3!Q3Ra!xoTP8sY)OXTzQdY=QaZ{~tF zA=!e`bm#~0VcqWrz6C=c6VHV+e<9p)e(b!4fF7`np9Ccs&dDOBxE+7Pqzj+R-C*dK zYZ3=8#Pd8}3e~o#(-Jo2SsI2)sTeHk2GTM_9|*B7*2HUwHJ5SxE0F^+uqCrB5k*?} zpl;$7gdGU0DAtmKV0+#QDSLXVgrgRqAnM?Qk`VsT z(w0sJCt3vB5|(fILx0$&C8U&Dil)|}_!!aftwB1o2HCy6N#@BxU7t0ckRN*LmobD@$11fDB}K%TD~;-M%SpeP=i z7El9=_?aYxa44djmSAA!EK;#jjnWW@)vA9X4y!}iwD3cS=Wth673Wg2me2x-Bt`%U zFmgj|=U-RQqd0t>J9{t}0Hi4rq3gQU>nl&9j$oVv!2mfXo?qtkJ)Fl3znZh~Q$xUs z0FeM8WkWccC6$aoXnGi83Eoxd+E*hLy`iQ_p6+~896hR9l-sbadF)Qcu@}VcNMd)Ipnk%~_ z+$2H*E_0njpobx5PY&(`PZbHX5ksU60e7IimJpc)VJ+8fmdj?eu)qtP$hIA=Fr^eP zmBdIW&WUIV+s+d4cjDO`!*-7c(h+}H!uNASxb^0UNH`GDF)>Es2{!>b6b*p_5L_D~ zGQ?R!1O$ofZ!Ml?Z$RL1^aQq`nJ~o0;==EVwng=q7UdQ?z+P6}Mvw?SOJEIE6QT`q z=Gg%SLd3bub0c&u;3TmHOxDA9A_PPU*BG=T0-JIzguu}PByS09vEO2e{lR~j6Dv7iO;owVdg}H9l>cN(1_#MjbpX@ z<~77~i7m?V&=8U|0(6mRklb!s_<@~J+y|ZqD!Xqx@BLZ4nX~W+lt?jvWPvRxn{-5w zhprH959aRr7W*w;$#&b^$T@$mHKD+WNtCilIBbZCOk*UBa!eF381r&gbaR2BCTYlF z``QpAY(X+DT>MX3W$#+xY~f_}L@!WlEh!KB7CO_q;+$|uk})`ojwn|9{YwGFOFI{| z4awJ(W|JU<7wge53~U(sg!mrZ`77bB`)%j91T3C`&=ZtkI4A3j;&FdW(jmMq55q}N z?MV`P5a0KCB~;(Sq$3>4^DK&#QVCep3#Dy{5fEZu?up+LdoGjYuS5aF*pbY(MI38w zLEY3Z3F`^FEccRv;Q0O)DQ9u2g;y~lTsLMp%*AWMORguchDaw72}vR?Kc#+1e8+Q6 z5@SEx?bb`imP-rvt4V)I^9gMU!Bm8oDrExU+zL;(*e%^9MyNz;9VsSyq6xlH5+az` z+Scj#M2k?{!Vc_U5=^>ugp@MR(9{}~07F^=FSO_g8bEB@)><&=o#n95TlqY#l_Xt)%5XkaZEUmk5l+DJP1$0 zXBy(u)u?|Xj4|(gyTH5O;jc%5Z_oM%N26}VKl(dw^nd)@@FO4j@hSZiiRPr#)aLiH Q00000NkvXXu0jG}f?(&r6951J diff --git a/TMessagesProj/src/main/assets/emoji/5_5.png b/TMessagesProj/src/main/assets/emoji/5_5.png index 9941b60bfac05a11b0021122957ec0140e1555c8..a57352d0b73292fbeeb83939263b99e5d392ccf1 100644 GIT binary patch delta 718 zcmV;<0x|uo2B!v)Wq(jmP)0^ZD=RA^A|e_Z8ed;u6B83^YHJ4v2VA7^;Q#;t4|Gya zQvkNLDi`MG{QA>DhLB$Vj&rVt0007TNkl4GxP!g_p;yjI}`REZ7IDdTo{(H;eCBI+O^mDRg`y`vsFMs*|nGTlTV=oQ!`7oVQ z5A%~{&RXx(sj$tyf9H8sC<60|7jZu+ou5Jt6iG*G%KTjugn6s6>T)Hk`Ht{8D7=TU*ANiU9g!^z$lD}X^aeL0g!(lLKik*8uz>-OeMUAzlC|*Kp`p%N3zGULYEXdzML~f z=nu#4oHXmm&U|8l^^Zgqr_wBLMsL%JB;DcJ0!O!QO&%i^mL?u*c^s$=l`Q}QuIc#~ z0f;p9A#z3cLQkBl+O};s^uelL^hkRBCj2M90q^z?JITbU$^ZZW07*qoM6N<$g0wJ7 Aw*UYD delta 722 zcmV;@0xkWg2CD{;Wq)5^UrDhLB$Vj&rVt0007XNkl=s+3O)lB! zb&4^G<{;551hy(<@06_*l%@uo6~vG{(>>HNIxq!MO`xIo4{aZ}8C4LE@s!4D3Y8G| z9T&pQmTX(9IDe5k(E83eS(_MITyZjmZ!fi@-El%Cxst`jIhUvK-qRqA96AuiI-#Hv zYywOn(B2}FgCFB6aC}$LPEmQu)v(oaEQ%QYIIKz8fT5UjxWcnSCDDIwsK_mjzku!v zFZHRls#)zsq6i@(A-%TxtZfvjL7GBd6(LUGxq>N9(|?LcEzd+=rbyzLSRP>}82kx} z5GS@oK~8^ zB=@`+0;ZTINL&q=;tNs~Las2RNUt0LG{rm;#@GE?fe#49c@us+r-K~^K^OqTjWV&I zEu8oM?|(VU!m@VVBKt}_aQFj8cUgU8xuUE-21MdE#PVdVa2cwMk6OZ^Yvnnrs1lKM zg~z(^b07*qoM6N<$ Eg7!H>wg3PC diff --git a/TMessagesProj/src/main/assets/emoji/5_50.png b/TMessagesProj/src/main/assets/emoji/5_50.png index d4d64bc5b4be19d0016ff7513bff669b3b8a43b9..5681fa6367428d7480ea553e16996205dfcaba96 100644 GIT binary patch delta 1539 zcmV+e2K@Qu4dxAyvpLh@(6Gm&qrZ{4)2q?m;6bvA&DPmSwvO)h_VfGuk+7z4jb7O3 z)V9&6+~wa#T`uVJ;_&zPkBxzm=^j;fgf6?sx_NwZq}aTZk%g1bvL#eUVw7t;W>{f` zc0;d-T7ai;rOK+k&Y72toUB!up)!@M!)ldioYS{4ifOdCE2`VTR)JeaoqV~-TMJE! z8+DLQlV1TWe@00}K~#8N?bp|G+c*>k;4~^yoRynWoCNH>Q@!_I+?D5?kw;Cr@9)zyzUo5HeiPe{2~&hkx_tJ!ntfWlnOreYP5f z-OuGtw%0RH)9KAk2I3n=U~vB5V_Zgp5RSpP^QZwW~f`l_lP2)l%! z6A^JwY8GkdlBg4czmH(Ys(N&!s+h>#G#a13D|Q1`MDqt-Sk$nJ=Y$|iNFbdOtN;KQ zN0>O#WcS}ibY5wS)I9`CC-ak9@gp%c?)lVvG!sA*cIVp+-{z_~@V z_-Hv|ReUtdeISH#xol!0_tmoCYa~JeLG3o-l;|9ytwo95@d0k;0c707RRA%wW?v_y z1V|ur*^p?31WyUq)NvI;AJ*a+N5Dj`f7>0+W;0Fku>gnCyiG&_LZ-xi6BeY;HX#xl z5?5E36ECQldD(F|AQmqvQHtil$E!fXk=h^Ppk*&AS6AP4JqVEOaM$M?C&!2oSm^~! zM1|m9Py%M5PXfeo=chk@oSr+Bc)4&|F@ld)WEb~B?c)fP&_q$ub={C2ydA`z0YJ zHP{eN_WIm`2`!#cVr5@sBSLbIf62$iLHWy)xPmHRU!g4LII>KMWJugSBlsf+9jj_c z9Ez8sru&oS<}{2f2SgGR#n?nvh^kZ-j{E&1fe?x)R$yZUV2~_{N6$Ju4+!}q(1P!A z0s_5sU6>2fHyY&5be^ygv&z%RIk@vH=qBDDl|-JjKU0P z6_n_-ppRa&IWTyKcbs}YfB(xWEDd*bR8bWC5ga3QK@jE;gis#pK)8zBU7~QPfS`z) zr73XeafA!fi=DkTq|?UPgIwTD3x&ciD@9?yz>R5p?*g8~MM6eg>;SQ`2P31jDY*Fd z?OS;sOBrq~;CI}~2JFtnW_u-_PJ8j`)2FHMGs7v|SajgYN;bF1Wy|k+`VW%L&2&1w zv9Xa^Utj+~i6}sPfZG{(oW}2-bVPbR6}|{3wzd-F%{O|JUVHWG)zetu$2IaGd;?D5 pG0A`Sk6#k5|63mNkl)|6e**k)4G9HBltlml002ovPDHLkV1iH}>+=8r delta 1538 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 diff --git a/TMessagesProj/src/main/assets/emoji/5_52.png b/TMessagesProj/src/main/assets/emoji/5_52.png index 1b14066ab25bcf8e88277ead593fa89e0743d299..83a139ab02b796e2e4f94234cf6e44796ae4d4da 100644 GIT binary patch delta 1417 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 delta 1010 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 delta 1791 zcmV{Qt!N|4*RkHK+Ybmezv1 z`Bbd?Zqolpo#>R%{x`P%b+`6yy8bYq{AAAmfXV(!jq`ZK{9B;&N~ZKbt^Kdz{cGF* zlN~6KNI%;FWAkmYnc_!2#IqoTFmSIp-XldH*-q`WrkmFa`&1r!MTP z{#1RA`fvT`x3l{K;NR?S`?g0&y)zkl%&5~wGHy)Aht%kq$6e;5#mkQdTpf_%;G$^M1!2_YV1hw_jR6hr;l zVmwaQ)Af42RH8-kzrQeciLkZRmWlBYDld>!t5q~nRFUSz-r zl0+gA2&}(4Q+l1^ZO*bBf}g>7REWjnTTD=kX~8Lkb<~SQqft;%YkHX|h3#yZr)iO< z!~Q@1VfgkT#J1W@C?v(Skex!J8E+;7BoS@uO6t;E;={IW^E6S!!HK>h*CHl z&Iau;Zin-JXSnu<5-Z7VZM9l;(IylOg%pSIIs$4mbIorA2ZIx7k!ueAnyKrAVWpTP zL%6wu;1FSKgADUQ2zWsdgX6MUjuVmcLyuk83B_U;(#;CNUcVByjxi#He`q$Nft*+Q zM!*2m;Y4-t&G4O2@#}cJdjkTu0Sp9&VP#D31A!7zuYxIJpdcz>I-P9RI~W}MKzNw= z^>w_vBE%Ib5$^_rcF?x;2O@_OfhGuq2H_Z45S`{=en^Ou*!6WEV}OAQh!jL@OTj(} z5y+uLAmb3>I}sf!*$S6Me}bLa5t+vJn?PI6-mGpyn5EM~vN4OGr6^8|Tp$M_YJv!d zD|f0WcD{V+R3LP+;d7KA#@VS}vQYwp6PC}0LZPCfOcNji4&fa&6pT_-4OOgsfq_|w z4L<}YzR#2OqG8#Z6pLdn*Aj1sf_2LwP=X|9nhib7g+;?KxJu{Cf8EG5qW7n7{yYSC zK2I+17d49(IlD?R4E_~w73Ef$Mv34MUVH|}sfM8%reV+};dU}P``hvL!7)lKlNah% zqoL4-uImki=ZiS*iul8;A}5Np-k28CI8xi=$>hD~@8{L0&-a)2H6|{#N!;V~*8|sD zPbgV}76nw~d$e?7f%e(T2B&bT398Q&SFi_7~p8|&gxY0FoA#$m=slga5|KA#T; z6YFolGg)M^dDiA zKN^4dYqg#h>&Ck1LI{o0t~#TUc~D52BePPe7=|cX0uk~#fB&0DUXweHA>me72}ECu zL?T*eIXXy|ldS_41Z{|1kfHF7^3L&WJdzKSTCG-(u`GnY;N22JZU%H@Tb|L~`;=IygVZBYavv5bIJh5DvYE*A=z1qfZQYg#^U z%*ir-Zun~pHw$A307$(6B3WpeAavcLP(qwz8NbNR`&wpc9#xL{XsJ0k`=nly+1cyM4k(%jcbd(U9M_9%ae+EX%NK&^Osgf2WLXo{Xon{mH)=%Q7oRs7SS{Zjb`z(CeW@ z(T`<3Bfhg*FOSC+C8}wI2rU3TU5E&a|6v)=GTzU05JSu&Z50S%k`fWYz%rhhougUW zsS%1;e@T45TR3&}h(LQi&lT{r_xf|T)b_eBJrmQ-G5>Q#F_Pi~f@3dLg?FO2V4k=gOM zIxCl#cgs*6KY3rAo#U$H9)~u`p^X~0^}hw?aRCJT3WK?TcrO%4^wU00Kv zyN-4EIst2m3<;r@u#8t``{R&Olcx9)%Xn>k`+csZ?qeCRkLO*sb%JI5PF%K$W&B?D h_Fgc`fAjmp`ad^nxNIQuWo`ff002ovPDHLkV1hjRer*5% diff --git a/TMessagesProj/src/main/assets/emoji/5_56.png b/TMessagesProj/src/main/assets/emoji/5_56.png index e2398833afa2cf95a4f421e7fe55eb09a7679761..a65cb96f1b18ef59d092f1fd1677a7f61289ecb4 100644 GIT binary patch delta 816 zcmV-01JC@)2+0VL#YWq6bdZRSC?Fq4IXrG?Yrx+5|6W+9AR7NZGchqS`Ym?ieI4=K{ko`kB^(-OQ8W7;~`Pnor@Y89jlM4YZe{EOVFcg5r3DaT$Q4^p{ z)S}MT!CD9u!H8wH@c;kNl8~e=G_9wcecO|l*1SC2i}xHo`cF1m?ebd+mo@E+g358p z^Gf^BRlV}15b7oOO@UjgYhQ?=?oQv-xEHyOvd%)7q{1Bayj+f_Oi-;K@1pBf=9ua^ zX9M3Rm%?Ijo>IhM`v*yXDW0WL$$07lI2p*&Vwp0*}FQ7i*lBtN)%YS%a7Y$d|Z6!O%n=A|W7?D$)t4 z;>2Hp7JVQD_=PA;)3hybFb>$#9$UqEN5x!|%mOffqyZt0M-e~>(g;)vdY&mtuIrkJ zD`1vF>_Ry)1sd2T&+}+q1l*uhkbMe!0`b6i5BG#M8MEIk3IadKUm^ue0QkT+9uf>O zPXw|or75A{6T2@|?Fpxy{1_QWq`*Ncc;4pB$qCjme~1%80dMY9%vn?8bA^E(CC`t~ z5f6ludjk-Ev)fq$)QuGDB)9CI@~*@dif~#Ok;umBwTsZ}Ia1N?bPLg0hFk$RHwD>1 zpDQrH7()yJ?SOUKasfanf=ywBB1De~Vznhvlvb!NEk%jU82P0o@8%bmEfrI@AhNVV z$LSSAmX^`(8inY#g#ykCBmYI||0qbGD-8bt45ny58DU|JF8#B7z3jAFEk5WhI-BGY uZOLPdNARk9LJdlWv|6W*?3m?hfAR7Oc zlK+TS)?6Om7vFRA=s)>rwaafAT-LNN3M$7X zν&t9s>2A=FFmhXS`$*S-)#-JN}?aWD2d$~p^SnhA5%_vLatV}fe^co$u-GRI8c zlg0&8=vwBce@+9LRki#eJ_wHTb95HRajrtAF;vUSAXzT;{5+`QlD(_LxG3i-s#H-^ zAE;49Rr}|PspI4+9A~;e3WV|$$lDu*}3p zW^~|+{c^O^&(Uj)k@!iX-W}l$O{#%k-~R~SNPi=Je+Rlq2W@fQM}C8(aUQNlg<1IL zWvU1kg#qD7g(+4UEXcr;vZe6kEl4N5xW;%mOffWC0vItZPdY&mtuIrkJ zD`1{N>_Ry)1sd2T&+}+q1l*uhkbMe!0`b6i5BG#M8I#{E3IadKUm^ue0QkT+9uf>O zPXw|or75A{6T2@|?J1|7{1_QWq`*NYc-iJG$qCjme~1%80dMY9ELl_IbA^E(CC`t~ z5f6ludjk-EliNuG)QuGDB)9CI@~*@dif~pKk;umBwTsZ}Ia1N?bPLg$hg<1 zpDQrH7()yJ?SOUK_5y%V1e?MLMTi~~#A-{TD6LRkT8a{xNb*Zd-rZkZwp7gAg2>Ve z9j8|eSz1QBYZRi}77Dm5jQkg+|Dzy%t}y%qFqoo0WrT$>y7bTT^}N$+wfLa3=xmZp uv?Y%*=GR1_HRlJ=)Q$++_XD7Y!}$xsf+fp?^fg8R00007f2-OIXxe|A5aC~-pUq(u`$JwsF&92Aak;^0mm29AYk@Gcw7)eAyRCr#c z)YoF$I1mL;LhNF-NUK<~VrR2p??tsF|Nm1v0G+JzCXTNCile~=2;nZ$L{@~+k?w`{ z)-fl#@I>A|KDyfv$I|eG{=M(}&W2I&i2f~Z+NQIAIu?36@}_B9qlHO44R5q9rL^sC z&IE552Bj(OY)3{L?-Y`MrcGo@BUa7-Hc}A4*v?1%?$p0Gw2%=24XlTW?;p3>y`irR zMx@44dYtHQGwW_Dg9ebuP#->6EsndN|IeYkH328+KM$X)zKUBg+~4A=i2#7V#|dHG z81(hGF?o;Eh$m3phY2l${=o1xZDMX?8V$J|9w(GVn+9Nr)9H_YTTCx(IV2KBR}aaKS5l-+J7Oz}_8x)}ex)E+l4Ow)+izoxr5auaB-@EsvMaJMX#3Te z2T*dCXSK+Rq^hrf*ZRCmitLiM{kKt%mp=E+<`x_sD>Yzu3~!vFRAwxYhRcmg zEg~><6rs4{{&+6IxU}&`7ErMUW0!>R25ERBXQgIFpT408$z%pAm0hy6j(k73QSpP> zpf)3W-1sVFh1!hf)C7#7kl0>JxGP4ECotG%;%GNJLvyHqgBg5~BtU)smUw5VVbi`KZfVU8j+BR_HAeTL$PTXqawMOhF?El_3?G^ll>ePTI6&<+%TDaEK6nhZc0KBgrH4pl3ThU zO}wPsdphEtL#1_IeJ+>VFsVgXKxOXKd2zdiRV|t`5=u~nxhL-PoQN|E1Y~sIo6Q_^ i&RfMYx;B@Gwf_Oqrjm94QSER50000d8Q2j delta 857 zcmV-f1E&1d2-XOYxe{MSO0~z?uD;E#$KQ8saC~-pk;^0mO68Oy=P38W zeCb#{LwX{w@9)j^%dvGlVSH{jn`Qu`;1T0jT-8-G_;zgccGN{x*JcfqjC8zF*Nm~c zxjH?(VVaDktQj~e+IVAskTk6#OX;x6``buC0AuNO_}%{a-q1r%1T3&0CO+Spg23v#8B^|2RRXbsB&n_xoRe*O;C8a!5wp4i81d zVC$2?VA52<8PP9tC1AwOoT3bB%ZC#f1sIbTFfhot561S# zkZ^JPB;U8j06B-$69!y3F$dn@r3wQ-M|&{ov&QyGV|QGC@lpeR$MD7pO6A5BX}H2z zYefWxfg-3Y?+&LG80R`(s1ho6YiyGc-XI-sZE4V904o5KfX5wawIo+|$jr^I@rMyxw#2}doh2Sa` z1|OurJwqOU)WHogND`nve_OsYw6LmQ5Vy1xhCo*Pq&7SEK~+c80XdM553)CBD(-fG zK`h-c+}-N;yfZe~s>Sh?D(j7uw{wN8B)#e=I(2znc{y2tv~PCCP0= zQhK9gwHqNG4+@o*`TE26mtj)Mu7rx`lzDNzhU-!^wiJ{=C2u6}@|?&+8w6yG@n|@7 jEKjtGWenX@+qM4zVpEcpwseti00000NkvXXu0mjfTPT_k diff --git a/TMessagesProj/src/main/assets/emoji/5_58.png b/TMessagesProj/src/main/assets/emoji/5_58.png index 069c6c4cf163ecd907226126ab754742fa0c232a..ecfab680b010f36c055529cb87e8a04785caf7fa 100644 GIT binary patch delta 864 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 Ef(Pv)PpQDxDa@|!MSnDCLfob@k{XC7Yd zF5tKSUFt6Yd^dmoq)L+dlq`L8r}rO*>HF{SaR9!bvTXFZ!G$rqdd9;Mye^|P_`)rf zpN(18+2&&r1b?I%#-ZqJWg*U8Tnr;sA32QldCjOWba5PC?IpQ?S>|z34B2@4l#c@^V04%vxp>K6wy_nAj{=k>V8&GW<#VU+ z^1*2uCL~Gg!GDB2C~ro435>mwX^}Gv)Htg@^pBwpg2kwtItljrrG5osSTbQUl#NgZ zDlG(!p#7I9qe?%u;VcT zy-hdFYHR?~cn@WPA;6w5B+)C+)g!DObis`f$m`R2v;JAdg&T5N+96D5=oz31l!XEc zKzsGqLzDb}G0u@DF<^~=^YT2I032C-Op4Zn`sz!ov5!T5nKEn;Fso2!faWUS$Cr+i zVJw0-4lNh92)_}aMFo9514Rq+W_fl(Zy4K4wEy^)A)mQ!@d!(q)Tpi=W8t|N>m(A? zC*O>!fXnuJqK10zvL?a$j&RS^nc;gf6)J!&_#D808-&XCWIJ&d1MJFguaxYfvUIwv z$kEYwd##KEj!M1|ua=@=4Cpw8mjK?;9+4=DEcsPI&@hU^ln~K^uVz3@2*dD2Llq*_ zM}!J#NJwPCS5AQt71BeR67rHkg`NqntaC$u(l9mLV=9Qo8$6`pY^cu(2x){4gYA?d zhLfRxJ!2>=gGl=*%wGx5A*fFXXcCs_LinVyWJq23y&`iC@j*kP84wc=t9PcG@_v{P z3Yd*klvb|6$3pOZLptIfF(EX6%3_+5hjJK4jB&)qsc+{@?w^GV2r(hN?enIkMAVc! z8D`-i?>tMX9CG7s2DaCGf7YnM5E1`o$VUx-p=lw={&6L?ZiE?{v@f_AVJs3V?A;8! zrQA5~8M3ux2(4dNP$x@2j>b;2G>lk=O)Ix8Wux6U;GBV7WVMz1EuE3*C~t-y(G2r2 zl)pD;Y3cS+C}?~sLn7R}kHvJ#u`!hI48&6JK9|{*W@9yboo7fx7w!VvP3MNI-iU}& z3Tz<`kG#R58**b6SrW;V;UL`u_*iI;?Gg)wh2z7xUlJSbc8L|25Rsw}8-yIpMc@)N hg=hZB$bu;^-haoBo-Y({rG@|i002ovPDHLkV1iG+EldCa diff --git a/TMessagesProj/src/main/assets/emoji/5_60.png b/TMessagesProj/src/main/assets/emoji/5_60.png index 49556dc1db015e49d45ed5aee0c243f0f1ff3e8b..d8475519d6521e1c7db207e1909507aa982f1761 100644 GIT binary patch delta 1693 zcmV;O24eZz584lqI3YPXJ0cRLa%XB%K0)~X{f35(rMJkF904bj zMgblKnlOR=lV|}?f9F~vOAv+~mS7FM)8tIdIR|6d`@e$IJp(cX1D5`Q z>3+NFtFH?l)|LiJ;_mH0AV9mE_W$OYb2m)ZR-SE8TzPbYOLd>3CJ&?HvSEYR=-QSo-4^ffdBJ2bwL39H&g#V0K@vjl*kRk^ zWt)n}hUh-W>$x%F?%}TJo}4umHOrQeH-W-J$cnPl2rKm&iKXd{zf!*pY5qU$Bq#XcUO)@1jpr0$Jvqot^x|PTt>%6gZ`kG z1uf-RmW2ooAb#RA2$i#<{yPZS`x0<1124k}3?#vG;e0tr>(*6j&=bb=1GP zd92nMmSxO3PI{ekxjee*zwq+yZ9ZR2N}`x77K=Y!c0{ntv6B$s9m+8b!%QgjA^)hqzRG9XySe~dkgf08YiJB`Aia@W?7FoI~A5~a1< z|DGk6U5lC~vFvoS$%%~>C(p{ACj|&8x7$IS_9FQij&p>{ ze~58ioRqTpqfzC>w$T;geiI-jqYk@P6a@&~u7C0->O)HMy{?=&E&E<}bd?iptu&RW zh!9dq9nBO~Qw@l6Adm%0ZqrnySD^Njc*+sM}&uK8&u<&l7a}TYGEU zey@mgEidXi58HO4_o_ToNfvK2ls~vlf75Q9TsAiYbHmo**JMH0Pu;-3U}&?GiPy>Z)>RrKH+?^dblqSRG&uf;!TwJf;l<3ld)nc@ z=r@>_N*f0DwKB+^a+9xMsg#j6ykBAvJLO)Ek-FY=Dh(K6_ZJAAhRR9_S%VD2@P2cx z+KlhnMwNx8EMW#r!$7w1)d^ri6!RHsBb-j9AS2}X0wIxal{N_4Ye0m7t-v5A1i4iL z+lUQs%B%(3AV007NdQuUo8f^5e~B2d6v!Yx>j#sN1VWT7JGc-_QZE)jKjp~@!4$&6 z2E3-EpR<_rzj9AC380KE$LpO13@eWhE#^4_1QrmW5GD7NY|3F;%>5yunX?F>44;kd zM$#4o0SdnpoAI&^MlB!!Az&Hy5eD2bwyEbG!Vi;B0|ZzGJvYLD0S6g#<+qC5r&M;hbNvJ}JffhD|;34!D|-V3o0G0Ad5W!?K5uSmLOo zPF0)`fR_HnHL$bkNgj*i7~SdQl79~61R%g9mJS#c7#$*(+tl-;E=N61S5&sNTsXvL zbgQ)s7W*Dgm>nSY%p^kOe_J0;V@Vh7fu6DXpta}86c6~OUp)T@x0Zwl^jSY`00000NkvXXu0mjfmirq) delta 1695 zcmV;Q24MNx584lqI3X@BFCro$9|Z^$6cRZ(J18h8F)=VZJ3BczI3gk1oTJCA-o!WaZ)^fi8C%BsgBoqsd z{sY;4cIKUT2Y#$A4H!o~+krrUBHj3sr!LI#3R?znd3>R*gM&Q~2NxRw(meyf$n%Tu zQ}9wi@M7<=*B=arFE1~{;h^7(?M@*W<=^Y)^PBGx$jHs$B|m?Or>Fe&_2ubg2TTHh znr~dX-yv)t6rLJ}YKD=|U+?UD-7Xx5ZG!v!V4$i6^{@AxB7AcFNiCQG7=QP@U@r{* z?4Tk&L)El`@J<=1|GsW$AWVd?2-<7rT2K(b#>es|h?eMm*eIxfT&TpFJIChxj?MnS>%a3)gI=#uN*N*}Nesh*!=4}h zUCd@7SO9-;LZKJ(1%rN~mSs5GX5{Hpz0~d947y#RELUZ@%y2w+e^=R>LHHz*vxC=$ zy_=iILXF`##;W6_+b)$#!<*iVpxoZ(a+#zoNy$tm^OJNUf*qclglOKOEWQJCeEI0!YcI%c&Jj145_cpS%hCprUebsAq25zL#x72`MKJ*YUMky<4r$fp7XI<|CTPno+Riz|ZOpO=RSxGD2ATHj_~fqwDkY1m6DE z+S+#BE9_j)NroYqZ96f#1%W9iGq)q!AKZVYC=ZG+o11~TVe9hiif9<89^hXvG`VsW z5WWTQwG{%5v?|%W8l%nzAP1Y^Sz9S!GJGo+@`cAV!#a zb%itX!XDA;tWKCrCcPpUd7gk;MS5b@Rpro&Nv-jSKoA{R9bgZF8q_R5CRm6FVqbqE zxc+M!H-w%}uq^SlGVq;JLnssJG@D?NFEOy4Qa8)U9VC%X07lsJ1wy;7adJh`O$N&% z-^f*)v7f3JIMb9xf;H1%p)GWE0+z?5psQjP{}om8yJPKCW0kaU|S`7Nl(FS{y|aK}=kcM%yhnh*0fH$+(K97ma#$Agd`M_yZ2~C6 z=U{uFgw23}!tcapykvk;3kX06P{zy%L)bB6%li)DhefCYf>{PNH^Pv#-CBPrguYE^ z8=_~1&%_J-L+`hA-Mf+|X~O#t0+&o5Y?l!ClrQ*XQtuBJ(_%UCo3FnS_AwucW} z;;5r`L7EVNmj3A)XJ-?WJQl|>ywlDm{~Rh6KroY7I$&TDvPxNQQ}2(O67{;tsA6lm zaEQa`c54?bwjZxp9l*X@NrZp!w?3T4k}lcP)lTqUU#{U3f@P=r+qLM_sRp>QwQzYWkIGQyxC p5zn$;FkC45sVNVm0pIkC=l>EUf@ksw*V+I8002ovPDHLkV1j-U9+Ut8 diff --git a/TMessagesProj/src/main/assets/emoji/5_61.png b/TMessagesProj/src/main/assets/emoji/5_61.png index c71540dc61531725adb6d026fe931d3dbf45095a..8a188d2574b392a30622d3cfa47a88c74db33497 100644 GIT binary patch delta 757 zcmVB?Xd@&fCn+tcqoq|*Qn0YHE-^Hij*vJyJ#=qyWnEr|e0{gO zz#SbO-{M@v`H{>oe~n2*K~#8NrPSMYqA(Z*;3R~E zlOQOlwe5uS$#eVu&o)Ww@?tum{QTGYt-Z5dqLJQ!#p98JCv$M2W^p@ z&Ie7jK1^_uYgsCy>iwxW&eyvz%W!fJfhoe*tb=UrB8F@$)} zg%F)IL{?cbNKkxA&$p0I&yRmsjc&+}68Oc%j<~XquftqeO$3AN!dwkNRCxPJ{U6o}GamFUy zMq?Rim1b3yHLf>Iuq7TNcyLU!tjelz*a#wyMvDgNF_Tw?#t=am8b4baI)_F1z$Z9* zW{{&QBMmt&=s2?7^v6)+0?%=e>OJ(he_%uB&<2JY_+fv*WB;@IFK?X<0;?bpv zOi&DIsBJX@{((@PLw9Ki%-~eL={-ke!gJga3!|Ai(uId+7&?h-qj^TUU9&6V&MGg@0{EI+Nc00000NkvXXu0mjfSGsol delta 761 zcmVAYBqXS#rLeHFE-^Hij*vJyJylUsWnEr|e0|j0 z;J3TL-{$wQ$D*;3kgq~g1 zyv%=qF;7GUh}su1nra{zr|->no`~MY%F~8dcHQ(0eNG(_5R^y3z5$FmnOgBcc#Jul zu@xdl!Z?~YkD={bUVHxptQvK6`o4Z>@A)_;4f*e*g3$uQe9K46gI|_H=@~zJ>kY&{ zf2myP+Q%m+zdNQQW$(L&h@X2P1HncuB`{7khznk;TZM zV=Nb2jC@E(M&&PO;EQn%-~}L+jb}inJtLq<20dIr$dYn(>ZZV0R4#P|LQG$-j@w(s zeR!!tlh)1EG^WLx{kDj0ZMFBTE<9SD=Ohf rb=f67sM3<5#P<6jG(1Bae#ZU+C0<)`k<01L00000NkvXXu0mjf{X%RF diff --git a/TMessagesProj/src/main/assets/emoji/5_62.png b/TMessagesProj/src/main/assets/emoji/5_62.png index 88ac00980cb81481eb41342405523769d3bfeb52..6701cdcd6114baef2ac4e6cff42a15ac3bd44432 100644 GIT binary patch delta 1315 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 B*K+^> diff --git a/TMessagesProj/src/main/assets/emoji/5_64.png b/TMessagesProj/src/main/assets/emoji/5_64.png index 1a27aaffea4c60e437e23ca5689c5f45a916697b..15fb94634c78e136c25bd01a65929ffe3d72bcc7 100644 GIT binary patch delta 1252 zcmV#y6Nxk$%vm!|9S+i5ID#=4(_lSE6bHXk zFS1K1Iu8ZhWjd2831uD&-*!;qv<0`3r6YfSNklwb0MWO_CwI`7({guC-8N>h2|C9Q#-PZq2IDVgp79kOlx-@&r{IXs`E^{a$0Rg}@ zR!g8U371AnXKdoW8czW54wpqhek&HDSGQ|yQ%4WKfP{gNa5@vcf4WJ$Oo>+^)08SG z!9w4w?Jc50&sohA0l?_ZNXJ5q(dmEH8lRNt=fri$Kqfj*PxN}F2KMl z03rb8xxQ^wkH(Cr@e6Il$Va(A7Igpe&zdogr_-rLm*8~&sWpfktuM`e8(r%2SYc4 zbAcEsVso?*RHOPKywB;35HWxI-daNgxOCj(`SO66LydV2mqX@615J0HP}F-JY$T@7KNxcO~{u*hXoM=fR!J~VVQylF$+;r?Xi^L0=FPWD4-ZjP8Z<{ zAyuH*%W*6j-j#pPRg0HfTuZgfRXB`f(0XkybDfa;q16V25x(jWWfw*GoscSG@KA_u zE*g;VSTXQhl?4fuOG2*nrXZ_rh!LU(fwyI0+^hiQmQ4eOm(oam!X$_k2Do~)hQeeFblyPhUY;Fv&x|Q8#BO4t2d+Pev0{;TuLjP10ji4+5 O00007 z@BfB(7S{?orv&xt{IP^oG#}s0I9>glw1>^6{eOhx*JU~$UtSNt2A!t9?VEuGi}bF2PFmA*E9sDJ3suNn?Mt0|I0i zHBhWEhU*cb2q6tRjFDJMTEbk%V5Rp0$%aQ_EuQlY0{wuJCW7>k z3v?v_V{Fj63qAoH|D=qqsTvJgaC}arf=%^POqnBG2qGu^4(9EkOKX2oqpb)@W1>l6 zL+HXXF_!f;YkS~p1#0+Q6bi=?qgz>mVTbx|Ux9CUwSFkl?(>)r&s@-zp6 zaU<{m&DHyob2r{v%nfn833b0WvUx8M`&~Ocoewr)-%!wjF~EZ^vpe!uivps%%Mx!w}w+m-;q8Ab3AG+5lk)uR6Fgi<;WV z9Tk=V07cGc!K2tW1o%;% z45{s17UA{k+X6Gl$V*4C;_4g z-|6tW#?t@)|C7@JAq2#FHL#QT0dapWNkl;g9JOY#jor&3M4VuoPN7$deVF2GxT`*xKNd>ze4tg}2?9Up}?t4FXl z$7O_ox3!JpAs;#ZU9AqT!n{3DD;Pzn0La|;KrmkTYY?3LV#7=rV`1anNf)A#6>q9T z$h6ICMW0cZ;EdQ#Pp3={XU2bXf4$Segdt7(vP(auqm{<>$&mQ{N(n_p)IE$;2v;~B zGMP-4LZ!U(k^zD{;BaMSy*t^{^3~B%^i<{8rj!hK*od4ZfrU&-hZ91hn+X=w~6z%8&^Y!=eRyq&UggSO5`yI0rBN8zS0m{+>4=*oFa4 zmtG-80M=)`@nfCEEYg2h9|&&%U!&jc90#MR7bGssMIO7CJ57)CnIWEk08azJ#Xj`Zg0Tagy;%; z&Hjtm?I7~zoEv@i1R|dfHzCB1TESv?0W;J2&g^o#Q8t|mdp>_k*#+zUl-1*5x8Y*l zg{M?&&*>23#;BEC73R;)ktV`9G_SZP4Bis%QOOU35L58$iHV;#FsEOzP*m{qm-pl)HD7sQ`K7*f@ z@gG9#RO-g6 z(swshnZwgisOFcI&i~xY!e~q%|-Z)(6c$ zX4!P*^^kvsR3=1iW-9JY3qBzat33)+L7Iwy?g-r^L^eI~oEd_R_oY=$!ErTOQ2mA8 zINnCUo4uE{IbWT)w|?=0Vk&uWbn4S98pNIvJS$q?w1KeqQ6a<Ug>ZEG)qEBr_)m`UyX8^$k+{^-5)KFRwA~OA%)PJ%jkGiVGf^x z?n3f0tB(i+8OsU#r7iL051DcjridAJj#27BK1K;^ObLZT$z)8K!PPfRo$c-q z1<#5>kW4x8q6>9usP&4zgRU5~yqPdLGP-{OC7LepGnK;c$8Lju0=!(hEo5REY8mjH zj|fA{oJ}Zx8`8@U68PB<#;MHLV=+6KFKmvONzu}LWU*xQ^zxAdWn73U5HS>vM&B^b zLqx0(k`R82UW&AGy=8Qv8U&UuU|7Eh;BD5TzIPm;%~&S9m-rT4f9$=y4<%C$%oBf$ zyJ3LaZ>{4KJfO{3Ccub&mVUQmsxK!PdptmoQD-36@TvIicH#9#+_&_OiLLo`YOG0G zPwrGLdkMG87Y(0V@Fb!HjlL8mqDYL5qP<;2SvS`0ZVx@8Ow%B4OS!PBEksEhzSt1a zcQIx5Qy@e~q#`JXM%_F#DbV*oC{qhl=b3?6PH%qd4AWC}TASSnEd&Zds!-a@)~qo4($%i?4>>!LJa z#WqC)7+FcbbRp@w9H(xhyB~k6ods&eQ<=>XJi_4M{I9e z4GBW6l81;AHaKI)Ordkq=*sl65d{eW=@DLUu{^qfCxqg!gW7wnjun!=>bAD%>$UU%^Nr3=tD%|NTm<5Q{W~1NkmhT_tYOE3aian z9yi)O+i+7$+I&SaPhY3UMV$HRe?ENu9~JENZ|`RR4Gu7WNV}rmTcn4Bp>N=~AM34l Z^t3@iA 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 UHHaJBqW}N^07*qoM6N<$f@~ diff --git a/TMessagesProj/src/main/assets/emoji/5_70.png b/TMessagesProj/src/main/assets/emoji/5_70.png index d09c6e96f203e4b82867a5cff1e4a081680e424f..a24c551fb72589b2520ecd4c45a5a6bf6d475ec4 100644 GIT binary patch delta 908 zcmV;719SYp2)zi9J_EC%n2|vk11cE|kz7%KSwAF1DiLK$Fm6>lYEUQchCAKokXFBrGAxU}1`J$2Ey<^-3@9?fsu8_wH&3PvV&sm&w1J z2l(dPqlL;p%ifW>q0qg^4~$KKPIr{&`9Ws`VK-;l-J=ReC~%`g6fO`DJ%~e&Mxz|Z z7}0ukCzHu&mGupyyL@_@d{x%{w#LEza5+VPgE1h1)iu`;bP$GUFht~VjY&JlC_F!- zu|lRdVyD(lAhpB$Rf*{3Wf0k%2*z4Zm$W!XAW0q$nE*tDM0D3| zHr<7TM7U*0YWxHOg2tmL@$#Wqw(X{lLslNl$r0l5-_FdR>6VD|enZp`|k zgt(=&v2y|i5LuNFn=Z;4h=9`nqpoqudx%YC$kj<-{cESX=)vEqG~ZM;<%T?eN`pTS zU!xlqH-gO#m^5U+eNs-raG*yVW@N)^;G}p;rYRL#6g6LVWY+D10nKr)?+gJ4A~+)FyZCLXABYo$<0sFjSs z9Tv146`vOo$srlpI4rLl6pQchCMn0<_xG<#Kt_+Cey6vK$^!g)BmBQyZXbGpT(t#cHf zpV7#X;a%}dj?SMrfku|uuvghacuk4-_th{(W^W&6Nh|uGK*$I*06}JKT5hM>^eHb9yu6G9lM~)V?P!7)R|rJW<0%t>2#^RK z%H^_S*+}?%x}e5yARuVGXC+=f2Kq4M7hhHRg}&&$PsUA8c+^2i))`*h4T!9f&z*!-Sr~Y`ruXfUy8W zg&tyK&a&QoLW$JYGQ$N!)Z+>cL1Z75J59>~EixOE7Hc5&AJ0)E+n~o)W9FM2n24B;F(hH0U1iuP()*xPzeiWD^q}8}&gjeZ+p>~Kb)Ip-uz&VJ6mK?qY z{-nDKZ43u$*!E%pgLn$@fnp6Cm?V)65~0+f2E<-8s6RYLgZ=ko)vB6AjqHF?>njpH kTE9_}IY5v8dw&6mztTpzP|JH_5c6>wz#+`j+8Kw!#97)y4o-d1z^)aY{C$3x#Q4!$~^P_FIUNS z7hOs{$yPr{0e?Zn$kRy)UStA3T=RODf*rMQ>bhx~z2pmZ5FFc(7ZCo>$eTKZzl+>= zINdepre^j~uSnExSs#vR4=)qIL}ksfVB&FX?+phP%^^9E=3i(8pa*bmMeQHSp|%@scx)CJ>!7 zYwN(+OJ)x|`|Ap4-??0H3?z>0rq6#}Q=c;-SkDxYV|B)T+Bd~AKGNCmnn9O86!XOr zg-Rc*@snl96D$)2tNS;_eMh6ahe~GU`!sah|mo64gerV$65XeRh z7Dxiq@CF5(A5a*E9mP0!<1y(uAiyv%)0B1?AXPO~JIWjCFePKa&j$klNFgabCKR+@ z20*YxOd%*e^aRm87$^i~uI7J?Ku9z+7$z+dg!!Fj^crJ*H75a$AChC})B>6LsSq?H z#P$#9fj8zoqZu|Dc9~P2um;hv*usu_2moGBnIPq6W5#iT;g~`Yjps2Mt9?X-Ttj4E z>u5&^Af{r~5bASX$C!2O7f{Mv2=X!!u~^4y(-wjpbpQku{C+fq^-noW-M*e-4~<@PU7^GugAk%)l*nzL00000NkvXXu0mjf|Ltok delta 769 zcmV+c1OEK32d)Q@hCLh|9j2+M;^N~jFfr5B)x*Wb$;-+T6BDhlub-l!+1uN^zP{<| z>dw&6B_}BJ^!5M$|F*cemztTtbA$Sk!#97&mfJ841yDJ%MY_rpPb~>MRg3-qKNkRE zHrWw*(iZnTSmu$6HR5=b1ur52A9i}ZiGm%uos^oUX)E}GBEhl^aaQU-jcQU9{w`u0 zaXL-~b4iB1;PZbBxw)_D z5%8EElXYJHF#tf(=NMwsBLIPU5(w!tjTG#VdO#S4@2Sf@rD^gEPaQlMbd!*6tib|F zU>d=rfb$v!tv5NwF8F`}BX!UW12c|k2MuXk-EMN;P`fc1T7v)v0FZ;o=`o_ z2#`_a^l&4@bzq=C%A)Opb11SScYuI`&&NSnUt&4(`t=NZAQ3|7 zuLUQfyzV}Ke}9MI`yNk<;4!i+uh+w2bCAU!FQ=h?d@HBm00000NkvXXu0mjfxdCyr diff --git a/TMessagesProj/src/main/assets/emoji/5_72.png b/TMessagesProj/src/main/assets/emoji/5_72.png index fcbd0e263df86bf8c629a60c7bab82d085d4745c..e1de91c3cb94332e89adaa1f792897fe00d14bc0 100644 GIT binary patch delta 855 zcmV-d1E~DM2g3)DUwv zT(Q5*ihzTJczTbBjgyj@mzklew7{I9s-dZ~EiW=_V`QeUx_)tS85|zO*yg#(*RQ?F zw8G9hJ3U87Ny*;q)b0B55nI>*001C#QchC<{!p$k{rwIf{*m4tf3rzMK~#8N)z`^# z+CUHnU z!-S1RQ`4ZLPRf~We`K$l@~@Yr2{Hza6FSaLkR_auZTfW-H6EL$!E~3-&i%?LVLZux ze=A0VOk*fL&2N1}xKQ$CdF{!Y5CKgEJ!bQXk_^&Gy@`WFBMO9}YPY^+mEV}_&h5wg zA~el-8K&~5#Vxfy7OGQbpFU$`E(X@c>BgnZ4%KlS&CWEJe>Myr$R4oP`3X&?iESVy zK0rH}9j9pw#$;6-C7>!iO=xV)q@!#f zYzr!s8U~EUeG18dttUe1zFk#2G~PVUJc)wRdN{9^i^DF=8{e>~GJ2<>Y$k6H;W>U6H~9tG!I5FW4UiAn7wt7c~?JY`P0E()>MSoP;m zv6-163R221A$CG#+wtWbAq@ikM~L!~a=yvt3H~DVQTY3bY<);)Wq7yP5B$PUiVJ0asjLoqe3~w<4-;?1hPU25}JUAuw1Yh0UW|!uFl{H@i<6b-F1P_ h>j>Oa>j?b!^$S#8O=(M;&8goK+$sZxA@X$03ru$@Z?+-=^<8k`? zUp_eG8b|46`RH51g_7s!Hj{Uu0vdCAN|zG_>7|i&J1-IqC=iaS{pOLQ{GFNh+Wpu} zLemV>GL^rq9?9mEt5&(sEKkGW_O6-6e{i@bpMYbXUC`*7c?_h) z573!RPvbZQW7KL|B_t&tM>I5Uv^7{jSR*tzVek<&#k)p0r(BN%-UEev7L?M+eWtJu zSm#tI)%O?;p9!P`)}9Du>uz1{(eUs(vv?Miwf%J+t&aP!kM|;bq(kg+?ung+k3e2V zBDmUZ9_T=If9{zzLFhha^JJB12CMq| zCAJGY%z~8iE=-e9*|j`cA|yeeci}FdDCgUBncyd(o`t`kNH@o1QHPgFAhNF8>-8t( zRNsX)SRgd~%q)D%{+&RGeM%sVgbqDiV1zMZXW=aYe+rxt1sAdx#yDrHZab)OU`&Xc z(7i?tAJdC%A^ z^ydvkNMr8_nS^!ylB^&pd`>9~LMsn2A*pm|QLop%Jpe!McRKe(w!IWF@QzYwom11- zmX|;wO#6J9+23BZ4lU;Bn-{&TJ}R{#J207*qoM6N<$f+}H~Jpcdz diff --git a/TMessagesProj/src/main/assets/emoji/5_73.png b/TMessagesProj/src/main/assets/emoji/5_73.png index 1e608b8871f1995bc13e93055ede778cfb48b28f..7fc29ff636d0a1f16480aac4a2aeb48c327014fc 100644 GIT binary patch delta 1244 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 delta 1187 zcmV;U1YG-&3XckqZhy78z0lLwyhSa>%FVMzFs@xso}8Sra%Of-NB)q0%2q+Ci-)j4 zDDd<5`-5=BO*Pot-%LtNrLME}`1{pdM*98#;pOPtb!G5{bdPRn>Fn_6TS35!gZXDn z{+x@&qMh?|Uj6_7j5Q?TWlvR9o%H|!01AK~#8No!8f5 z;yMrpU_?NYF%VSU3%$4W-S>a6GlJv@!)n(s_x|`b9?7WTu6DcScY4icujjYg?Z(~J z@|*o9;w{cap8CeQ=lSk{VNM9~yoE;=3(q5jYdq-s^^~^XXCfAv;{2TAhd@*WqTBj6 z(0S%qgdx?uD1M!)f6!Vh0JRi?Qfd(g@ML~Y$WfloX0s?7kCPEw(jX9l%up7vj578& zr1j((VU+Lo)6d`Q;VepWCJhnC;e0!fWyYvv8R|MScp#`lx+~vHL(FD5TQVkTAmT9G zZYPt;oT7|nSoIuzZ5kq7f0pm>WeLRkBLLw{K#1dHwc4!ae^O)3pIR=0@Z{xfdLpJL zg33!`vVmH~S`jC)AcvQ?&*{4%PQ4h8q`XYA*?fV)Y7$dJL{U1D%M0SG9#I1E)6Zl) zPP5>W_^L~k-$VpPk_Yicim!W905Oh+AGK3>{EsQ3X!c==uR26EMKX@^k4ii15;jFT zGQD^_1vFDSf8Izv0_GxHn$dbZ#c;H=)A>+}S8Df&O)<&p6FVW6_Y&kP#qgCbuZay1 zoIJN(gt~60>E;!&IU-e$uqWU0hTx>{AUa$f)>ni%e}n2mw)j56Y_ptJcIq66rsMea zxl+R$B1xj*>m?CtPI_)a12MIP-Klfi3!w?=IEa=~e>%M(lFE4j1XYCi4x;_6ar#mr zZcnY%X};S|LgB*=kzT$Ls3UR`P<@RLYarZn0cE<`Z@8+bG#s;m&JKylJ> z628VL|NU7y_Xr3R1O#j{cR$g{5<41DdGk%x?pB!Ua*c+T2(Aezs?1=y%f}j4vbPJl zA+}nZe|5O4jWpK7y*++&DXT=FG&g(9U0tnl`dQk!s2;zoqt=R>>2_C3o6$Hm<4nL_ zw{tOp5J=f(I;KlOj6DeD{{x;|Vyh75wwbQ2#xc(!h9$-+jlT)0GG)&^XAG`Tv4<3U zyV-wsYRG9NgfoWDR0_m&2Snw|e#AJGl@RW|f5wX4d%3s7?3^Otam;#k?f}o2!cu^^ z>P5)eJRa1#4)l-|JO!fiM#4E#^N{-Wt^xz5WwARGSmh0t8YqFYyhr3gWbbp0B9f7t_pNEQg_W$kKF0ZU0< zf9aW^0V67-(k`RcQZ&{@luNUaC6%0T%>2e(H9!cHU*j~BOiHN;C)zfmZabt_U?d~S z7zkYT@4l+GkmkHF2Gaxzt`B#YuQ)Nr_(04Z({DUb9S+aJMY90Ge0&}<%oVp-m@6{~ zk5!X+=6UZS!QL5dhKCJeg$Jv%SXkjv8RMU0{U3iZ3w3>5sXzb#002ovPDHLkV1neX BQDFc8 diff --git a/TMessagesProj/src/main/assets/emoji/5_76.png b/TMessagesProj/src/main/assets/emoji/5_76.png index e7f3c0e58c007f5a38b00f164dd04aa84c0114e9..7493b46cbe57c8a1a0c776f50df301aa1fd22c96 100644 GIT binary patch delta 1415 zcmV;21$g>|42BGlZhx0=N~C>Lu#IAtRV{!+BB5Y5&x=}nKOdZ0Fv*2gLmUlNBoo7c zQC%w;uWCMMGaayRLySu%i&{aqb4GPK8@+i-hDRjfzm3tKZ-P@bkx(hXmT1|lde)F% zFAxT(Wjby;CQTp@I~NLLUNgY0gz4O`e{MrSWHBTQ1Xn&Ii~|*zYLW0Jf7?k!K~#8N zoz-V^8#xRHU`J6|#WhZHe%AfGe3qTs*{aK6IY;pJb zLg4pCk05yoBotc(!^j>-fCirUPMr(^7+5d#6n=AXp~f05!c1Yy>F<*O&! zb#W$$4OQ*=hsHcjeY5I^5XaN0tB&+|j&TkYLPMqYY=nr-zH(6TeMePKhx1uY59c_< z6dNc*jqT;f1fG@Ovpb!tNsUOee`#j+J^xOIun4scvkWd_Hy4JW5v%Q79%BNNICbTtQPdS}I<|!n z9>YivjRAtKQJTy?oWwCJvjCx>sU64Ik4p&ggN1;in^w9~p&MQAdWPSR|*L7-(t-9dkh0xnUEAgXO!YW!GACIJEr zPY<&Wjd0i_7i{QeMxs&sS&>YF#5VFGJM_C4uYrQb32fF-Y0*fouXHg10*xSOH(5sw z+yXA4eFsF9e+Dh*lAACA49_ycPKACE0J{Z{;F}OqPOncQ2rwespej4200fahF+;M_ z2_vAu2ueFvi8h3Ik06MIYCn`~lYl^)fE%8r87dtz@Lqh%gcog}7uP0$*i)a<+Za+!HCYZi5Rg9^md~fi5Oroe@dQ1*NA@YEXo9C*fv`v!0_@` zqXfH!fCd($Qes^@%i_y-His~F5d@|nV2h5OTqx1fNqYS(%U>Ko0m`!ygQmRC($V6D zq)yte%H8!Ke;9cQ!w5sP>%$*Xva?*n{f45N3nT2IFB%jOvuYBL3fCM03WVJN4Sd-4G6mQ<7)>L9BzjlbYVC(@2ATtsD z2n{Lnlv?a8lCAO(VC*4CZl$!bbPH>MES(T5&*3bRTE4jMVC-?2grrOmkcDWTThSxL zkOg@HffI-XxlRan=gi1i1S=0*AmlZD*b71ge@RJ`gOS4)M1-BY|2EuJa$eZx9*s3@ z#EWtmh8ZP`UC{gVap?o6Jo27z-!iTV8CS}0N5Tu5X5*XFEGTJxM1*MavniKNQQY_uMhOV zd4jl}$0A4x`7m$pnfzX}AS{BMkpA$XZHENb008x}WWbHXK*xUs<~%+@hTCiTfPf%4 z^B{{L|KSaUm_!m`^fK=$zD;Go_%J-fiy{ZchrvC585v^aGNY#)A7(7Vcq#vn@Gl#? VP&WhwQw{(C002ovPDHLkV1gyFgX{nR delta 1386 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 delta 1399 zcmV--1&I2s45%p9fi1+B6qjihw0{Tw+fC!TFV~?N@#v(%o-tN*9J!3kn?&O$)y%(jC9yuY0O!Z9nL@z*do@Zk;pEvV=M)3WF?10!@)` zOB>tl=xCOjW8sq%MSZz{U8;X=XnR?brsvr94Z|4!!nflzO)mY$mkzP&W#=%YTe=)A zmoxCZ1nV`~+*If{zG%^UQ_d2!!Z3JWFTwNjIcGL|KWxw(>BX(qipyxYLOP!x4#Ocj z6APH(X*>_ZaK1Ucyi5{JE)_1KEJw+l0LKst25I#D=>>#GuURjD91qz!?>C$M{y+uK z_%txZB-Z4jKr52I{rN;jDt!M?%$NZai#VTd zks=j^QPSmY_7hw$m*dfKoZ|-w3H0aPHam7_1&v6x)uI!50qB|ia{y+`Py_FVo_`1tch+< zlieX$FQItF;|wxt=~+0+l2oLqcXYXRC3}}e5$eEcLBJP(sU>GC7tdK)A?-QYrLoXM zUuc?U;Rg*eFnePgZ6cs#hFvDD((e}eJ~mucpiq_@sKO*p60a?MGcYS0mf*IVy&%m|9zQ1t<<{9||TxNl@6fk2-W3 zMPX-PTT^r)6w@hF0IKK>EY=l;M~0`J=lgj8#UpimDty$zx}rD?RUir*tAK(zj4`dl zRZ1Ke6xqFmR6$qq#v+A6Ff}$~#V;epJ*M;jT!k@zusjk4M;OkTDwu(-!bh54N5PJr z@DRj#7ECc7(=<7vpq-%#VHm`0M_3`gZ)$WvxWc%kAzQ^~A--X1JW+r$@;nDj@fqis zMZpz@76<2l?TA4d3sLZeVF_odfP-NehRMzfjxc1k7sozRknSRm9*crA45ol1$Cx4t zdbQwx3&VAMbivewfiaz$NVEKn4^dLoo{#eahAE5lacX{^6&#bMY$I|v7z|9)oSIU=7in@*)@dQAByVw6h}`+cOG#2Rvj+uvnhCHU zI#-(P_8DbaWC4wU?>+&&$&1)_P2cx>NYT-M@>Ee0_7oe!y(QkD*UM8_PcM)xar>OvgguEj)sq= zx}L)RLFA>@y}NI>btR|WzQ5}t%ipCgihnUg1o;Q~8wGnlbhZVw+W-In07*qoM6N;t FV1ip@n?3*l diff --git a/TMessagesProj/src/main/assets/emoji/5_78.png b/TMessagesProj/src/main/assets/emoji/5_78.png index 1af8017cb4bbbeb099f15bf1994515cc05e288ba..2609904fe6bf5ad5379f451d6fb8998e0289eccf 100644 GIT binary patch delta 1839 zcmV+~2hjM35rYws$TmGOD;F6XAR{I3cPbbjA~-oYCMYU1G&KH&J!D;1@Nyh2E--j* zXn}KV=5HMRl2CAFU*&Tzk^UPG>T@O2e@nY_=Svx#o!h+5ld5csTT zNG%{`NIH*89jIS2{{TkW|}$_-1n8LU>yw zoj&}XO5NTbA0OY|rc%Wi)!XF`(~OC&)UD%T-=w>^yu8rqOy?bkeOEk$U~-Z(@z3qA zE0bKVaXp&7a?}2UFsg8^i+n>*r`LPwy~M~bbYMX_ zx`9BW$Y($Fg0-5j07nxkG@45d1I!G@Vom09E6eN~eB4)m3q3~9AcY2F#$XAupj{gH zKE`Gc&*p>qMx&7rx)GUt-igS#Z6}FD;tq!3UBc#EU|Up)vDYJrdxGKqUTZNRwD$z5 z)azw3g+itxweMMCh?WT$D+rP#K>-FMV6Y&ETCc(m^?mij%ZjnJ)NSNAkvKW=cs#*e zu2J)0YJpsTuG6X49ge#@sHDHZ(o87~eN4ihu-j}IX&)oa*lc!tByx+0*rlJvFDtYP zS|O9ERC+y($^R)t0fp!Z%gfCWj%(>KO{1Qvp(l(2JN_!*5t{;1SkkFfBx1K8sVG|} z11mZW^o^DsXFijGYHSf1Jm`O8QAmG#VJErbZW&d7IR(xTC8O4PdU_C#$6fK9qG)zK zeiyT>$nO()krx9&P*j@Doouz*KPwqPvGeEXs2I!T6p>u3`bqd=FT}IOL>O=fRQg&4 z_0wQ5V#PsQk6Mun(suWKm1R+dqea-rsj$7PSLNe*=gLafkS*X8wS3-9$pSXow&&cI zuqZx%v?5+}FdQ*cvP}Ho;PkBjtT=#HR47$9qHynpw%INTTxmL;O42cNQ58G-(~_R{ zEyhC0qHVR>y+%bvb&IlItB-aTOEai2outy0BZW$(RyG+0-W94qKoRp&GSV^)lbo#? z8GFK;q5}cg1DVXqsncR86rA~dKI3);>4-Uh7;N~q$Js~DO7hxk51+sbC?1DyIJJgS z^b~c%<+9Uun1*}4_Y>XkD;A*{&8EeY%{H5@Kd>n%8AVY&Z5HZaDBn8Y4N~8!$OA6n6?Uau)_E;NgV`j$P9U47< zCvF7%Ox$4-nP~~kLo(6;%fKkt{hpYW_lTLSWafx9r!2A21oKM0Tgo$?!a3G1v zFUR=(NO0BZG+;RfVkYQ#fE?iPGY-aoaMcN}40@5D{96CTD3HSs2CR7KG~l{57((tx z$Fswac{T*!O>hQ9h&#%3g9!m;Jk%RAg9>m*|0{(F0g8uT!LK6D5J-X!CWhboH^e(G zXBb4d6ddDkh!@IW-y9GF+QAs=P{xo*J~E{M`$+MT%Nd%{AQOWL;ej%SW@5H~julp< zsQ-jAhUY^NzGcb*_{1#KSY9&4av-#|M>ES d<-ZsI0t6OcQZ8E@hyVZp07*p#PDHLkV1j3~WcC06 delta 1843 zcmV-32h8|`5r+|w$TlV@Dm^hPyKO_$e@n<+3m6_EI5|1yZyYl;H2#G>WL;PAava-e z5O{8AfpcsvE-?L)P;h2nk^UPDAR{Fg85`ad5> zV+>g~BDqx*YEMDulqGMI$N@rsXh}ptRCr#MnB{XDNfU=xkz|o&j2YrMu@fh`B=;_g znVFfHjm!}Ev)`UwU+&9!Ej?dcC09NEbx%)g%Gk3=BogT#B-n^Z#x{gsmNz#yUvq43 zE-$|kZj6bCHjQn~uVpfs!^6X$9ESi!QS;wFi-%N*KO6d)Ad&#_c$_nT5LCzVYHH|0 zgj+-?bNDlzzP&v;Ik~+}r%Q3F|5-3fGbXpvw=R`QYrMR_zcd=P7hRY0vup&x)D$-P zzuR9ww1a`(^I-E2v?i77ZyEZ0D5l;liA191*C&PYVfIe*Zf`y=(F&Z^VFucpN>8bkz6h(v2v+!1(8ctCM;V~hE# zWd~th6Nxl9vGjsNxZG+iiwIR7Q6Ap5*LheZF)>57K$JT|A4*G;R{o& zYh}Aqc}UzKJo}Z$^31H1O*xORjq!$9(hzUBI3LTE2ftpgx7qZ6aID&klmcT}CUnbu zF~keRJoh&ywjYZ?3{l*VM5^_#yzP`MTk(b2nR@-8*V_dJWZ(eDZVw#a zX6JEIi18sLiPmZ$5;-{V@9qv*i~}R*=p95N0e4%&KNr~8TB{x@R$_2H{r-FZJ+kg(uroNzQ7WHbUEv>p@QFY@@(??R6nYjL3nu{! zno{Q5IG;f_SD*{cX0t$h5!ph)jmUZ(r^#gU3YOqi(&1j@J5;%)-^cMgoa64!U^gQS zcQ~Q3T7yBgI!F?RcRVqqD>$qb1VIp>0D}cE+mS*@+BxnAUHrV^GuOVXKiIviQ$HH$Lqa5$aO=q)1ZRDO~@ zuP~@X>R^y0tyWl*|51n<3bEq$=bIs!FogC(A=EP+^n_Eej(-(Fl1~9C?3r{r8g)94 zNy?GU!imlR*B1MZyO7O7HI8TyesTSkN1^=bhe`5(B)mbYdIp>$$`*tB>})@gNO%%? zb;;&=_$K2yk)NmVMP6cPP*hv3om{PUeO@+$V(0hqaVeh9tE2gL?W5$`UdZN3$vwc! zkk)z?_0w#&u!{YT6}2Kyhn(KK8qc9h6eSqs^q#Y4B@2mydv!Hu&K21d^+Lf*1sO-k zap2y6mh&jyx1)X=y%)7n!E9oG|LpwwNwE*Ds8VDvs`eg4w)q|j0%azXPKDyO5*a`K z-BzAm+bzYi-Oz4#`pqgy^-95h`x;FaPcx{!P>RY_kJTip)3i7RI~63usN;SrNZ4l< zd3UEG>rDF7A%=k&$Yxj1+;(%Z=q?lrS+9qG4n=J=-3)9`@UNWJ)UMyTcM4xXi3D`R zZ7`Q(XQ&e%k2BoHj08Wr-6kBzP|VUU732VaN0@VPh96yeb=Zge)L)HXoB}z*U|qw}6tnY05yYf|~-*yu>#zuQT&&!w)<=T)xAM~)#_$(b!Vw7P+oC6~*s zjE^Lc2-acy*J`yEDB$a$ZLxRk>w=LKueQFM!H{crI>)7cJl^lmf8QFdA5!tyhJ5zb hKYaPZ^WTgA18&=1`;*$Sx&QzQ002ovPDHLkV1h;GbVL9E diff --git a/TMessagesProj/src/main/assets/emoji/5_79.png b/TMessagesProj/src/main/assets/emoji/5_79.png index 16c01c28552609cd2aeb9b6a13a6eb297b43ef95..ab7a9c493d8323eaa731947a09162102df6e60be 100644 GIT binary patch delta 2263 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 delta 2258 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 LNkvXXu0mjfnQo3W delta 1404 zcmV-?1%vwG3*ZZoUr!4-mTPTtBql3iV`>>mwKPa`CS1x}Tw{ZTiFbH?IbNy~C{;Ff z-9n1%Qe?VU{ad6LEf@fleF$ksRYR-+q%F^6l@l+x|#t z{)*W(KiamPCHNQ0?vKviRCSA7-tOO#`?pJr)K#tEL%6W;vI-k-J@{y}kZmDs7D0-5DS|io zvwgHcVl>TK*nJ4TN9Ox?1%AH#lqBSRX2T}q`*tOyF34X|>pbiDe^rDyz-X^tCLO)} zdp;VV^7eRbAsh;T4Je11>lmZXhp&EV0|xoAXW?*@gggC{k%JhcCj%o|w6ZS3Sn5U; zaRBiFczX^+8fnDw1>rsbBtZfQ1RJT0t0&(H(Je#-VVtMv zdI(A+;qm!V>&QlXMY)M+644~W5!vgkgx2sV0fXGCahUgp>?nlosuf{TTp+VgeTa~Z zREJj48;afNgvghq0tmySj6fC!gl8dgawms9hPrX|O4Q3We@&ejItIJHupz|SfNnL+D^lUf44kj8qRPaA;U0%gJ->y^Q41$VPpcf#x00s!eAt1zzLwq3xjuVB{Bkq z`w>Tn^Rm%&OYFzOs56ljFdmfQoy8jC^YHa?#=7rH@U#?xpmB^bQXDe+v}5cxC6SA< zMpBG-1>yDWGTtJ-7_ZFeWMSxTVU#T$v}=vpWmbgme?C1*i&*^ZIc@}NtEggKiW@ug zc@d)lQ7J*zr85-CM0t*}Lxq_@CwbD{`Y>J2Wq8}MICY~}gm`UzQm{8&ITxy%h%sAT zTDl9^Uk+ZXC~?OE`f$4ERFMMVHy2~Efn67y`kS z8v%1%tV>JF$ZI~co`zpo5ZZ@!!u$65JcTHTk3n}U@}mRW#R;nJoB}{Vcq+CZL~SFC z(`iA_DiK+y|IJ(^Qe9f$k3hh~ROC)91sD$xf2V=xRW=$#2LMIn{0vYE7g4RgYb8S! z3}eSg$!YI1{2Niw5Mb^jr_m25AWu(E54eXM1Ib`UtVpt{%YM#+%xks!-bvygr!$b( z*ViXhqxX+=Cm2$ckeSg?bZoDsEfM=+9- ze*qDcfUr&zI4o%4>3*2*iQGa0gs|2W0{3zh0zwXt9P}mAOlTi*!$N7)I6?>@Wne5- z6i*}hx|BjmAXI0eFe(xwBf|nH5!i^U$Gfr_0--4pPKad*B@z-cl$`)*zV^5b<*3MV zMbJW&hvhG22W6AL=%nSesjCL#|M1zrBC1m=e&R32e^o+$Gxi?@^7+Wdy4_U(0000< KMNUMnLSTY^EuV=1 diff --git a/TMessagesProj/src/main/assets/emoji/5_80.png b/TMessagesProj/src/main/assets/emoji/5_80.png index b95a7e9773e47275a3c70c80a47976b2887b5820..fdce19584be85a825969fcf7809570a6ad246435 100644 GIT binary patch delta 1641 zcmV-v2A28R5!w;3sR5I$0U;!{DM$8ul>48ueh46&5H9m?iuHw@yf9AVS$51pUcf6$ z|F6K4?g2ss<)TQ*lQaT{e+o%NK~#9!-BxE)B3Trrp`jb-CIKG^&mX2VWi}Cj=8k6J zPo9SfnPavw@q*j3C4*r&eSpjknYi8OTkq}FTaMeyWU{7oAu_8hf4;@ewHRv`?=ScC|)3T+^3su@U`$$q!ZztY9!em?=x1#OF~K3PiQLdxb^>=GVR zHUwS4opy)T_exTMe^5Tzuyvw=z$o<^KjU7H%bN-vP>Va{-y7sg!0Z2z@U+@iFqJHF zPCc%jdgum*xF|9rOhL{ElUdr}@7d5z`Sq;YWmH^*h3z$DKz9oNA_>dp89o;END#Ph|z12!>!f80fSp*3l9pj&P!8F2P= zC@+>R9Wn-MseCN+Izq`(C(0?kl`-P5-nTBJG5|tLxn-+k{4BKoj(in?^~9oI$+_L+ z_}wns*79_Fd)fHG#`;RurYl^Y(=1aYmqfWO?0-tR6@ru(GzPPJLjF1w>wvxqtxw^H|R^bdt=?%!>K({`8ya0daOP;|iBHblAnM9Rp zjov;MUBIUjKoZF9i>!G@;t&wE_A#%4jHf%J70Js!B`MjwK4qTcuQiqoFA(u~TycxO`<>=u7JF+BuGF`Y3$hvH1XKUm%E$xaV~H0;`V z`yf$Rqd}wbewtb26l0xNO-Xe6U#O>JGwtMawqJSjqKHV}W45Yoi=Ru>G{F!$we1 zF|nu*?`72KxAssTR_`db@{e3CCh>4_wPe=re_LN}tEdoM;~%EeCEYG}RhBcd=53Yp z0)ukQ45E?X}eG@9xGu9S9b4Uvh|ge!p4n>Kqj7>9@J zf4BAissRo%NR02m4dSv}zg|cBMs`VUS;LHHCz3;^Uw{f3sW<~rWb#Jue>0S_y4B4I z)Tu2ZeoN^=qo{_GLN9YMH{inGUO8u2LS0fRJ&s`2i2(d0CdbjP3$q2pe9oz7XNGo3 z0o2r}5$%f#@d%-eY`V6mC^3qk7Wbf8e@PD|Mx)xWzpu+@;gR_mBXgD>dlwYz{U6(; zrE!}THaZMPM>>tUQHV=sBywRw($md@VgU@r)2nf?kB-PE2Q};j_rBW?QYfy4?A@e^sIO z7rVCWU!ETx4*f|@;LhFC{bO*b)mEJ@SCckyM4F!K|(EG^nAkxrymsjX@i7G`t)e7^W@K1-3n3&HcR zLqlJOzWny4uyCGj)o9cjjhR_ce^9`5sF*4>o+cE&fDS93KYRA<@Z{u+&QRb`IW!sv zQ^jO5RVs&>Ez;>~@ZSOu0Z`DMe|R)>qRYiTtx~HUYD^77EUZ>d?p%talSQNb`skO} z1x)6>STN0MwT8{sXf)PDx8es(Cep}65}ib3Fo^WRSFi7xHSGNP8X&zfD-L0QSisl< n1{o}tk|D$+0v{6t``^XCV={y#4$g7&00000NkvXXu0mjfh|emv delta 1641 zcmV-v2A28S5!n&2sR0APD@&890U;s#pR#@kAe#^_^KXjvg`B)FPPHjV_Is4fL0(tJRK0@t4)30G@41ik-wy}|e;$C|kkLRQH?}pV z{p5LwlriEM5zl#TTXG13QU}OrlZ#tdR@S<^4YuRf61lt~RfvoV+keV@`|6IjUAAmq z`%PS1rX-u9OA|gp6T}dFM1U z1rhNi4DFcP-JAviQ5HcGqf8f&O*E2|X0q4o@Go`nc;8Qeh_GdTeMO#>xS*=B8c)J! z$ppbGxRc({+FnsI5PzyC8;*7?5EzE9@iV&Y^DHMr2iW8d`S<#H65#p|624B?3?!3C z)~V04Qw!d}5D!C#lHdYTaSq|e>e zrn*=*waJ<6h0>9X>j*^)?HITCR>mlUhLtrr%p{YVN^M(hqi3PDceJYr>?bzEQr7Jz zC+PGzwiYK_TT4a{HrAG8o1SoKR-;^*SQ4dUFjRtRcN&=iz)h5R)b-T^&hI+F=) z_pH2aNYKM=GJh}ELbnSh;G%Wh&GoINmNIuhiqxU~eVvBz@!a<#up*sbK)p+J8Woo6 zOv^oNL@0ns02Sc%L{@!6F$fT@e$20<5$VosMsu>_XPDf8I|qs95p~NEC5b2i2K9Tc zAf-jt-4xT1K6K{rJI4v9&eaX%$<>YB#&4LAFlaJcN`D9;t_$rn9Jj{Or`4h8FhEKz z80E`m^TXIF=KG#*amw>nnqHn0>uma*)8=obq=o=0C)4|oSn|O8gZ166%+w&LgPx7I z58{P295k8kr+AC3LcH@T>G4kQPsch^n%}UhBg$q%PXLPY&WVJ91(5GnnA}@9g`w_( z1SeBIv44ekt78QOiWmN>zSC{Tw?kVW6%q=Vn3%)qd`eLQB-KP^5qoeWsfLF`JV$zLGZ!QSlJ8VmRH3#9nf<=dI9+lX$SOQZnsaS$|t>DJv6R;~zp0NvFqKA#+Domzx#* zK)(X_gGlYw6b8May%%W2=X(fHDL*C&M$Jv9P~a}Wpl1qbgnx$;vtDD|-`D4|iO776lR1q<-vxyR|Hl?- zam;4Z>Rra8BfZvIpGHV#BywRw($md@LLn5>kzVEE9364gR(*Cpfwf9dK8ll>rsAPJ z!E#3Y`+T+W^S(xH)MwjsXXpfiVCmzq>gB-SkGNb36rav4<7bgo!?D}5_1Uv`tA7Ib z7J9a8U!ETx4*UtnacA!7|1r8W8oOSft<9aeTNGs4>D=u;`E>Z{)5~uVbas_!UvE`g z)f^+o>dMU^C{b#TDKdqAI6pr;|Km-RdzkS`q!($_8oNe~ht--pn=8JX&tf$2Liqga zz`)mmFTcIX&!6SkwOWly=(F*^R%h(RVmXkYMMNVyugDUt34+vjC n0F%vDG1G{MAjZVO{&(>&ywZd4sf+bH00000NkvXXu0mjfOw26P diff --git a/TMessagesProj/src/main/assets/emoji/5_81.png b/TMessagesProj/src/main/assets/emoji/5_81.png index 1156ef0eab5aa2cab3adedae76d93269260159df..c534c2d2ac2f8edf293e1a888f60497c75be4c1c 100644 GIT binary patch delta 1951 zcmV;Q2VnT^5bO|;X%Ro)>h1Ii9kB=)n+G!13oFZ!eI+ zyRs~QyKW&LhGE_%<~a4Wuz66h*}G$@D-{Y_UR9M~I6ORjdJ0|B%Wmhs*o56Z*+Ff* zw!)=J@)@^C-1ENgZ@52Z@G{=qoNydPtW#=vD51W{Ci0N`bA z>Bhja1_MJMJWk~bibTSjp%vb52OmQT;y{Sdp|&WpjqJ6uu77#oC$bJVDx3Na^SJI%M^*m3V>hYO-I73mFU9Qbv8eGP~8 zK*UG0+M!8mwOXubvb~mUg;M~3AtXd~E*ePl<_f~|&+p&A|9mFniVdQ_7Ax&;`HkS4 zk@8HO(@WN(-mbfkAasj><}(1wHH|aUVe}rnYKP8iLVV+dX}aMs2yjAZHz$@3Vnn;} z3msT~(kx>g>D_xipClnNM68*noDWbUAqF}!g3!DM!1Jqlb=87kh}Ic@CRq|YxrDGK zRbiI}5r#;_%{$_{1(9gcV1)3IaBNuvLBAl>f`}Ql__b`&YF>?3iP{MWX_as_MTiAP z6f6+ppn277UcK!F{bNjYZ{`&%br5Kwt`KHI;G}lj{$o!^#voeHZ*w%8&6%i+dVikv zaYl#`RJZ7GB4v7xoL>@u^S+4xY&9wTx?sXs7m@xHC-t-(6VdQ(ho6y@#|eap>a+(z z6vq%+t()uT>zh`q)ocx@M9(;Lk`q#kG~Z6Hi`!Al6LSqw#n=8elPuzW93UPzeyRplFgWFTRe_ zJ49T<08wgps?Hn+lpeBt?HjMR9+ik<5Rs}$GJOpso8j1!a(PlCf@=8QL%&Z8aWDWz zzyEj!q1vDlaU3Xr4axPx&E+S!EvfMdY7o(_REyr!fWg9;w@CO8AAN z%<>!6_8UQsO;Tbtir(2=>@Spl-*~va&6-7@#vnpK3CRyvZV+}+L*d^er4op$Uo^94 z506j~@$up8HtV57rCVZmO#+p03+uVnI~>Ptz+fBN<%VN_X1%l5>BGbH?3MrrLgTcg zphXas8k!^xQDU`*BbA~c7Eohh0P(Uco@a7_m4Kj-kUz@3zrSD~I}t7o1*3E;WDsJS zo{1ET{z3?Z2xEXaM2Xd;Y*UsRN`$~*J*qxa9Ea9dDIWt2AQdU3! zp(a%ysS?nC=|WIY0yUYip8oS4p9w=#QB`3*8ZZ!vUbF_G5O9#7N%@as@UsHL)fx)j zHJ@Trp@8W$8nm8uC`ZVr0c&A>kc&n3XvpJI zScAiTs_=DkK*EA6%V@(wKt3D}*Y`Jn|7m%1_h2{-^GS<*$ks1L_h1Ii9kB=)n+G!13oFY7D%6pBB{e_a6)(X73YYu*{RSe) z1u@(L6uSZstp`!#1RmQ5NZ@bE<#^KU0T$E&6~`DVvjZa1@bdPN*B%=^hwTh)<{MSr zV8h-;gqAEVcL)eoilXOLyw;Nt0VD+64(QmEH~}Po{7FPXRCr#^*N1K!Nfrgrr9_FO zs9=T8IWy;+shp$3{QsBieO1jM&1&QwV1T)V3D|HQ-dA0sy8rX={G z_D1$(H_dZ$lHExDe@rTo-LWj+PvgbHoQ>q~7ued7U97VZ$FUq1#$*$z-vjnN0JPeX zJz182J+GUOqA2eXbCUR4*got!?9;K-le%3!uc}Ho93CA#KS!SBr?Z(aHeqjHc2OIj zElF67<%%K*xyI%2d~D91qlx8z+x{ydi3$$uF6p|eYFJ+uAmkdg+Ufb-$hPky$KTyb zeLlp#7k|E9QZ-G{AjCwYQ9HdjAN7s9(6c6gd#S$?_~)w-v@^WQF!5Sx6%QB zLrqWw#t#^(xBv0DC%6DW0KtJ^^7t^bZF}}GkEBYw{=qm*y&q$T#=tQQLqX6W0C=6- zhB>h9!N4>IPgA*qB0_Fy=-v0*!N*X-Mwk=Op;xa?<^u!k7cq^8*D7tv(g>w@qa=56 zq;xgJ2@=Za&<>`yVZV=IPuC4>DQc{Lm+ zWOn7~c?cmc0Rd|u40wpZyD^(|+C3NxLR!_>aJ=Wc;j%>K)iws~a|g50Xl4&gFvJ=2 z0!~Re2jc>SD(z%qA@$Aa-rZe>wOUS~F`Neoh&gKBQ<@_n6w`dIw%cqwI3Xv0R-5^3 zJX|hHRHq^X>@fixnQ=pWDDY8;XsD8xUCiOi4@E}s5>EybP+^skX`+N_ENh$+5iBOj zy7C>q2O7LY=hbB49j+*3j7>tsIcn6;at%(%PLglMiR<0Xjuu2^D$)neIPmNG`Wg=F zfrw95wL_ECYPE)<%g#o;6>b-QL@p+(bJ0Ya_g4^Jet!S{{pSlAS8NdDtx#$A%1eT8 zM#8snO)puCdb{pDfiP?WnlAt-*EG(^fYE>Ss~x(oG4YKPmgPmmFvJC+-JIA4h!O3= zFLYq}NwbU%r2pUtG|7@k5wT%eay~?fm>3wy2txB30MD=H)m00EDcU!Gm}EulW@5sT zRD~T2B21Bp`**~33nI~?$%x!X!gXXF1pRKb9i1TJc?9X$07WDKJ9vYeyYY|cbOG>Y?d zfGa{oPW1{dClZ$L%J~(4F)xbv&vui-&jl04hKLlWxTt641`(yearqTV_?$q9s80J3 zL~#tE)w;iaxxR0;TFusgO7zVeH@+Y>K@XhxTx51F5FsPVXYJ0!?n7Wki-!dMk2J^X zWP!-WUl;6PG-x|fqf@{nNZ)|*Q7~^X2QQIRrNEIl7C)&m0fQ!gnHYU;j20!v1O6}K zTe?u`@e)Ew3JQ}XfcTQ=biM^5I+en-$c?@+8;!@~(Ey8K6vek&mr8(WBr)A#0YXr9N$&0~zdKz=QZ7$xL{N>ue=HVhAs`08 zC>Eb?AXH0KqR|L{m6GHI(e~;a+>zAADQXbWt5ggA)P%vpnWFu6dutV{9qa@V3Q7ds zV$poOy-iz%fW{yqhZ0f{t=%B(p@zbLk7yc*YEZD! zH;+$H5b^2p<~Hr4L#3y&yQUnK@Vc9s^*bEbE5TqJ+T(_QYo-00x9Q{K^yZcT7eeVw zQ_vz5w304KLzGyr;Yyki(vOL@Fo5`J7T>qHz)C<+NXQ>&-rrxauN?tLL%}G$3K@i0 zmTw`2La-3%_CeJ_9HGQ|5{@NHB}G7BupZTbDXvTFs}&M7bRdCBM8~O*ch1aEfs_>x zK&VMIK&k|Pbb1gJlt4`;Y$pGF$7jLNRa8}2j}i<-qBp%nC5LI2ye`P-5Y;J81N9sEE2+to8tKNXP7q361Pj?5os0N@XMS9$0(NP4un^~F<> z=eXFBZl0nd{4KAu^;F?F`Q@`&-eV7DQWs1dy^Gae743$bTbZw)QMV4Gu3RXvM?)Tu z!WtYMP=&9P0TOjRSwgBTG>%0RmHOC+zjE-h1!8QhP5h`Tmn`%{@nVsj& z|2gmeH3sJ{d|X;uSy}lFXMO#TPoF;hxxT)x4p$&cOAD_^i(hPl)QA+a;Z*dWNwo@@ zxb4fLuJDdB$LTB8jXKU1_p&f0md+rx}WuowYJE@d_fRcmbKYJkFnWU zK>!#0YFBKp=@8ajt{sX;vMES7+|m+;z&KloWUAdzX_T|RMpUy=MEw+mP_$J5!6vr# z3Fj!65ML1JInh)$(ulL7k{DT>dPnMX<#MC87*dxmbn%X8dm@TTDPbAGpIv`W{bThw zT(P}}#30(Q&!3E34i5(O5vwcr4d=&?1bpr2X zZ(tt_2OM{F{N5 zoX>a_A0LV71qM3F-Ci9NobUFdDI$=bQ8)vCaJT$G9Nm~9=)kOxfpI+;+*OGl$6aU4 z5Tv$-9srL-IV%|@<_>=+>NcXGT7pIdd*c-AG)OqFE@cF37$nOeXhhjRMA=Ql#6~!Z zD6#NB3_2Lt4-hm_!32@#t7ZtUrULybLlXo+ z@+7X}-V{+&*Ko?ySRfdlffJdgy2gp~A;N1oBLTo6NiXT$ma|)iiLF8(QT@|EfF~Zp zFz^~7RGT+U#9M!IA3v#Sp4JGOIHS<`+yoJx@jE~S9toO+$E0(9WSpqpH}jZClPW>e zJNxRBYJ%99HTtR&+uPff ze4f0Mnu?L@-8 z_D;712LNp)Bvh-CBncZE5^jVt-J6?k96k|33K$88o-voeC5WsbL3@T%P?K#zve1{Y zA+?Y>9l~yDw}A+Of!nc{i9{Nbz}iFwdJ4N95gU~h1tTFF%L;KVPu&{sOO%8~pV-SO zY+PXBKTCfQ1$$aVtlGrVC^mBHU8>j~81YCLnz={@7q0e)P)`Gv6{*@vmRu~BThKex z53#*iLhLpQ@FY^`r`9YUQiT|th@N40$8xw?&EO+xh1IlLT7Rh|Kycf!po=V9-7dHq za1p9-C2*j>jd$TZ+ZLDm!?FgvqAV`ktqzCV{rfFb+-`@%YF}P_ns3PQfb&6%-M;Mk b&)I(ioY0{k>3x?I00000NkvXXu0mjf3;4!j delta 1473 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 W7a^{L*w|nI0000T@bm8a|Jmf|zUKbh`2VQB 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 VUdh>x`;q_v002ovPDHLkV1iU*g2(^> delta 841 zcmV-P1GfCq2hazQlz%5lL_t(|Ud5Bkn(8nNgXz`j4QwZE-~UaI<#d=OE@v?+>Bq)D zk{lj?py@xyn_=6wq3ORS^qXi_)4Da^nQ0fBXR$*nYdd{mK~-~R$?B5rZk%QX!Q}uF zU7K4y4t0JP-FIQbu!u@?FN96yeP0ZbU)2lq+Q&oq%(DL|XMa*vBHf~!5Tx)~yqDD& zix(o?$7-kqhphRi95W?Q8zF3J%KqbrL5>3u!FowphCq=k3~V*V0VxVyHG2+jV}#>) z)$x77cW>1R!rk<76}Zyb$2DIF#POYi(0?ST6O;|HybhOJ7!_^O@XB-^~__D}Ra_s`k}9yk1v~t`8A3=Zlc?fmUl1s){1Rgk3P5FC(^LCkz3CH|Yq{ zqdLjRvVcJCBTA5h3w05gkOhRXi4n*UUWI)m9oL0$0*VaW2PtU6gq5fOgd!zOkXnQ( zCxBo9IA-Z0gheYMv+ORvlSOu=gk?tlSz-vSh?+%xw||)m#Rv+56a+B>#Efs63Jn3m zw5c#mNQQQyy($|ag$RR+6skFJg#AM17y)Xdrf3Yv2$lsx9e?vcsnFQph(Rg6v&24Mu6L1H7I%D5T;AY>Wc%e#np83us^kW!{b}^L-l|^*SDJbrXAYe2!Eh|#HwD& TxlPEI00000NkvXXu0mjf#IJe0 diff --git a/TMessagesProj/src/main/assets/emoji/5_88.png b/TMessagesProj/src/main/assets/emoji/5_88.png index e1d60d72b01386ca47ce280328362d5245c83f2e..8ab1770f526d4d62ad583f5492b8f463d84deb3e 100644 GIT binary patch delta 1267 zcmVJ^#Lalm8ds@}VI~hD6$H zLNp}lb@s#_3t%5Us`E&+q|(k?2&HJG_rAWlJd!Z0-V+o-(bRvQ%F*UV|JTLSQHY0X z>N`47yEs244M#!dPo0qi zWWEJ0chnfnYUb06n!qB61V40*!Q&4)ntTGK7wSEBU)Fyce;vt_2#q4>ljy##`H%B& zb(obTH5Fr`RPo`g<2D;gRrt0#30DF>gu-C zJKm^o8rwrxd+eejZb zSaKKCNf;8OCO9*h^b#Uyl@ojuEn5m)?-Z$R(o289%nT7hlfm`s_OoIj=gI>tS^J2W z_R;pMP>#-`gSfR+pb^YY!iVk0TROar(H9*R=xgM?h`y`+;*MDlMEg2Gqfiz-QU=rV z{%p|BcBWHL2fmF&Sm5jeli$lWE9(@vu?pF&;@1yDq0S~j=Ijsy)w$-Y)=llb9yhECNs z!|;_w(EA^*GPp@gk&M;GkT#!dX^6}x7c7s{$Sw&?LUu0BU_y8pD9`n1>Kb2E?S!`FL?+_v@H#8X=`BK@IS{4xpG-QP(Bw6Bd7U zj)DtOkXj>y5hYF6L3Uik-1#NMedv=C3}iNw7t4usWV~FC zD{)%|TGpmJq2bByLxNlAurr@Brt@nhgYh_t1K3)j+raXgT{kWvlp>W=q?fQ>JRR5z z*>iKT6wL*WigaDfXIK;PGG~xm58h(%WC0iUfTxWK;#OC(ND d(;?~zz<*@Loi&g$$DRNH002ovPDHLkV1m5vdqw~N delta 1269 zcmV(ibi_x>zj)s5w4UwjKBzzaQ1%~(%k4jpFbW2aj&F) za$&Xevt#1$ar(0}C*2yuBY}>_{qGR1fuEabJbBil zC_=@OX}$SYZR5^)eQ?+9bUNL;7jNMv{UO9!eh;>o@l-n+jkZ<3vk=`7uYY}c)>6CM zc6q?13nW2eiFtpU?OI;?>y3XukK{>&gni^m)X8i90G_KoTKfX@YrRRy2bMC*GD_)s}ik z3-wK7`_LsDLO6?H?pC+aEix4EmL|qn9N`_ZX*aFbUq4NZ0R%+2S1!1gjHzyr(HFJ; z4gx_W=gogKVX7N!gI7ydFF_8*pXi>7#i$sKVoO)8-{NpH6&mWtANJdUF-B&7%Ww}9yB}bP9Qe+N*ehe(YS&tlB7J@e zVD$C1QdkUvK*@E{JU_Q<+#yg_pPSW42d&j+^94bmwKfi}O&(UBu_!OC*M^?ug_g7) zWnqYGgmk3XxN9sHRf+=RF{^2sU}%WY*&i>CS#QVoq7jl5K~n+C>OkYOG6QQ>eL{c3 z%29AZ6ol5upm;&mb&wqw5i`F8sSkNlB3wZtqAI1SLW^hh@seW#uyIg4``a0w-ZLai zU<@>2WPtHfP9j@YKh#lc_F?5|#tN>!9P5BLsO6F~5s*wW$k}(TcLpMz$@AqzIx=1^ z$CbFv0!nMs9nkP(_aVW|b*(d-Ql@S4C4=9J;Q+wb(E4u8SNC~i5?m=#sY11c)Z(fA zXG`=uSR2u fYBe1qj(GGxWW}8|WUX(E00000NkvXXu0mjfBB5xT diff --git a/TMessagesProj/src/main/assets/emoji/5_89.png b/TMessagesProj/src/main/assets/emoji/5_89.png index 5ee4f38d592b88b7660ffa798f844a5a2908cc33..83003734099035d345c4b74390ddb65892d36fa0 100644 GIT binary patch delta 1496 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 delta 873 zcmV-v1D5=~3%v`l5CH?Xw!4!P0U-m*%FvTH0Zts?6$Hi*0MBAy$U;2vs-~M}WxRNH zx<^Ads02fkp#hr$?wON50xo~s6X@Pv0NFYA&0aP+Q7)GjR|GP{oSYG6KLvU+{` z@rE%kO-78~CBT7}oDR5>6XdS;G11`?r^)*_DHz!;>TW-c^Kcp>Bm3*+T2&!{MK^ z?IhP;(D$^0TCg+Jt!j?W&!4<+ef;otRK`aCp^e z+zOA=aDs2S&GJSU8{%I^w;ASt(^FPj;0UH+bY(&O@=aKpTL?aXRSNi)WmYw9f@ARM zn=q7sCMAhWX0d;sS~D%9D{I0#qfit|5r5Wf-bVsV94 z%`R^XsiY%7ZmN_d;}~P8dRu2w`zQiku?>vp6hUTXxgCFDlJEjRHww6{au_Zu7|ZUv zI9~_X388>vyrc_+qC2J8lqVjR2#1KtJ&_znr@2?o>!1n&+C_!|`cCLT6BthJGTB!Am(+b|GB zYh5XacU^4v|39?5vtn5^KuJ+g9UwqpCkJP^B&8q!Mdo3c?-A5s%;O%Ti^iDcmc+wQ zraKy)F(HII8uP;hYlDenGh!ivbHo^$B_?B?_r!=}y95zd??^-4kXYB%+t$@sVz5kT z)qq5B1kmjoOEfH@H8EU>Lw~b`=7>h4gqA>~Wn(%byg1O9#x{wUq(wuq1PI%<5kh-= z^}u#4!8JAxG)!EsOMq}}2N*s;fdWgiE0}V8Js5*%Wizx(&XgJd7YWH@)Vt<10NsJ2`^F%#F zf&m{2Gqw#28pkRL=>b9tGh{)Bnu($ZY5`6vc`cXajfa#wbaOnq*2pk!BV_3B3I#|U?vswa6n{2Zc;N7H8Dcw z@tq-v!c{)z)%?B|X@4;ah-k`)rEqB`i<6NFyC8TyRpFEpVm;3oB@uQ)9CZj|e&1L? z$j*cWPo#`c837FhEq3lf6Cs4Du)wXyi1&^L1o!~KXSEiQH1-{YB(d?uRYG(?I1dCE zDd(kQi|^#438L{gLvBwjMd<#Cm;=YUR7Dta|3V^|U<#*w0Dr=!C#pP)@&nD%w_k-j zr?WO`kOv_7sp^3!UBGj&1hLG32!#X~00M`4lr$Xv(s_s=0DwT>mEVKsFXx2;5kvrv zKXQ;LX;6m*Arr(Cz*&4z^=$8{!78;K$2$(Dq*sii812J8lqVjSKE1-t|U_znr@2?p;D3e*Jz_!|`cCLV$CT8aw7`uGFm-sE^JqFUha}B2(W_-w||g?d3a$O4i!>D~XGx zjNfP|Yh#SxXiOIyor^XN&4`%@-V>v5mKd$`ArK=C?Gi*-gC`CBg~Yn9!L?3fPSG); zRRa>y6Tq}<%*nEZF~smO^?%J0h9eq{5=H`zmW}C&@ZdmW9NHuvk`@ik5+E$gLI@Mw z*#oOsf@>@sXxKELmjGd3b}&MO#wm#xfx;eUb{LxF-##yM8lJYs@>ZW!+!+fnHeWErjdGx z1OuKFW-JQ^nuaO~=>b9xGi0EB&5EK2Y5N5KRI#o-dY}dX zAb_ziCe#dc8gq|KI5c)NNkdJKU_f|7WR038Ge+?^5V;Bv53EVWdiXW>_-s;M6Fo9Q zM)ASOh@o^o@-#nZk$;C#KqOm6%!Nzy$KHG=Y=Yo<>cS}{#ELWaV|Q+Z*y|A1{=Kn) zkevw$UXe0F9|&k5Xt8k*S`k9n3JctNjJR)TK!7I@d{%1_S!3Hk$Px=*TqT48!UrJ0 z$bp0juJ}$q*qAkbGUWEeD5Cl&Vu~E+a}{C8{R@d`qb;2F9)AdzpQ!RIIv!|_zP%Oh z9OYcrAP+!}r)mJAbOBG%5yUYAA`}u}00Ve35Jep_giMe?0PpZc)w8_|E6*MfPQY)hl3B4F#ps(cyago05+y!3=34oVqOY_P z4{0Oe4*VGibx(|r_X9Qpg1t(gfKba&%a&hE%TvsHhNMWqVWIC(YiE&KbO{X;M-SU6951J07*qoM6N<$g7|w(>;M1& diff --git a/TMessagesProj/src/main/assets/emoji/5_93.png b/TMessagesProj/src/main/assets/emoji/5_93.png index 0746f55850ee4c73b0d154eb5afe01bea098307e..f94bf04c485bab617d371ec8a353eaa50b859d86 100644 GIT binary patch delta 2202 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 Hu0mjfHmHPB diff --git a/TMessagesProj/src/main/assets/emoji/5_95.png b/TMessagesProj/src/main/assets/emoji/5_95.png index c03dadb8485236b5d4ff96fd4d8518b49a1b989a..174d7cdc490758c6590f465dfe1267351af2696e 100644 GIT binary patch delta 1431 zcmV;I1!(%05SI{;FAs>vp7r+jo|}!<^5D{HprFfCx1=>56hrj0`@Kye_?Wv{=BZWM1zV14_P-fy?7&hwb3W1UL@Ul1qqP|zgGwRhP z#uk)pM4Uk*%3i~JlR@9#SMme|;efGVe~l zlU(X6(SUh~#n+ioA%@x|*REw}t2B*Unh|MkxXz)Jjxb24nb%f>!pFr*3>!QPIR3c~M7w6s2`qQpnN|Do{jF z$1{%PK7Vd{QSzdUsvxM-wgZ9NKKP8r#4t{af!EyB@Q!yuCZ#I0)V61F8Cj}w8p(ZK6{S5IxRFiou_i_6VowCHrG;I(dW za6qA~pbcp?(j006(o>|(x&Z3VqeqYL-@pIp@#DYVzHM!J0(zjBK`JU@vDhC!#yvlO zj;HE$es5v9xd5SBg~dfIw#CAVC%=8$B&;^Ocg!{WCDvR>eWi+TcC#&Pe^z|vaBuHR z(q{IKx*VTk&E?crs*@BfA3r;-(Z$hYKga+pG>E!cKsfN*R|9@?!cPjPvF0Aif}mA? zixeu?2&dJbNF>Zr*X(KR_GJj6Dkana!8v2KCH4uF4Z=AC1Y6W` zHgV*+T~A%8uj(R&;6^Bwf5C2EnhYFyerv?23Rr#BRUoh za4duqzl4ds6&RshUc|P9Eta_uzB;vO{ZC+0Uu*eI3n?sza6GVgm=+f1E^?>~qMO~} zaF`tr;ZCP{YzYV-=And~;v3yNDS-exWwi%L;S-Ed+9|&kj)d8te~B&n@+z1^bQDg& z1n2p;b|Mir9k;E2KML5)OQbN>ghH$}|4ld&vC!8D|Cnnu;D;A-`CZ{)gymZcIcZg(&k3lVrm0@5RY^@ke}V68XS(!%Wg!Z`?`Tz=!8 z+eZq7|NF{+f&zg!j2riSKA$^I;J9}&YWAiDB?5C8X#pp|B<&dpr49TpUrmj#!$}HO zI}j%3Kb;$Z69C{oSOWt2*^83G%K?nC08Z;_O=V4F=f@15f65SDoS0vKSq&ky3jeIB zto-_QdNDx`!V4a$>Gip4CiTO}6<(>N(<@KDjCuVtw%wJqkV{>_2KXs~zGe0&lF4Jo zSz3VjD=m}1q8}X4=`q5ZOxgnG$;q?n^(i30w9!HTd_bQf@bp4>4;_xF^AG}piZ(Vn z==9~ZKt6M@e*&VoJHENmv5ez0t5#cD*glUUFjaAP+_Smn#GTfF9bQNi!f}sh6aV!< ze3*4?cR~t?Lb$sN4Di7S9FxKdw15cYTl*f5XDexrj=6wPOhaG`s}Sz*dq9%oQP=GB z0ubN{R3!ZIZGU`!{EQR|kW8vfBwRi@Ir(~WwA~3ZHDqQq2=C6tJL2bBQ6$q6D4&Z& l4Y>sv@;{1+qMXcte*s!p{4}Yl4nzO|002ovPDHLkV1oaisNDbn delta 1431 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 KMNUMnLSTZwlD#_s delta 1978 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 diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChatListItemAnimator.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChatListItemAnimator.java new file mode 100644 index 000000000..eaf9ffee3 --- /dev/null +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChatListItemAnimator.java @@ -0,0 +1,1280 @@ +package androidx.recyclerview.widget; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; +import android.os.Build; +import android.view.View; +import android.view.ViewPropertyAnimator; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; + +import org.telegram.messenger.BuildVars; +import org.telegram.messenger.FileLog; +import org.telegram.messenger.ImageReceiver; +import org.telegram.messenger.MessageObject; +import org.telegram.ui.Cells.BotHelpCell; +import org.telegram.ui.Cells.ChatMessageCell; +import org.telegram.ui.ChatActivity; +import org.telegram.ui.Components.CubicBezierInterpolator; +import org.telegram.ui.Components.RecyclerListView; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class ChatListItemAnimator extends DefaultItemAnimator { + + private final ChatActivity activity; + private final RecyclerListView recyclerListView; + + private HashMap willRemovedGroup = new HashMap<>(); + private ArrayList willChangedGroups = new ArrayList<>(); + + HashMap animators = new HashMap<>(); + + ArrayList runOnAnimationsEnd = new ArrayList<>(); + + private boolean shouldAnimateEnterFromBottom; + + public ChatListItemAnimator(ChatActivity activity, RecyclerListView listView) { + this.activity = activity; + this.recyclerListView = listView; + translationInterpolator = CubicBezierInterpolator.DEFAULT; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + listView.getElevation(); + } + } + + @Override + public void runPendingAnimations() { + boolean runTranslationFromBottom = false; + if (shouldAnimateEnterFromBottom) { + for (int i = 0; i < mPendingAdditions.size(); i++) { + if (mPendingAdditions.get(i).getLayoutPosition() == 0) { + runTranslationFromBottom = true; + } + } + } + + onAnimationStart(); + + if (runTranslationFromBottom) { + runMessageEnterTransition(); + } else { + runAlphaEnterTransition(); + } + + ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1f); + valueAnimator.addUpdateListener(animation -> { + activity.onListItemAniamtorTick(); + }); + valueAnimator.setDuration(getRemoveDuration() + getMoveDuration()); + valueAnimator.start(); + } + + private void runAlphaEnterTransition() { + boolean removalsPending = !mPendingRemovals.isEmpty(); + boolean movesPending = !mPendingMoves.isEmpty(); + boolean changesPending = !mPendingChanges.isEmpty(); + boolean additionsPending = !mPendingAdditions.isEmpty(); + if (!removalsPending && !movesPending && !additionsPending && !changesPending) { + // nothing to animate + return; + } + // First, remove stuff + for (RecyclerView.ViewHolder holder : mPendingRemovals) { + animateRemoveImpl(holder); + } + mPendingRemovals.clear(); + // Next, move stuff + if (movesPending) { + final ArrayList moves = new ArrayList<>(); + moves.addAll(mPendingMoves); + mMovesList.add(moves); + mPendingMoves.clear(); + Runnable mover = new Runnable() { + @Override + public void run() { + for (MoveInfo moveInfo : moves) { + animateMoveImpl(moveInfo.holder, moveInfo); + } + moves.clear(); + mMovesList.remove(moves); + } + }; + if (delayAnimations && removalsPending) { + View view = moves.get(0).holder.itemView; + ViewCompat.postOnAnimationDelayed(view, mover, getMoveAnimationDelay()); + } else { + mover.run(); + } + } + // Next, change stuff, to run in parallel with move animations + if (changesPending) { + final ArrayList changes = new ArrayList<>(); + changes.addAll(mPendingChanges); + mChangesList.add(changes); + mPendingChanges.clear(); + Runnable changer = new Runnable() { + @Override + public void run() { + for (ChangeInfo change : changes) { + animateChangeImpl(change); + } + changes.clear(); + mChangesList.remove(changes); + } + }; + if (delayAnimations && removalsPending) { + RecyclerView.ViewHolder holder = changes.get(0).oldHolder; + ViewCompat.postOnAnimationDelayed(holder.itemView, changer, 0); + } else { + changer.run(); + } + } + // Next, add stuff + if (additionsPending) { + final ArrayList additions = new ArrayList<>(); + additions.addAll(mPendingAdditions); + mAdditionsList.add(additions); + mPendingAdditions.clear(); + + for (RecyclerView.ViewHolder holder : additions) { + animateAddImpl(holder); + } + additions.clear(); + mAdditionsList.remove(additions); + } + } + + private void runMessageEnterTransition() { + boolean removalsPending = !mPendingRemovals.isEmpty(); + boolean movesPending = !mPendingMoves.isEmpty(); + boolean changesPending = !mPendingChanges.isEmpty(); + boolean additionsPending = !mPendingAdditions.isEmpty(); + + if (!removalsPending && !movesPending && !additionsPending && !changesPending) { + return; + } + + int addedItemsHeight = 0; + for (int i = 0; i < mPendingAdditions.size(); i++) { + View view = mPendingAdditions.get(i).itemView; + if (view instanceof ChatMessageCell) { + ChatMessageCell cell = ((ChatMessageCell) view); + if (cell.getCurrentPosition() != null && (cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_LEFT) == 0) { + continue; + } + } + addedItemsHeight += mPendingAdditions.get(i).itemView.getHeight(); + } + + for (RecyclerView.ViewHolder holder : mPendingRemovals) { + animateRemoveImpl(holder); + } + mPendingRemovals.clear(); + if (movesPending) { + final ArrayList moves = new ArrayList<>(); + moves.addAll(mPendingMoves); + mMovesList.add(moves); + mPendingMoves.clear(); + for (MoveInfo moveInfo : moves) { + animateMoveImpl(moveInfo.holder, moveInfo); + } + moves.clear(); + mMovesList.remove(moves); + } + + if (additionsPending) { + final ArrayList additions = new ArrayList<>(); + additions.addAll(mPendingAdditions); + mAdditionsList.add(additions); + mPendingAdditions.clear(); + + for (RecyclerView.ViewHolder holder : additions) { + animateAddImpl(holder, addedItemsHeight); + } + additions.clear(); + mAdditionsList.remove(additions); + } + } + + @Override + public boolean animateAppearance(@NonNull RecyclerView.ViewHolder viewHolder, @Nullable ItemHolderInfo preLayoutInfo, @NonNull ItemHolderInfo postLayoutInfo) { + boolean res = super.animateAppearance(viewHolder, preLayoutInfo, postLayoutInfo); + if (res) { + boolean runTranslationFromBottom = false; + for (int i = 0; i < mPendingAdditions.size(); i++) { + if (mPendingAdditions.get(i).getLayoutPosition() == 0) { + runTranslationFromBottom = true; + } + } + int addedItemsHeight = 0; + if (runTranslationFromBottom) { + for (int i = 0; i < mPendingAdditions.size(); i++) { + addedItemsHeight += mPendingAdditions.get(i).itemView.getHeight(); + } + } + + for (int i = 0; i < mPendingAdditions.size(); i++) { + mPendingAdditions.get(i).itemView.setTranslationY(addedItemsHeight); + } + } + return res; + } + + public void animateAddImpl(final RecyclerView.ViewHolder holder, int addedItemsHeight) { + final View view = holder.itemView; + final ViewPropertyAnimator animation = view.animate(); + mAddAnimations.add(holder); + view.setTranslationY(addedItemsHeight); + if (!(holder.itemView instanceof ChatMessageCell && ((ChatMessageCell) holder.itemView).getTransitionParams().ignoreAlpha)) { + holder.itemView.setAlpha(1); + } + animation.translationY(0).setDuration(getMoveDuration()) + .setInterpolator(translationInterpolator) + .setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animator) { + dispatchAddStarting(holder); + } + + @Override + public void onAnimationCancel(Animator animator) { + view.setTranslationY(0); + } + + @Override + public void onAnimationEnd(Animator animator) { + animation.setListener(null); + if (mAddAnimations.remove(holder)) { + dispatchAddFinished(holder); + dispatchFinishedWhenDone(); + } + + } + }).start(); + } + + @Override + public boolean animateRemove(RecyclerView.ViewHolder holder, ItemHolderInfo info) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate remove"); + } + boolean rez = super.animateRemove(holder, info); + if (rez) { + if (info != null) { + int fromY = info.top; + int toY = holder.itemView.getTop(); + + int fromX = info.left; + int toX = holder.itemView.getLeft(); + + int deltaX = toX - fromX; + int deltaY = toY - fromY; + + if (deltaY != 0) { + holder.itemView.setTranslationY(-deltaY); + } + + if (holder.itemView instanceof ChatMessageCell) { + ChatMessageCell chatMessageCell = (ChatMessageCell) holder.itemView; + if (deltaX != 0) { + chatMessageCell.setAnimationOffsetX(-deltaX); + } + if (info instanceof ItemHolderInfoExtended) { + ItemHolderInfoExtended infoExtended = ((ItemHolderInfoExtended) info); + chatMessageCell.setImageCoords(infoExtended.imageX, infoExtended.imageY, infoExtended.imageWidth, infoExtended.imageHeight); + } + } else { + if (deltaX != 0) { + holder.itemView.setTranslationX(-deltaX); + } + } + } + } + return rez; + } + + @Override + public boolean animateMove(RecyclerView.ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate move"); + } + final View view = holder.itemView; + if (holder.itemView instanceof ChatMessageCell) { + fromX += (int) ((ChatMessageCell) holder.itemView).getAnimationOffsetX(); + } else { + fromX += (int) holder.itemView.getTranslationX(); + } + fromY += (int) holder.itemView.getTranslationY(); + resetAnimation(holder); + int deltaX = toX - fromX; + int deltaY = toY - fromY; + if (deltaY != 0) { + view.setTranslationY(-deltaY); + } + + MoveInfoExtended moveInfo = new MoveInfoExtended(holder, fromX, fromY, toX, toY); + + if (holder.itemView instanceof ChatMessageCell) { + ChatMessageCell chatMessageCell = (ChatMessageCell) holder.itemView; + ChatMessageCell.TransitionParams params = chatMessageCell.getTransitionParams(); + + if (!params.supportChangeAnimation()) { + if (deltaX == 0 && deltaY == 0) { + dispatchMoveFinished(holder); + return false; + } + if (deltaX != 0) { + view.setTranslationX(-deltaX); + } + mPendingMoves.add(moveInfo); + return true; + } + + MessageObject.GroupedMessages group = chatMessageCell.getCurrentMessagesGroup(); + + if (deltaX != 0) { + chatMessageCell.setAnimationOffsetX(-deltaX); + } + + if (info instanceof ItemHolderInfoExtended) { + ImageReceiver newImage = chatMessageCell.getPhotoImage(); + ItemHolderInfoExtended infoExtended = ((ItemHolderInfoExtended) info); + moveInfo.animateImage = params.wasDraw && infoExtended.imageHeight != 0 && infoExtended.imageWidth != 0; + if (moveInfo.animateImage) { + recyclerListView.setClipChildren(false); + recyclerListView.invalidate(); + + params.imageChangeBoundsTransition = true; + params.animateToImageX = newImage.getImageX(); + params.animateToImageY = newImage.getImageY(); + params.animateToImageW = newImage.getImageWidth(); + params.animateToImageH = newImage.getImageHeight(); + + params.animateToRadius = newImage.getRoundRadius(); + params.animateRadius = false; + for (int i = 0; i < 4; i++) { + if (params.imageRoundRadius[i] != params.animateToRadius[i]) { + params.animateRadius = true; + break; + } + } + if (params.animateToImageX == infoExtended.imageX && params.animateToImageY == infoExtended.imageY && + params.animateToImageH == infoExtended.imageHeight && params.animateToImageW == infoExtended.imageWidth && !params.animateRadius) { + params.imageChangeBoundsTransition = false; + moveInfo.animateImage = false; + } else { + moveInfo.imageX = infoExtended.imageX; + moveInfo.imageY = infoExtended.imageY; + moveInfo.imageWidth = infoExtended.imageWidth; + moveInfo.imageHeight = infoExtended.imageHeight; + + if (group != null && group.hasCaption != group.transitionParams.drawCaptionLayout) { + group.transitionParams.captionEnterProgress = group.transitionParams.drawCaptionLayout ? 1f : 0; + } + if (params.animateRadius) { + params.animateToRadius = new int[4]; + for (int i = 0; i < 4; i++) { + params.animateToRadius[i] = newImage.getRoundRadius()[i]; + } + newImage.setRoundRadius(params.imageRoundRadius); + } + chatMessageCell.setImageCoords(moveInfo.imageX, moveInfo.imageY, moveInfo.imageWidth, moveInfo.imageHeight); + } + } + + if (group == null && params.wasDraw) { + boolean isOut = chatMessageCell.getMessageObject().isOutOwner(); + if ((isOut && params.lastDrawingBackgroundRect.left != chatMessageCell.getBackgroundDrawableLeft()) || + (!isOut && params.lastDrawingBackgroundRect.right != chatMessageCell.getBackgroundDrawableRight()) || + params.lastDrawingBackgroundRect.top != chatMessageCell.getBackgroundDrawableTop() || + params.lastDrawingBackgroundRect.bottom != chatMessageCell.getBackgroundDrawableBottom()) { + moveInfo.deltaBottom = chatMessageCell.getBackgroundDrawableBottom() - params.lastDrawingBackgroundRect.bottom; + moveInfo.deltaTop = chatMessageCell.getBackgroundDrawableTop() - params.lastDrawingBackgroundRect.top; + if (isOut) { + moveInfo.deltaLeft = chatMessageCell.getBackgroundDrawableLeft() - params.lastDrawingBackgroundRect.left; + } else { + moveInfo.deltaRight = chatMessageCell.getBackgroundDrawableRight() - params.lastDrawingBackgroundRect.right; + } + moveInfo.animateBackgroundOnly = true; + + params.animateBackgroundBoundsInner = true; + params.deltaLeft = -moveInfo.deltaLeft; + params.deltaRight = -moveInfo.deltaRight; + params.deltaTop = -moveInfo.deltaTop; + params.deltaBottom = -moveInfo.deltaBottom; + + recyclerListView.setClipChildren(false); + recyclerListView.invalidate(); + } + } + } + + if (group != null) { + if (willChangedGroups.contains(group)) { + willChangedGroups.remove(group); + RecyclerListView recyclerListView = (RecyclerListView) holder.itemView.getParent(); + int animateToLeft = 0; + int animateToRight = 0; + int animateToTop = 0; + int animateToBottom = 0; + boolean allVisibleItemsDeleted = true; + + MessageObject.GroupedMessages.TransitionParams groupTransitionParams = group.transitionParams; + ChatMessageCell lastDrawingCell = null; + for (int i = 0; i < recyclerListView.getChildCount(); i++) { + View child = recyclerListView.getChildAt(i); + + if (child instanceof ChatMessageCell) { + ChatMessageCell cell = (ChatMessageCell) child; + if (cell.getCurrentMessagesGroup() == group && !cell.getMessageObject().deleted) { + + int left = cell.getLeft() + cell.getBackgroundDrawableLeft(); + int right = cell.getLeft() + cell.getBackgroundDrawableRight(); + int top = cell.getTop() + cell.getBackgroundDrawableTop(); + int bottom = cell.getTop() + cell.getBackgroundDrawableBottom(); + + if (animateToLeft == 0 || left < animateToLeft) { + animateToLeft = left; + } + + if (animateToRight == 0 || right > animateToRight) { + animateToRight = right; + } + + if (cell.getTransitionParams().wasDraw || groupTransitionParams.isNewGroup) { + lastDrawingCell = cell; + allVisibleItemsDeleted = false; + if (animateToTop == 0 || top < animateToTop) { + animateToTop = top; + } + if (animateToBottom == 0 || bottom > animateToBottom) { + animateToBottom = bottom; + } + } + } + } + } + + groupTransitionParams.isNewGroup = false; + + if (animateToTop == 0 && animateToBottom == 0 && animateToLeft == 0 && animateToRight == 0) { + moveInfo.animateChangeGroupBackground = false; + groupTransitionParams.backgroundChangeBounds = false; + } else { + moveInfo.groupOffsetTop = -animateToTop + groupTransitionParams.top; + moveInfo.groupOffsetBottom = -animateToBottom + groupTransitionParams.bottom; + moveInfo.groupOffsetLeft = -animateToLeft + groupTransitionParams.left; + moveInfo.groupOffsetRight = -animateToRight + groupTransitionParams.right; + + moveInfo.animateChangeGroupBackground = true; + groupTransitionParams.backgroundChangeBounds = true; + groupTransitionParams.offsetTop = moveInfo.groupOffsetTop; + groupTransitionParams.offsetBottom = moveInfo.groupOffsetBottom; + groupTransitionParams.offsetLeft = moveInfo.groupOffsetLeft; + groupTransitionParams.offsetRight = moveInfo.groupOffsetRight; + + groupTransitionParams.captionEnterProgress = groupTransitionParams.drawCaptionLayout ? 1f : 0f; + + recyclerListView.setClipChildren(false); + recyclerListView.invalidate(); + } + + groupTransitionParams.drawBackgroundForDeletedItems = allVisibleItemsDeleted; + } + } + + MessageObject.GroupedMessages removedGroup = willRemovedGroup.get(chatMessageCell.getMessageObject().getId()); + if (removedGroup != null) { + MessageObject.GroupedMessages.TransitionParams groupTransitionParams = removedGroup.transitionParams; + willRemovedGroup.remove(chatMessageCell.getMessageObject().getId()); + if (params.wasDraw) { + // invoke when group transform to single message + int animateToLeft = chatMessageCell.getLeft() + chatMessageCell.getBackgroundDrawableLeft(); + int animateToRight = chatMessageCell.getLeft() + chatMessageCell.getBackgroundDrawableRight(); + int animateToTop = chatMessageCell.getTop() + chatMessageCell.getBackgroundDrawableTop(); + int animateToBottom = chatMessageCell.getTop() + chatMessageCell.getBackgroundDrawableBottom(); + + params.animateBackgroundBoundsInner = moveInfo.animateRemoveGroup = true; + moveInfo.deltaLeft = animateToLeft - groupTransitionParams.left; + moveInfo.deltaRight = animateToRight - groupTransitionParams.right; + moveInfo.deltaTop = animateToTop - groupTransitionParams.top; + moveInfo.deltaBottom = animateToBottom - groupTransitionParams.bottom; + moveInfo.animateBackgroundOnly = false; + + params.deltaLeft = (int) (-moveInfo.deltaLeft - chatMessageCell.getAnimationOffsetX()); + params.deltaRight = (int) (-moveInfo.deltaRight - chatMessageCell.getAnimationOffsetX()); + params.deltaTop = (int) (-moveInfo.deltaTop - chatMessageCell.getTranslationY()); + params.deltaBottom = (int) (-moveInfo.deltaBottom - chatMessageCell.getTranslationY()); + params.transformGroupToSingleMessage = true; + + recyclerListView.setClipChildren(false); + recyclerListView.invalidate(); + } else { + groupTransitionParams.drawBackgroundForDeletedItems = true; + } + } + boolean drawPinnedBottom = chatMessageCell.isDrawPinnedBottom(); + if (params.drawPinnedBottomBackground != drawPinnedBottom) { + moveInfo.animatePinnedBottom = true; + params.changePinnedBottomProgress = 0; + } + + moveInfo.animateChangeInternal = chatMessageCell.getTransitionParams().animateChange(); + if (moveInfo.animateChangeInternal) { + chatMessageCell.getTransitionParams().animateChangeProgress = 0f; + } + + if (deltaX == 0 && deltaY == 0 && !moveInfo.animateImage && !moveInfo.animateRemoveGroup && !moveInfo.animateChangeGroupBackground && !moveInfo.animatePinnedBottom && !moveInfo.animateBackgroundOnly && !moveInfo.animateChangeInternal) { + dispatchMoveFinished(holder); + return false; + } + } else if (holder.itemView instanceof BotHelpCell) { + BotHelpCell botInfo = (BotHelpCell) holder.itemView; + if (!botInfo.wasDraw) { + dispatchMoveFinished(holder); + botInfo.setAnimating(false); + return false; + } else { + botInfo.setAnimating(true); + } + } else { + if (deltaX == 0 && deltaY == 0) { + dispatchMoveFinished(holder); + return false; + } + if (deltaX != 0) { + view.setTranslationX(-deltaX); + } + } + + mPendingMoves.add(moveInfo); + return true; + } + + @Override + void animateMoveImpl(RecyclerView.ViewHolder holder, MoveInfo moveInfo) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate move impl"); + } + int fromX = moveInfo.fromX; + int fromY = moveInfo.fromY; + int toX = moveInfo.toX; + int toY = moveInfo.toY; + final View view = holder.itemView; + final int deltaY = toY - fromY; + + AnimatorSet animatorSet = new AnimatorSet(); + + if (deltaY != 0) { + animatorSet.playTogether(ObjectAnimator.ofFloat(view, View.TRANSLATION_Y, 0)); + } + mMoveAnimations.add(holder); + + MoveInfoExtended moveInfoExtended = (MoveInfoExtended) moveInfo; + + if (holder.itemView instanceof BotHelpCell) { + BotHelpCell botCell = (BotHelpCell) holder.itemView ; + int top = recyclerListView.getMeasuredHeight() / 2 - botCell.getMeasuredHeight() / 2; + float animateTo = 0; + if (botCell.getTop() > top) { + animateTo = top - botCell.getTop(); + } + animatorSet.playTogether(ObjectAnimator.ofFloat(botCell, View.TRANSLATION_Y, botCell.getTranslationY(), animateTo)); + } else if (holder.itemView instanceof ChatMessageCell) { + ChatMessageCell chatMessageCell = (ChatMessageCell) holder.itemView; + ChatMessageCell.TransitionParams params = chatMessageCell.getTransitionParams(); + ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(chatMessageCell, chatMessageCell.ANIMATION_OFFSET_X, 0); + animatorSet.playTogether(objectAnimator); + + if (moveInfoExtended.animateImage) { + chatMessageCell.setImageCoords(moveInfoExtended.imageX, moveInfoExtended.imageY, moveInfoExtended.imageWidth, moveInfoExtended.imageHeight); + ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1f); + + + float captionEnterFrom = chatMessageCell.getCurrentMessagesGroup() == null ? params.captionEnterProgress : chatMessageCell.getCurrentMessagesGroup().transitionParams.captionEnterProgress; + float captionEnterTo = chatMessageCell.getCurrentMessagesGroup() == null ? (chatMessageCell.hasCaptionLayout() ? 1 : 0) : (chatMessageCell.getCurrentMessagesGroup().hasCaption ? 1 : 0); + boolean animateCaption = captionEnterFrom != captionEnterTo; + + int[] fromRoundRadius = null; + if (params.animateRadius) { + fromRoundRadius = new int[4]; + for (int i = 0; i < 4; i++) { + fromRoundRadius[i] = chatMessageCell.getPhotoImage().getRoundRadius()[i]; + } + } + + int[] finalFromRoundRadius = fromRoundRadius; + valueAnimator.addUpdateListener(animation -> { + float v = (float) animation.getAnimatedValue(); + float x = moveInfoExtended.imageX * (1f - v) + params.animateToImageX * v; + float y = moveInfoExtended.imageY * (1f - v) + params.animateToImageY * v; + float width = moveInfoExtended.imageWidth * (1f - v) + params.animateToImageW * v; + float height = moveInfoExtended.imageHeight * (1f - v) + params.animateToImageH * v; + + if (animateCaption) { + float captionP = captionEnterFrom * (1f - v) + captionEnterTo * v; + params.captionEnterProgress = captionP; + if (chatMessageCell.getCurrentMessagesGroup() != null) { + chatMessageCell.getCurrentMessagesGroup().transitionParams.captionEnterProgress = captionP; + } + } + + + if (params.animateRadius) { + chatMessageCell.getPhotoImage().setRoundRadius( + (int) (finalFromRoundRadius[0] * (1f - v) + params.animateToRadius[0] * v), + (int) (finalFromRoundRadius[1] * (1f - v) + params.animateToRadius[1] * v), + (int) (finalFromRoundRadius[2] * (1f - v) + params.animateToRadius[2] * v), + (int) (finalFromRoundRadius[3] * (1f - v) + params.animateToRadius[3] * v) + ); + } + + chatMessageCell.setImageCoords(x, y, width, height); + holder.itemView.invalidate(); + }); + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + params.imageChangeBoundsTransition = false; + } + }); + animatorSet.playTogether(valueAnimator); + } + if (moveInfoExtended.deltaBottom != 0 || moveInfoExtended.deltaRight != 0 || moveInfoExtended.deltaTop != 0 || moveInfoExtended.deltaLeft != 0) { + + recyclerListView.setClipChildren(false); + recyclerListView.invalidate(); + + ValueAnimator valueAnimator = ValueAnimator.ofFloat(1f, 0); + valueAnimator.addUpdateListener(animation -> { + float v = (float) animation.getAnimatedValue(); + if (moveInfoExtended.animateBackgroundOnly) { + params.deltaLeft = (int) (-moveInfoExtended.deltaLeft * v); + params.deltaRight = (int) (-moveInfoExtended.deltaRight * v); + params.deltaTop = (int) (-moveInfoExtended.deltaTop * v); + params.deltaBottom = (int) (-moveInfoExtended.deltaBottom * v); + } else { + params.deltaLeft = (int) (-moveInfoExtended.deltaLeft * v - chatMessageCell.getAnimationOffsetX()); + params.deltaRight = (int) (-moveInfoExtended.deltaRight * v - chatMessageCell.getAnimationOffsetX()); + params.deltaTop = (int) (-moveInfoExtended.deltaTop * v - chatMessageCell.getTranslationY()); + params.deltaBottom = (int) (-moveInfoExtended.deltaBottom * v - chatMessageCell.getTranslationY()); + } + chatMessageCell.invalidate(); + }); + animatorSet.playTogether(valueAnimator); + } + + if (moveInfoExtended.animateChangeGroupBackground) { + ValueAnimator valueAnimator = ValueAnimator.ofFloat(1f, 0); + MessageObject.GroupedMessages group = chatMessageCell.getCurrentMessagesGroup(); + MessageObject.GroupedMessages.TransitionParams groupTransitionParams = group.transitionParams; + RecyclerListView recyclerListView = (RecyclerListView) holder.itemView.getParent(); + + float captionEnterFrom = group.transitionParams.captionEnterProgress; + float captionEnterTo = group.hasCaption ? 1 : 0; + + boolean animateCaption = captionEnterFrom != captionEnterTo; + valueAnimator.addUpdateListener(animation -> { + float v = (float) animation.getAnimatedValue(); + groupTransitionParams.offsetTop = moveInfoExtended.groupOffsetTop * v; + groupTransitionParams.offsetBottom = moveInfoExtended.groupOffsetBottom * v; + groupTransitionParams.offsetLeft = moveInfoExtended.groupOffsetLeft * v; + groupTransitionParams.offsetRight = moveInfoExtended.groupOffsetRight * v; + if (animateCaption) { + groupTransitionParams.captionEnterProgress = captionEnterFrom * v + captionEnterTo * (1f - v); + } + recyclerListView.invalidate(); + }); + + valueAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + groupTransitionParams.backgroundChangeBounds = false; + groupTransitionParams.drawBackgroundForDeletedItems = false; + } + }); + animatorSet.playTogether(valueAnimator); + } + + if (moveInfoExtended.animatePinnedBottom) { + ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1f); + valueAnimator.addUpdateListener(animation -> { + params.changePinnedBottomProgress = (float) animation.getAnimatedValue(); + chatMessageCell.invalidate(); + }); + + animatorSet.playTogether(valueAnimator); + } + + if (moveInfoExtended.animateChangeInternal) { + ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1f); + valueAnimator.addUpdateListener(animation -> { + params.animateChangeProgress = (float) animation.getAnimatedValue(); + chatMessageCell.invalidate(); + }); + animatorSet.playTogether(valueAnimator); + } + } + + if (translationInterpolator != null) { + animatorSet.setInterpolator(translationInterpolator); + } + animatorSet.setDuration(getMoveDuration()); + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animator) { + dispatchMoveStarting(holder); + } + + @Override + public void onAnimationCancel(Animator animator) { + if (deltaY != 0) { + view.setTranslationY(0); + } + } + + @Override + public void onAnimationEnd(Animator animator) { + animator.removeAllListeners(); + if (holder.itemView instanceof ChatMessageCell) { + ((ChatMessageCell) holder.itemView).getTransitionParams().resetAnimation(); + } else if (holder.itemView instanceof BotHelpCell) { + ((BotHelpCell) holder.itemView).setAnimating(false); + } + if (mMoveAnimations.remove(holder)) { + dispatchMoveFinished(holder); + dispatchFinishedWhenDone(); + } + } + }); + animatorSet.start(); + animators.put(holder, animatorSet); + } + + boolean reset; + + @Override + public void resetAnimation(RecyclerView.ViewHolder holder) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("reset animation"); + } + reset = true; + super.resetAnimation(holder); + reset = false; + } + + @Override + public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, ItemHolderInfo info, + int fromX, int fromY, int toX, int toY) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate change"); + } + if (oldHolder == newHolder) { + // Don't know how to run change animations when the same view holder is re-used. + // run a move animation to handle position changes. + return animateMove(oldHolder, info, fromX, fromY, toX, toY); + } + final float prevTranslationX; + if (oldHolder.itemView instanceof ChatMessageCell) { + prevTranslationX = ((ChatMessageCell) oldHolder.itemView).getAnimationOffsetX(); + } else { + prevTranslationX = oldHolder.itemView.getTranslationX(); + } + final float prevTranslationY = oldHolder.itemView.getTranslationY(); + final float prevAlpha = oldHolder.itemView.getAlpha(); + resetAnimation(oldHolder); + int deltaX = (int) (toX - fromX - prevTranslationX); + int deltaY = (int) (toY - fromY - prevTranslationY); + // recover prev translation state after ending animation + if (oldHolder.itemView instanceof ChatMessageCell) { + ((ChatMessageCell) oldHolder.itemView).setAnimationOffsetX(prevTranslationX); + } else { + oldHolder.itemView.setTranslationX(prevTranslationX); + } + oldHolder.itemView.setTranslationY(prevTranslationY); + oldHolder.itemView.setAlpha(prevAlpha); + if (newHolder != null) { + // carry over translation values + resetAnimation(newHolder); + if (newHolder.itemView instanceof ChatMessageCell) { + ((ChatMessageCell) newHolder.itemView).setAnimationOffsetX(-deltaX); + } else { + newHolder.itemView.setTranslationX(-deltaX); + } + newHolder.itemView.setTranslationY(-deltaY); + newHolder.itemView.setAlpha(0); + } + mPendingChanges.add(new ChangeInfo(oldHolder, newHolder, fromX, fromY, toX, toY)); + return true; + } + + void animateChangeImpl(final ChangeInfo changeInfo) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate change impl"); + } + final RecyclerView.ViewHolder holder = changeInfo.oldHolder; + final View view = holder == null ? null : holder.itemView; + final RecyclerView.ViewHolder newHolder = changeInfo.newHolder; + final View newView = newHolder != null ? newHolder.itemView : null; + if (view != null) { + final ViewPropertyAnimator oldViewAnim = view.animate().setDuration( + getChangeDuration()); + mChangeAnimations.add(changeInfo.oldHolder); + oldViewAnim.translationX(changeInfo.toX - changeInfo.fromX); + oldViewAnim.translationY(changeInfo.toY - changeInfo.fromY); + oldViewAnim.alpha(0).setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animator) { + dispatchChangeStarting(changeInfo.oldHolder, true); + } + + @Override + public void onAnimationEnd(Animator animator) { + oldViewAnim.setListener(null); + view.setAlpha(1); + if (view instanceof ChatMessageCell) { + ((ChatMessageCell) view).setAnimationOffsetX(0); + } else { + view.setTranslationX(0); + } + view.setTranslationY(0); + if (mChangeAnimations.remove(changeInfo.oldHolder)) { + dispatchChangeFinished(changeInfo.oldHolder, true); + dispatchFinishedWhenDone(); + } + } + }).start(); + } + if (newView != null) { + final ViewPropertyAnimator newViewAnimation = newView.animate(); + mChangeAnimations.add(changeInfo.newHolder); + newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()) + .alpha(1).setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animator) { + dispatchChangeStarting(changeInfo.newHolder, false); + } + + @Override + public void onAnimationEnd(Animator animator) { + newViewAnimation.setListener(null); + newView.setAlpha(1); + if (newView instanceof ChatMessageCell) { + ((ChatMessageCell) newView).setAnimationOffsetX(0); + } else { + newView.setTranslationX(0); + } + newView.setTranslationY(0); + + if (mChangeAnimations.remove(changeInfo.newHolder)) { + dispatchChangeFinished(changeInfo.newHolder, false); + dispatchFinishedWhenDone(); + } + } + }).start(); + } + } + + @NonNull + @Override + public ItemHolderInfo recordPreLayoutInformation(@NonNull RecyclerView.State state, @NonNull RecyclerView.ViewHolder viewHolder, int changeFlags, @NonNull List payloads) { + ItemHolderInfo info = super.recordPreLayoutInformation(state, viewHolder, changeFlags, payloads); + if (viewHolder.itemView instanceof ChatMessageCell) { + ChatMessageCell chatMessageCell = (ChatMessageCell) viewHolder.itemView; + ItemHolderInfoExtended extended = new ItemHolderInfoExtended(); + extended.left = info.left; + extended.top = info.top; + extended.right = info.right; + extended.bottom = info.bottom; + + ChatMessageCell.TransitionParams params = chatMessageCell.getTransitionParams(); + extended.imageX = params.lastDrawingImageX; + extended.imageY = params.lastDrawingImageY; + extended.imageWidth = params.lastDrawingImageW; + extended.imageHeight = params.lastDrawingImageH; + return extended; + } + return info; + } + + @Override + protected void onAllAnimationsDone() { + super.onAllAnimationsDone(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("all animations done"); + } + + if (!reset) { + recyclerListView.setClipChildren(true); + } + while (!runOnAnimationsEnd.isEmpty()) { + runOnAnimationsEnd.remove(0).run(); + } + cancelAnimators(); + } + + private void cancelAnimators() { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("cancel animations"); + } + ArrayList anim = new ArrayList<>(animators.values()); + animators.clear(); + for (Animator animator : anim) { + if (animator != null) { + animator.cancel(); + } + } + } + + @Override + public void endAnimation(RecyclerView.ViewHolder item) { + Animator animator = animators.remove(item); + if (animator != null) { + animator.cancel(); + } + super.endAnimation(item); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("end animation"); + } + } + + @Override + public void endAnimations() { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("end animations"); + } + for (MessageObject.GroupedMessages groupedMessages : willChangedGroups) { + groupedMessages.transitionParams.isNewGroup = false; + } + willChangedGroups.clear(); + + cancelAnimators(); + + int count = mPendingMoves.size(); + for (int i = count - 1; i >= 0; i--) { + MoveInfo item = mPendingMoves.get(i); + View view = item.holder.itemView; + view.setTranslationY(0); + if (view instanceof ChatMessageCell) { + ChatMessageCell cell = ((ChatMessageCell) view); + ChatMessageCell.TransitionParams params = cell.getTransitionParams(); + cell.setAnimationOffsetX(0); + params.deltaLeft = 0; + params.deltaTop = 0; + params.deltaRight = 0; + params.deltaBottom = 0; + params.animateBackgroundBoundsInner = false; + } else { + view.setTranslationX(0); + } + dispatchMoveFinished(item.holder); + mPendingMoves.remove(i); + } + count = mPendingRemovals.size(); + for (int i = count - 1; i >= 0; i--) { + RecyclerView.ViewHolder item = mPendingRemovals.get(i); + dispatchRemoveFinished(item); + mPendingRemovals.remove(i); + } + count = mPendingAdditions.size(); + for (int i = count - 1; i >= 0; i--) { + RecyclerView.ViewHolder item = mPendingAdditions.get(i); + item.itemView.setAlpha(1); + dispatchAddFinished(item); + mPendingAdditions.remove(i); + } + count = mPendingChanges.size(); + for (int i = count - 1; i >= 0; i--) { + endChangeAnimationIfNecessary(mPendingChanges.get(i)); + } + mPendingChanges.clear(); + if (!isRunning()) { + return; + } + + int listCount = mMovesList.size(); + for (int i = listCount - 1; i >= 0; i--) { + ArrayList moves = mMovesList.get(i); + count = moves.size(); + for (int j = count - 1; j >= 0; j--) { + MoveInfo moveInfo = moves.get(j); + RecyclerView.ViewHolder item = moveInfo.holder; + View view = item.itemView; + view.setTranslationY(0); + if (view instanceof ChatMessageCell) { + ((ChatMessageCell) view).setAnimationOffsetX(0); + } else { + view.setTranslationX(0); + } + dispatchMoveFinished(moveInfo.holder); + moves.remove(j); + if (moves.isEmpty()) { + mMovesList.remove(moves); + } + } + } + listCount = mAdditionsList.size(); + for (int i = listCount - 1; i >= 0; i--) { + ArrayList additions = mAdditionsList.get(i); + count = additions.size(); + for (int j = count - 1; j >= 0; j--) { + RecyclerView.ViewHolder item = additions.get(j); + View view = item.itemView; + view.setAlpha(1); + dispatchAddFinished(item); + additions.remove(j); + if (additions.isEmpty()) { + mAdditionsList.remove(additions); + } + } + } + listCount = mChangesList.size(); + for (int i = listCount - 1; i >= 0; i--) { + ArrayList changes = mChangesList.get(i); + count = changes.size(); + for (int j = count - 1; j >= 0; j--) { + endChangeAnimationIfNecessary(changes.get(j)); + if (changes.isEmpty()) { + mChangesList.remove(changes); + } + } + } + cancelAll(mRemoveAnimations); + cancelAll(mMoveAnimations); + cancelAll(mAddAnimations); + cancelAll(mChangeAnimations); + + dispatchAnimationsFinished(); + } + + protected boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("end change if necessary"); + } + Animator a = animators.remove(item); + if (a != null) { + a.cancel(); + } + + boolean oldItem = false; + if (changeInfo.newHolder == item) { + changeInfo.newHolder = null; + } else if (changeInfo.oldHolder == item) { + changeInfo.oldHolder = null; + oldItem = true; + } else { + return false; + } + item.itemView.setAlpha(1); + if (item.itemView instanceof ChatMessageCell) { + ((ChatMessageCell) item.itemView).setAnimationOffsetX(0); + ((ChatMessageCell) item.itemView).getTransitionParams().resetAnimation(); + } else { + item.itemView.setTranslationX(0); + } + item.itemView.setTranslationY(0); + dispatchChangeFinished(item, oldItem); + + return true; + } + + public void groupWillTransformToSingleMessage(MessageObject.GroupedMessages groupedMessages) { + willRemovedGroup.put(groupedMessages.messages.get(0).getId(), groupedMessages); + } + + public void groupWillChanged(MessageObject.GroupedMessages groupedMessages) { + if (groupedMessages.messages.size() == 0) { + groupedMessages.transitionParams.drawBackgroundForDeletedItems = true; + } else { + if (groupedMessages.transitionParams.top == 0 && groupedMessages.transitionParams.bottom == 0 && groupedMessages.transitionParams.left == 0 && groupedMessages.transitionParams.right == 0) { + int n = recyclerListView.getChildCount(); + for (int i = 0; i < n; i++) { + View child = recyclerListView.getChildAt(i); + if (child instanceof ChatMessageCell) { + ChatMessageCell cell = (ChatMessageCell) child; + MessageObject messageObject = cell.getMessageObject(); + if (cell.getTransitionParams().wasDraw && groupedMessages.messages.contains(messageObject)) { + groupedMessages.transitionParams.top = cell.getTop() + cell.getBackgroundDrawableTop(); + groupedMessages.transitionParams.bottom = cell.getTop() + cell.getBackgroundDrawableBottom(); + groupedMessages.transitionParams.left = cell.getLeft() + cell.getBackgroundDrawableLeft(); + groupedMessages.transitionParams.right = cell.getLeft() + cell.getBackgroundDrawableRight(); + groupedMessages.transitionParams.drawCaptionLayout = cell.hasCaptionLayout(); + groupedMessages.transitionParams.pinnedTop = cell.isPinnedTop(); + groupedMessages.transitionParams.pinnedBotton = cell.isPinnedBottom(); + groupedMessages.transitionParams.isNewGroup = true; + break; + } + } + } + } + willChangedGroups.add(groupedMessages); + } + } + + @Override + public void animateAddImpl(RecyclerView.ViewHolder holder) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate add impl"); + } + final View view = holder.itemView; + mAddAnimations.add(holder); + AnimatorSet animatorSet = new AnimatorSet(); + ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.ALPHA, view.getAlpha(), 1f); + + animatorSet.playTogether(animator); + + if (view instanceof ChatMessageCell) { + ChatMessageCell cell = (ChatMessageCell) view; + if (cell.getAnimationOffsetX() != 0) { + animatorSet.playTogether( + ObjectAnimator.ofFloat(cell, cell.ANIMATION_OFFSET_X, cell.getAnimationOffsetX(), 0f) + ); + } + view.animate().translationY(0).setDuration(getAddDuration()).start(); + } else { + view.animate().translationX(0).translationY(0).setDuration(getAddDuration()).start(); + } + animatorSet.setDuration(getAddDuration()); + if (view instanceof ChatMessageCell){ + MessageObject.GroupedMessages groupedMessages = ((ChatMessageCell) view).getCurrentMessagesGroup(); + if (groupedMessages != null && groupedMessages.transitionParams.backgroundChangeBounds) { + animatorSet.setStartDelay(140); + } + } + + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animator) { + dispatchAddStarting(holder); + } + + @Override + public void onAnimationCancel(Animator animator) { + view.setAlpha(1); + } + + @Override + public void onAnimationEnd(Animator animator) { + animator.removeAllListeners(); + view.setAlpha(1f); + view.setTranslationY(0f); + view.setTranslationY(0f); + if (mAddAnimations.remove(holder)) { + dispatchAddFinished(holder); + dispatchFinishedWhenDone(); + } + } + }); + animators.put(holder, animatorSet); + animatorSet.start(); + } + + protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("animate remove impl"); + } + final View view = holder.itemView; + mRemoveAnimations.add(holder); + ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.ALPHA, view.getAlpha(), 0f); + + dispatchRemoveStarting(holder); + + animator.setDuration(getRemoveDuration()); + animator.addListener( + new AnimatorListenerAdapter() { + + @Override + public void onAnimationEnd(Animator animator) { + animator.removeAllListeners(); + view.setAlpha(1); + view.setTranslationX(0); + view.setTranslationY(0); + if (mRemoveAnimations.remove(holder)) { + dispatchRemoveFinished(holder); + dispatchFinishedWhenDone(); + } + } + }); + animators.put(holder, animator); + animator.start(); + recyclerListView.stopScroll(); + } + + public void setShouldAnimateEnterFromBottom(boolean shouldAnimateEnterFromBottom) { + this.shouldAnimateEnterFromBottom = shouldAnimateEnterFromBottom; + } + + public void onAnimationStart() { + + } + + protected long getMoveAnimationDelay() { + return 0; + } + + @Override + public long getMoveDuration() { + return 220; + } + + @Override + public long getChangeDuration() { + return 220; + } + + public void runOnAnimationEnd(Runnable runnable) { + runOnAnimationsEnd.add(runnable); + } + + public void onDestroy() { + onAllAnimationsDone(); + } + + class MoveInfoExtended extends MoveInfo { + + public float captionDeltaX; + public float captionDeltaY; + + public int groupOffsetTop; + public int groupOffsetBottom; + public int groupOffsetLeft; + public int groupOffsetRight; + public boolean animateChangeGroupBackground; + public boolean animatePinnedBottom; + public boolean animateBackgroundOnly; + public boolean animateChangeInternal; + + boolean animateImage; + boolean drawBackground; + + float imageX; + float imageY; + float imageWidth; + float imageHeight; + + int deltaLeft, deltaRight, deltaTop, deltaBottom; + boolean animateRemoveGroup; + + MoveInfoExtended(RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY) { + super(holder, fromX, fromY, toX, toY); + } + } + + class ItemHolderInfoExtended extends ItemHolderInfo { + float imageX; + float imageY; + float imageWidth; + float imageHeight; + int captionX; + int captionY; + } +} + diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChildHelper.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChildHelper.java index b566ba577..710942bcb 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChildHelper.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ChildHelper.java @@ -20,6 +20,8 @@ import android.util.Log; import android.view.View; import android.view.ViewGroup; +import org.telegram.messenger.BuildVars; + import java.util.ArrayList; import java.util.List; @@ -33,9 +35,9 @@ import java.util.List; * When RecyclerView needs direct access to the view group children, it can call unfiltered * methods like get getUnfilteredChildCount or getUnfilteredChildAt. */ -class ChildHelper { +public class ChildHelper { - private static final boolean DEBUG = false; + private static final boolean DEBUG = BuildVars.DEBUG_VERSION; private static final String TAG = "ChildrenHelper"; @@ -56,7 +58,7 @@ class ChildHelper { * * @param child View to hide. */ - private void hideViewInternal(View child) { + public void hideViewInternal(View child) { mHiddenViews.add(child); mCallback.onEnteredHiddenState(child); } @@ -66,7 +68,7 @@ class ChildHelper { * * @param child View to hide. */ - private boolean unhideViewInternal(View child) { + public boolean unhideViewInternal(View child) { if (mHiddenViews.remove(child)) { mCallback.onLeftHiddenState(child); return true; @@ -75,7 +77,7 @@ class ChildHelper { } } - protected int getHiddenChildCount() { + public int getHiddenChildCount() { return mHiddenViews.size(); } @@ -260,7 +262,7 @@ class ChildHelper { * @return Number of children that are not hidden. * @see #getChildAt(int) */ - int getChildCount() { + public int getChildCount() { return mCallback.getChildCount() - mHiddenViews.size(); } diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/DefaultItemAnimator.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/DefaultItemAnimator.java index cb736feec..caf456126 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/DefaultItemAnimator.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/DefaultItemAnimator.java @@ -22,11 +22,15 @@ import android.animation.ValueAnimator; import android.os.Build; import android.view.View; import android.view.ViewPropertyAnimator; +import android.view.animation.Interpolator; import androidx.annotation.NonNull; import androidx.core.view.ViewCompat; +import org.telegram.messenger.BuildVars; + import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** @@ -37,14 +41,15 @@ import java.util.List; * @see RecyclerView#setItemAnimator(RecyclerView.ItemAnimator) */ public class DefaultItemAnimator extends SimpleItemAnimator { - private static final boolean DEBUG = false; + private static final boolean DEBUG = BuildVars.DEBUG_VERSION; private static TimeInterpolator sDefaultInterpolator; + protected Interpolator translationInterpolator; - private ArrayList mPendingRemovals = new ArrayList<>(); - private ArrayList mPendingAdditions = new ArrayList<>(); - private ArrayList mPendingMoves = new ArrayList<>(); - private ArrayList mPendingChanges = new ArrayList<>(); + protected ArrayList mPendingRemovals = new ArrayList<>(); + protected ArrayList mPendingAdditions = new ArrayList<>(); + protected ArrayList mPendingMoves = new ArrayList<>(); + protected ArrayList mPendingChanges = new ArrayList<>(); ArrayList> mAdditionsList = new ArrayList<>(); ArrayList> mMovesList = new ArrayList<>(); @@ -55,9 +60,9 @@ public class DefaultItemAnimator extends SimpleItemAnimator { ArrayList mRemoveAnimations = new ArrayList<>(); ArrayList mChangeAnimations = new ArrayList<>(); - private boolean delayAnimations = true; + protected boolean delayAnimations = true; - private static class MoveInfo { + protected static class MoveInfo { public RecyclerView.ViewHolder holder; public int fromX, fromY, toX, toY; @@ -70,7 +75,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } } - private static class ChangeInfo { + protected static class ChangeInfo { public RecyclerView.ViewHolder oldHolder, newHolder; public int fromX, fromY, toX, toY; private ChangeInfo(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder) { @@ -125,8 +130,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { @Override public void run() { for (MoveInfo moveInfo : moves) { - animateMoveImpl(moveInfo.holder, moveInfo.fromX, moveInfo.fromY, - moveInfo.toX, moveInfo.toY); + animateMoveImpl(moveInfo.holder, moveInfo); } moves.clear(); mMovesList.remove(moves); @@ -134,7 +138,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { }; if (delayAnimations && removalsPending) { View view = moves.get(0).holder.itemView; - ViewCompat.postOnAnimationDelayed(view, mover, getRemoveDuration()); + ViewCompat.postOnAnimationDelayed(view, mover, getMoveAnimationDelay()); } else { mover.run(); } @@ -191,8 +195,12 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } } + protected long getMoveAnimationDelay() { + return getRemoveDuration(); + } + @Override - public boolean animateRemove(final RecyclerView.ViewHolder holder) { + public boolean animateRemove(final RecyclerView.ViewHolder holder, ItemHolderInfo info) { resetAnimation(holder); mPendingRemovals.add(holder); return true; @@ -202,7 +210,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { delayAnimations = value; } - private void animateRemoveImpl(final RecyclerView.ViewHolder holder) { + protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { final View view = holder.itemView; final ViewPropertyAnimator animation = view.animate(); mRemoveAnimations.add(holder); @@ -217,6 +225,8 @@ public class DefaultItemAnimator extends SimpleItemAnimator { public void onAnimationEnd(Animator animator) { animation.setListener(null); view.setAlpha(1); + view.setTranslationX(0); + view.setTranslationY(0); dispatchRemoveFinished(holder); mRemoveAnimations.remove(holder); dispatchFinishedWhenDone(); @@ -232,7 +242,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { return true; } - void animateAddImpl(final RecyclerView.ViewHolder holder) { + public void animateAddImpl(final RecyclerView.ViewHolder holder) { final View view = holder.itemView; final ViewPropertyAnimator animation = view.animate(); mAddAnimations.add(holder); @@ -259,7 +269,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateMove(final RecyclerView.ViewHolder holder, int fromX, int fromY, + public boolean animateMove(final RecyclerView.ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { final View view = holder.itemView; fromX += (int) holder.itemView.getTranslationX(); @@ -285,7 +295,11 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } - void animateMoveImpl(final RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY) { + void animateMoveImpl(final RecyclerView.ViewHolder holder, MoveInfo moveInfo) { + int fromX = moveInfo.fromX; + int fromY = moveInfo.fromY; + int toX = moveInfo.toX; + int toY = moveInfo.toY; final View view = holder.itemView; final int deltaX = toX - fromX; final int deltaY = toY - fromY; @@ -303,6 +317,9 @@ public class DefaultItemAnimator extends SimpleItemAnimator { if (Build.VERSION.SDK_INT >= 19) { animation.setUpdateListener(animation1 -> onMoveAnimationUpdate(holder)); } + if (translationInterpolator != null) { + animation.setInterpolator(translationInterpolator); + } animation.setDuration(getMoveDuration()).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animator) { @@ -330,12 +347,12 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, + public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { if (oldHolder == newHolder) { // Don't know how to run change animations when the same view holder is re-used. // run a move animation to handle position changes. - return animateMove(oldHolder, fromX, fromY, toX, toY); + return animateMove(oldHolder,info, fromX, fromY, toX, toY); } final float prevTranslationX = oldHolder.itemView.getTranslationX(); final float prevTranslationY = oldHolder.itemView.getTranslationY(); @@ -421,7 +438,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { } } - private void endChangeAnimationIfNecessary(ChangeInfo changeInfo) { + protected void endChangeAnimationIfNecessary(ChangeInfo changeInfo) { if (changeInfo.oldHolder != null) { endChangeAnimationIfNecessary(changeInfo, changeInfo.oldHolder); } @@ -429,7 +446,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { endChangeAnimationIfNecessary(changeInfo, changeInfo.newHolder); } } - private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) { + protected boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) { boolean oldItem = false; if (changeInfo.newHolder == item) { changeInfo.newHolder = null; @@ -507,32 +524,32 @@ public class DefaultItemAnimator extends SimpleItemAnimator { // animations should be ended by the cancel above. //noinspection PointlessBooleanExpression,ConstantConditions - if (mRemoveAnimations.remove(item) && DEBUG) { + if (mRemoveAnimations.remove(item) && BuildVars.DEBUG_VERSION) { throw new IllegalStateException("after animation is cancelled, item should not be in " + "mRemoveAnimations list"); } //noinspection PointlessBooleanExpression,ConstantConditions - if (mAddAnimations.remove(item) && DEBUG) { + if (mAddAnimations.remove(item) && BuildVars.DEBUG_VERSION) { throw new IllegalStateException("after animation is cancelled, item should not be in " + "mAddAnimations list"); } //noinspection PointlessBooleanExpression,ConstantConditions - if (mChangeAnimations.remove(item) && DEBUG) { + if (mChangeAnimations.remove(item) && BuildVars.DEBUG_VERSION) { throw new IllegalStateException("after animation is cancelled, item should not be in " + "mChangeAnimations list"); } //noinspection PointlessBooleanExpression,ConstantConditions - if (mMoveAnimations.remove(item) && DEBUG) { + if (mMoveAnimations.remove(item) && BuildVars.DEBUG_VERSION) { throw new IllegalStateException("after animation is cancelled, item should not be in " + "mMoveAnimations list"); } dispatchFinishedWhenDone(); } - private void resetAnimation(RecyclerView.ViewHolder holder) { + public void resetAnimation(RecyclerView.ViewHolder holder) { if (sDefaultInterpolator == null) { sDefaultInterpolator = new ValueAnimator().getInterpolator(); } @@ -560,7 +577,7 @@ public class DefaultItemAnimator extends SimpleItemAnimator { * pending/running, call {@link #dispatchAnimationsFinished()} to notify any * listeners. */ - void dispatchFinishedWhenDone() { + protected void dispatchFinishedWhenDone() { if (!isRunning()) { dispatchAnimationsFinished(); onAllAnimationsDone(); diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java index 79606bb74..62b909875 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java @@ -34,6 +34,8 @@ import androidx.annotation.RestrictTo; import androidx.core.os.TraceCompat; import androidx.core.view.ViewCompat; +import org.telegram.messenger.BuildVars; + import java.util.List; /** @@ -45,7 +47,7 @@ public class LinearLayoutManager extends RecyclerView.LayoutManager implements private static final String TAG = "LinearLayoutManager"; - static final boolean DEBUG = false; + static final boolean DEBUG = BuildVars.DEBUG_VERSION; public static final int HORIZONTAL = RecyclerView.HORIZONTAL; diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearSmoothScroller.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearSmoothScroller.java index 37bb647d0..7d43885f2 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearSmoothScroller.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/LinearSmoothScroller.java @@ -23,6 +23,8 @@ import android.view.View; import android.view.animation.DecelerateInterpolator; import android.view.animation.LinearInterpolator; +import org.telegram.messenger.BuildVars; + /** * {@link RecyclerView.SmoothScroller} implementation which uses a {@link LinearInterpolator} until * the target position becomes a child of the RecyclerView and then uses a @@ -35,7 +37,7 @@ import android.view.animation.LinearInterpolator; */ public class LinearSmoothScroller extends RecyclerView.SmoothScroller { - private static final boolean DEBUG = false; + private static final boolean DEBUG = BuildVars.DEBUG_VERSION; private static final float MILLISECONDS_PER_INCH = 25f; diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/RecyclerView.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/RecyclerView.java index 8224aa9ce..9d929df27 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/RecyclerView.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/RecyclerView.java @@ -59,6 +59,8 @@ import android.widget.LinearLayout; import android.widget.OverScroller; import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.BuildConfig; +import org.telegram.messenger.BuildVars; import androidx.annotation.CallSuper; import androidx.annotation.IntDef; @@ -212,7 +214,7 @@ public class RecyclerView extends ViewGroup implements ScrollingView, static final String TAG = "RecyclerView"; - static final boolean DEBUG = false; + static final boolean DEBUG = BuildVars.DEBUG_VERSION; static final boolean VERBOSE_TRACING = false; @@ -363,7 +365,7 @@ public class RecyclerView extends ViewGroup implements ScrollingView, private final RecyclerViewDataObserver mObserver = new RecyclerViewDataObserver(); - final Recycler mRecycler = new Recycler(); + public final Recycler mRecycler = new Recycler(); private SavedState mPendingSavedState; @@ -375,7 +377,7 @@ public class RecyclerView extends ViewGroup implements ScrollingView, /** * Handles abstraction between LayoutManager children and RecyclerView children */ - ChildHelper mChildHelper; + public ChildHelper mChildHelper; /** * Keeps data about views to be used for animations @@ -11294,7 +11296,7 @@ public class RecyclerView extends ViewGroup implements ScrollingView, mIsRecyclableCount = recyclable ? mIsRecyclableCount - 1 : mIsRecyclableCount + 1; if (mIsRecyclableCount < 0) { mIsRecyclableCount = 0; - if (DEBUG) { + if (BuildVars.DEBUG_VERSION) { throw new RuntimeException("isRecyclable decremented below 0: " + "unmatched pair of setIsRecyable() calls for " + this); } diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java index 536eb6d43..b8da62768 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java @@ -55,14 +55,14 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * If you set this property to false, actions on the data set which change the * contents of items will not be animated. What those animations do is left * up to the discretion of the ItemAnimator subclass, in its - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)} implementation. + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)} implementation. * The value of this property is true by default. * * @param supportsChangeAnimations true if change animations are supported by * this ItemAnimator, false otherwise. If the property is false, * the ItemAnimator * will not receive a call to - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, * int)} when changes occur. * @see RecyclerView.Adapter#notifyItemChanged(int) * @see RecyclerView.Adapter#notifyItemRangeChanged(int, int) @@ -99,15 +99,17 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { if (DEBUG) { Log.d(TAG, "DISAPPEARING: " + viewHolder + " with view " + disappearingItemView); } - return animateMove(viewHolder, oldLeft, oldTop, newLeft, newTop); + return animateMove(viewHolder, preLayoutInfo, oldLeft, oldTop, newLeft, newTop); } else { if (DEBUG) { Log.d(TAG, "REMOVED: " + viewHolder + " with view " + disappearingItemView); } - return animateRemove(viewHolder); + return animateRemove(viewHolder, preLayoutInfo); } } + + @Override public boolean animateAppearance(@NonNull RecyclerView.ViewHolder viewHolder, @Nullable ItemHolderInfo preLayoutInfo, @NonNull ItemHolderInfo postLayoutInfo) { @@ -117,7 +119,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { if (DEBUG) { Log.d(TAG, "APPEARING: " + viewHolder + " with view " + viewHolder); } - return animateMove(viewHolder, preLayoutInfo.left, preLayoutInfo.top, + return animateMove(viewHolder,preLayoutInfo, preLayoutInfo.left, preLayoutInfo.top, postLayoutInfo.left, postLayoutInfo.top); } else { if (DEBUG) { @@ -135,7 +137,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { Log.d(TAG, "PERSISTENT: " + viewHolder + " with view " + viewHolder.itemView); } - return animateMove(viewHolder, + return animateMove(viewHolder, preInfo, preInfo.left, preInfo.top, postInfo.left, postInfo.top); } dispatchMoveFinished(viewHolder); @@ -158,7 +160,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { toLeft = postInfo.left; toTop = postInfo.top; } - return animateChange(oldHolder, newHolder, fromLeft, fromTop, toLeft, toTop); + return animateChange(oldHolder, newHolder, preInfo, fromLeft, fromTop, toLeft, toTop); } /** @@ -170,9 +172,9 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * ItemAnimator's {@link #runPendingAnimations()} method should be called at the * next opportunity. This mechanism allows ItemAnimator to set up individual animations * as separate calls to {@link #animateAdd(RecyclerView.ViewHolder) animateAdd()}, - * {@link #animateMove(RecyclerView.ViewHolder, int, int, int, int) animateMove()}, - * {@link #animateRemove(RecyclerView.ViewHolder) animateRemove()}, and - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)} come in one by one, + * {@link #animateMove(RecyclerView.ViewHolder,RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int) animateMove()}, + * {@link #animateRemove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo) animateRemove()}, and + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)} come in one by one, * then start the animations together in the later call to {@link #runPendingAnimations()}. * *

This method may also be called for disappearing items which continue to exist in the @@ -184,7 +186,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * @return true if a later call to {@link #runPendingAnimations()} is requested, * false otherwise. */ - public abstract boolean animateRemove(RecyclerView.ViewHolder holder); + public abstract boolean animateRemove(RecyclerView.ViewHolder holder, ItemHolderInfo info); /** * Called when an item is added to the RecyclerView. Implementors can choose @@ -195,9 +197,9 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * ItemAnimator's {@link #runPendingAnimations()} method should be called at the * next opportunity. This mechanism allows ItemAnimator to set up individual animations * as separate calls to {@link #animateAdd(RecyclerView.ViewHolder) animateAdd()}, - * {@link #animateMove(RecyclerView.ViewHolder, int, int, int, int) animateMove()}, - * {@link #animateRemove(RecyclerView.ViewHolder) animateRemove()}, and - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)} come in one by one, + * {@link #animateMove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int) animateMove()}, + * {@link #animateRemove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo) animateRemove()}, and + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)} come in one by one, * then start the animations together in the later call to {@link #runPendingAnimations()}. * *

This method may also be called for appearing items which were already in the @@ -220,16 +222,16 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * ItemAnimator's {@link #runPendingAnimations()} method should be called at the * next opportunity. This mechanism allows ItemAnimator to set up individual animations * as separate calls to {@link #animateAdd(RecyclerView.ViewHolder) animateAdd()}, - * {@link #animateMove(RecyclerView.ViewHolder, int, int, int, int) animateMove()}, - * {@link #animateRemove(RecyclerView.ViewHolder) animateRemove()}, and - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)} come in one by one, + * {@link #animateMove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int) animateMove()}, + * {@link #animateRemove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo) animateRemove()}, and + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)} come in one by one, * then start the animations together in the later call to {@link #runPendingAnimations()}. * * @param holder The item that is being moved. * @return true if a later call to {@link #runPendingAnimations()} is requested, * false otherwise. */ - public abstract boolean animateMove(RecyclerView.ViewHolder holder, int fromX, int fromY, + public abstract boolean animateMove(RecyclerView.ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY); /** @@ -248,9 +250,9 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * ItemAnimator's {@link #runPendingAnimations()} method should be called at the * next opportunity. This mechanism allows ItemAnimator to set up individual animations * as separate calls to {@link #animateAdd(RecyclerView.ViewHolder) animateAdd()}, - * {@link #animateMove(RecyclerView.ViewHolder, int, int, int, int) animateMove()}, - * {@link #animateRemove(RecyclerView.ViewHolder) animateRemove()}, and - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)} come in one by one, + * {@link #animateMove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int) animateMove()}, + * {@link #animateRemove(RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo) animateRemove()}, and + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder,RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)} come in one by one, * then start the animations together in the later call to {@link #runPendingAnimations()}. * * @param oldHolder The original item that changed. @@ -263,7 +265,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * false otherwise. */ public abstract boolean animateChange(RecyclerView.ViewHolder oldHolder, - RecyclerView.ViewHolder newHolder, int fromLeft, int fromTop, int toLeft, int toTop); + RecyclerView.ViewHolder newHolder, ItemHolderInfo info, int fromLeft, int fromTop, int toLeft, int toTop); /** * Method to be called by subclasses when a remove animation is done. @@ -307,10 +309,10 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * * @param item The item which has been changed (this method must be called for * each non-null ViewHolder passed into - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)}). + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)}). * @param oldItem true if this is the old item that was changed, false if * it is the new item that replaced the old item. - * @see #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int) + * @see #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int) */ public final void dispatchChangeFinished(RecyclerView.ViewHolder item, boolean oldItem) { onChangeFinished(item, oldItem); @@ -349,7 +351,7 @@ public abstract class SimpleItemAnimator extends RecyclerView.ItemAnimator { * * @param item The item which has been changed (this method must be called for * each non-null ViewHolder passed into - * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)}). + * {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, RecyclerView.ItemAnimator.ItemHolderInfo, int, int, int, int)}). * @param oldItem true if this is the old item that was changed, false if * it is the new item that replaced the old item. */ diff --git a/TMessagesProj/src/main/java/androidx/recyclerview/widget/ViewInfoStore.java b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ViewInfoStore.java index 09e43d387..bc9584b05 100644 --- a/TMessagesProj/src/main/java/androidx/recyclerview/widget/ViewInfoStore.java +++ b/TMessagesProj/src/main/java/androidx/recyclerview/widget/ViewInfoStore.java @@ -15,6 +15,8 @@ */ package androidx.recyclerview.widget; +import org.telegram.messenger.BuildVars; + import static androidx.recyclerview.widget.ViewInfoStore.InfoRecord.FLAG_APPEAR; import static androidx.recyclerview.widget.ViewInfoStore.InfoRecord.FLAG_APPEAR_AND_DISAPPEAR; import static androidx.recyclerview.widget.ViewInfoStore.InfoRecord.FLAG_APPEAR_PRE_AND_POST; @@ -36,6 +38,8 @@ class ViewInfoStore { private static final boolean DEBUG = false; + private boolean processing; + /** * View data records for pre-layout */ @@ -113,6 +117,12 @@ class ViewInfoStore { } // if not pre-post flag is left, clear. if ((record.flags & (FLAG_PRE | FLAG_POST)) == 0) { + if (processing) { + if (BuildVars.DEBUG_VERSION) { + throw new RuntimeException("popFromLayoutStep while processing"); + } + return null; + } mLayoutHolderMap.removeAt(index); InfoRecord.recycle(record); } @@ -214,6 +224,7 @@ class ViewInfoStore { } void process(ProcessCallback callback) { + processing = true; for (int index = mLayoutHolderMap.size() - 1; index >= 0; index--) { final RecyclerView.ViewHolder viewHolder = mLayoutHolderMap.keyAt(index); final InfoRecord record = mLayoutHolderMap.removeAt(index); @@ -248,6 +259,7 @@ class ViewInfoStore { } InfoRecord.recycle(record); } + processing = false; } /** @@ -261,8 +273,15 @@ class ViewInfoStore { break; } } - final InfoRecord info = mLayoutHolderMap.remove(holder); + final InfoRecord info = mLayoutHolderMap.get(holder); if (info != null) { + if (processing) { + if (BuildVars.DEBUG_VERSION) { + throw new RuntimeException("removeViewHolder while processing"); + } + return; + } + mLayoutHolderMap.remove(holder); InfoRecord.recycle(info); } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java b/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java index 10df18879..ece89476f 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java @@ -1222,19 +1222,6 @@ public class AndroidUtilities { return false; } - public static boolean isKeyboardShowed(View view) { - if (view == null) { - return false; - } - try { - InputMethodManager inputManager = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); - return inputManager.isActive(view); - } catch (Exception e) { - FileLog.e(e); - } - return false; - } - public static String[] getCurrentKeyboardLanguage() { try { InputMethodManager inputManager = (InputMethodManager) ApplicationLoader.applicationContext.getSystemService(Context.INPUT_METHOD_SERVICE); @@ -1893,7 +1880,7 @@ public class AndroidUtilities { return; } AnimatorSet animatorSet = new AnimatorSet(); - animatorSet.playTogether(ObjectAnimator.ofFloat(view, "translationX", AndroidUtilities.dp(x))); + animatorSet.playTogether(ObjectAnimator.ofFloat(view, "translationX", dp(x))); animatorSet.setDuration(50); animatorSet.addListener(new AnimatorListenerAdapter() { @Override diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/AnimatedFileDrawableStream.java b/TMessagesProj/src/main/java/org/telegram/messenger/AnimatedFileDrawableStream.java index c9e9b9288..2640aa6da 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/AnimatedFileDrawableStream.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/AnimatedFileDrawableStream.java @@ -16,6 +16,10 @@ public class AnimatedFileDrawableStream implements FileLoadOperationStream { private int lastOffset; private boolean waitingForLoad; private boolean preview; + private boolean finishedLoadingFile; + private String finishedFilePath; + + private boolean ignored; public AnimatedFileDrawableStream(TLRPC.Document d, Object p, int a, boolean prev) { document = d; @@ -25,6 +29,14 @@ public class AnimatedFileDrawableStream implements FileLoadOperationStream { loadOperation = FileLoader.getInstance(currentAccount).loadStreamFile(this, document, parentObject, 0, preview); } + public boolean isFinishedLoadingFile() { + return finishedLoadingFile; + } + + public String getFinishedFilePath() { + return finishedFilePath; + } + public int read(int offset, int readLength) { synchronized (sync) { if (canceled) { @@ -37,7 +49,12 @@ public class AnimatedFileDrawableStream implements FileLoadOperationStream { int availableLength = 0; try { while (availableLength == 0) { - availableLength = loadOperation.getDownloadedLengthFromOffset(offset, readLength); + int[] result = loadOperation.getDownloadedLengthFromOffset(offset, readLength); + availableLength = result[0]; + if (!finishedLoadingFile && result[1] != 0) { + finishedLoadingFile = true; + finishedFilePath = loadOperation.getCacheFileFinal().getAbsolutePath(); + } if (availableLength == 0) { if (loadOperation.isPaused() || lastOffset != offset || preview) { FileLoader.getInstance(currentAccount).loadStreamFile(this, document, parentObject, offset, preview); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java index fecc711dc..bdf06a759 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java @@ -9,6 +9,7 @@ package org.telegram.messenger; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.AlarmManager; import android.app.Application; import android.app.PendingIntent; @@ -43,7 +44,6 @@ public class ApplicationLoader extends Application { @SuppressLint("StaticFieldLeak") public static volatile Context applicationContext; public static volatile NetworkInfo currentNetworkInfo; - public static volatile boolean unableGetCurrentNetwork; public static volatile Handler applicationHandler; private static ConnectivityManager connectivityManager; @@ -114,7 +114,6 @@ public class ApplicationLoader extends Application { }; IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); ApplicationLoader.applicationContext.registerReceiver(networkStateReceiver, filter); - //Utilities.globalQueue.postRunnable(ApplicationLoader::ensureCurrentNetworkGet); } catch (Exception e) { e.printStackTrace(); } @@ -189,7 +188,16 @@ public class ApplicationLoader extends Application { NativeLoader.initNativeLibs(ApplicationLoader.applicationContext); ConnectionsManager.native_setJava(false); - new ForegroundDetector(this); + new ForegroundDetector(this) { + @Override + public void onActivityStarted(Activity activity) { + boolean wasInBackground = isBackground(); + super.onActivityStarted(activity); + if (wasInBackground) { + ensureCurrentNetworkGet(true); + } + } + }; applicationHandler = new Handler(applicationContext.getMainLooper()); @@ -281,24 +289,22 @@ public class ApplicationLoader extends Application { return true; } - /* - private static void ensureCurrentNetworkGet() { - if (currentNetworkInfo == null) { + private static void ensureCurrentNetworkGet(boolean force) { + if (force || currentNetworkInfo == null) { try { if (connectivityManager == null) { connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); } currentNetworkInfo = connectivityManager.getActiveNetworkInfo(); - unableGetCurrentNetwork = false; } catch (Throwable ignore) { - unableGetCurrentNetwork = true; + } } } public static boolean isRoaming() { try { - ensureCurrentNetworkGet(); + ensureCurrentNetworkGet(false); return currentNetworkInfo != null && currentNetworkInfo.isRoaming(); } catch (Exception e) { FileLog.e(e); @@ -308,8 +314,8 @@ public class ApplicationLoader extends Application { public static boolean isConnectedOrConnectingToWiFi() { try { - ensureCurrentNetworkGet(); - if (currentNetworkInfo != null && currentNetworkInfo.getType() == ) { + ensureCurrentNetworkGet(false); + if (currentNetworkInfo != null && currentNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) { NetworkInfo.State state = currentNetworkInfo.getState(); if (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING || state == NetworkInfo.State.SUSPENDED) { return true; @@ -323,7 +329,7 @@ public class ApplicationLoader extends Application { public static boolean isConnectedToWiFi() { try { - ensureCurrentNetworkGet(); + ensureCurrentNetworkGet(false); if (currentNetworkInfo != null && currentNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI && currentNetworkInfo.getState() == NetworkInfo.State.CONNECTED) { return true; } @@ -335,7 +341,7 @@ public class ApplicationLoader extends Application { public static boolean isConnectionSlow() { try { - ensureCurrentNetworkGet(); + ensureCurrentNetworkGet(false); if (currentNetworkInfo != null && currentNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { switch (currentNetworkInfo.getSubtype()) { case TelephonyManager.NETWORK_TYPE_1xRTT: @@ -352,60 +358,6 @@ public class ApplicationLoader extends Application { return false; } - public static boolean isNetworkOnline() { - try { - ensureCurrentNetworkGet(); - if (!unableGetCurrentNetwork && currentNetworkInfo == null) { - return false; - } - if (currentNetworkInfo.isConnectedOrConnecting() || currentNetworkInfo.isAvailable()) { - return true; - } - - NetworkInfo netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); - if (netInfo != null && netInfo.isConnectedOrConnecting()) { - return true; - } else { - netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); - if (netInfo != null && netInfo.isConnectedOrConnecting()) { - return true; - } - } - } catch (Exception e) { - FileLog.e(e); - return true; - } - return false; - } - */ - - public static boolean isRoaming() { - try { - ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); - if (netInfo != null) { - return netInfo.isRoaming(); - } - } catch (Exception e) { - FileLog.e(e); - } - return false; - } - - public static boolean isConnectedOrConnectingToWiFi() { - try { - ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); - NetworkInfo.State state = netInfo.getState(); - if (netInfo != null && (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING || state == NetworkInfo.State.SUSPENDED)) { - return true; - } - } catch (Exception e) { - FileLog.e(e); - } - return false; - } - public static int getAutodownloadNetworkType() { try { ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); @@ -429,19 +381,6 @@ public class ApplicationLoader extends Application { return StatsController.TYPE_MOBILE; } - public static boolean isConnectedToWiFi() { - try { - ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); - if (netInfo != null && netInfo.getState() == NetworkInfo.State.CONNECTED) { - return true; - } - } catch (Exception e) { - FileLog.e(e); - } - return false; - } - public static int getCurrentNetworkType() { if (isConnectedOrConnectingToWiFi()) { return StatsController.TYPE_WIFI; @@ -452,27 +391,33 @@ public class ApplicationLoader extends Application { } } - public static boolean isConnectionSlow() { + public static boolean isNetworkOnlineFast() { try { - ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); - if (netInfo.getType() == ConnectivityManager.TYPE_MOBILE) { - switch (netInfo.getSubtype()) { - case TelephonyManager.NETWORK_TYPE_1xRTT: - case TelephonyManager.NETWORK_TYPE_CDMA: - case TelephonyManager.NETWORK_TYPE_EDGE: - case TelephonyManager.NETWORK_TYPE_GPRS: - case TelephonyManager.NETWORK_TYPE_IDEN: - return true; + ensureCurrentNetworkGet(false); + if (currentNetworkInfo == null) { + return true; + } + if (currentNetworkInfo.isConnectedOrConnecting() || currentNetworkInfo.isAvailable()) { + return true; + } + + NetworkInfo netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); + if (netInfo != null && netInfo.isConnectedOrConnecting()) { + return true; + } else { + netInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); + if (netInfo != null && netInfo.isConnectedOrConnecting()) { + return true; } } - } catch (Throwable ignore) { - + } catch (Exception e) { + FileLog.e(e); + return true; } return false; } - public static boolean isNetworkOnline() { + public static boolean isNetworkOnlineRealtime() { try { ConnectivityManager connectivityManager = (ConnectivityManager) ApplicationLoader.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo(); @@ -496,4 +441,15 @@ public class ApplicationLoader extends Application { } return false; } + + public static boolean isNetworkOnline() { + boolean result = isNetworkOnlineRealtime(); + if (BuildVars.DEBUG_PRIVATE_VERSION) { + boolean result2 = isNetworkOnlineFast(); + if (result != result2) { + FileLog.d("network online mismatch"); + } + } + return result; + } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java index e103b2800..329a02cb2 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java @@ -19,8 +19,8 @@ public class BuildVars { public static boolean USE_CLOUD_STRINGS = true; public static boolean CHECK_UPDATES = true; public static boolean TON_WALLET_STANDALONE = false; - public static int BUILD_VERSION = 1947; - public static String BUILD_VERSION_STRING = "6.1.0"; + public static int BUILD_VERSION = 1984; + public static String BUILD_VERSION_STRING = "6.2.0"; public static int APP_ID = 4; public static String APP_HASH = "014b35b6184100b085b0d0572f9b5103"; public static String APPCENTER_HASH = "a5b5c4f5-51da-dedc-9918-d9766a22ca7c"; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueue.java b/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueue.java index 7307527b8..f2d386256 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueue.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueue.java @@ -11,6 +11,7 @@ package org.telegram.messenger; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.os.SystemClock; import java.util.concurrent.CountDownLatch; @@ -18,10 +19,17 @@ public class DispatchQueue extends Thread { private volatile Handler handler = null; private CountDownLatch syncLatch = new CountDownLatch(1); + private long lastTaskTime; public DispatchQueue(final String threadName) { + this(threadName, true); + } + + public DispatchQueue(final String threadName, boolean start) { setName(threadName); - start(); + if (start) { + start(); + } } public void sendMessage(Message msg, int delay) { @@ -59,6 +67,7 @@ public class DispatchQueue extends Thread { public void postRunnable(Runnable runnable) { postRunnable(runnable, 0); + lastTaskTime = SystemClock.elapsedRealtime(); } public void postRunnable(Runnable runnable, long delay) { @@ -87,6 +96,10 @@ public class DispatchQueue extends Thread { } + public long getLastTaskTime() { + return lastTaskTime; + } + public void recycle() { handler.getLooper().quit(); } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueuePool.java b/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueuePool.java new file mode 100644 index 000000000..afee8d9a7 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/messenger/DispatchQueuePool.java @@ -0,0 +1,89 @@ +package org.telegram.messenger; + +import android.os.SystemClock; + +import java.util.HashMap; +import java.util.LinkedList; + +import androidx.annotation.UiThread; + +public class DispatchQueuePool { + + private LinkedList queues = new LinkedList<>(); + private HashMap busyQueuesMap = new HashMap<>(); + private LinkedList busyQueues = new LinkedList<>(); + private int maxCount; + private int createdCount; + private int guid; + private int totalTasksCount; + private boolean cleanupScheduled; + + private Runnable cleanupRunnable = new Runnable() { + @Override + public void run() { + if (!queues.isEmpty()) { + long currentTime = SystemClock.elapsedRealtime(); + for (int a = 0, N = queues.size(); a < N; a++) { + DispatchQueue queue = queues.get(a); + if (queue.getLastTaskTime() < currentTime - 30000) { + queue.recycle(); + queues.remove(a); + createdCount--; + a--; + N--; + } + } + } + if (!queues.isEmpty() || !busyQueues.isEmpty()) { + AndroidUtilities.runOnUIThread(this, 30000); + cleanupScheduled = true; + } else { + cleanupScheduled = false; + } + } + }; + + public DispatchQueuePool(int count) { + maxCount = count; + guid = Utilities.random.nextInt(); + } + + @UiThread + public void execute(Runnable runnable) { + DispatchQueue queue; + if (!busyQueues.isEmpty() && (totalTasksCount / 2 <= busyQueues.size() || queues.isEmpty() && createdCount >= maxCount)) { + queue = busyQueues.remove(0); + } else if (queues.isEmpty()) { + queue = new DispatchQueue("DispatchQueuePool" + guid + "_" + Utilities.random.nextInt()); + queue.setPriority(Thread.MAX_PRIORITY); + createdCount++; + } else { + queue = queues.remove(0); + } + if (!cleanupScheduled) { + AndroidUtilities.runOnUIThread(cleanupRunnable, 30000); + cleanupScheduled = true; + } + totalTasksCount++; + busyQueues.add(queue); + Integer count = busyQueuesMap.get(queue); + if (count == null) { + count = 0; + } + busyQueuesMap.put(queue, count + 1); + queue.postRunnable(() -> { + runnable.run(); + AndroidUtilities.runOnUIThread(() -> { + totalTasksCount--; + int remainingTasksCount = busyQueuesMap.get(queue) - 1; + if (remainingTasksCount == 0) { + busyQueuesMap.remove(queue); + busyQueues.remove(queue); + queues.add(queue); + } else { + busyQueuesMap.put(queue, remainingTasksCount); + } + }); + }); + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/Emoji.java b/TMessagesProj/src/main/java/org/telegram/messenger/Emoji.java index c66ad9dba..5db5d5faf 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/Emoji.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/Emoji.java @@ -40,7 +40,7 @@ public class Emoji { private static int bigImgSize; private static boolean inited = false; private static Paint placeholderPaint; - private static int[] emojiCounts = new int[]{1620, 184, 115, 328, 125, 206, 288, 258}; + private static int[] emojiCounts = new int[]{1620, 184, 115, 328, 125, 207, 288, 258}; private static Bitmap[][] emojiBmp = new Bitmap[8][]; private static boolean[][] loadingEmoji = new boolean[8][]; @@ -70,7 +70,27 @@ public class Emoji { placeholderPaint.setColor(0x00000000); } + public static void preloadEmoji(CharSequence code) { + final DrawableInfo info = getDrawableInfo(code); + if (info != null) { + loadEmoji(info.page, info.page2); + } + } + private static void loadEmoji(final byte page, final short page2) { + if (emojiBmp[page][page2] == null) { + if (loadingEmoji[page][page2]) { + return; + } + loadingEmoji[page][page2] = true; + Utilities.globalQueue.postRunnable(() -> { + loadEmojiInternal(page, page2); + loadingEmoji[page][page2] = false; + }); + } + } + + private static void loadEmojiInternal(final byte page, final short page2) { try { float scale; int imageResize = 1; @@ -165,13 +185,7 @@ public class Emoji { } public static EmojiDrawable getEmojiDrawable(CharSequence code) { - DrawableInfo info = rects.get(code); - if (info == null) { - CharSequence newCode = EmojiData.emojiAliasMap.get(code); - if (newCode != null) { - info = Emoji.rects.get(newCode); - } - } + DrawableInfo info = getDrawableInfo(code); if (info == null) { if (BuildVars.LOGS_ENABLED) { FileLog.d("No drawable for emoji " + code); @@ -183,6 +197,17 @@ public class Emoji { return ed; } + private static DrawableInfo getDrawableInfo(CharSequence code) { + DrawableInfo info = rects.get(code); + if (info == null) { + CharSequence newCode = EmojiData.emojiAliasMap.get(code); + if (newCode != null) { + info = Emoji.rects.get(newCode); + } + } + return info; + } + public static boolean isValidEmoji(CharSequence code) { DrawableInfo info = rects.get(code); if (info == null) { @@ -242,14 +267,7 @@ public class Emoji { return; }*/ if (emojiBmp[info.page][info.page2] == null) { - if (loadingEmoji[info.page][info.page2]) { - return; - } - loadingEmoji[info.page][info.page2] = true; - Utilities.globalQueue.postRunnable(() -> { - loadEmoji(info.page, info.page2); - loadingEmoji[info.page][info.page2] = false; - }); + loadEmoji(info.page, info.page2); canvas.drawRect(getBounds(), placeholderPaint); return; } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/EmojiData.java b/TMessagesProj/src/main/java/org/telegram/messenger/EmojiData.java index e0a6ef5f8..5f1bc31a5 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/EmojiData.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/EmojiData.java @@ -70,7 +70,7 @@ public class EmojiData { "👨‍🍳", "👩‍🎓", "🧑‍🎓", "👨‍🎓", "👩‍🎤", "🧑‍🎤", "👨‍🎤", "👩‍🏫", "🧑‍🏫", "👨‍🏫", "👩‍🏭", "🧑‍🏭", "👨‍🏭", "👩‍💻", "🧑‍💻", "👨‍💻", "👩‍💼", "🧑‍💼", "👨‍💼", "👩‍🔧", "🧑‍🔧", "👨‍🔧", "👩‍🔬", "🧑‍🔬", "👨‍🔬", "👩‍🎨", "🧑‍🎨", "👨‍🎨", "👩‍🚒", "🧑‍🚒", "👨‍🚒", "👩‍✈", "🧑‍✈", "👨‍✈", "👩‍🚀", "🧑‍🚀", "👨‍🚀", "👩‍⚖", "🧑‍⚖", "👨‍⚖", "👰", "🤵", "👸", "🤴", "🦸‍♀", "🦸", "🦸‍♂", "🦹‍♀", - "🦹", "🦹‍♂", "🤶", "🎅", "🧙‍♀", "🧙", "🧙‍♂", "🧝‍♀", "🧝", "🧝‍♂", "🧛‍♀", "🧛", "🧛‍♂", "🧟‍♀", "🧜‍♀", "🧜", + "🦹", "🦹‍♂", "🤶", "🎅", "🧙‍♀", "🧙", "🧙‍♂", "🧝‍♀", "🧝", "🧝‍♂", "🧛‍♀", "🧛", "🧛‍♂", "🧜‍♀", "🧜", "🧜‍♂", "🧚‍♀", "🧚", "🧚‍♂", "👼", "🤰", "🤱", "🙇‍♀", "🙇", "🙇‍♂", "💁‍♀", "💁", "💁‍♂", "🙅‍♀", "🙅", "🙅‍♂", "🙆‍♀", "🙆", "🙆‍♂", "🙋‍♀", "🙋", "🙋‍♂", "🧏‍♀", "🧏", "🧏‍♂", "🤦‍♀", "🤦", "🤦‍♂", "🤷‍♀", "🤷", "🤷‍♂", "🙎‍♀", "🙎", "🙎‍♂", "🙍‍♀", "🙍", "🙍‍♂", "💇‍♀", "💇", "💇‍♂", "💆‍♀", "💆", "💆‍♂", "🧖‍♀", "🧖", "🧖‍♂", "💅", "🤳", @@ -377,7 +377,7 @@ public class EmojiData { new String[]{ "⌚", "📱", "📲", "💻", "⌨", "🖥", "🖨", "🖱", "🖲", "🕹", "🗜", "💽", "💾", "💿", "📀", "📼", "📷", "📸", "📹", "🎥", "📽", "🎞", "📞", "☎", "📟", "📠", "📺", "📻", "🎙", "🎚", "🎛", "🧭", "⏱", "⏲", "⏰", "🕰", "⌛", "⏳", "📡", "🔋", "🔌", "💡", "🔦", "🕯", "🪔", "🧯", "🛢", "💸", "💵", "💴", "💶", "💷", "💰", "💳", "💎", "⚖", "🧰", "🔧", "🔨", "⚒", "🛠", "⛏", "🔩", "⚙", "🧱", "⛓", "🧲", "🔫", "💣", "🧨", "🪓", "🔪", "🗡", "⚔", "🛡", "🚬", "⚰", "⚱", "🏺", "🔮", "📿", "🧿", "💈", "⚗", "🔭", "🔬", "🕳", "🩹", "🩺", "💊", "💉", "🩸", "🧬", "🦠", "🧫", "🧪", "🌡", "🧹", "🧺", "🧻", "🚽", "🚰", "🚿", "🛁", "🛀", - "🧼", "🪒", "🧽", "🧴", "🛎", "🔑", "🗝", "🚪", "🪑", "🛋", "🛏", "🛌", "🧸", "🖼", "🛍", "🛒", "🎁", "🎈", "🎏", "🎀", "🎊", "🎉", "🎎", "🏮", "🎐", "🧧", "✉", "📩", "📨", "📧", "💌", "📥", "📤", "📦", "🏷", "📪", "📫", "📬", "📭", "📮", "📯📜", "📃", "📄", "📑", "🧾", "📊", "📈", "📉", "🗒", "🗓", "📆", "📅", "🗑", "📇", "🗃", "🗳", "🗄", "📋", "📁", "📂", "🗂", "🗞", "📰", "📓", "📔", "📒", "📕", "📗", "📘", "📙", "📚", "📖", "🔖", "🧷", "🔗", "📎", "🖇", "📐", "📏", "🧮", "📌", "📍", "✂", "🖊", "🖋", "✒", "🖌", "🖍", "📝", "✏", "🔍", "🔎", "🔏", "🔐", "🔒", "🔓" + "🧼", "🪒", "🧽", "🧴", "🛎", "🔑", "🗝", "🚪", "🪑", "🛋", "🛏", "🛌", "🧸", "🖼", "🛍", "🛒", "🎁", "🎈", "🎏", "🎀", "🎊", "🎉", "🎎", "🏮", "🎐", "🧧", "✉", "📩", "📨", "📧", "💌", "📥", "📤", "📦", "🏷", "📪", "📫", "📬", "📭", "📮", "📯", "📜", "📃", "📄", "📑", "🧾", "📊", "📈", "📉", "🗒", "🗓", "📆", "📅", "🗑", "📇", "🗃", "🗳", "🗄", "📋", "📁", "📂", "🗂", "🗞", "📰", "📓", "📔", "📒", "📕", "📗", "📘", "📙", "📚", "📖", "🔖", "🧷", "🔗", "📎", "🖇", "📐", "📏", "🧮", "📌", "📍", "✂", "🖊", "🖋", "✒", "🖌", "🖍", "📝", "✏", "🔍", "🔎", "🔏", "🔐", "🔒", "🔓" }, null, null @@ -779,7 +779,7 @@ public class EmojiData { new String[]{ "⌚", "📱", "📲", "💻", "⌨", "🖥", "🖨", "🖱", "🖲", "🕹", "🗜", "💽", "💾", "💿", "📀", "📼", "📷", "📸", "📹", "🎥", "📽", "🎞", "📞", "☎", "📟", "📠", "📺", "📻", "🎙", "🎚", "🎛", "🧭", "⏱", "⏲", "⏰", "🕰", "⌛", "⏳", "📡", "🔋", "🔌", "💡", "🔦", "🕯", "🪔", "🧯", "🛢", "💸", "💵", "💴", "💶", "💷", "💰", "💳", "💎", "⚖", "🧰", "🔧", "🔨", "⚒", "🛠", "⛏", "🔩", "⚙", "🧱", "⛓", "🧲", "🔫", "💣", "🧨", "🪓", "🔪", "🗡", "⚔", "🛡", "🚬", "⚰", "⚱", "🏺", "🔮", "📿", "🧿", "💈", "⚗", "🔭", "🔬", "🕳", "🩹", "🩺", "💊", "💉", "🩸", "🧬", "🦠", "🧫", "🧪", "🌡", "🧹", "🧺", "🧻", "🚽", "🚰", "🚿", "🛁", "🛀", "🛀🏻", "🛀🏼", "🛀🏽", "🛀🏾", "🛀🏿", - "🧼", "🪒", "🧽", "🧴", "🛎", "🔑", "🗝", "🚪", "🪑", "🛋", "🛏", "🛌", "🧸", "🖼", "🛍", "🛒", "🎁", "🎈", "🎏", "🎀", "🎊", "🎉", "🎎", "🏮", "🎐", "🧧", "✉", "📩", "📨", "📧", "💌", "📥", "📤", "📦", "🏷", "📪", "📫", "📬", "📭", "📮", "📯📜", "📃", "📄", "📑", "🧾", "📊", "📈", "📉", "🗒", "🗓", "📆", "📅", "🗑", "📇", "🗃", "🗳", "🗄", "📋", "📁", "📂", "🗂", "🗞", "📰", "📓", "📔", "📒", "📕", "📗", "📘", "📙", "📚", "📖", "🔖", "🧷", "🔗", "📎", "🖇", "📐", "📏", "🧮", "📌", "📍", "✂", "🖊", "🖋", "✒", "🖌", "🖍", "📝", "✏", "🔍", "🔎", "🔏", "🔐", "🔒", "🔓" + "🧼", "🪒", "🧽", "🧴", "🛎", "🔑", "🗝", "🚪", "🪑", "🛋", "🛏", "🛌", "🧸", "🖼", "🛍", "🛒", "🎁", "🎈", "🎏", "🎀", "🎊", "🎉", "🎎", "🏮", "🎐", "🧧", "✉", "📩", "📨", "📧", "💌", "📥", "📤", "📦", "🏷", "📪", "📫", "📬", "📭", "📮", "📯", "📜", "📃", "📄", "📑", "🧾", "📊", "📈", "📉", "🗒", "🗓", "📆", "📅", "🗑", "📇", "🗃", "🗳", "🗄", "📋", "📁", "📂", "🗂", "🗞", "📰", "📓", "📔", "📒", "📕", "📗", "📘", "📙", "📚", "📖", "🔖", "🧷", "🔗", "📎", "🖇", "📐", "📏", "🧮", "📌", "📍", "✂", "🖊", "🖋", "✒", "🖌", "🖍", "📝", "✏", "🔍", "🔎", "🔏", "🔐", "🔒", "🔓" }, new String[]{ "❤", "🧡", "💛", "💚", "💙", "💜", "🖤", "🤍", "🤎", "💔", "❣", "💕", "💞", "💓", "💗", "💖", "💘", "💝", "💟", "☮", "✝", "☪", "🕉", "☸", "✡", "🔯", "🕎", "☯", "☦", "🛐", "⛎", "♈", "♉", "♊", "♋", "♌", "♍", "♎", "♏", "♐", "♑", "♒", "♓", "🆔", "⚛", "🉑", "☢", "☣", "📴", "📳", "🈶", "🈚", "🈸", "🈺", "🈷", "✴", "🆚", "💮", "🉐", "㊙", "㊗", "🈴", "🈵", "🈹", "🈲", "🅰", "🅱", "🆎", "🆑", "🅾", "🆘", "❌", "⭕", "🛑", "⛔", "📛", "🚫", "💯", "💢", "♨", "🚷", "🚯", "🚳", "🚱", "🔞", "📵", "🚭", "❗", "❕", "❓", "❔", "‼", "⁉", "🔅", "🔆", "〽", "⚠", "🚸", "🔱", "⚜", "🔰", "♻", "✅", "🈯", "💹", "❇", "✳", "❎", "🌐", "💠", "Ⓜ", "🌀", "💤", "🏧", "🚾", "♿", "🅿", "🈳", "🈂", "🛂", "🛃", "🛄", "🛅", "🚹", "🚺", "🚼", "🚻", "🚮", "🎦", "📶", "🈁", "🔣", "ℹ", "🔤", "🔡", "🔠", "🆖", "🆗", "🆙", "🆒", "🆕", "🆓", "0⃣", "1⃣", "2⃣", "3⃣", "4⃣", "5⃣", "6⃣", "7⃣", "8⃣", "9⃣", "🔟", "🔢", "#⃣", "*⃣", "⏏", "▶", "⏸", "⏯", "⏹", "⏺", "⏭", "⏮", "⏩", "⏪", "⏫", "⏬", "◀", "🔼", "🔽", "➡", "⬅", "⬆", "⬇", "↗", "↘", "↙", "↖", "↕", "↔", "↪", "↩", "⤴", "⤵", "🔀", "🔁", "🔂", "🔄", "🔃", "🎵", "🎶", "➕", "➖", "➗", "✖", "♾", "💲", "💱", "™", "©", "®", "👁‍🗨", "🔚", "🔙", "🔛", "🔝", "🔜", "〰", "➰", "➿", "✔", "☑", "🔘", "🔴", "🟠", "🟡", "🟢", "🔵", "🟣", "⚫", "⚪", "🟤", "🔺", "🔻", "🔸", "🔹", "🔶", "🔷", "🔳", "🔲", "▪", "▫", "◾", "◽", "◼", "◻", "🟥", "🟧", "🟨", "🟩", "🟦", "🟪", "⬛", "⬜", "🟫", "🔈", "🔇", "🔉", "🔊", "🔔", "🔕", "📣", "📢", "💬", "💭", "🗯", "♠", "♣", "♥", "♦", "🃏", "🎴", "🀄", "🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚", "🕛", "🕜", "🕝", "🕞", "🕟", "🕠", "🕡", "🕢", "🕣", "🕤", "🕥", "🕦", "🕧" diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoadOperation.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoadOperation.java index 78ff13a47..36dd55a7a 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoadOperation.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoadOperation.java @@ -470,6 +470,10 @@ public class FileLoadOperation { } } + protected File getCacheFileFinal() { + return cacheFileFinal; + } + protected File getCurrentFile() { final CountDownLatch countDownLatch = new CountDownLatch(1); final File[] result = new File[1]; @@ -529,11 +533,14 @@ public class FileLoadOperation { return progress + getDownloadedLengthFromOffsetInternal(ranges, (int) (totalBytesCount * progress), totalBytesCount) / (float) totalBytesCount; } - protected int getDownloadedLengthFromOffset(final int offset, final int length) { + protected int[] getDownloadedLengthFromOffset(final int offset, final int length) { final CountDownLatch countDownLatch = new CountDownLatch(1); - final int[] result = new int[1]; + final int[] result = new int[2]; Utilities.stageQueue.postRunnable(() -> { result[0] = getDownloadedLengthFromOffsetInternal(notLoadedBytesRanges, offset, length); + if (state == stateFinished) { + result[1] = 1; + } countDownLatch.countDown(); }); try { @@ -541,7 +548,7 @@ public class FileLoadOperation { } catch (Exception ignore) { } - return result[0]; + return result; } public String getFileName() { @@ -917,8 +924,8 @@ public class FileLoadOperation { } if (!isPreloadVideoOperation && downloadedBytes != 0 && totalBytesCount > 0) { copyNotLoadedRanges(); - delegate.didChangedLoadProgress(FileLoadOperation.this, downloadedBytes, totalBytesCount); } + updateProgress(); try { fileOutputStream = new RandomAccessFile(cacheFileTemp, "rws"); if (downloadedBytes != 0) { @@ -954,6 +961,12 @@ public class FileLoadOperation { return true; } + public void updateProgress() { + if (delegate != null && downloadedBytes != totalBytesCount && totalBytesCount > 0) { + delegate.didChangedLoadProgress(FileLoadOperation.this, downloadedBytes, totalBytesCount); + } + } + public boolean isPaused() { return paused; } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java index 8843d3ee0..2f4c1862e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java @@ -19,7 +19,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; @@ -592,6 +591,7 @@ public class FileLoader extends BaseController { } } } + operation.updateProgress(); return operation; } @@ -1029,13 +1029,13 @@ public class FileLoader extends BaseController { continue; } if (byMinSide) { - int currentSide = obj.h >= obj.w ? obj.w : obj.h; + int currentSide = Math.min(obj.h, obj.w); if (closestObject == null || side > 100 && closestObject.location != null && closestObject.location.dc_id == Integer.MIN_VALUE || obj instanceof TLRPC.TL_photoCachedSize || side > lastSide && lastSide < currentSide) { closestObject = obj; lastSide = currentSide; } } else { - int currentSide = obj.w >= obj.h ? obj.w : obj.h; + int currentSide = Math.max(obj.w, obj.h); if (closestObject == null || side > 100 && closestObject.location != null && closestObject.location.dc_id == Integer.MIN_VALUE || obj instanceof TLRPC.TL_photoCachedSize || currentSide <= side && lastSide < currentSide) { closestObject = obj; lastSide = currentSide; @@ -1247,45 +1247,4 @@ public class FileLoader extends BaseController { out.close(); return true; } - - public static long getTempFileSize(TLRPC.Document documentLocation, boolean encrypt) { - long location_id = documentLocation.id; - long datacenterId = documentLocation.dc_id; - - if (datacenterId == 0 || location_id == 0) { - return 0; - } - - String fileName = datacenterId + "_" + location_id + (encrypt ? ".temp.enc" : ".temp"); - String fileNameParts = datacenterId + "_" + location_id + ".pt"; - File f = new File(getDirectory(MEDIA_DIR_CACHE), fileName); - - long size = 0; - if (f.exists()) { - size = f.length(); - } - - if (size != 0) { - File cacheFileParts = new File(getDirectory(MEDIA_DIR_CACHE), fileNameParts); - try { - RandomAccessFile filePartsStream = new RandomAccessFile(cacheFileParts, "r"); - long len = filePartsStream.length(); - if (len % 8 == 4) { - len -= 4; - int count = filePartsStream.readInt(); - if (count <= len / 2) { - size = documentLocation.size; - for (int a = 0; a < count; a++) { - int start = filePartsStream.readInt(); - int end = filePartsStream.readInt(); - size -= end - start; - } - } - } - } catch (Exception e) { - FileLog.e(e); - } - } - return size; - } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileRefController.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileRefController.java index 68140bff9..ff27f212e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileRefController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileRefController.java @@ -25,6 +25,17 @@ public class FileRefController extends BaseController { private long firstQueryTime; } + private static class Waiter { + + private String locationKey; + private String parentKey; + + public Waiter(String loc, String parent) { + locationKey = loc; + parentKey = parent; + } + } + private HashMap> locationRequester = new HashMap<>(); private HashMap> parentRequester = new HashMap<>(); private HashMap responseCache = new HashMap<>(); @@ -32,6 +43,11 @@ public class FileRefController extends BaseController { private long lastCleanupTime = SystemClock.elapsedRealtime(); + private ArrayList wallpaperWaiters = new ArrayList<>(); + private ArrayList savedGifsWaiters = new ArrayList<>(); + private ArrayList recentStickersWaiter = new ArrayList<>(); + private ArrayList favStickersWaiter = new ArrayList<>(); + private static volatile FileRefController[] Instance = new FileRefController[UserConfig.MAX_ACCOUNT_COUNT]; public static FileRefController getInstance(int num) { @@ -263,6 +279,14 @@ public class FileRefController extends BaseController { requestReferenceFromServer(parentObject, locationKey, parentKey, args); } + private void broadcastWaitersData(ArrayList waiters, TLObject response) { + for (int a = 0, N = waiters.size(); a < N; a++) { + Waiter waiter = waiters.get(a); + onRequestComplete(waiter.locationKey, waiter.parentKey, response, a == N - 1); + } + waiters.clear(); + } + private void requestReferenceFromServer(Object parentObject, String locationKey, String parentKey, Object[] args) { if (parentObject instanceof MessageObject) { MessageObject messageObject = (MessageObject) parentObject; @@ -324,17 +348,29 @@ public class FileRefController extends BaseController { } else if (parentObject instanceof String) { String string = (String) parentObject; if ("wallpaper".equals(string)) { - TLRPC.TL_account_getWallPapers req = new TLRPC.TL_account_getWallPapers(); - getConnectionsManager().sendRequest(req, (response, error) -> onRequestComplete(locationKey, parentKey, response, true)); + if (wallpaperWaiters.isEmpty()) { + TLRPC.TL_account_getWallPapers req = new TLRPC.TL_account_getWallPapers(); + getConnectionsManager().sendRequest(req, (response, error) -> broadcastWaitersData(wallpaperWaiters, response)); + } + wallpaperWaiters.add(new Waiter(locationKey, parentKey)); } else if (string.startsWith("gif")) { - TLRPC.TL_messages_getSavedGifs req = new TLRPC.TL_messages_getSavedGifs(); - getConnectionsManager().sendRequest(req, (response, error) -> onRequestComplete(locationKey, parentKey, response, true)); + if (savedGifsWaiters.isEmpty()) { + TLRPC.TL_messages_getSavedGifs req = new TLRPC.TL_messages_getSavedGifs(); + getConnectionsManager().sendRequest(req, (response, error) -> broadcastWaitersData(savedGifsWaiters, response)); + } + savedGifsWaiters.add(new Waiter(locationKey, parentKey)); } else if ("recent".equals(string)) { - TLRPC.TL_messages_getRecentStickers req = new TLRPC.TL_messages_getRecentStickers(); - getConnectionsManager().sendRequest(req, (response, error) -> onRequestComplete(locationKey, parentKey, response, true)); + if (recentStickersWaiter.isEmpty()) { + TLRPC.TL_messages_getRecentStickers req = new TLRPC.TL_messages_getRecentStickers(); + getConnectionsManager().sendRequest(req, (response, error) -> broadcastWaitersData(recentStickersWaiter, response)); + } + recentStickersWaiter.add(new Waiter(locationKey, parentKey)); } else if ("fav".equals(string)) { - TLRPC.TL_messages_getFavedStickers req = new TLRPC.TL_messages_getFavedStickers(); - getConnectionsManager().sendRequest(req, (response, error) -> onRequestComplete(locationKey, parentKey, response, true)); + if (favStickersWaiter.isEmpty()) { + TLRPC.TL_messages_getFavedStickers req = new TLRPC.TL_messages_getFavedStickers(); + getConnectionsManager().sendRequest(req, (response, error) -> broadcastWaitersData(favStickersWaiter, response)); + } + favStickersWaiter.add(new Waiter(locationKey, parentKey)); } else if (string.startsWith("avatar_")) { int id = Utilities.parseInt(string); if (id > 0) { @@ -608,13 +644,13 @@ public class FileRefController extends BaseController { } } } - getMessagesStorage().replaceMessageIfExists(message, currentAccount, res.users, res.chats, false); + getMessagesStorage().replaceMessageIfExists(message, res.users, res.chats, false); } break; } } if (result == null) { - getMessagesStorage().replaceMessageIfExists(res.messages.get(0), currentAccount, res.users, res.chats,true); + getMessagesStorage().replaceMessageIfExists(res.messages.get(0), res.users, res.chats,true); if (BuildVars.DEBUG_VERSION) { FileLog.d("file ref not found in messages, replacing message"); } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileStreamLoadOperation.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileStreamLoadOperation.java index 2a3413787..67ee8a0b5 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileStreamLoadOperation.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileStreamLoadOperation.java @@ -96,7 +96,7 @@ public class FileStreamLoadOperation extends BaseDataSource implements FileLoadO readLength = (int) bytesRemaining; } while (availableLength == 0 && opened) { - availableLength = loadOperation.getDownloadedLengthFromOffset(currentOffset, readLength); + availableLength = loadOperation.getDownloadedLengthFromOffset(currentOffset, readLength)[0]; if (availableLength == 0) { FileLoader.getInstance(currentAccount).loadStreamFile(this, document, parentObject, currentOffset, false); countDownLatch = new CountDownLatch(1); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java index 2a4add730..5e18f969b 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java @@ -25,7 +25,7 @@ import java.util.ArrayList; public class FileUploadOperation { - private class UploadCachedResult { + private static class UploadCachedResult { private long bytesOffset; private byte[] iv; } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FourierTransform.java b/TMessagesProj/src/main/java/org/telegram/messenger/FourierTransform.java new file mode 100644 index 000000000..1f9ee87bb --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FourierTransform.java @@ -0,0 +1,565 @@ +package org.telegram.messenger; + +public abstract class FourierTransform { + protected static final int LINAVG = 1; + protected static final int LOGAVG = 2; + protected static final int NOAVG = 3; + + protected static final float TWO_PI = (float) (2 * Math.PI); + protected int timeSize; + protected int sampleRate; + protected float bandWidth; + protected float[] real; + protected float[] imag; + protected float[] spectrum; + protected float[] averages; + protected int whichAverage; + protected int octaves; + protected int avgPerOctave; + + /** + * Construct a FourierTransform that will analyze sample buffers that are + * ts samples long and contain samples with a sr + * sample rate. + * + * @param ts the length of the buffers that will be analyzed + * @param sr the sample rate of the samples that will be analyzed + */ + FourierTransform(int ts, float sr) { + timeSize = ts; + sampleRate = (int) sr; + bandWidth = (2f / timeSize) * ((float) sampleRate / 2f); + noAverages(); + allocateArrays(); + } + + // allocating real, imag, and spectrum are the responsibility of derived + // classes + // because the size of the arrays will depend on the implementation being used + // this enforces that responsibility + protected abstract void allocateArrays(); + + protected void setComplex(float[] r, float[] i) { + if (real.length != r.length && imag.length != i.length) { + } else { + System.arraycopy(r, 0, real, 0, r.length); + System.arraycopy(i, 0, imag, 0, i.length); + } + } + + // fill the spectrum array with the amps of the data in real and imag + // used so that this class can handle creating the average array + // and also do spectrum shaping if necessary + protected void fillSpectrum() { + for (int i = 0; i < spectrum.length; i++) { + spectrum[i] = (float) Math.sqrt(real[i] * real[i] + imag[i] * imag[i]); + } + + if (whichAverage == LINAVG) { + int avgWidth = (int) spectrum.length / averages.length; + for (int i = 0; i < averages.length; i++) { + float avg = 0; + int j; + for (j = 0; j < avgWidth; j++) { + int offset = j + i * avgWidth; + if (offset < spectrum.length) { + avg += spectrum[offset]; + } else { + break; + } + } + avg /= j + 1; + averages[i] = avg; + } + } else if (whichAverage == LOGAVG) { + for (int i = 0; i < octaves; i++) { + float lowFreq, hiFreq, freqStep; + if (i == 0) { + lowFreq = 0; + } else { + lowFreq = (sampleRate / 2) / (float) Math.pow(2, octaves - i); + } + hiFreq = (sampleRate / 2) / (float) Math.pow(2, octaves - i - 1); + freqStep = (hiFreq - lowFreq) / avgPerOctave; + float f = lowFreq; + for (int j = 0; j < avgPerOctave; j++) { + int offset = j + i * avgPerOctave; + averages[offset] = calcAvg(f, f + freqStep); + f += freqStep; + } + } + } + } + + /** + * Sets the object to not compute averages. + */ + public void noAverages() { + averages = new float[0]; + whichAverage = NOAVG; + } + + /** + * Sets the number of averages used when computing the spectrum and spaces the + * averages in a linear manner. In other words, each average band will be + * specSize() / numAvg bands wide. + * + * @param numAvg how many averages to compute + */ + public void linAverages(int numAvg) { + if (numAvg > spectrum.length / 2) { + return; + } else { + averages = new float[numAvg]; + } + whichAverage = LINAVG; + } + + /** + * Sets the number of averages used when computing the spectrum based on the + * minimum bandwidth for an octave and the number of bands per octave. For + * example, with audio that has a sample rate of 44100 Hz, + * logAverages(11, 1) will result in 12 averages, each + * corresponding to an octave, the first spanning 0 to 11 Hz. To ensure that + * each octave band is a full octave, the number of octaves is computed by + * dividing the Nyquist frequency by two, and then the result of that by two, + * and so on. This means that the actual bandwidth of the lowest octave may + * not be exactly the value specified. + * + * @param minBandwidth the minimum bandwidth used for an octave + * @param bandsPerOctave how many bands to split each octave into + */ + public void logAverages(int minBandwidth, int bandsPerOctave) { + float nyq = (float) sampleRate / 2f; + octaves = 1; + while ((nyq /= 2) > minBandwidth) { + octaves++; + } + avgPerOctave = bandsPerOctave; + averages = new float[octaves * bandsPerOctave]; + whichAverage = LOGAVG; + } + + /** + * Sets the window to use on the samples before taking the forward transform. + * If an invalid window is asked for, an error will be reported and the + * current window will not be changed. + * + * @param windowFunction + */ + + + /** + * Returns the length of the time domain signal expected by this transform. + * + * @return the length of the time domain signal expected by this transform + */ + public int timeSize() { + return timeSize; + } + + /** + * Returns the size of the spectrum created by this transform. In other words, + * the number of frequency bands produced by this transform. This is typically + * equal to timeSize()/2 + 1, see above for an explanation. + * + * @return the size of the spectrum + */ + public int specSize() { + return spectrum.length; + } + + /** + * Returns the amplitude of the requested frequency band. + * + * @param i the index of a frequency band + * @return the amplitude of the requested frequency band + */ + public float getBand(int i) { + if (i < 0) i = 0; + if (i > spectrum.length - 1) i = spectrum.length - 1; + return spectrum[i]; + } + + /** + * Returns the width of each frequency band in the spectrum (in Hz). It should + * be noted that the bandwidth of the first and last frequency bands is half + * as large as the value returned by this function. + * + * @return the width of each frequency band in Hz. + */ + public float getBandWidth() { + return bandWidth; + } + /** + * Sets the amplitude of the ith frequency band to + * a. You can use this to shape the spectrum before using + * inverse(). + * + * @param i the frequency band to modify + * @param a the new amplitude + */ + public abstract void setBand(int i, float a); + + /** + * Scales the amplitude of the ith frequency band + * by s. You can use this to shape the spectrum before using + * inverse(). + * + * @param i the frequency band to modify + * @param s the scaling factor + */ + public abstract void scaleBand(int i, float s); + + /** + * Returns the index of the frequency band that contains the requested + * frequency. + * + * @param freq the frequency you want the index for (in Hz) + * @return the index of the frequency band that contains freq + */ + public int freqToIndex(float freq) { + // special case: freq is lower than the bandwidth of spectrum[0] + if (freq < getBandWidth() / 2) return 0; + // special case: freq is within the bandwidth of spectrum[spectrum.length - 1] + if (freq > sampleRate / 2 - getBandWidth() / 2) return spectrum.length - 1; + // all other cases + float fraction = freq / (float) sampleRate; + int i = Math.round(timeSize * fraction); + return i; + } + + /** + * Returns the middle frequency of the ith band. + * + * @param i the index of the band you want to middle frequency of + */ + public float indexToFreq(int i) { + float bw = getBandWidth(); + // special case: the width of the first bin is half that of the others. + // so the center frequency is a quarter of the way. + if (i == 0) return bw * 0.25f; + // special case: the width of the last bin is half that of the others. + if (i == spectrum.length - 1) { + float lastBinBeginFreq = (sampleRate / 2) - (bw / 2); + float binHalfWidth = bw * 0.25f; + return lastBinBeginFreq + binHalfWidth; + } + // the center frequency of the ith band is simply i*bw + // because the first band is half the width of all others. + // treating it as if it wasn't offsets us to the middle + // of the band. + return i * bw; + } + + /** + * Calculate the average amplitude of the frequency band bounded by + * lowFreq and hiFreq, inclusive. + * + * @param lowFreq the lower bound of the band + * @param hiFreq the upper bound of the band + * @return the average of all spectrum values within the bounds + */ + public float calcAvg(float lowFreq, float hiFreq) { + int lowBound = freqToIndex(lowFreq); + int hiBound = freqToIndex(hiFreq); + float avg = 0; + for (int i = lowBound; i <= hiBound; i++) { + avg += spectrum[i]; + } + avg /= (hiBound - lowBound + 1); + return avg; + } + + /** + * Get the Real part of the Complex representation of the spectrum. + */ + public float[] getSpectrumReal() { + return real; + } + + /** + * Get the Imaginary part of the Complex representation of the spectrum. + */ + public float[] getSpectrumImaginary() { + return imag; + } + + + /** + * Performs a forward transform on buffer. + * + * @param buffer the buffer to analyze + */ + public abstract void forward(float[] buffer); + + /** + * Performs a forward transform on values in buffer. + * + * @param buffer the buffer of samples + * @param startAt the index to start at in the buffer. there must be at least timeSize() samples + * between the starting index and the end of the buffer. If there aren't, an + * error will be issued and the operation will not be performed. + */ + public void forward(float[] buffer, int startAt) { + if (buffer.length - startAt < timeSize) { + return; + } + + // copy the section of samples we want to analyze + float[] section = new float[timeSize]; + System.arraycopy(buffer, startAt, section, 0, section.length); + forward(section); + } + + /** + * Performs an inverse transform of the frequency spectrum and places the + * result in buffer. + * + * @param buffer the buffer to place the result of the inverse transform in + */ + public abstract void inverse(float[] buffer); + + + /** + * Performs an inverse transform of the frequency spectrum represented by + * freqReal and freqImag and places the result in buffer. + * + * @param freqReal the real part of the frequency spectrum + * @param freqImag the imaginary part the frequency spectrum + * @param buffer the buffer to place the inverse transform in + */ + public void inverse(float[] freqReal, float[] freqImag, float[] buffer) { + setComplex(freqReal, freqImag); + inverse(buffer); + } + + /** + * FFT stands for Fast Fourier Transform. It is an efficient way to calculate the Complex + * Discrete Fourier Transform. There is not much to say about this class other than the fact + * that when you want to analyze the spectrum of an audio buffer you will almost always use + * this class. One restriction of this class is that the audio buffers you want to analyzeV + * must have a length that is a power of two. If you try to construct an FFT with a + * timeSize that is not a power of two, an IllegalArgumentException will be + * thrown. + * + * @author Damien Di Fede + * @see FourierTransform + * @see The Fast Fourier Transform + */ + public static class FFT extends FourierTransform { + /** + * Constructs an FFT that will accept sample buffers that are + * timeSize long and have been recorded with a sample rate of + * sampleRate. timeSize must be a + * power of two. This will throw an exception if it is not. + * + * @param timeSize the length of the sample buffers you will be analyzing + * @param sampleRate the sample rate of the audio you will be analyzing + */ + public FFT(int timeSize, float sampleRate) { + super(timeSize, sampleRate); + if ((timeSize & (timeSize - 1)) != 0) + throw new IllegalArgumentException( + "FFT: timeSize must be a power of two."); + buildReverseTable(); + buildTrigTables(); + } + + protected void allocateArrays() { + spectrum = new float[timeSize / 2 + 1]; + real = new float[timeSize]; + imag = new float[timeSize]; + } + + public void scaleBand(int i, float s) { + if (s < 0) { + // Minim.error("Can't scale a frequency band by a negative value."); + return; + } + + real[i] *= s; + imag[i] *= s; + spectrum[i] *= s; + + if (i != 0 && i != timeSize / 2) { + real[timeSize - i] = real[i]; + imag[timeSize - i] = -imag[i]; + } + } + + public void setBand(int i, float a) { + if (a < 0) { + // Minim.error("Can't set a frequency band to a negative value."); + return; + } + if (real[i] == 0 && imag[i] == 0) { + real[i] = a; + spectrum[i] = a; + } else { + real[i] /= spectrum[i]; + imag[i] /= spectrum[i]; + spectrum[i] = a; + real[i] *= spectrum[i]; + imag[i] *= spectrum[i]; + } + if (i != 0 && i != timeSize / 2) { + real[timeSize - i] = real[i]; + imag[timeSize - i] = -imag[i]; + } + } + + // performs an in-place fft on the data in the real and imag arrays + // bit reversing is not necessary as the data will already be bit reversed + private void fft() { + for (int halfSize = 1; halfSize < real.length; halfSize *= 2) { + // float k = -(float)Math.PI/halfSize; + // phase shift step + // float phaseShiftStepR = (float)Math.cos(k); + // float phaseShiftStepI = (float)Math.sin(k); + // using lookup table + float phaseShiftStepR = cos(halfSize); + float phaseShiftStepI = sin(halfSize); + // current phase shift + float currentPhaseShiftR = 1.0f; + float currentPhaseShiftI = 0.0f; + for (int fftStep = 0; fftStep < halfSize; fftStep++) { + for (int i = fftStep; i < real.length; i += 2 * halfSize) { + int off = i + halfSize; + float tr = (currentPhaseShiftR * real[off]) - (currentPhaseShiftI * imag[off]); + float ti = (currentPhaseShiftR * imag[off]) + (currentPhaseShiftI * real[off]); + real[off] = real[i] - tr; + imag[off] = imag[i] - ti; + real[i] += tr; + imag[i] += ti; + } + float tmpR = currentPhaseShiftR; + currentPhaseShiftR = (tmpR * phaseShiftStepR) - (currentPhaseShiftI * phaseShiftStepI); + currentPhaseShiftI = (tmpR * phaseShiftStepI) + (currentPhaseShiftI * phaseShiftStepR); + } + } + } + + public void forward(float[] buffer) { + if (buffer.length != timeSize) { + // Minim.error("FFT.forward: The length of the passed sample buffer must be equal to timeSize()."); + return; + } + // doWindow(buffer); + // copy samples to real/imag in bit-reversed order + bitReverseSamples(buffer, 0); + // perform the fft + fft(); + // fill the spectrum buffer with amplitudes + fillSpectrum(); + } + + @Override + public void forward(float[] buffer, int startAt) { + if (buffer.length - startAt < timeSize) { + /* Minim.error( "FourierTransform.forward: not enough samples in the buffer between " + + startAt + " and " + buffer.length + " to perform a transform." + ); + */ + return; + } + + // windowFunction.apply( buffer, startAt, timeSize ); + bitReverseSamples(buffer, startAt); + fft(); + fillSpectrum(); + } + + /** + * Performs a forward transform on the passed buffers. + * + * @param buffReal the real part of the time domain signal to transform + * @param buffImag the imaginary part of the time domain signal to transform + */ + public void forward(float[] buffReal, float[] buffImag) { + if (buffReal.length != timeSize || buffImag.length != timeSize) { + // Minim.error("FFT.forward: The length of the passed buffers must be equal to timeSize()."); + return; + } + setComplex(buffReal, buffImag); + bitReverseComplex(); + fft(); + fillSpectrum(); + } + + public void inverse(float[] buffer) { + if (buffer.length > real.length) { + // Minim.error("FFT.inverse: the passed array's length must equal FFT.timeSize()."); + return; + } + // conjugate + for (int i = 0; i < timeSize; i++) { + imag[i] *= -1; + } + bitReverseComplex(); + fft(); + // copy the result in real into buffer, scaling as we do + for (int i = 0; i < buffer.length; i++) { + buffer[i] = real[i] / real.length; + } + } + + private int[] reverse; + + private void buildReverseTable() { + int N = timeSize; + reverse = new int[N]; + + // set up the bit reversing table + reverse[0] = 0; + for (int limit = 1, bit = N / 2; limit < N; limit <<= 1, bit >>= 1) + for (int i = 0; i < limit; i++) + reverse[i + limit] = reverse[i] + bit; + } + + // copies the values in the samples array into the real array + // in bit reversed order. the imag array is filled with zeros. + private void bitReverseSamples(float[] samples, int startAt) { + for (int i = 0; i < timeSize; ++i) { + real[i] = samples[startAt + reverse[i]]; + imag[i] = 0.0f; + } + } + + // bit reverse real[] and imag[] + private void bitReverseComplex() { + float[] revReal = new float[real.length]; + float[] revImag = new float[imag.length]; + for (int i = 0; i < real.length; i++) { + revReal[i] = real[reverse[i]]; + revImag[i] = imag[reverse[i]]; + } + real = revReal; + imag = revImag; + } + + // lookup tables + + private float[] sinlookup; + private float[] coslookup; + + private float sin(int i) { + return sinlookup[i]; + } + + private float cos(int i) { + return coslookup[i]; + } + + private void buildTrigTables() { + int N = timeSize; + sinlookup = new float[N]; + coslookup = new float[N]; + for (int i = 0; i < N; i++) { + sinlookup[i] = (float) Math.sin(-(float) Math.PI / i); + coslookup[i] = (float) Math.cos(-(float) Math.PI / i); + } + } + } +} + diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ImageLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ImageLoader.java index 65c07c975..377ec5ad5 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ImageLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ImageLoader.java @@ -20,7 +20,6 @@ import android.graphics.drawable.BitmapDrawable; import androidx.exifinterface.media.ExifInterface; import android.graphics.drawable.Drawable; -import android.media.ThumbnailUtils; import android.net.Uri; import android.os.AsyncTask; import android.os.Build; @@ -671,11 +670,11 @@ public class ImageLoader { if (mediaType == FileLoader.MEDIA_DIR_IMAGE) { originalBitmap = ImageLoader.loadBitmap(originalPath.toString(), null, size, size, false); } else if (mediaType == FileLoader.MEDIA_DIR_VIDEO) { - originalBitmap = ThumbnailUtils.createVideoThumbnail(originalPath.toString(), info.big ? MediaStore.Video.Thumbnails.FULL_SCREEN_KIND : MediaStore.Video.Thumbnails.MINI_KIND); + originalBitmap = SendMessagesHelper.createVideoThumbnail(originalPath.toString(), info.big ? MediaStore.Video.Thumbnails.FULL_SCREEN_KIND : MediaStore.Video.Thumbnails.MINI_KIND); } else if (mediaType == FileLoader.MEDIA_DIR_DOCUMENT) { String path = originalPath.toString().toLowerCase(); if (path.endsWith("mp4")) { - originalBitmap = ThumbnailUtils.createVideoThumbnail(originalPath.toString(), info.big ? MediaStore.Video.Thumbnails.FULL_SCREEN_KIND : MediaStore.Video.Thumbnails.MINI_KIND); + originalBitmap = SendMessagesHelper.createVideoThumbnail(originalPath.toString(), info.big ? MediaStore.Video.Thumbnails.FULL_SCREEN_KIND : MediaStore.Video.Thumbnails.MINI_KIND); } else if (path.endsWith(".jpg") || path.endsWith(".jpeg") || path.endsWith(".png") || path.endsWith(".gif")) { originalBitmap = ImageLoader.loadBitmap(path, null, size, size, false); } @@ -1265,10 +1264,18 @@ public class ImageLoader { Bitmap scaledBitmap; if (bitmapW > bitmapH && w_filter > h_filter) { float scaleFactor = bitmapW / w_filter; - scaledBitmap = Bitmaps.createScaledBitmap(image, (int) w_filter, (int) (bitmapH / scaleFactor), true); + if (scaleFactor > 1) { + scaledBitmap = Bitmaps.createScaledBitmap(image, (int) w_filter, (int) (bitmapH / scaleFactor), true); + } else { + scaledBitmap = image; + } } else { float scaleFactor = bitmapH / h_filter; - scaledBitmap = Bitmaps.createScaledBitmap(image, (int) (bitmapW / scaleFactor), (int) h_filter, true); + if (scaleFactor > 1) { + scaledBitmap = Bitmaps.createScaledBitmap(image, (int) (bitmapW / scaleFactor), (int) h_filter, true); + } else { + scaledBitmap = image; + } } if (image != scaledBitmap) { image.recycle(); @@ -1696,7 +1703,7 @@ public class ImageLoader { public void fileLoadProgressChanged(final String location, long uploadedSize, long totalSize) { fileProgresses.put(location, new long[]{uploadedSize, totalSize}); long currentTime = System.currentTimeMillis(); - if (lastProgressUpdateTime == 0 || lastProgressUpdateTime < currentTime - 500) { + if (lastProgressUpdateTime == 0 || lastProgressUpdateTime < currentTime - 500 || uploadedSize == 0) { lastProgressUpdateTime = currentTime; AndroidUtilities.runOnUIThread(() -> NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.FileLoadProgressChanged, location, uploadedSize, totalSize)); } @@ -1857,17 +1864,17 @@ public class ImageLoader { File srcFile = null; File dstFile = null; if (type == FileLoader.MEDIA_DIR_IMAGE) { - srcFile = new File(from, "000000000_999999_temp.jpg"); - dstFile = new File(to, "000000000_999999.jpg"); + srcFile = new File(from, "000000000_999999_temp.f"); + dstFile = new File(to, "000000000_999999.f"); } else if (type == FileLoader.MEDIA_DIR_DOCUMENT) { - srcFile = new File(from, "000000000_999999_temp.doc"); - dstFile = new File(to, "000000000_999999.doc"); + srcFile = new File(from, "000000000_999999_temp.f"); + dstFile = new File(to, "000000000_999999.f"); } else if (type == FileLoader.MEDIA_DIR_AUDIO) { - srcFile = new File(from, "000000000_999999_temp.ogg"); - dstFile = new File(to, "000000000_999999.ogg"); + srcFile = new File(from, "000000000_999999_temp.f"); + dstFile = new File(to, "000000000_999999.f"); } else if (type == FileLoader.MEDIA_DIR_VIDEO) { - srcFile = new File(from, "000000000_999999_temp.mp4"); - dstFile = new File(to, "000000000_999999.mp4"); + srcFile = new File(from, "000000000_999999_temp.f"); + dstFile = new File(to, "000000000_999999.f"); } byte[] buffer = new byte[1024]; srcFile.createNewFile(); @@ -2288,7 +2295,7 @@ public class ImageLoader { boolean isEncrypted = imageLocation.isEncrypted(); CacheImage img = new CacheImage(); if (!currentKeyQuality) { - if (MessageObject.isGifDocument(imageLocation.webFile) || MessageObject.isGifDocument(imageLocation.document) || MessageObject.isRoundVideoDocument(imageLocation.document)) { + if (imageLocation.imageType == FileLoader.IMAGE_TYPE_ANIMATION || MessageObject.isGifDocument(imageLocation.webFile) || MessageObject.isGifDocument(imageLocation.document) || MessageObject.isRoundVideoDocument(imageLocation.document)) { img.imageType = FileLoader.IMAGE_TYPE_ANIMATION; } else if (imageLocation.path != null) { String location = imageLocation.path; @@ -2546,17 +2553,38 @@ public class ImageLoader { imageKey = null; thumbKey = null; mediaKey = null; - String ext = imageReceiver.getExt(); - if (ext == null) { - ext = "jpg"; + String imageExt; + if (imageLocation != null && imageLocation.imageType == FileLoader.IMAGE_TYPE_ANIMATION) { + imageExt = "mp4"; + } else { + imageExt = null; + } + String mediaExt; + if (mediaLocation != null && mediaLocation.imageType == FileLoader.IMAGE_TYPE_ANIMATION) { + mediaExt = "mp4"; + } else { + mediaExt = null; + } + String thumbExt = imageReceiver.getExt(); + if (thumbExt == null) { + thumbExt = "jpg"; + } + if (imageExt == null) { + imageExt = thumbExt; + } + if (mediaExt == null) { + mediaExt = thumbExt; } for (int a = 0; a < 2; a++) { ImageLocation object; + String ext; if (a == 0) { object = imageLocation; + ext = imageExt; } else { object = mediaLocation; + ext = mediaExt; } if (object == null) { continue; @@ -2633,9 +2661,9 @@ public class ImageLoader { if (thumbLocation.path != null) { thumbUrl = thumbUrl + "." + getHttpUrlExtension(thumbLocation.path, "jpg"); } else if (thumbLocation.photoSize instanceof TLRPC.TL_photoStrippedSize) { - thumbUrl = thumbUrl + "." + ext; + thumbUrl = thumbUrl + "." + thumbExt; } else if (thumbLocation.location != null) { - thumbUrl = thumbUrl + "." + ext; + thumbUrl = thumbUrl + "." + thumbExt; } } @@ -2650,8 +2678,8 @@ public class ImageLoader { } if (imageLocation != null && imageLocation.path != null) { - createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, ext, thumbLocation, thumbFilter, 0, 1, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); - createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, ext, imageLocation, imageFilter, imageReceiver.getSize(), 1, ImageReceiver.TYPE_IMAGE, 0, guid); + createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, thumbExt, thumbLocation, thumbFilter, 0, 1, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); + createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, imageExt, imageLocation, imageFilter, imageReceiver.getSize(), 1, ImageReceiver.TYPE_IMAGE, 0, guid); } else if (mediaLocation != null) { int mediaCacheType = imageReceiver.getCacheType(); int imageCacheType = 1; @@ -2660,20 +2688,20 @@ public class ImageLoader { } int thumbCacheType = mediaCacheType == 0 ? 1 : mediaCacheType; if (!thumbSet) { - createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, ext, thumbLocation, thumbFilter, 0, thumbCacheType, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); + createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, thumbExt, thumbLocation, thumbFilter, 0, thumbCacheType, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); } if (!imageSet) { - createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, ext, imageLocation, imageFilter, 0, imageCacheType, ImageReceiver.TYPE_IMAGE, 0, guid); + createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, imageExt, imageLocation, imageFilter, 0, imageCacheType, ImageReceiver.TYPE_IMAGE, 0, guid); } - createLoadOperationForImageReceiver(imageReceiver, mediaKey, mediaUrl, ext, mediaLocation, mediaFilter, imageReceiver.getSize(), mediaCacheType, ImageReceiver.TYPE_MEDIA, 0, guid); + createLoadOperationForImageReceiver(imageReceiver, mediaKey, mediaUrl, mediaExt, mediaLocation, mediaFilter, imageReceiver.getSize(), mediaCacheType, ImageReceiver.TYPE_MEDIA, 0, guid); } else { int imageCacheType = imageReceiver.getCacheType(); if (imageCacheType == 0 && saveImageToCache) { imageCacheType = 1; } int thumbCacheType = imageCacheType == 0 ? 1 : imageCacheType; - createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, ext, thumbLocation, thumbFilter, 0, thumbCacheType, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); - createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, ext, imageLocation, imageFilter, imageReceiver.getSize(), imageCacheType, ImageReceiver.TYPE_IMAGE, 0, guid); + createLoadOperationForImageReceiver(imageReceiver, thumbKey, thumbUrl, thumbExt, thumbLocation, thumbFilter, 0, thumbCacheType, ImageReceiver.TYPE_THUMB, thumbSet ? 2 : 1, guid); + createLoadOperationForImageReceiver(imageReceiver, imageKey, imageUrl, imageExt, imageLocation, imageFilter, imageReceiver.getSize(), imageCacheType, ImageReceiver.TYPE_IMAGE, 0, guid); } } @@ -2982,6 +3010,14 @@ public class ImageLoader { } } + scaleFactor /= bmOptions.inSampleSize; + if (scaleFactor > 1) { + if (matrix == null) { + matrix = new Matrix(); + } + matrix.postScale(1.0f / scaleFactor, 1.0f / scaleFactor); + } + Bitmap b = null; if (path != null) { try { @@ -3061,7 +3097,7 @@ public class ImageLoader { } } - private static TLRPC.PhotoSize scaleAndSaveImageInternal(TLRPC.PhotoSize photoSize, Bitmap bitmap, int w, int h, float photoW, float photoH, float scaleFactor, int quality, boolean cache, boolean scaleAnyway, boolean forceCacheDir) throws Exception { + private static TLRPC.PhotoSize scaleAndSaveImageInternal(TLRPC.PhotoSize photoSize, Bitmap bitmap, Bitmap.CompressFormat compressFormat, int w, int h, float photoW, float photoH, float scaleFactor, int quality, boolean cache, boolean scaleAnyway, boolean forceCacheDir) throws Exception { Bitmap scaledBitmap; if (scaleFactor > 1 || scaleAnyway) { scaledBitmap = Bitmaps.createScaledBitmap(bitmap, w, h, true); @@ -3106,10 +3142,10 @@ public class ImageLoader { } final File cacheFile = new File(fileDir, fileName); FileOutputStream stream = new FileOutputStream(cacheFile); - scaledBitmap.compress(Bitmap.CompressFormat.JPEG, quality, stream); + scaledBitmap.compress(compressFormat, quality, stream); if (cache) { ByteArrayOutputStream stream2 = new ByteArrayOutputStream(); - scaledBitmap.compress(Bitmap.CompressFormat.JPEG, quality, stream2); + scaledBitmap.compress(compressFormat, quality, stream2); photoSize.bytes = stream2.toByteArray(); photoSize.size = photoSize.bytes.length; stream2.close(); @@ -3125,18 +3161,22 @@ public class ImageLoader { } public static TLRPC.PhotoSize scaleAndSaveImage(Bitmap bitmap, float maxWidth, float maxHeight, int quality, boolean cache) { - return scaleAndSaveImage(null, bitmap, maxWidth, maxHeight, quality, cache, 0, 0, false); + return scaleAndSaveImage(null, bitmap, Bitmap.CompressFormat.JPEG, maxWidth, maxHeight, quality, cache, 0, 0, false); } public static TLRPC.PhotoSize scaleAndSaveImage(TLRPC.PhotoSize photoSize, Bitmap bitmap, float maxWidth, float maxHeight, int quality, boolean cache, boolean forceCacheDir) { - return scaleAndSaveImage(photoSize, bitmap, maxWidth, maxHeight, quality, cache, 0, 0, forceCacheDir); + return scaleAndSaveImage(photoSize, bitmap, Bitmap.CompressFormat.JPEG, maxWidth, maxHeight, quality, cache, 0, 0, forceCacheDir); } public static TLRPC.PhotoSize scaleAndSaveImage(Bitmap bitmap, float maxWidth, float maxHeight, int quality, boolean cache, int minWidth, int minHeight) { - return scaleAndSaveImage(null, bitmap, maxWidth, maxHeight, quality, cache, minWidth, minHeight, false); + return scaleAndSaveImage(null, bitmap, Bitmap.CompressFormat.JPEG, maxWidth, maxHeight, quality, cache, minWidth, minHeight, false); } - public static TLRPC.PhotoSize scaleAndSaveImage(TLRPC.PhotoSize photoSize, Bitmap bitmap, float maxWidth, float maxHeight, int quality, boolean cache, int minWidth, int minHeight, boolean forceCacheDir) { + public static TLRPC.PhotoSize scaleAndSaveImage(Bitmap bitmap, Bitmap.CompressFormat compressFormat, float maxWidth, float maxHeight, int quality, boolean cache, int minWidth, int minHeight) { + return scaleAndSaveImage(null, bitmap, compressFormat, maxWidth, maxHeight, quality, cache, minWidth, minHeight, false); + } + + public static TLRPC.PhotoSize scaleAndSaveImage(TLRPC.PhotoSize photoSize, Bitmap bitmap, Bitmap.CompressFormat compressFormat, float maxWidth, float maxHeight, int quality, boolean cache, int minWidth, int minHeight, boolean forceCacheDir) { if (bitmap == null) { return null; } @@ -3164,13 +3204,13 @@ public class ImageLoader { } try { - return scaleAndSaveImageInternal(photoSize, bitmap, w, h, photoW, photoH, scaleFactor, quality, cache, scaleAnyway, forceCacheDir); + return scaleAndSaveImageInternal(photoSize, bitmap, compressFormat, w, h, photoW, photoH, scaleFactor, quality, cache, scaleAnyway, forceCacheDir); } catch (Throwable e) { FileLog.e(e); ImageLoader.getInstance().clearMemory(); System.gc(); try { - return scaleAndSaveImageInternal(photoSize, bitmap, w, h, photoW, photoH, scaleFactor, quality, cache, scaleAnyway, forceCacheDir); + return scaleAndSaveImageInternal(photoSize, bitmap, compressFormat, w, h, photoW, photoH, scaleFactor, quality, cache, scaleAnyway, forceCacheDir); } catch (Throwable e2) { FileLog.e(e2); return null; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ImageLocation.java b/TMessagesProj/src/main/java/org/telegram/messenger/ImageLocation.java index 6a02fb8e0..04a919873 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ImageLocation.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ImageLocation.java @@ -168,6 +168,15 @@ public class ImageLocation { return imageLocation; } + public static ImageLocation getForDocument(TLRPC.TL_videoSize videoSize, TLRPC.Document document) { + if (videoSize == null || document == null) { + return null; + } + ImageLocation location = getForPhoto(videoSize.location, videoSize.size, null, document, null, false, document.dc_id, null, videoSize.type); + location.imageType = FileLoader.IMAGE_TYPE_ANIMATION; + return location; + } + public static ImageLocation getForDocument(TLRPC.PhotoSize photoSize, TLRPC.Document document) { if (photoSize instanceof TLRPC.TL_photoStrippedSize) { ImageLocation imageLocation = new ImageLocation(); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ImageReceiver.java b/TMessagesProj/src/main/java/org/telegram/messenger/ImageReceiver.java index 0b33e9582..f33128e4d 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ImageReceiver.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ImageReceiver.java @@ -124,6 +124,8 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg private final static int TYPE_CROSSFDADE = 2; public final static int TYPE_MEDIA = 3; + public final static int DEFAULT_CROSSFADE_DURATION = 150; + private int currentAccount; private View parentView; @@ -174,6 +176,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg private int currentSize; private int currentCacheType; private boolean allowStartAnimation = true; + private boolean allowStartLottieAnimation = true; private boolean useSharedAnimationQueue; private boolean allowDecodeSingleFrame; private int autoRepeat = 1; @@ -191,7 +194,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg private boolean currentKeyQuality; private boolean invalidateAll; - private int imageX, imageY, imageW, imageH; + private float imageX, imageY, imageW, imageH; private float sideClip; private RectF drawRegion = new RectF(); private boolean isVisible = true; @@ -199,6 +202,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg private boolean forcePreview; private boolean forceCrossfade; private int[] roundRadius = new int[4]; + private boolean isRoundRect; private Paint roundPaint; private RectF roundRect = new RectF(); @@ -217,6 +221,11 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg private boolean crossfadeWithThumb; private ColorFilter colorFilter; private boolean isRoundVideo; + private long startTime; + private long endTime; + private int crossfadeDuration = DEFAULT_CROSSFADE_DURATION; + private float pressedProgress; + private int animateFromIsPressed; public ImageReceiver() { this(null); @@ -322,7 +331,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int) imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } if (delegate != null) { @@ -358,7 +367,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (delegate != null) { delegate.didSetImage(this, currentImageDrawable != null || currentThumbDrawable != null || staticThumbDrawable != null || currentMediaDrawable != null, currentImageDrawable == null && currentMediaDrawable == null, false); } - if (!canceledLoading && !forcePreview) { + if (!canceledLoading) { return; } } @@ -376,7 +385,20 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } if (crossfadeWithOldImage) { - if (currentImageDrawable != null) { + if (currentMediaDrawable != null) { + if (currentMediaDrawable instanceof AnimatedFileDrawable) { + ((AnimatedFileDrawable) currentMediaDrawable).stop(); + } + recycleBitmap(thumbKey, TYPE_THUMB); + recycleBitmap(null, TYPE_CROSSFDADE); + recycleBitmap(mediaKey, TYPE_IMAGE); + crossfadeImage = currentMediaDrawable; + crossfadeShader = mediaShader; + crossfadeKey = currentImageKey; + crossfadingWithThumb = false; + currentMediaDrawable = null; + currentMediaKey = null; + } else if (currentImageDrawable != null) { recycleBitmap(thumbKey, TYPE_THUMB); recycleBitmap(null, TYPE_CROSSFDADE); recycleBitmap(mediaKey, TYPE_MEDIA); @@ -451,7 +473,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int)imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } @@ -570,7 +592,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } else if (bitmap instanceof RLottieDrawable) { RLottieDrawable fileDrawable = (RLottieDrawable) bitmap; fileDrawable.addParentView(parentView); - if (currentOpenedLayerFlags == 0) { + if (allowStartLottieAnimation && currentOpenedLayerFlags == 0) { fileDrawable.start(); } fileDrawable.setAllowDecodeSingleFrame(true); @@ -610,7 +632,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int)imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } if (forceCrossfade && crossfadeWithOldImage && crossfadeImage != null) { @@ -687,6 +709,9 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg thumbShader = null; } clearImage(); + if (isPressed == 0) { + pressedProgress = 0f; + } } private boolean setBackupImage() { @@ -696,7 +721,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg setImage(temp.mediaLocation, temp.mediaFilter, temp.imageLocation, temp.imageFilter, temp.thumbLocation, temp.thumbFilter, temp.thumb, temp.size, temp.ext, temp.parentObject, temp.cacheType); temp.clear(); setImageBackup = temp; - if (currentOpenedLayerFlags == 0) { + if (allowStartLottieAnimation && currentOpenedLayerFlags == 0) { RLottieDrawable lottieDrawable = getLottieAnimation(); if (lottieDrawable != null) { lottieDrawable.start(); @@ -716,7 +741,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (setBackupImage()) { return true; } - if (currentOpenedLayerFlags == 0) { + if (allowStartLottieAnimation && currentOpenedLayerFlags == 0) { RLottieDrawable lottieDrawable = getLottieAnimation(); if (lottieDrawable != null) { lottieDrawable.start(); @@ -726,6 +751,28 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } private void drawDrawable(Canvas canvas, Drawable drawable, int alpha, BitmapShader shader, int orientation) { + if (isPressed == 0 && pressedProgress != 0) { + pressedProgress -= 16 / 150f; + if (pressedProgress < 0) { + pressedProgress = 0; + } + if (parentView != null) { + parentView.invalidate(); + } + } + if (isPressed != 0) { + pressedProgress = 1f; + animateFromIsPressed = isPressed; + } + if (pressedProgress == 0 || pressedProgress == 1f) { + drawDrawable(canvas, drawable, alpha, shader, orientation, isPressed); + } else { + drawDrawable(canvas, drawable, alpha, shader, orientation, isPressed); + drawDrawable(canvas, drawable, (int) (alpha * pressedProgress), shader, orientation, animateFromIsPressed); + } + } + + private void drawDrawable(Canvas canvas, Drawable drawable, int alpha, BitmapShader shader, int orientation, int isPressed) { if (drawable instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; @@ -805,14 +852,18 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg roundPaint.setAlpha(alpha); roundRect.set(drawRegion); - for (int a = 0; a < roundRadius.length; a++) { - radii[a * 2] = roundRadius[a]; - radii[a * 2 + 1] = roundRadius[a]; + if (isRoundRect) { + canvas.drawRoundRect(roundRect,roundRadius[0], roundRadius[0],roundPaint); + } else { + for (int a = 0; a < roundRadius.length; a++) { + radii[a * 2] = roundRadius[a]; + radii[a * 2 + 1] = roundRadius[a]; + } + roundPath.reset(); + roundPath.addRoundRect(roundRect, radii, Path.Direction.CW); + roundPath.close(); + canvas.drawPath(roundPath, roundPaint); } - roundPath.reset(); - roundPath.addRoundRect(roundRect, radii, Path.Direction.CW); - roundPath.close(); - canvas.drawPath(roundPath, roundPaint); } } else { roundPaint.setShader(shader); @@ -851,14 +902,18 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg shader.setLocalMatrix(shaderMatrix); roundPaint.setAlpha(alpha); - for (int a = 0; a < roundRadius.length; a++) { - radii[a * 2] = roundRadius[a]; - radii[a * 2 + 1] = roundRadius[a]; + if (isRoundRect) { + canvas.drawRoundRect(roundRect,roundRadius[0], roundRadius[0],roundPaint); + } else { + for (int a = 0; a < roundRadius.length; a++) { + radii[a * 2] = roundRadius[a]; + radii[a * 2 + 1] = roundRadius[a]; + } + roundPath.reset(); + roundPath.addRoundRect(roundRect, radii, Path.Direction.CW); + roundPath.close(); + canvas.drawPath(roundPath, roundPaint); } - roundPath.reset(); - roundPath.addRoundRect(roundRect, radii, Path.Direction.CW); - roundPath.close(); - canvas.drawPath(roundPath, roundPaint); } } } else { @@ -1002,7 +1057,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (dt > 18) { dt = 18; } - currentAlpha += dt / 150.0f; + currentAlpha += dt / (float) crossfadeDuration; if (currentAlpha > 1) { currentAlpha = 1; if (crossfadeImage != null) { @@ -1016,7 +1071,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int)imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } } @@ -1262,7 +1317,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int) imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } } @@ -1329,7 +1384,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg imageW = width; } - public void setImageCoords(int x, int y, int width, int height) { + public void setImageCoords(float x, float y, float width, float height) { imageX = x; imageY = y; imageW = width; @@ -1348,27 +1403,27 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg return imageY + imageH / 2.0f; } - public int getImageX() { + public float getImageX() { return imageX; } - public int getImageX2() { + public float getImageX2() { return imageX + imageW; } - public int getImageY() { + public float getImageY() { return imageY; } - public int getImageY2() { + public float getImageY2() { return imageY + imageH; } - public int getImageWidth() { + public float getImageWidth() { return imageW; } - public int getImageHeight() { + public float getImageHeight() { return imageH; } @@ -1458,14 +1513,18 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg public void setRoundRadius(int[] value) { boolean changed = false; + int firstValue = value[0]; + isRoundRect = true; for (int a = 0; a < roundRadius.length; a++) { if (roundRadius[a] != value[a]) { changed = true; - break; } + if (firstValue != value[a]) { + isRoundRect = false; + } + roundRadius[a] = value[a]; } if (changed) { - System.arraycopy(value, 0, roundRadius, 0, roundRadius.length); if (currentImageDrawable != null && imageShader == null) { updateDrawableRadius(currentImageDrawable); } @@ -1534,6 +1593,10 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg allowStartAnimation = value; } + public void setAllowStartLottieAnimation(boolean value) { + allowStartLottieAnimation = value; + } + public void setAllowDecodeSingleFrame(boolean value) { allowDecodeSingleFrame = value; } @@ -1640,6 +1703,8 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } if (!(drawable instanceof AnimatedFileDrawable)) { ImageLoader.getInstance().incrementUseCount(currentImageKey); + } else { + ((AnimatedFileDrawable) drawable).setStartEndTime(startTime, endTime); } currentImageDrawable = drawable; if (drawable instanceof ExtendedBitmapDrawable) { @@ -1668,6 +1733,8 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } if (!(drawable instanceof AnimatedFileDrawable)) { ImageLoader.getInstance().incrementUseCount(currentMediaKey); + } else { + ((AnimatedFileDrawable) drawable).setStartEndTime(startTime, endTime); } currentMediaDrawable = drawable; updateDrawableRadius(drawable); @@ -1735,7 +1802,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } else if (drawable instanceof RLottieDrawable) { RLottieDrawable fileDrawable = (RLottieDrawable) drawable; fileDrawable.addParentView(parentView); - if (currentOpenedLayerFlags == 0) { + if (allowStartLottieAnimation && currentOpenedLayerFlags == 0) { fileDrawable.start(); } fileDrawable.setAllowDecodeSingleFrame(true); @@ -1746,12 +1813,21 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg if (invalidateAll) { parentView.invalidate(); } else { - parentView.invalidate(imageX, imageY, imageX + imageW, imageY + imageH); + parentView.invalidate((int) imageX, (int) imageY, (int) (imageX + imageW), (int) (imageY + imageH)); } } return true; } + public void setMediaStartEndTime(long startTime, long endTime) { + this.startTime = startTime; + this.endTime = endTime; + + if (currentMediaDrawable instanceof AnimatedFileDrawable) { + ((AnimatedFileDrawable) currentMediaDrawable).setStartEndTime(startTime, endTime); + } + } + private void recycleBitmap(String newKey, int type) { String key; Drawable image; @@ -1816,6 +1892,10 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg } } + public void setCrossfadeDuration(int duration) { + crossfadeDuration = duration; + } + @Override public void didReceivedNotification(int id, int account, Object... args) { if (id == NotificationCenter.didReplacedPhotoInMemCache) { @@ -1861,7 +1941,7 @@ public class ImageReceiver implements NotificationCenter.NotificationCenterDeleg currentOpenedLayerFlags &=~ layer; if (currentOpenedLayerFlags == 0) { RLottieDrawable lottieDrawable = getLottieAnimation(); - if (lottieDrawable != null) { + if (allowStartLottieAnimation && lottieDrawable != null) { lottieDrawable.start(); } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MediaController.java b/TMessagesProj/src/main/java/org/telegram/messenger/MediaController.java index c149e5d6d..c5972b7fe 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MediaController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MediaController.java @@ -63,6 +63,7 @@ import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.AlertDialog; import org.telegram.ui.ActionBar.BaseFragment; +import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.ChatActivity; import org.telegram.ui.Components.EmbedBottomSheet; import org.telegram.ui.Components.PhotoFilterView; @@ -94,7 +95,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, public native byte[] getWaveform(String path); public native byte[] getWaveform2(short[] array, int length); - private class AudioBuffer { + private static class AudioBuffer { public AudioBuffer(int capacity) { buffer = ByteBuffer.allocateDirect(capacity); bufferBytes = new byte[capacity]; @@ -183,7 +184,52 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, public float blurAngle; } - public static class PhotoEntry { + public static class MediaEditState { + + public CharSequence caption; + + public String thumbPath; + public String imagePath; + public String filterPath; + public String paintPath; + public String fullPaintPath; + public String croppedPath; + + public ArrayList entities; + public SavedFilterState savedFilterState; + public ArrayList mediaEntities; + public ArrayList stickers; + public VideoEditedInfo editedInfo; + public long averageDuration; + public boolean isFiltered; + public boolean isPainted; + public boolean isCropped; + public int ttl; + + public String getPath() { + return null; + } + + public void reset() { + caption = null; + thumbPath = null; + filterPath = null; + imagePath = null; + paintPath = null; + isFiltered = false; + isPainted = false; + isCropped = false; + ttl = 0; + mediaEntities = null; + editedInfo = null; + entities = null; + savedFilterState = null; + croppedPath = null; + stickers = null; + } + } + + public static class PhotoEntry extends MediaEditState { public int bucketId; public int imageId; public long dateTaken; @@ -193,20 +239,9 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, public long size; public String path; public int orientation; - public String thumbPath; - public String imagePath; - public VideoEditedInfo editedInfo; public boolean isVideo; - public CharSequence caption; - public ArrayList entities; - public boolean isFiltered; - public boolean isPainted; - public boolean isCropped; public boolean isMuted; - public int ttl; public boolean canDeleteAfter; - public SavedFilterState savedFilterState; - public ArrayList stickers = new ArrayList<>(); public PhotoEntry(int bucketId, int imageId, long dateTaken, String path, int orientation, boolean isVideo, int width, int height, long size) { this.bucketId = bucketId; @@ -224,24 +259,24 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, this.isVideo = isVideo; } + @Override + public String getPath() { + return path; + } + + @Override public void reset() { - isFiltered = false; - isPainted = false; - isCropped = false; - ttl = 0; - imagePath = null; - if (!isVideo) { - thumbPath = null; + if (isVideo) { + if (filterPath != null) { + new File(filterPath).delete(); + filterPath = null; + } } - editedInfo = null; - caption = null; - entities = null; - savedFilterState = null; - stickers.clear(); + super.reset(); } } - public static class SearchImage { + public static class SearchImage extends MediaEditState { public String id; public String imageUrl; public String thumbUrl; @@ -250,34 +285,28 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, public int size; public int type; public int date; - public String thumbPath; - public String imagePath; public CharSequence caption; - public ArrayList entities; public TLRPC.Document document; public TLRPC.Photo photo; public TLRPC.PhotoSize photoSize; public TLRPC.PhotoSize thumbPhotoSize; - public boolean isFiltered; - public boolean isPainted; - public boolean isCropped; - public int ttl; public TLRPC.BotInlineResult inlineResult; public HashMap params; - public SavedFilterState savedFilterState; - public ArrayList stickers = new ArrayList<>(); + @Override + public String getPath() { + if (photoSize != null) { + return FileLoader.getPathToAttach(photoSize, true).getAbsolutePath(); + } else if (document != null) { + return FileLoader.getPathToAttach(document, true).getAbsolutePath(); + } else { + return ImageLoader.getHttpFilePath(imageUrl, "jpg").getAbsolutePath(); + } + } + + @Override public void reset() { - isFiltered = false; - isPainted = false; - isCropped = false; - ttl = 0; - imagePath = null; - thumbPath = null; - caption = null; - entities = null; - savedFilterState = null; - stickers.clear(); + super.reset(); } public String getAttachName() { @@ -1608,6 +1637,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, FileLog.e(e); } audioPlayer = null; + Theme.unrefAudioVisualizeDrawable(playingMessageObject); } else if (videoPlayer != null) { currentAspectRatioFrameLayout = null; currentTextureViewContainer = null; @@ -1866,6 +1896,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, FileLog.e(e); } audioPlayer = null; + Theme.unrefAudioVisualizeDrawable(playingMessageObject); } else if (videoPlayer != null) { currentAspectRatioFrameLayout = null; currentTextureViewContainer = null; @@ -2202,7 +2233,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { FileLog.e(e); } @@ -2414,7 +2445,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { FileLog.e(e); } @@ -2574,7 +2605,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { } @@ -2598,6 +2629,17 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, return false; } }); + audioPlayer.setAudioVisualizerDelegate(new VideoPlayer.AudioVisualizerDelegate() { + @Override + public void onVisualizerUpdate(boolean playing, boolean animate, float[] values) { + Theme.getCurrentAudiVisualizerDrawable().setWaveform(playing, animate, values); + } + + @Override + public boolean needUpdate() { + return Theme.getCurrentAudiVisualizerDrawable().getParentView() != null; + } + }); if (exists) { if (!messageObject.mediaExists && cacheFile != file) { AndroidUtilities.runOnUIThread(() -> NotificationCenter.getInstance(messageObject.currentAccount).postNotificationName(NotificationCenter.fileDidLoad, FileLoader.getAttachFileName(messageObject.getDocument()), cacheFile)); @@ -2656,6 +2698,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, if (audioPlayer != null) { audioPlayer.releasePlayer(true); audioPlayer = null; + Theme.unrefAudioVisualizeDrawable(playingMessageObject); isPaused = false; playingMessageObject = null; downloadingCurrentMessage = false; @@ -3784,7 +3827,7 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, rotateRender = 90; } - boolean needCompress = resultWidth != originalWidth || resultHeight != originalHeight || rotateRender != 0 + boolean needCompress = info.mediaEntities != null || info.paintPath != null || info.filterState != null || resultWidth != originalWidth || resultHeight != originalHeight || rotateRender != 0 || info.roundVideo || Build.VERSION.SDK_INT >= 18 && startTime != -1; @@ -3828,6 +3871,10 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, framerate, bitrate, startTime, endTime, needCompress, duration, + info.filterState, + info.paintPath, + info.mediaEntities, + info.isPhoto, callback); @@ -3886,10 +3933,13 @@ public class MediaController implements AudioManager.OnAudioFocusChangeListener, int remeasuredBitrate = (int) (originalBitrate / (Math.min(originalHeight / (float) (height), originalWidth / (float) (width)))); remeasuredBitrate *= compressFactor; int minBitrate = (int) (getVideoBitrateWithFactor(minCompressFactor) / (1280f * 720f / (width * height))); - if (originalBitrate < minBitrate) return remeasuredBitrate; - if (remeasuredBitrate > maxBitrate) return maxBitrate; - if (remeasuredBitrate < minBitrate) return minBitrate; - return remeasuredBitrate; + if (originalBitrate < minBitrate) { + return remeasuredBitrate; + } + if (remeasuredBitrate > maxBitrate) { + return maxBitrate; + } + return Math.max(remeasuredBitrate, minBitrate); } private static int getVideoBitrateWithFactor(float f) { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MediaDataController.java b/TMessagesProj/src/main/java/org/telegram/messenger/MediaDataController.java index 6071e3695..aeea5637e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MediaDataController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MediaDataController.java @@ -66,6 +66,7 @@ import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @SuppressWarnings("unchecked") @@ -130,7 +131,7 @@ public class MediaDataController extends BaseController { private LongSparseArray stickerSetsById = new LongSparseArray<>(); private LongSparseArray installedStickerSetsById = new LongSparseArray<>(); private LongSparseArray groupStickerSets = new LongSparseArray<>(); - private HashMap stickerSetsByName = new HashMap<>(); + private ConcurrentHashMap stickerSetsByName = new ConcurrentHashMap<>(100, 1.0f, 1); private HashMap diceStickerSetsByEmoji = new HashMap<>(); private LongSparseArray diceEmojiStickerSetsById = new LongSparseArray<>(); private HashSet loadingDiceStickerSets = new HashSet<>(); @@ -141,6 +142,8 @@ public class MediaDataController extends BaseController { private int[] loadHash = new int[5]; private int[] loadDate = new int[5]; + private HashMap> verifyingMessages = new HashMap<>(); + private int[] archivedStickersCount = new int[2]; private LongSparseArray stickersByEmoji = new LongSparseArray<>(); @@ -209,6 +212,7 @@ public class MediaDataController extends BaseController { } }); } + verifyingMessages.clear(); loading = false; loaded = false; @@ -356,7 +360,12 @@ public class MediaDataController extends BaseController { } public void removeRecentGif(final TLRPC.Document document) { - recentGifs.remove(document); + for (int i = 0, N = recentGifs.size(); i < N; i++) { + if (recentGifs.get(i).id == document.id) { + recentGifs.remove(i); + break; + } + } TLRPC.TL_messages_saveGif req = new TLRPC.TL_messages_saveGif(); req.id = new TLRPC.TL_inputDocument(); req.id.id = document.id; @@ -938,6 +947,11 @@ public class MediaDataController extends BaseController { loadHash[type] = calcStickersHash(stickerSets[type]); } + public void storeTempStickerSet(final TLRPC.TL_messages_stickerSet set) { + stickerSetsById.put(set.set.id, set); + stickerSetsByName.put(set.set.short_name, set); + } + public void addNewStickerSet(final TLRPC.TL_messages_stickerSet set) { if (stickerSetsById.indexOfKey(set.set.id) >= 0 || stickerSetsByName.containsKey(set.set.short_name)) { return; @@ -1200,6 +1214,76 @@ public class MediaDataController extends BaseController { return archivedStickersCount[type]; } + + public void verifyAnimatedStickerMessage(TLRPC.Message message) { + verifyAnimatedStickerMessage(message, false); + } + + public void verifyAnimatedStickerMessage(TLRPC.Message message, boolean safe) { + if (message == null) { + return; + } + TLRPC.Document document = MessageObject.getDocument(message); + String name = MessageObject.getStickerSetName(document); + if (TextUtils.isEmpty(name)) { + return; + } + TLRPC.TL_messages_stickerSet stickerSet = stickerSetsByName.get(name); + if (stickerSet != null) { + for (int a = 0, N = stickerSet.documents.size(); a < N; a++) { + TLRPC.Document sticker = stickerSet.documents.get(a); + if (sticker.id == document.id && sticker.dc_id == document.dc_id) { + message.stickerVerified = 1; + break; + } + } + return; + } + if (safe) { + AndroidUtilities.runOnUIThread(() -> verifyAnimatedStickerMessageInternal(message, name)); + } else { + verifyAnimatedStickerMessageInternal(message, name); + } + } + + private void verifyAnimatedStickerMessageInternal(TLRPC.Message message, String name) { + ArrayList messages = verifyingMessages.get(name); + if (messages == null) { + messages = new ArrayList<>(); + verifyingMessages.put(name, messages); + } + messages.add(message); + TLRPC.TL_messages_getStickerSet req = new TLRPC.TL_messages_getStickerSet(); + req.stickerset = MessageObject.getInputStickerSet(message); + getConnectionsManager().sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + ArrayList arrayList = verifyingMessages.get(name); + if (response != null) { + TLRPC.TL_messages_stickerSet set = (TLRPC.TL_messages_stickerSet) response; + storeTempStickerSet(set); + for (int b = 0, N2 = arrayList.size(); b < N2; b++) { + TLRPC.Message m = arrayList.get(b); + TLRPC.Document d = MessageObject.getDocument(m); + for (int a = 0, N = set.documents.size(); a < N; a++) { + TLRPC.Document sticker = set.documents.get(a); + if (sticker.id == d.id && sticker.dc_id == d.dc_id) { + m.stickerVerified = 1; + break; + } + } + if (m.stickerVerified == 0) { + m.stickerVerified = 2; + } + } + } else { + for (int b = 0, N2 = arrayList.size(); b < N2; b++) { + arrayList.get(b).stickerVerified = 2; + } + } + getNotificationCenter().postNotificationName(NotificationCenter.didVerifyMessagesStickers, arrayList); + getMessagesStorage().updateMessageVerifyFlags(arrayList); + })); + } + public void loadArchivedStickersCount(final int type, boolean cache) { if (cache) { SharedPreferences preferences = MessagesController.getNotificationsSettings(currentAccount); @@ -1504,7 +1588,6 @@ public class MediaDataController extends BaseController { TLRPC.TL_messages_stickerSet stickerSet = stickerSetsById.get(setId); if (stickerSet != null) { return stickerSet.set.short_name; - } TLRPC.StickerSetCovered stickerSetCovered = featuredStickerSetsById.get(setId); if (stickerSetCovered != null) { @@ -2390,7 +2473,7 @@ public class MediaDataController extends BaseController { putMediaDatabase(uid, type, res.messages, max_id, topReached); } - Utilities.globalQueue.postRunnable(() -> { + Utilities.searchQueue.postRunnable(() -> { final SparseArray usersDict = new SparseArray<>(); for (int a = 0; a < res.users.size(); a++) { TLRPC.User u = res.users.get(a); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java index 246d68310..94192d65a 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java @@ -32,6 +32,7 @@ import org.telegram.tgnet.SerializedData; import org.telegram.tgnet.TLObject; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.Cells.ChatMessageCell; import org.telegram.ui.Components.TextStyleSpan; import org.telegram.ui.Components.TypefaceSpan; import org.telegram.ui.Components.URLSpanBotCommand; @@ -104,6 +105,7 @@ public class MessageObject { public ArrayList photoThumbs; public ArrayList photoThumbs2; public VideoEditedInfo videoEditedInfo; + public boolean shouldRemoveVideoEditedInfo; public boolean viewsReloaded; public boolean pollVisibleOnScreen; public long pollLastCheckTime; @@ -117,6 +119,8 @@ public class MessageObject { public boolean isRestrictedMessage; public long loadedFileSize; + public int stableId; + public boolean wasUnread; public boolean hadAnimationNotReadyLoading; @@ -352,12 +356,14 @@ public class MessageObject { public static class GroupedMessages { public long groupId; public boolean hasSibling; + public boolean hasCaption; public ArrayList messages = new ArrayList<>(); public ArrayList posArray = new ArrayList<>(); public HashMap positions = new HashMap<>(); private int maxSizeWidth = 800; - private int firstSpanAdditionalSize = 200; + + public final TransitionParams transitionParams = new TransitionParams(); private static class MessageGroupedLayoutAttempt { @@ -391,6 +397,10 @@ public class MessageObject { public void calculate() { posArray.clear(); positions.clear(); + + maxSizeWidth = 800; + int firstSpanAdditionalSize = 200; + int count = messages.size(); if (count <= 1) { return; @@ -405,6 +415,8 @@ public class MessageObject { boolean needShare = false; hasSibling = false; + hasCaption = false; + for (int a = 0; a < count; a++) { MessageObject messageObject = messages.get(a); if (a == 0) { @@ -436,6 +448,10 @@ public class MessageObject { positions.put(messageObject, position); posArray.add(position); + + if (messageObject.caption != null) { + hasCaption = true; + } } if (needShare) { @@ -748,6 +764,29 @@ public class MessageObject { } return null; } + + public static class TransitionParams { + public int left; + public int top; + public int right; + public int bottom; + + public float offsetLeft; + public float offsetTop; + public float offsetRight; + public float offsetBottom; + + public boolean drawBackgroundForDeletedItems; + public boolean backgroundChangeBounds; + + public boolean pinnedTop; + public boolean pinnedBotton; + + public ChatMessageCell cell; + public float captionEnterProgress = 1f; + public boolean drawCaptionLayout; + public boolean isNewGroup; + } } private static final int LINES_PER_BLOCK = 10; @@ -2492,8 +2531,8 @@ public class MessageObject { } else if (messageOwner.media instanceof TLRPC.TL_messageMediaUnsupported) { messageText = LocaleController.getString("UnsupportedMedia", R.string.UnsupportedMedia); } else if (messageOwner.media instanceof TLRPC.TL_messageMediaDocument) { - if (isSticker() || isAnimatedSticker()) { - String sch = getStrickerChar(); + if (isSticker() || isAnimatedStickerDocument(getDocument(), true)) { + String sch = getStickerChar(); if (sch != null && sch.length() > 0) { messageText = String.format("%s %s", sch, LocaleController.getString("AttachSticker", R.string.AttachSticker)); } else { @@ -2524,6 +2563,7 @@ public class MessageObject { public void setType() { int oldType = type; + type = 1000; isRoundVideoCached = 0; if (messageOwner instanceof TLRPC.TL_message || messageOwner instanceof TLRPC.TL_messageForwarded_old2) { if (isRestrictedMessage) { @@ -4277,8 +4317,8 @@ public class MessageObject { } for (int a = 0, N = document.attributes.size(); a < N; a++) { TLRPC.DocumentAttribute attribute = document.attributes.get(a); - if (attribute instanceof TLRPC.TL_documentAttributeSticker && attribute.stickerset != null && !(attribute.stickerset instanceof TLRPC.TL_inputStickerSetEmpty)) { - return true; + if (attribute instanceof TLRPC.TL_documentAttributeSticker) { + return attribute.stickerset instanceof TLRPC.TL_inputStickerSetShortName; } } } @@ -4345,34 +4385,41 @@ public class MessageObject { return false; } - public static boolean isVideoDocument(TLRPC.Document document) { - if (document != null) { - boolean isAnimated = false; - boolean isVideo = false; - int width = 0; - int height = 0; - for (int a = 0; a < document.attributes.size(); a++) { - TLRPC.DocumentAttribute attribute = document.attributes.get(a); - if (attribute instanceof TLRPC.TL_documentAttributeVideo) { - if (attribute.round_message) { - return false; - } - isVideo = true; - width = attribute.w; - height = attribute.h; - } else if (attribute instanceof TLRPC.TL_documentAttributeAnimated) { - isAnimated = true; - } - } - if (isAnimated && (width > 1280 || height > 1280)) { - isAnimated = false; - } - if (SharedConfig.streamMkv && !isVideo && "video/x-matroska".equals(document.mime_type)) { - isVideo = true; - } - return isVideo && !isAnimated; + public static TLRPC.TL_videoSize getDocumentVideoThumb(TLRPC.Document document) { + if (document == null || document.video_thumbs.isEmpty()) { + return null; } - return false; + return document.video_thumbs.get(0); + } + + public static boolean isVideoDocument(TLRPC.Document document) { + if (document == null) { + return false; + } + boolean isAnimated = false; + boolean isVideo = false; + int width = 0; + int height = 0; + for (int a = 0; a < document.attributes.size(); a++) { + TLRPC.DocumentAttribute attribute = document.attributes.get(a); + if (attribute instanceof TLRPC.TL_documentAttributeVideo) { + if (attribute.round_message) { + return false; + } + isVideo = true; + width = attribute.w; + height = attribute.h; + } else if (attribute instanceof TLRPC.TL_documentAttributeAnimated) { + isAnimated = true; + } + } + if (isAnimated && (width > 1280 || height > 1280)) { + isAnimated = false; + } + if (SharedConfig.streamMkv && !isVideo && "video/x-matroska".equals(document.mime_type)) { + isVideo = true; + } + return isVideo && !isAnimated; } public TLRPC.Document getDocument() { @@ -4403,7 +4450,11 @@ public class MessageObject { } public static boolean isAnimatedStickerMessage(TLRPC.Message message) { - return message.media != null && isAnimatedStickerDocument(message.media.document, !DialogObject.isSecretDialogId(message.dialog_id)); + boolean isSecretChat = DialogObject.isSecretDialogId(message.dialog_id); + if (isSecretChat && message.stickerVerified != 1) { + return false; + } + return message.media != null && isAnimatedStickerDocument(message.media.document, !isSecretChat || message.out); } public static boolean isLocationMessage(TLRPC.Message message) { @@ -4514,7 +4565,23 @@ public class MessageObject { return -1; } - public String getStrickerChar() { + public static String getStickerSetName(TLRPC.Document document) { + if (document == null) { + return null; + } + for (int a = 0; a < document.attributes.size(); a++) { + TLRPC.DocumentAttribute attribute = document.attributes.get(a); + if (attribute instanceof TLRPC.TL_documentAttributeSticker) { + if (attribute.stickerset instanceof TLRPC.TL_inputStickerSetEmpty) { + return null; + } + return attribute.stickerset.short_name; + } + } + return null; + } + + public String getStickerChar() { TLRPC.Document document = getDocument(); if (document != null) { for (TLRPC.DocumentAttribute attribute : document.attributes) { @@ -4673,7 +4740,11 @@ public class MessageObject { if (type != 1000) { return type == TYPE_ANIMATED_STICKER; } - return isAnimatedStickerDocument(getDocument(), !DialogObject.isSecretDialogId(getDialogId())); + boolean isSecretChat = DialogObject.isSecretDialogId(getDialogId()); + if (isSecretChat && messageOwner.stickerVerified != 1) { + return false; + } + return isAnimatedStickerDocument(getDocument(), emojiAnimatedSticker != null || !isSecretChat || isOut()); } public boolean isAnyKindOfSticker() { @@ -4727,8 +4798,21 @@ public class MessageObject { return isRoundVideoCached == 1; } - public boolean hasPhotoStickers() { - return messageOwner.media != null && messageOwner.media.photo != null && messageOwner.media.photo.has_stickers; + public boolean hasAttachedStickers() { + if (messageOwner.media instanceof TLRPC.TL_messageMediaPhoto) { + return messageOwner.media.photo != null && messageOwner.media.photo.has_stickers; + } else if (messageOwner.media instanceof TLRPC.TL_messageMediaDocument) { + TLRPC.Document document = messageOwner.media.document; + if (document != null) { + for (int a = 0; a < document.attributes.size(); a++) { + TLRPC.DocumentAttribute attribute = document.attributes.get(a); + if (attribute instanceof TLRPC.TL_documentAttributeHasStickers) { + return true; + } + } + } + } + return false; } public boolean isGif() { @@ -5212,10 +5296,6 @@ public class MessageObject { mediaExists = FileLoader.getPathToAttach(currentPhotoObject, true).exists(); } } - - if (!mediaExists && document != null) { - loadedFileSize = FileLoader.getTempFileSize(document, MessageObject.isVideoDocument(document) && shouldEncryptPhotoOrVideo()); - } } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java index 3b6bd08c6..1a92eee1d 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java @@ -273,6 +273,7 @@ public class MessagesController extends BaseController implements NotificationCe public String suggestedLangCode; public boolean qrLoginCamera; private String installReferer; + public ArrayList gifSearchEmojies = new ArrayList<>(); public HashSet diceEmojies; public HashMap diceSuccess = new HashMap<>(); @@ -367,6 +368,66 @@ public class MessagesController extends BaseController implements NotificationCe public ArrayList neverShow = new ArrayList<>(); public LongSparseArray pinnedDialogs = new LongSparseArray<>(); public ArrayList dialogs = new ArrayList<>(); + + public boolean includesDialog(AccountInstance accountInstance, int lowerId) { + MessagesController messagesController = accountInstance.getMessagesController(); + TLRPC.Dialog dialog = messagesController.dialogs_dict.get(lowerId); + if (dialog == null) { + return false; + } + return includesDialog(accountInstance, lowerId, dialog); + } + + public boolean includesDialog(AccountInstance accountInstance, int lowerId, TLRPC.Dialog d) { + if (alwaysShow.contains(lowerId)) { + return true; + } + if (d.folder_id != 0 && (flags & DIALOG_FILTER_FLAG_EXCLUDE_ARCHIVED) != 0) { + return false; + } + MessagesController messagesController = accountInstance.getMessagesController(); + ContactsController contactsController = accountInstance.getContactsController(); + boolean skip = false; + if ((flags & DIALOG_FILTER_FLAG_EXCLUDE_MUTED) != 0 && messagesController.isDialogMuted(d.id) && d.unread_mentions_count == 0 || + (flags & DIALOG_FILTER_FLAG_EXCLUDE_READ) != 0 && d.unread_count == 0 && !d.unread_mark && d.unread_mentions_count == 0 || + neverShow.contains(lowerId)) { + return false; + } + if (lowerId > 0) { + TLRPC.User user = messagesController.getUser(lowerId); + if (user != null) { + if (!user.bot) { + if (user.self || user.contact || contactsController.isContact(lowerId)) { + if ((flags & DIALOG_FILTER_FLAG_CONTACTS) != 0) { + return true; + } + } else { + if ((flags & DIALOG_FILTER_FLAG_NON_CONTACTS) != 0) { + return true; + } + } + } else { + if ((flags & DIALOG_FILTER_FLAG_BOTS) != 0) { + return true; + } + } + } + } else if (lowerId < 0) { + TLRPC.Chat chat = messagesController.getChat(-lowerId); + if (chat != null) { + if (ChatObject.isChannel(chat) && !chat.megagroup) { + if ((flags & DIALOG_FILTER_FLAG_CHANNELS) != 0) { + return true; + } + } else { + if ((flags & DIALOG_FILTER_FLAG_GROUPS) != 0) { + return true; + } + } + } + } + return false; + } } private DialogFilter sortingDialogFilter; @@ -571,12 +632,12 @@ public class MessagesController extends BaseController implements NotificationCe } else { diceEmojies = new HashSet<>(emojies); } - String success = mainPreferences.getString("diceSuccess", null); - if (success == null) { + String text = mainPreferences.getString("diceSuccess", null); + if (text == null) { diceSuccess.put("\uD83C\uDFAF", new DiceFrameSuccess(62, 6)); } else { try { - byte[] bytes = Base64.decode(success, Base64.DEFAULT); + byte[] bytes = Base64.decode(text, Base64.DEFAULT); if (bytes != null) { SerializedData data = new SerializedData(bytes); int count = data.readInt32(true); @@ -589,9 +650,37 @@ public class MessagesController extends BaseController implements NotificationCe FileLog.e(e); } } + + text = mainPreferences.getString("gifSearchEmojies", null); + if (text == null) { + gifSearchEmojies.add("👍"); + gifSearchEmojies.add("👎"); + gifSearchEmojies.add("😍"); + gifSearchEmojies.add("😂"); + gifSearchEmojies.add("😮"); + gifSearchEmojies.add("🙄"); + gifSearchEmojies.add("😥"); + gifSearchEmojies.add("😡"); + gifSearchEmojies.add("🥳"); + gifSearchEmojies.add("😎"); + } else { + try { + byte[] bytes = Base64.decode(text, Base64.DEFAULT); + if (bytes != null) { + SerializedData data = new SerializedData(bytes); + int count = data.readInt32(true); + for (int a = 0; a < count; a++) { + gifSearchEmojies.add(data.readString(true)); + } + data.cleanup(); + } + } catch (Exception e) { + FileLog.e(e); + } + } } - private void sendLoadPeersRequest(TLObject req, ArrayList requests, TLRPC.messages_Dialogs pinnedDialogs, TLRPC.messages_Dialogs pinnedRemoteDialogs, ArrayList users, ArrayList chats, ArrayList filtersToSave, SparseArray filtersToDelete, ArrayList filtersOrder, HashMap> filterDialogRemovals, HashMap> filterUserRemovals, HashSet filtersUnreadCounterReset) { + private void sendLoadPeersRequest(TLObject req, ArrayList requests, TLRPC.messages_Dialogs pinnedDialogs, TLRPC.messages_Dialogs pinnedRemoteDialogs, ArrayList users, ArrayList chats, ArrayList filtersToSave, SparseArray filtersToDelete, ArrayList filtersOrder, HashMap> filterDialogRemovals, HashMap> filterUserRemovals, HashSet filtersUnreadCounterReset) { getConnectionsManager().sendRequest(req, (response, error) -> { if (response instanceof TLRPC.TL_messages_chats) { TLRPC.TL_messages_chats res = (TLRPC.TL_messages_chats) response; @@ -618,7 +707,7 @@ public class MessagesController extends BaseController implements NotificationCe }); } - protected void loadFilterPeers(HashMap dialogsToLoadMap, HashMap usersToLoadMap, HashMap chatsToLoadMap, TLRPC.messages_Dialogs pinnedDialogs, TLRPC.messages_Dialogs pinnedRemoteDialogs, ArrayList users, ArrayList chats, ArrayList filtersToSave, SparseArray filtersToDelete, ArrayList filtersOrder, HashMap> filterDialogRemovals, HashMap> filterUserRemovals, HashSet filtersUnreadCounterReset) { + protected void loadFilterPeers(HashMap dialogsToLoadMap, HashMap usersToLoadMap, HashMap chatsToLoadMap, TLRPC.messages_Dialogs pinnedDialogs, TLRPC.messages_Dialogs pinnedRemoteDialogs, ArrayList users, ArrayList chats, ArrayList filtersToSave, SparseArray filtersToDelete, ArrayList filtersOrder, HashMap> filterDialogRemovals, HashMap> filterUserRemovals, HashSet filtersUnreadCounterReset) { Utilities.stageQueue.postRunnable(() -> { ArrayList requests = new ArrayList<>(); TLRPC.TL_users_getUsers req = null; @@ -1143,6 +1232,31 @@ public class MessagesController extends BaseController implements NotificationCe } break; } + case "gif_search_emojies": { + ArrayList newEmojies = new ArrayList<>(); + if (value.value instanceof TLRPC.TL_jsonArray) { + TLRPC.TL_jsonArray array = (TLRPC.TL_jsonArray) value.value; + for (int b = 0, N2 = array.value.size(); b < N2; b++) { + TLRPC.JSONValue val = array.value.get(b); + if (val instanceof TLRPC.TL_jsonString) { + TLRPC.TL_jsonString string = (TLRPC.TL_jsonString) val; + newEmojies.add(string.value.replace("\uFE0F", "")); + } + } + } + if (!gifSearchEmojies.equals(newEmojies)) { + gifSearchEmojies = newEmojies; + SerializedData serializedData = new SerializedData(); + serializedData.writeInt32(gifSearchEmojies.size()); + for (int b = 0, N2 = gifSearchEmojies.size(); b < N2; b++) { + serializedData.writeString(gifSearchEmojies.get(b)); + } + editor.putString("gifSearchEmojies", Base64.encodeToString(serializedData.toByteArray(), Base64.DEFAULT)); + serializedData.cleanup(); + changed = true; + } + break; + } case "emojies_send_dice_success": { try { HashMap newEmojies = new HashMap<>(); @@ -1181,6 +1295,7 @@ public class MessagesController extends BaseController implements NotificationCe serializedData.writeInt32(frameSuccess.num); } editor.putString("diceSuccess", Base64.encodeToString(serializedData.toByteArray(), Base64.DEFAULT)); + serializedData.cleanup(); changed = true; } } catch (Exception e) { @@ -3794,6 +3909,9 @@ public class MessagesController extends BaseController implements NotificationCe if (onlyHistory == 0 || onlyHistory == 3) { getNotificationsController().deleteNotificationChannel(did); } + if (onlyHistory == 0) { + getMediaDataController().cleanDraft(did, false); + } if (dialog != null) { if (emptyMax) { max_id_delete = Math.max(0, dialog.top_message); @@ -4893,21 +5011,21 @@ public class MessagesController extends BaseController implements NotificationCe } } - public void loadMessages(final long dialog_id, final int count, final int max_id, final int offset_date, boolean fromCache, int midDate, final int classGuid, final int load_type, final int last_message_id, final boolean isChannel, boolean scheduled, final int loadIndex) { - loadMessages(dialog_id, count, max_id, offset_date, fromCache, midDate, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, 0, 0, 0, false, 0); + public void loadMessages(long dialogId, long mergeDialogId, boolean loadInfo, int count, int max_id, int offset_date, boolean fromCache, int midDate, int classGuid, int load_type, int last_message_id, boolean isChannel, boolean scheduled, int loadIndex) { + loadMessages(dialogId, mergeDialogId, loadInfo, count, max_id, offset_date, fromCache, midDate, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, 0, 0, 0, false, 0); } - public void loadMessages(final long dialog_id, final int count, final int max_id, final int offset_date, final boolean fromCache, final int midDate, final int classGuid, final int load_type, final int last_message_id, final boolean isChannel, boolean scheduled, final int loadIndex, final int first_unread, final int unread_count, final int last_date, final boolean queryFromServer, final int mentionsCount) { - loadMessagesInternal(dialog_id, count, max_id, offset_date, fromCache, midDate, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, first_unread, unread_count, last_date, queryFromServer, mentionsCount, true); + public void loadMessages(long dialogId, long mergeDialogId, boolean loadInfo, int count, int max_id, int offset_date, boolean fromCache, int midDate, int classGuid, int load_type, int last_message_id, boolean isChannel, boolean scheduled, int loadIndex, int first_unread, int unread_count, int last_date, boolean queryFromServer, int mentionsCount) { + loadMessagesInternal(dialogId, mergeDialogId, loadInfo, count, max_id, offset_date, fromCache, midDate, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, first_unread, unread_count, last_date, queryFromServer, mentionsCount, true); } - private void loadMessagesInternal(final long dialog_id, final int count, final int max_id, final int offset_date, final boolean fromCache, final int minDate, final int classGuid, final int load_type, final int last_message_id, final boolean isChannel, boolean scheduled, final int loadIndex, final int first_unread, final int unread_count, final int last_date, final boolean queryFromServer, final int mentionsCount, boolean loadDialog) { + private void loadMessagesInternal(long dialogId, long mergeDialogId, boolean loadInfo, int count, int max_id, int offset_date, boolean fromCache, int minDate, int classGuid, int load_type, int last_message_id, boolean isChannel, boolean scheduled, int loadIndex, int first_unread, int unread_count, int last_date, boolean queryFromServer, int mentionsCount, boolean loadDialog) { if (BuildVars.LOGS_ENABLED) { - FileLog.d("load messages in chat " + dialog_id + " count " + count + " max_id " + max_id + " cache " + fromCache + " mindate = " + minDate + " guid " + classGuid + " load_type " + load_type + " last_message_id " + last_message_id + " scheduled " + scheduled + " index " + loadIndex + " firstUnread " + first_unread + " unread_count " + unread_count + " last_date " + last_date + " queryFromServer " + queryFromServer); + FileLog.d("load messages in chat " + dialogId + " count " + count + " max_id " + max_id + " cache " + fromCache + " mindate = " + minDate + " guid " + classGuid + " load_type " + load_type + " last_message_id " + last_message_id + " scheduled " + scheduled + " index " + loadIndex + " firstUnread " + first_unread + " unread_count " + unread_count + " last_date " + last_date + " queryFromServer " + queryFromServer); } - int lower_part = (int) dialog_id; + int lower_part = (int) dialogId; if (fromCache || lower_part == 0) { - getMessagesStorage().getMessages(dialog_id, count, max_id, offset_date, minDate, classGuid, load_type, isChannel, scheduled, loadIndex); + getMessagesStorage().getMessages(dialogId, mergeDialogId, loadInfo, count, max_id, offset_date, minDate, classGuid, load_type, isChannel, scheduled, loadIndex); } else { if (scheduled) { TLRPC.TL_messages_getScheduledHistory req = new TLRPC.TL_messages_getScheduledHistory(); @@ -4930,14 +5048,14 @@ public class MessagesController extends BaseController implements NotificationCe } } } - processLoadedMessages(res, dialog_id, count, mid, offset_date, false, classGuid, first_unread, last_message_id, unread_count, last_date, load_type, isChannel, false, true, loadIndex, queryFromServer, mentionsCount); + processLoadedMessages(res, dialogId, mergeDialogId, count, mid, offset_date, false, classGuid, first_unread, last_message_id, unread_count, last_date, load_type, isChannel, false, true, loadIndex, queryFromServer, mentionsCount); } }); getConnectionsManager().bindRequestToGuid(reqId, classGuid); } else { if (loadDialog && (load_type == 3 || load_type == 2) && last_message_id == 0) { TLRPC.TL_messages_getPeerDialogs req = new TLRPC.TL_messages_getPeerDialogs(); - TLRPC.InputPeer inputPeer = getInputPeer((int) dialog_id); + TLRPC.InputPeer inputPeer = getInputPeer((int) dialogId); TLRPC.TL_inputDialogPeer inputDialogPeer = new TLRPC.TL_inputDialogPeer(); inputDialogPeer.peer = inputPeer; req.peers.add(inputDialogPeer); @@ -4957,8 +5075,12 @@ public class MessagesController extends BaseController implements NotificationCe getMessagesStorage().putDialogs(dialogs, 0); } - loadMessagesInternal(dialog_id, count, max_id, offset_date, false, minDate, classGuid, load_type, dialog.top_message, isChannel, false, loadIndex, first_unread, dialog.unread_count, last_date, queryFromServer, dialog.unread_mentions_count, false); + loadMessagesInternal(dialogId, mergeDialogId, loadInfo, count, max_id, offset_date, false, minDate, classGuid, load_type, dialog.top_message, isChannel, false, loadIndex, first_unread, dialog.unread_count, last_date, queryFromServer, dialog.unread_mentions_count, false); } + } else { + AndroidUtilities.runOnUIThread(() -> { + getNotificationCenter().postNotificationName(NotificationCenter.loadingMessagesFailed, classGuid, req, error); + }); } }); return; @@ -4988,7 +5110,7 @@ public class MessagesController extends BaseController implements NotificationCe int reqId = getConnectionsManager().sendRequest(req, (response, error) -> { if (response != null) { final TLRPC.messages_Messages res = (TLRPC.messages_Messages) response; - removeDeletedMessagesFromArray(dialog_id, res.messages); + removeDeletedMessagesFromArray(dialogId, res.messages); if (res.messages.size() > count) { res.messages.remove(0); } @@ -5003,7 +5125,11 @@ public class MessagesController extends BaseController implements NotificationCe } } } - processLoadedMessages(res, dialog_id, count, mid, offset_date, false, classGuid, first_unread, last_message_id, unread_count, last_date, load_type, isChannel, false, false, loadIndex, queryFromServer, mentionsCount); + processLoadedMessages(res, dialogId, mergeDialogId, count, mid, offset_date, false, classGuid, first_unread, last_message_id, unread_count, last_date, load_type, isChannel, false, false, loadIndex, queryFromServer, mentionsCount); + } else { + AndroidUtilities.runOnUIThread(() -> { + getNotificationCenter().postNotificationName(NotificationCenter.loadingMessagesFailed, classGuid, req, error); + }); } }); getConnectionsManager().bindRequestToGuid(reqId, classGuid); @@ -5059,187 +5185,185 @@ public class MessagesController extends BaseController implements NotificationCe } } - public void processLoadedMessages(final TLRPC.messages_Messages messagesRes, final long dialog_id, final int count, final int max_id, final int offset_date, final boolean isCache, final int classGuid, - final int first_unread, final int last_message_id, final int unread_count, final int last_date, final int load_type, final boolean isChannel, final boolean isEnd, final boolean scheduled, final int loadIndex, final boolean queryFromServer, final int mentionsCount) { + public void processLoadedMessages(TLRPC.messages_Messages messagesRes, long dialogId, long mergeDialogId, int count, int max_id, int offset_date, boolean isCache, int classGuid, + int first_unread, int last_message_id, int unread_count, int last_date, int load_type, boolean isChannel, boolean isEnd, boolean scheduled, int loadIndex, boolean queryFromServer, int mentionsCount) { if (BuildVars.LOGS_ENABLED) { - FileLog.d("processLoadedMessages size " + messagesRes.messages.size() + " in chat " + dialog_id + " count " + count + " max_id " + max_id + " cache " + isCache + " guid " + classGuid + " load_type " + load_type + " last_message_id " + last_message_id + " isChannel " + isChannel + " index " + loadIndex + " firstUnread " + first_unread + " unread_count " + unread_count + " last_date " + last_date + " queryFromServer " + queryFromServer); + FileLog.d("processLoadedMessages size " + messagesRes.messages.size() + " in chat " + dialogId + " count " + count + " max_id " + max_id + " cache " + isCache + " guid " + classGuid + " load_type " + load_type + " last_message_id " + last_message_id + " isChannel " + isChannel + " index " + loadIndex + " firstUnread " + first_unread + " unread_count " + unread_count + " last_date " + last_date + " queryFromServer " + queryFromServer); } - Utilities.stageQueue.postRunnable(() -> { - boolean createDialog = false; - boolean isMegagroup = false; - if (messagesRes instanceof TLRPC.TL_messages_channelMessages) { - int channelId = -(int) dialog_id; - if (!scheduled) { - int channelPts = channelsPts.get(channelId); + boolean createDialog = false; + boolean isMegagroup = false; + if (messagesRes instanceof TLRPC.TL_messages_channelMessages) { + int channelId = -(int) dialogId; + if (!scheduled) { + int channelPts = channelsPts.get(channelId); + if (channelPts == 0) { + channelPts = getMessagesStorage().getChannelPtsSync(channelId); if (channelPts == 0) { - channelPts = getMessagesStorage().getChannelPtsSync(channelId); - if (channelPts == 0) { - channelsPts.put(channelId, messagesRes.pts); - createDialog = true; - if (needShortPollChannels.indexOfKey(channelId) >= 0 && shortPollChannels.indexOfKey(channelId) < 0) { - getChannelDifference(channelId, 2, 0, null); - } else { - getChannelDifference(channelId); - } + channelsPts.put(channelId, messagesRes.pts); + createDialog = true; + if (needShortPollChannels.indexOfKey(channelId) >= 0 && shortPollChannels.indexOfKey(channelId) < 0) { + getChannelDifference(channelId, 2, 0, null); + } else { + getChannelDifference(channelId); } } } - for (int a = 0; a < messagesRes.chats.size(); a++) { - TLRPC.Chat chat = messagesRes.chats.get(a); - if (chat.id == channelId) { - isMegagroup = chat.megagroup; - break; - } - } - } - int lower_id = (int) dialog_id; - int high_id = (int) (dialog_id >> 32); - if (!isCache) { - ImageLoader.saveMessagesThumbs(messagesRes.messages); - } - if (high_id != 1 && lower_id != 0 && isCache && (messagesRes.messages.size() == 0 || scheduled && (SystemClock.elapsedRealtime() - lastScheduledServerQueryTime.get(dialog_id, 0L)) > 60 * 1000)) { - int hash; - if (scheduled) { - lastScheduledServerQueryTime.put(dialog_id, SystemClock.elapsedRealtime()); - long h = 0; - for (int a = 0, N = messagesRes.messages.size(); a < N; a++) { - TLRPC.Message message = messagesRes.messages.get(a); - if (message.id < 0) { - continue; - } - h = ((h * 20261) + 0x80000000L + message.id) % 0x80000000L; - h = ((h * 20261) + 0x80000000L + message.edit_date) % 0x80000000L; - h = ((h * 20261) + 0x80000000L + message.date) % 0x80000000L; - } - hash = (int) h - 1; - } else { - hash = 0; - } - AndroidUtilities.runOnUIThread(() -> loadMessages(dialog_id, count, load_type == 2 && queryFromServer ? first_unread : max_id, offset_date, false, hash, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, first_unread, unread_count, last_date, queryFromServer, mentionsCount)); - if (messagesRes.messages.isEmpty()) { - return; - } - } - final SparseArray usersDict = new SparseArray<>(); - final SparseArray chatsDict = new SparseArray<>(); - for (int a = 0; a < messagesRes.users.size(); a++) { - TLRPC.User u = messagesRes.users.get(a); - usersDict.put(u.id, u); } for (int a = 0; a < messagesRes.chats.size(); a++) { - TLRPC.Chat c = messagesRes.chats.get(a); - chatsDict.put(c.id, c); + TLRPC.Chat chat = messagesRes.chats.get(a); + if (chat.id == channelId) { + isMegagroup = chat.megagroup; + break; + } } - int size = messagesRes.messages.size(); - if (!isCache) { - Integer inboxValue = dialogs_read_inbox_max.get(dialog_id); - if (inboxValue == null) { - inboxValue = getMessagesStorage().getDialogReadMax(false, dialog_id); - dialogs_read_inbox_max.put(dialog_id, inboxValue); - } - - Integer outboxValue = dialogs_read_outbox_max.get(dialog_id); - if (outboxValue == null) { - outboxValue = getMessagesStorage().getDialogReadMax(true, dialog_id); - dialogs_read_outbox_max.put(dialog_id, outboxValue); - } - - for (int a = 0; a < size; a++) { + } + int lower_id = (int) dialogId; + int high_id = (int) (dialogId >> 32); + if (!isCache) { + ImageLoader.saveMessagesThumbs(messagesRes.messages); + } + if (high_id != 1 && lower_id != 0 && isCache && (messagesRes.messages.size() == 0 || scheduled && (SystemClock.elapsedRealtime() - lastScheduledServerQueryTime.get(dialogId, 0L)) > 60 * 1000)) { + int hash; + if (scheduled) { + lastScheduledServerQueryTime.put(dialogId, SystemClock.elapsedRealtime()); + long h = 0; + for (int a = 0, N = messagesRes.messages.size(); a < N; a++) { TLRPC.Message message = messagesRes.messages.get(a); - if (isMegagroup) { - message.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; - } - - if (!scheduled) { - if (message.action instanceof TLRPC.TL_messageActionChatDeleteUser) { - TLRPC.User user = usersDict.get(message.action.user_id); - if (user != null && user.bot) { - message.reply_markup = new TLRPC.TL_replyKeyboardHide(); - message.flags |= 64; - } - } - - if (message.action instanceof TLRPC.TL_messageActionChatMigrateTo || message.action instanceof TLRPC.TL_messageActionChannelCreate) { - message.unread = false; - message.media_unread = false; - } else { - message.unread = (message.out ? outboxValue : inboxValue) < message.id; - } + if (message.id < 0) { + continue; } + h = ((h * 20261) + 0x80000000L + message.id) % 0x80000000L; + h = ((h * 20261) + 0x80000000L + message.edit_date) % 0x80000000L; + h = ((h * 20261) + 0x80000000L + message.date) % 0x80000000L; } - getMessagesStorage().putMessages(messagesRes, dialog_id, load_type, max_id, createDialog, scheduled); + hash = (int) h - 1; + } else { + hash = 0; + } + AndroidUtilities.runOnUIThread(() -> loadMessages(dialogId, mergeDialogId, false, count, load_type == 2 && queryFromServer ? first_unread : max_id, offset_date, false, hash, classGuid, load_type, last_message_id, isChannel, scheduled, loadIndex, first_unread, unread_count, last_date, queryFromServer, mentionsCount)); + if (messagesRes.messages.isEmpty()) { + return; + } + } + final SparseArray usersDict = new SparseArray<>(); + final SparseArray chatsDict = new SparseArray<>(); + for (int a = 0; a < messagesRes.users.size(); a++) { + TLRPC.User u = messagesRes.users.get(a); + usersDict.put(u.id, u); + } + for (int a = 0; a < messagesRes.chats.size(); a++) { + TLRPC.Chat c = messagesRes.chats.get(a); + chatsDict.put(c.id, c); + } + int size = messagesRes.messages.size(); + if (!isCache) { + Integer inboxValue = dialogs_read_inbox_max.get(dialogId); + if (inboxValue == null) { + inboxValue = getMessagesStorage().getDialogReadMax(false, dialogId); + dialogs_read_inbox_max.put(dialogId, inboxValue); + } + + Integer outboxValue = dialogs_read_outbox_max.get(dialogId); + if (outboxValue == null) { + outboxValue = getMessagesStorage().getDialogReadMax(true, dialogId); + dialogs_read_outbox_max.put(dialogId, outboxValue); } - final ArrayList objects = new ArrayList<>(); - final ArrayList messagesToReload = new ArrayList<>(); - final HashMap> webpagesToReload = new HashMap<>(); - TLRPC.InputChannel inputChannel = null; for (int a = 0; a < size; a++) { TLRPC.Message message = messagesRes.messages.get(a); - message.dialog_id = dialog_id; - MessageObject messageObject = new MessageObject(currentAccount, message, usersDict, chatsDict, true); - messageObject.scheduled = scheduled; - objects.add(messageObject); - if (isCache) { - if (message.legacy && message.layer < TLRPC.LAYER) { - messagesToReload.add(message.id); - } else if (message.media instanceof TLRPC.TL_messageMediaUnsupported) { - if (message.media.bytes != null && (message.media.bytes.length == 0 || message.media.bytes.length == 1 && message.media.bytes[0] < TLRPC.LAYER)) { - messagesToReload.add(message.id); + if (isMegagroup) { + message.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; + } + + if (!scheduled) { + if (message.action instanceof TLRPC.TL_messageActionChatDeleteUser) { + TLRPC.User user = usersDict.get(message.action.user_id); + if (user != null && user.bot) { + message.reply_markup = new TLRPC.TL_replyKeyboardHide(); + message.flags |= 64; } } - if (message.media instanceof TLRPC.TL_messageMediaWebPage) { - if (message.media.webpage instanceof TLRPC.TL_webPagePending && message.media.webpage.date <= getConnectionsManager().getCurrentTime()) { - messagesToReload.add(message.id); - } else if (message.media.webpage instanceof TLRPC.TL_webPageUrlPending) { - ArrayList arrayList = webpagesToReload.get(message.media.webpage.url); - if (arrayList == null) { - arrayList = new ArrayList<>(); - webpagesToReload.put(message.media.webpage.url, arrayList); - } - arrayList.add(messageObject); - } + + if (message.action instanceof TLRPC.TL_messageActionChatMigrateTo || message.action instanceof TLRPC.TL_messageActionChannelCreate) { + message.unread = false; + message.media_unread = false; + } else { + message.unread = (message.out ? outboxValue : inboxValue) < message.id; } } } - AndroidUtilities.runOnUIThread(() -> { - putUsers(messagesRes.users, isCache); - putChats(messagesRes.chats, isCache); - int first_unread_final; - if (scheduled) { - first_unread_final = 0; - } else { - first_unread_final = Integer.MAX_VALUE; - if (queryFromServer && load_type == 2) { - for (int a = 0; a < messagesRes.messages.size(); a++) { - TLRPC.Message message = messagesRes.messages.get(a); - if ((!message.out || message.from_scheduled) && message.id > first_unread && message.id < first_unread_final) { - first_unread_final = message.id; - } + getMessagesStorage().putMessages(messagesRes, dialogId, load_type, max_id, createDialog, scheduled); + } + + final ArrayList objects = new ArrayList<>(); + final ArrayList messagesToReload = new ArrayList<>(); + final HashMap> webpagesToReload = new HashMap<>(); + TLRPC.InputChannel inputChannel = null; + for (int a = 0; a < size; a++) { + TLRPC.Message message = messagesRes.messages.get(a); + message.dialog_id = dialogId; + MessageObject messageObject = new MessageObject(currentAccount, message, usersDict, chatsDict, true); + messageObject.scheduled = scheduled; + objects.add(messageObject); + if (isCache) { + if (message.legacy && message.layer < TLRPC.LAYER) { + messagesToReload.add(message.id); + } else if (message.media instanceof TLRPC.TL_messageMediaUnsupported) { + if (message.media.bytes != null && (message.media.bytes.length == 0 || message.media.bytes.length == 1 && message.media.bytes[0] < TLRPC.LAYER)) { + messagesToReload.add(message.id); + } + } + if (message.media instanceof TLRPC.TL_messageMediaWebPage) { + if (message.media.webpage instanceof TLRPC.TL_webPagePending && message.media.webpage.date <= getConnectionsManager().getCurrentTime()) { + messagesToReload.add(message.id); + } else if (message.media.webpage instanceof TLRPC.TL_webPageUrlPending) { + ArrayList arrayList = webpagesToReload.get(message.media.webpage.url); + if (arrayList == null) { + arrayList = new ArrayList<>(); + webpagesToReload.put(message.media.webpage.url, arrayList); + } + arrayList.add(messageObject); + } + } + } + } + AndroidUtilities.runOnUIThread(() -> { + putUsers(messagesRes.users, isCache); + putChats(messagesRes.chats, isCache); + int first_unread_final; + if (scheduled) { + first_unread_final = 0; + } else { + first_unread_final = Integer.MAX_VALUE; + if (queryFromServer && load_type == 2) { + for (int a = 0; a < messagesRes.messages.size(); a++) { + TLRPC.Message message = messagesRes.messages.get(a); + if ((!message.out || message.from_scheduled) && message.id > first_unread && message.id < first_unread_final) { + first_unread_final = message.id; } } - if (first_unread_final == Integer.MAX_VALUE) { - first_unread_final = first_unread; - } } - if (scheduled && count == 1) { - getNotificationCenter().postNotificationName(NotificationCenter.scheduledMessagesUpdated, dialog_id, objects.size()); + if (first_unread_final == Integer.MAX_VALUE) { + first_unread_final = first_unread; } + } + if (scheduled && count == 1) { + getNotificationCenter().postNotificationName(NotificationCenter.scheduledMessagesUpdated, dialogId, objects.size()); + } - if ((int) dialog_id != 0) { - int finalFirst_unread_final = first_unread_final; - getMediaDataController().loadReplyMessagesForMessages(objects, dialog_id, scheduled, () -> getNotificationCenter().postNotificationName(NotificationCenter.messagesDidLoad, dialog_id, count, objects, isCache, finalFirst_unread_final, last_message_id, unread_count, last_date, load_type, isEnd, classGuid, loadIndex, max_id, mentionsCount, scheduled)); - } else { - getNotificationCenter().postNotificationName(NotificationCenter.messagesDidLoad, dialog_id, count, objects, isCache, first_unread_final, last_message_id, unread_count, last_date, load_type, isEnd, classGuid, loadIndex, max_id, mentionsCount, scheduled); - } + if ((int) dialogId != 0) { + int finalFirst_unread_final = first_unread_final; + getMediaDataController().loadReplyMessagesForMessages(objects, dialogId, scheduled, () -> getNotificationCenter().postNotificationName(NotificationCenter.messagesDidLoad, dialogId, count, objects, isCache, finalFirst_unread_final, last_message_id, unread_count, last_date, load_type, isEnd, classGuid, loadIndex, max_id, mentionsCount, scheduled)); + } else { + getNotificationCenter().postNotificationName(NotificationCenter.messagesDidLoad, dialogId, count, objects, isCache, first_unread_final, last_message_id, unread_count, last_date, load_type, isEnd, classGuid, loadIndex, max_id, mentionsCount, scheduled); + } - if (!messagesToReload.isEmpty()) { - reloadMessages(messagesToReload, dialog_id, scheduled); - } - if (!webpagesToReload.isEmpty()) { - reloadWebPages(dialog_id, webpagesToReload, scheduled); - } - }); + if (!messagesToReload.isEmpty()) { + reloadMessages(messagesToReload, dialogId, scheduled); + } + if (!webpagesToReload.isEmpty()) { + reloadWebPages(dialogId, webpagesToReload, scheduled); + } }); } @@ -12144,62 +12268,17 @@ public class MessagesController extends BaseController implements NotificationCe for (int a = 0, N = allDialogs.size(); a < N; a++) { TLRPC.Dialog d = allDialogs.get(a); - int high_id = (int) (d.id >> 32); - int lower_id = (int) d.id; - if (lower_id == 0 && high_id != 0) { - TLRPC.EncryptedChat encryptedChat = getEncryptedChat(high_id); - if (encryptedChat != null) { - lower_id = encryptedChat.user_id; - } - } if (d instanceof TLRPC.TL_dialog) { - if (selectedDialogFilter[b].alwaysShow.contains(lower_id)) { + int high_id = (int) (d.id >> 32); + int lower_id = (int) d.id; + if (lower_id == 0 && high_id != 0) { + TLRPC.EncryptedChat encryptedChat = getEncryptedChat(high_id); + if (encryptedChat != null) { + lower_id = encryptedChat.user_id; + } + } + if (selectedDialogFilter[b].includesDialog(getAccountInstance(), lower_id, d)) { dialogsByFilter.add(d); - } else { - if (d.folder_id != 0 && (selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_EXCLUDE_ARCHIVED) != 0) { - continue; - } - boolean skip = false; - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_EXCLUDE_MUTED) != 0 && isDialogMuted(d.id) && d.unread_mentions_count == 0 || - (selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_EXCLUDE_READ) != 0 && d.unread_count == 0 && !d.unread_mark && d.unread_mentions_count == 0 || - selectedDialogFilter[b].neverShow.contains(lower_id)) { - skip = true; - } - if (!skip) { - if (lower_id > 0) { - TLRPC.User user = getUser(lower_id); - if (user != null) { - if (!user.bot) { - if (user.self || user.contact || getContactsController().isContact(lower_id)) { - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_CONTACTS) != 0) { - dialogsByFilter.add(d); - } - } else { - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_NON_CONTACTS) != 0) { - dialogsByFilter.add(d); - } - } - } else { - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_BOTS) != 0) { - dialogsByFilter.add(d); - } - } - } - } else if (lower_id < 0) { - TLRPC.Chat chat = getChat(-lower_id); - if (chat != null) { - if (ChatObject.isChannel(chat) && !chat.megagroup) { - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_CHANNELS) != 0) { - dialogsByFilter.add(d); - } - } else { - if ((selectedDialogFilter[b].flags & DIALOG_FILTER_FLAG_GROUPS) != 0) { - dialogsByFilter.add(d); - } - } - } - } - } } } } @@ -12527,7 +12606,7 @@ public class MessagesController extends BaseController implements NotificationCe } } - public void ensureMessagesLoaded(long dialog_id, boolean isChannel, int messageId, Runnable callback) { + public void ensureMessagesLoaded(long dialog_id, boolean isChannel, int messageId, Runnable callback, Runnable doOnError) { SharedPreferences sharedPreferences = MessagesController.getNotificationsSettings(currentAccount); if (messageId == 0) { messageId = sharedPreferences.getInt("diditem" + dialog_id, 0); @@ -12538,7 +12617,7 @@ public class MessagesController extends BaseController implements NotificationCe } int finalMessageId = messageId; final int classGuid = ConnectionsManager.generateClassGuid(); - getNotificationCenter().addObserver(new NotificationCenter.NotificationCenterDelegate() { + NotificationCenter.NotificationCenterDelegate delegate = new NotificationCenter.NotificationCenterDelegate() { @SuppressWarnings("unchecked") @Override public void didReceivedNotification(int id, int account, Object... args) { @@ -12546,14 +12625,27 @@ public class MessagesController extends BaseController implements NotificationCe ArrayList messArr = (ArrayList) args[2]; boolean isCache = (Boolean) args[3]; if (messArr.isEmpty() && isCache) { - loadMessages(dialog_id, 20, 3, 0, false, 0, classGuid, 3, 0, false, false, 0); + loadMessages(dialog_id, 0, false, 20, 3, 0, false, 0, classGuid, 3, 0, false, false, 0); } else { getNotificationCenter().removeObserver(this, NotificationCenter.didReceiveNewMessages); + getNotificationCenter().removeObserver(this, NotificationCenter.loadingMessagesFailed); callback.run(); } } + if (id == NotificationCenter.loadingMessagesFailed && (Integer) args[0] == classGuid) { + getNotificationCenter().removeObserver(this, NotificationCenter.didReceiveNewMessages); + getNotificationCenter().removeObserver(this, NotificationCenter.loadingMessagesFailed); + if (doOnError != null) { + doOnError.run(); + } + } } - }, NotificationCenter.messagesDidLoad); - loadMessages(dialog_id, 1, finalMessageId, 0, true, 0, classGuid, 3, 0, false, false, 0); + }; + + getNotificationCenter().addObserver(delegate, NotificationCenter.messagesDidLoad); + getNotificationCenter().addObserver(delegate, NotificationCenter.loadingMessagesFailed); + + + loadMessages(dialog_id, 0, false, 1, finalMessageId, 0, true, 0, classGuid, 3, 0, false, false, 0); } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesStorage.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesStorage.java index 2d916015d..6623bf8b7 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesStorage.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesStorage.java @@ -279,7 +279,7 @@ public class MessagesStorage extends BaseController { database.executeFast("CREATE INDEX IF NOT EXISTS uid_date_idx_scheduled_messages ON scheduled_messages(uid, date);").stepThis().dispose(); database.executeFast("CREATE TABLE messages(mid INTEGER PRIMARY KEY, uid INTEGER, read_state INTEGER, send_state INTEGER, date INTEGER, data BLOB, out INTEGER, ttl INTEGER, media INTEGER, replydata BLOB, imp INTEGER, mention INTEGER)").stepThis().dispose(); - database.executeFast("CREATE INDEX IF NOT EXISTS uid_mid_idx_messages ON messages(uid, mid);").stepThis().dispose(); + database.executeFast("CREATE INDEX IF NOT EXISTS uid_mid_read_out_idx_messages ON messages(uid, mid, read_state, out);").stepThis().dispose(); database.executeFast("CREATE INDEX IF NOT EXISTS uid_date_mid_idx_messages ON messages(uid, date, mid);").stepThis().dispose(); database.executeFast("CREATE INDEX IF NOT EXISTS mid_out_idx_messages ON messages(mid, out);").stepThis().dispose(); database.executeFast("CREATE INDEX IF NOT EXISTS task_idx_messages ON messages(uid, out, read_state, ttl, date, send_state);").stepThis().dispose(); @@ -3312,7 +3312,13 @@ public class MessagesStorage extends BaseController { } else { state.bindInteger(9, getMessageMediaType(message)); } - state.bindInteger(10, 0); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state.bindInteger(10, flags); state.bindInteger(11, message.mentioned ? 1 : 0); state.step(); @@ -4895,95 +4901,99 @@ public class MessagesStorage extends BaseController { return result[0]; } - public TLRPC.ChatFull loadChatInfo(final int chat_id, final CountDownLatch countDownLatch, final boolean force, final boolean byChannelUsers) { - TLRPC.ChatFull[] result = new TLRPC.ChatFull[1]; - storageQueue.postRunnable(() -> { - MessageObject pinnedMessageObject = null; - TLRPC.ChatFull info = null; - ArrayList loadedUsers = new ArrayList<>(); - try { - SQLiteCursor cursor = database.queryFinalized("SELECT info, pinned, online FROM chat_settings_v2 WHERE uid = " + chat_id); - if (cursor.next()) { - NativeByteBuffer data = cursor.byteBufferValue(0); - if (data != null) { - info = TLRPC.ChatFull.TLdeserialize(data, data.readInt32(false), false); - data.reuse(); - info.pinned_msg_id = cursor.intValue(1); - info.online_count = cursor.intValue(2); + private TLRPC.ChatFull loadChatInfoInternal(final int chat_id, final boolean force, final boolean byChannelUsers) { + MessageObject pinnedMessageObject = null; + TLRPC.ChatFull info = null; + ArrayList loadedUsers = new ArrayList<>(); + try { + SQLiteCursor cursor = database.queryFinalized("SELECT info, pinned, online FROM chat_settings_v2 WHERE uid = " + chat_id); + if (cursor.next()) { + NativeByteBuffer data = cursor.byteBufferValue(0); + if (data != null) { + info = TLRPC.ChatFull.TLdeserialize(data, data.readInt32(false), false); + data.reuse(); + info.pinned_msg_id = cursor.intValue(1); + info.online_count = cursor.intValue(2); + } + } + cursor.dispose(); + + if (info instanceof TLRPC.TL_chatFull) { + StringBuilder usersToLoad = new StringBuilder(); + for (int a = 0; a < info.participants.participants.size(); a++) { + TLRPC.ChatParticipant c = info.participants.participants.get(a); + if (usersToLoad.length() != 0) { + usersToLoad.append(","); + } + usersToLoad.append(c.user_id); + } + if (usersToLoad.length() != 0) { + getUsersInternal(usersToLoad.toString(), loadedUsers); + } + } else if (info instanceof TLRPC.TL_channelFull) { + cursor = database.queryFinalized("SELECT us.data, us.status, cu.data, cu.date FROM channel_users_v2 as cu LEFT JOIN users as us ON us.uid = cu.uid WHERE cu.did = " + (-chat_id) + " ORDER BY cu.date DESC"); + info.participants = new TLRPC.TL_chatParticipants(); + while (cursor.next()) { + try { + TLRPC.User user = null; + TLRPC.ChannelParticipant participant = null; + NativeByteBuffer data = cursor.byteBufferValue(0); + if (data != null) { + user = TLRPC.User.TLdeserialize(data, data.readInt32(false), false); + data.reuse(); + } + data = cursor.byteBufferValue(2); + if (data != null) { + participant = TLRPC.ChannelParticipant.TLdeserialize(data, data.readInt32(false), false); + data.reuse(); + } + if (user != null && participant != null) { + if (user.status != null) { + user.status.expires = cursor.intValue(1); + } + loadedUsers.add(user); + participant.date = cursor.intValue(3); + TLRPC.TL_chatChannelParticipant chatChannelParticipant = new TLRPC.TL_chatChannelParticipant(); + chatChannelParticipant.user_id = participant.user_id; + chatChannelParticipant.date = participant.date; + chatChannelParticipant.inviter_id = participant.inviter_id; + chatChannelParticipant.channelParticipant = participant; + info.participants.participants.add(chatChannelParticipant); + } + } catch (Exception e) { + FileLog.e(e); } } cursor.dispose(); + StringBuilder usersToLoad = new StringBuilder(); + for (int a = 0; a < info.bot_info.size(); a++) { + TLRPC.BotInfo botInfo = info.bot_info.get(a); + if (usersToLoad.length() != 0) { + usersToLoad.append(","); + } + usersToLoad.append(botInfo.user_id); + } + if (usersToLoad.length() != 0) { + getUsersInternal(usersToLoad.toString(), loadedUsers); + } + } + if (info != null && info.pinned_msg_id != 0) { + pinnedMessageObject = getMediaDataController().loadPinnedMessage(-chat_id, info instanceof TLRPC.TL_channelFull ? chat_id : 0, info.pinned_msg_id, false); + } + } catch (Exception e) { + FileLog.e(e); + } finally { + getMessagesController().processChatInfo(chat_id, info, loadedUsers, true, force, byChannelUsers, pinnedMessageObject); + } + return info; + } - if (info instanceof TLRPC.TL_chatFull) { - StringBuilder usersToLoad = new StringBuilder(); - for (int a = 0; a < info.participants.participants.size(); a++) { - TLRPC.ChatParticipant c = info.participants.participants.get(a); - if (usersToLoad.length() != 0) { - usersToLoad.append(","); - } - usersToLoad.append(c.user_id); - } - if (usersToLoad.length() != 0) { - getUsersInternal(usersToLoad.toString(), loadedUsers); - } - } else if (info instanceof TLRPC.TL_channelFull) { - cursor = database.queryFinalized("SELECT us.data, us.status, cu.data, cu.date FROM channel_users_v2 as cu LEFT JOIN users as us ON us.uid = cu.uid WHERE cu.did = " + (-chat_id) + " ORDER BY cu.date DESC"); - info.participants = new TLRPC.TL_chatParticipants(); - while (cursor.next()) { - try { - TLRPC.User user = null; - TLRPC.ChannelParticipant participant = null; - NativeByteBuffer data = cursor.byteBufferValue(0); - if (data != null) { - user = TLRPC.User.TLdeserialize(data, data.readInt32(false), false); - data.reuse(); - } - data = cursor.byteBufferValue(2); - if (data != null) { - participant = TLRPC.ChannelParticipant.TLdeserialize(data, data.readInt32(false), false); - data.reuse(); - } - if (user != null && participant != null) { - if (user.status != null) { - user.status.expires = cursor.intValue(1); - } - loadedUsers.add(user); - participant.date = cursor.intValue(3); - TLRPC.TL_chatChannelParticipant chatChannelParticipant = new TLRPC.TL_chatChannelParticipant(); - chatChannelParticipant.user_id = participant.user_id; - chatChannelParticipant.date = participant.date; - chatChannelParticipant.inviter_id = participant.inviter_id; - chatChannelParticipant.channelParticipant = participant; - info.participants.participants.add(chatChannelParticipant); - } - } catch (Exception e) { - FileLog.e(e); - } - } - cursor.dispose(); - StringBuilder usersToLoad = new StringBuilder(); - for (int a = 0; a < info.bot_info.size(); a++) { - TLRPC.BotInfo botInfo = info.bot_info.get(a); - if (usersToLoad.length() != 0) { - usersToLoad.append(","); - } - usersToLoad.append(botInfo.user_id); - } - if (usersToLoad.length() != 0) { - getUsersInternal(usersToLoad.toString(), loadedUsers); - } - } - if (info != null && info.pinned_msg_id != 0) { - pinnedMessageObject = getMediaDataController().loadPinnedMessage(-chat_id, info instanceof TLRPC.TL_channelFull ? chat_id : 0, info.pinned_msg_id, false); - } - } catch (Exception e) { - FileLog.e(e); - } finally { - result[0] = info; - getMessagesController().processChatInfo(chat_id, info, loadedUsers, true, force, byChannelUsers, pinnedMessageObject); - if (countDownLatch != null) { - countDownLatch.countDown(); - } + public TLRPC.ChatFull loadChatInfo(final int chat_id, final CountDownLatch countDownLatch, final boolean force, final boolean byChannelUsers) { + TLRPC.ChatFull[] result = new TLRPC.ChatFull[1]; + storageQueue.postRunnable(() -> { + result[0] = loadChatInfoInternal(chat_id, force, byChannelUsers); + if (countDownLatch != null) { + countDownLatch.countDown(); } }); if (countDownLatch != null) { @@ -5621,70 +5631,522 @@ public class MessagesStorage extends BaseController { }); } - public void getMessages(final long dialog_id, final int count, final int max_id, final int offset_date, final int minDate, final int classGuid, final int load_type, final boolean isChannel, final boolean scheduled, final int loadIndex) { - storageQueue.postRunnable(() -> { - TLRPC.TL_messages_messages res = new TLRPC.TL_messages_messages(); - int currentUserId = getUserConfig().clientUserId; - int count_unread = 0; - int mentions_unread = 0; - int count_query = count; - int offset_query = 0; - int min_unread_id = 0; - int last_message_id = 0; - boolean queryFromServer = false; - int max_unread_date = 0; - long messageMaxId = max_id; - int max_id_query = max_id; - boolean unreadCountIsLocal = false; - int max_id_override = max_id; - int channelId = 0; - if (isChannel) { - channelId = -(int) dialog_id; - } - if (messageMaxId != 0 && channelId != 0) { - messageMaxId |= ((long) channelId) << 32; - } - boolean isEnd = false; - int num = dialog_id == 777000 ? 10 : 1; - try { - ArrayList usersToLoad = new ArrayList<>(); - ArrayList chatsToLoad = new ArrayList<>(); - ArrayList replyMessages = new ArrayList<>(); - SparseArray> replyMessageOwners = new SparseArray<>(); - LongSparseArray> replyMessageRandomOwners = new LongSparseArray<>(); - SQLiteCursor cursor; - if (scheduled) { + public Runnable getMessagesInternal(long dialogId, long mergeDialogId, int count, int max_id, int offset_date, int minDate, int classGuid, int load_type, boolean isChannel, boolean scheduled, int loadIndex) { + TLRPC.TL_messages_messages res = new TLRPC.TL_messages_messages(); + int currentUserId = getUserConfig().clientUserId; + int count_unread = 0; + int mentions_unread = 0; + int count_query = count; + int offset_query = 0; + int min_unread_id = 0; + int last_message_id = 0; + boolean queryFromServer = false; + int max_unread_date = 0; + long messageMaxId = max_id; + int max_id_query = max_id; + boolean unreadCountIsLocal = false; + int max_id_override = max_id; + int channelId = 0; + if (isChannel) { + channelId = -(int) dialogId; + } + if (messageMaxId != 0 && channelId != 0) { + messageMaxId |= ((long) channelId) << 32; + } + boolean isEnd = false; + int num = dialogId == 777000 ? 10 : 1; + try { + ArrayList usersToLoad = new ArrayList<>(); + ArrayList chatsToLoad = new ArrayList<>(); + ArrayList replyMessages = new ArrayList<>(); + SparseArray> replyMessageOwners = new SparseArray<>(); + LongSparseArray> replyMessageRandomOwners = new LongSparseArray<>(); + SQLiteCursor cursor; + if (scheduled) { + isEnd = true; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.ttl FROM scheduled_messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.date DESC", dialogId)); + while (cursor.next()) { + NativeByteBuffer data = cursor.byteBufferValue(0); + if (data != null) { + TLRPC.Message message = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); + message.send_state = cursor.intValue(1); + message.id = cursor.intValue(2); + if (message.id > 0 && message.send_state != 0 && message.send_state != 3) { + message.send_state = 0; + } + if (dialogId == currentUserId) { + message.out = true; + message.unread = false; + } else { + message.unread = true; + } + message.readAttachPath(data, currentUserId); + data.reuse(); + message.date = cursor.intValue(3); + message.dialog_id = dialogId; + if (message.ttl == 0) { + message.ttl = cursor.intValue(6); + } + res.messages.add(message); + + addUsersAndChatsFromMessage(message, usersToLoad, chatsToLoad); + + if (message.reply_to_msg_id != 0 || message.reply_to_random_id != 0) { + if (!cursor.isNull(5)) { + data = cursor.byteBufferValue(5); + if (data != null) { + message.replyMessage = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); + message.replyMessage.readAttachPath(data, currentUserId); + data.reuse(); + if (message.replyMessage != null) { + if (MessageObject.isMegagroup(message)) { + message.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; + } + addUsersAndChatsFromMessage(message.replyMessage, usersToLoad, chatsToLoad); + } + } + } + if (message.replyMessage == null) { + if (message.reply_to_msg_id != 0) { + long messageId = message.reply_to_msg_id; + if (message.to_id.channel_id != 0) { + messageId |= ((long) message.to_id.channel_id) << 32; + } + if (!replyMessages.contains(messageId)) { + replyMessages.add(messageId); + } + ArrayList messages = replyMessageOwners.get(message.reply_to_msg_id); + if (messages == null) { + messages = new ArrayList<>(); + replyMessageOwners.put(message.reply_to_msg_id, messages); + } + messages.add(message); + } else { + if (!replyMessages.contains(message.reply_to_random_id)) { + replyMessages.add(message.reply_to_random_id); + } + ArrayList messages = replyMessageRandomOwners.get(message.reply_to_random_id); + if (messages == null) { + messages = new ArrayList<>(); + replyMessageRandomOwners.put(message.reply_to_random_id, messages); + } + messages.add(message); + } + } + } + } + } + cursor.dispose(); + } else { + int lower_id = (int) dialogId; + if (lower_id != 0) { + if (load_type == 3 && minDate == 0) { + cursor = database.queryFinalized("SELECT inbox_max, unread_count, date, unread_count_i FROM dialogs WHERE did = " + dialogId); + if (cursor.next()) { + min_unread_id = cursor.intValue(0) + 1; + count_unread = cursor.intValue(1); + max_unread_date = cursor.intValue(2); + mentions_unread = cursor.intValue(3); + } + cursor.dispose(); + } else if (load_type != 1 && load_type != 3 && load_type != 4 && minDate == 0) { + if (load_type == 2) { + cursor = database.queryFinalized("SELECT inbox_max, unread_count, date, unread_count_i FROM dialogs WHERE did = " + dialogId); + if (cursor.next()) { + messageMaxId = max_id_query = min_unread_id = cursor.intValue(0); + count_unread = cursor.intValue(1); + max_unread_date = cursor.intValue(2); + mentions_unread = cursor.intValue(3); + queryFromServer = true; + if (messageMaxId != 0 && channelId != 0) { + messageMaxId |= ((long) channelId) << 32; + } + if (dialogId == currentUserId) { + count_unread = 0; + } + } + cursor.dispose(); + if (!queryFromServer) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > 0", dialogId)); + if (cursor.next()) { + min_unread_id = cursor.intValue(0); + max_unread_date = cursor.intValue(1); + } + cursor.dispose(); + if (min_unread_id != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid >= %d AND out = 0 AND read_state IN(0,2)", dialogId, min_unread_id)); + if (cursor.next()) { + count_unread = cursor.intValue(0); + } + cursor.dispose(); + } + } else if (max_id_query == 0) { + int existingUnreadCount = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid > 0 AND out = 0 AND read_state IN(0,2)", dialogId)); + if (cursor.next()) { + existingUnreadCount = cursor.intValue(0); + } + cursor.dispose(); + if (existingUnreadCount == count_unread) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > 0", dialogId)); + if (cursor.next()) { + messageMaxId = max_id_query = min_unread_id = cursor.intValue(0); + if (messageMaxId != 0 && channelId != 0) { + messageMaxId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + } + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start, end FROM messages_holes WHERE uid = %d AND start < %d AND end > %d", dialogId, max_id_query, max_id_query)); + boolean containMessage = !cursor.next(); + cursor.dispose(); + + if (containMessage) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > %d", dialogId, max_id_query)); + if (cursor.next()) { + messageMaxId = max_id_query = cursor.intValue(0); + if (messageMaxId != 0 && channelId != 0) { + messageMaxId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + } + } + } + + if (count_query > count_unread || count_unread < num) { + count_query = Math.max(count_query, count_unread + 10); + if (count_unread < num) { + count_unread = 0; + min_unread_id = 0; + messageMaxId = 0; + last_message_id = 0; + queryFromServer = false; + } + } else { + offset_query = count_unread - count_query; + count_query += 10; + } + } + + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start IN (0, 1)", dialogId)); + if (cursor.next()) { + isEnd = cursor.intValue(0) == 1; + cursor.dispose(); + } else { + cursor.dispose(); + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid > 0", dialogId)); + if (cursor.next()) { + int mid = cursor.intValue(0); + if (mid != 0) { + SQLitePreparedStatement state = database.executeFast("REPLACE INTO messages_holes VALUES(?, ?, ?)"); + state.requery(); + state.bindLong(1, dialogId); + state.bindInteger(2, 0); + state.bindInteger(3, mid); + state.step(); + state.dispose(); + } + } + cursor.dispose(); + } + + if (load_type == 3 || load_type == 4 || queryFromServer && load_type == 2) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND mid > 0", dialogId)); + if (cursor.next()) { + last_message_id = cursor.intValue(0); + } + cursor.dispose(); + + if (load_type == 4 && offset_date != 0) { + int startMid; + int endMid; + + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND date <= %d AND mid > 0", dialogId, offset_date)); + if (cursor.next()) { + startMid = cursor.intValue(0); + } else { + startMid = -1; + } + cursor.dispose(); + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND date >= %d AND mid > 0", dialogId, offset_date)); + if (cursor.next()) { + endMid = cursor.intValue(0); + } else { + endMid = -1; + } + cursor.dispose(); + if (startMid != -1 && endMid != -1) { + if (startMid == endMid) { + max_id_query = startMid; + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start <= %d AND end > %d", dialogId, startMid, startMid)); + if (cursor.next()) { + startMid = -1; + } + cursor.dispose(); + if (startMid != -1) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start <= %d AND end > %d", dialogId, endMid, endMid)); + if (cursor.next()) { + endMid = -1; + } + cursor.dispose(); + if (endMid != -1) { + max_id_override = endMid; + messageMaxId = max_id_query = endMid; + if (messageMaxId != 0 && channelId != 0) { + messageMaxId |= ((long) channelId) << 32; + } + } + } + } + } + } + + boolean containMessage = max_id_query != 0; + if (containMessage) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start < %d AND end > %d", dialogId, max_id_query, max_id_query)); + if (cursor.next()) { + containMessage = false; + } + cursor.dispose(); + } + + if (containMessage) { + long holeMessageMaxId = 0; + long holeMessageMinId = 1; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start >= %d ORDER BY start ASC LIMIT 1", dialogId, max_id_query)); + if (cursor.next()) { + holeMessageMaxId = cursor.intValue(0); + if (channelId != 0) { + holeMessageMaxId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + cursor = database.queryFinalized(String.format(Locale.US, "SELECT end FROM messages_holes WHERE uid = %d AND end <= %d ORDER BY end DESC LIMIT 1", dialogId, max_id_query)); + if (cursor.next()) { + holeMessageMinId = cursor.intValue(0); + if (channelId != 0) { + holeMessageMinId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + if (holeMessageMaxId != 0 || holeMessageMinId != 1) { + if (holeMessageMaxId == 0) { + holeMessageMaxId = 1000000000; + if (channelId != 0) { + holeMessageMaxId |= ((long) channelId) << 32; + } + } + cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + + "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d AND (m.mid <= %d OR m.mid < 0) ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialogId, messageMaxId, holeMessageMinId, count_query / 2, dialogId, messageMaxId, holeMessageMaxId, count_query / 2)); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + + "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialogId, messageMaxId, count_query / 2, dialogId, messageMaxId, count_query / 2)); + } + } else { + if (load_type == 2) { + int existingUnreadCount = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid != 0 AND out = 0 AND read_state IN(0,2)", dialogId)); + if (cursor.next()) { + existingUnreadCount = cursor.intValue(0); + } + cursor.dispose(); + if (existingUnreadCount == count_unread) { + unreadCountIsLocal = true; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + + "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialogId, messageMaxId, count_query / 2, dialogId, messageMaxId, count_query / 2)); + } else { + cursor = null; + } + } else { + cursor = null; + } + } + } else if (load_type == 1) { + long holeMessageId = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT start, end FROM messages_holes WHERE uid = %d AND start >= %d AND start != 1 AND end != 1 ORDER BY start ASC LIMIT 1", dialogId, max_id)); + if (cursor.next()) { + holeMessageId = cursor.intValue(0); + if (channelId != 0) { + holeMessageId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + if (holeMessageId != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date >= %d AND m.mid > %d AND m.mid <= %d ORDER BY m.date ASC, m.mid ASC LIMIT %d", dialogId, minDate, messageMaxId, holeMessageId, count_query)); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date >= %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d", dialogId, minDate, messageMaxId, count_query)); + } + } else if (minDate != 0) { + if (messageMaxId != 0) { + long holeMessageId = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT end FROM messages_holes WHERE uid = %d AND end <= %d ORDER BY end DESC LIMIT 1", dialogId, max_id)); + if (cursor.next()) { + holeMessageId = cursor.intValue(0); + if (channelId != 0) { + holeMessageId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + if (holeMessageId != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d AND m.mid < %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d", dialogId, minDate, messageMaxId, holeMessageId, count_query)); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d AND m.mid < %d ORDER BY m.date DESC, m.mid DESC LIMIT %d", dialogId, minDate, messageMaxId, count_query)); + } + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialogId, minDate, offset_query, count_query)); + } + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND mid > 0", dialogId)); + if (cursor.next()) { + last_message_id = cursor.intValue(0); + } + cursor.dispose(); + + long holeMessageId = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(end) FROM messages_holes WHERE uid = %d", dialogId)); + if (cursor.next()) { + holeMessageId = cursor.intValue(0); + if (channelId != 0) { + holeMessageId |= ((long) channelId) << 32; + } + } + cursor.dispose(); + if (holeMessageId != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialogId, holeMessageId, offset_query, count_query)); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialogId, offset_query, count_query)); + } + } + } else { isEnd = true; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.ttl FROM scheduled_messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.date DESC", dialog_id)); + + if (load_type == 3 && minDate == 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialogId)); + if (cursor.next()) { + min_unread_id = cursor.intValue(0); + } + cursor.dispose(); + + int min_unread_id2 = 0; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid < 0", dialogId)); + if (cursor.next()) { + min_unread_id2 = cursor.intValue(0); + max_unread_date = cursor.intValue(1); + } + cursor.dispose(); + if (min_unread_id2 != 0) { + min_unread_id = min_unread_id2; + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid <= %d AND out = 0 AND read_state IN(0,2)", dialogId, min_unread_id2)); + if (cursor.next()) { + count_unread = cursor.intValue(0); + } + cursor.dispose(); + } + } + + if (load_type == 3 || load_type == 4) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialogId)); + if (cursor.next()) { + last_message_id = cursor.intValue(0); + } + cursor.dispose(); + + cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.mid DESC LIMIT %d) UNION " + + "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.mid ASC LIMIT %d)", dialogId, messageMaxId, count_query / 2, dialogId, messageMaxId, count_query / 2)); + } else if (load_type == 1) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid < %d ORDER BY m.mid DESC LIMIT %d", dialogId, max_id, count_query)); + } else if (minDate != 0) { + if (max_id != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.mid ASC LIMIT %d", dialogId, max_id, count_query)); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d ORDER BY m.mid ASC LIMIT %d,%d", dialogId, minDate, offset_query, count_query)); + } + } else { + if (load_type == 2) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialogId)); + if (cursor.next()) { + last_message_id = cursor.intValue(0); + } + cursor.dispose(); + + cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid < 0", dialogId)); + if (cursor.next()) { + min_unread_id = cursor.intValue(0); + max_unread_date = cursor.intValue(1); + } + cursor.dispose(); + if (min_unread_id != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid <= %d AND out = 0 AND read_state IN(0,2)", dialogId, min_unread_id)); + if (cursor.next()) { + count_unread = cursor.intValue(0); + } + cursor.dispose(); + } + } + + if (count_query > count_unread || count_unread < num) { + count_query = Math.max(count_query, count_unread + 10); + if (count_unread < num) { + count_unread = 0; + min_unread_id = 0; + last_message_id = 0; + } + } else { + offset_query = count_unread - count_query; + count_query += 10; + } + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention, m.imp FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.mid ASC LIMIT %d,%d", dialogId, offset_query, count_query)); + } + } + int minId = Integer.MAX_VALUE; + int maxId = Integer.MIN_VALUE; + if (cursor != null) { while (cursor.next()) { - NativeByteBuffer data = cursor.byteBufferValue(0); + NativeByteBuffer data = cursor.byteBufferValue(1); if (data != null) { TLRPC.Message message = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); - message.send_state = cursor.intValue(1); - message.id = cursor.intValue(2); + message.send_state = cursor.intValue(2); + message.id = cursor.intValue(3); if (message.id > 0 && message.send_state != 0 && message.send_state != 3) { message.send_state = 0; } - if (dialog_id == currentUserId) { + if (dialogId == currentUserId) { message.out = true; - message.unread = false; - } else { - message.unread = true; } message.readAttachPath(data, currentUserId); data.reuse(); - message.date = cursor.intValue(3); - message.dialog_id = dialog_id; - if (message.ttl == 0) { - message.ttl = cursor.intValue(6); + MessageObject.setUnreadFlags(message, cursor.intValue(0)); + if (message.id > 0) { + minId = Math.min(message.id, minId); + maxId = Math.max(message.id, maxId); + } + message.date = cursor.intValue(4); + message.dialog_id = dialogId; + if ((message.flags & TLRPC.MESSAGE_FLAG_HAS_VIEWS) != 0) { + message.views = cursor.intValue(7); + } + if (lower_id != 0 && message.ttl == 0) { + message.ttl = cursor.intValue(8); + } + if (cursor.intValue(9) != 0) { + message.mentioned = true; + } + int flags = cursor.intValue(10); + if ((flags & 1) != 0) { + message.stickerVerified = 0; + } else if ((flags & 2) != 0) { + message.stickerVerified = 2; } res.messages.add(message); addUsersAndChatsFromMessage(message, usersToLoad, chatsToLoad); if (message.reply_to_msg_id != 0 || message.reply_to_random_id != 0) { - if (!cursor.isNull(5)) { - data = cursor.byteBufferValue(5); + if (!cursor.isNull(6)) { + data = cursor.byteBufferValue(6); if (data != null) { message.replyMessage = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); message.replyMessage.readAttachPath(data, currentUserId); @@ -5725,590 +6187,174 @@ public class MessagesStorage extends BaseController { } } } + if (lower_id == 0 && !cursor.isNull(5)) { + message.random_id = cursor.longValue(5); + } + if (MessageObject.isSecretMedia(message)) { + try { + SQLiteCursor cursor2 = database.queryFinalized(String.format(Locale.US, "SELECT date FROM enc_tasks_v2 WHERE mid = %d", message.id)); + if (cursor2.next()) { + message.destroyTime = cursor2.intValue(0); + } + cursor2.dispose(); + } catch (Exception e) { + FileLog.e(e); + } + } } } cursor.dispose(); - } else { - int lower_id = (int) dialog_id; - if (lower_id != 0) { - if (load_type == 3 && minDate == 0) { - cursor = database.queryFinalized("SELECT inbox_max, unread_count, date, unread_count_i FROM dialogs WHERE did = " + dialog_id); - if (cursor.next()) { - min_unread_id = cursor.intValue(0) + 1; - count_unread = cursor.intValue(1); - max_unread_date = cursor.intValue(2); - mentions_unread = cursor.intValue(3); - } - cursor.dispose(); - } else if (load_type != 1 && load_type != 3 && load_type != 4 && minDate == 0) { - if (load_type == 2) { - cursor = database.queryFinalized("SELECT inbox_max, unread_count, date, unread_count_i FROM dialogs WHERE did = " + dialog_id); - if (cursor.next()) { - messageMaxId = max_id_query = min_unread_id = cursor.intValue(0); - count_unread = cursor.intValue(1); - max_unread_date = cursor.intValue(2); - mentions_unread = cursor.intValue(3); - queryFromServer = true; - if (messageMaxId != 0 && channelId != 0) { - messageMaxId |= ((long) channelId) << 32; - } - if (dialog_id == currentUserId) { - count_unread = 0; - } - } - cursor.dispose(); - if (!queryFromServer) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > 0", dialog_id)); - if (cursor.next()) { - min_unread_id = cursor.intValue(0); - max_unread_date = cursor.intValue(1); - } - cursor.dispose(); - if (min_unread_id != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid >= %d AND out = 0 AND read_state IN(0,2)", dialog_id, min_unread_id)); - if (cursor.next()) { - count_unread = cursor.intValue(0); - } - cursor.dispose(); - } - } else if (max_id_query == 0) { - int existingUnreadCount = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid > 0 AND out = 0 AND read_state IN(0,2)", dialog_id)); - if (cursor.next()) { - existingUnreadCount = cursor.intValue(0); - } - cursor.dispose(); - if (existingUnreadCount == count_unread) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > 0", dialog_id)); - if (cursor.next()) { - messageMaxId = max_id_query = min_unread_id = cursor.intValue(0); - if (messageMaxId != 0 && channelId != 0) { - messageMaxId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - } - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start, end FROM messages_holes WHERE uid = %d AND start < %d AND end > %d", dialog_id, max_id_query, max_id_query)); - boolean containMessage = !cursor.next(); - cursor.dispose(); + } - if (containMessage) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid > %d", dialog_id, max_id_query)); - if (cursor.next()) { - messageMaxId = max_id_query = cursor.intValue(0); - if (messageMaxId != 0 && channelId != 0) { - messageMaxId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - } - } - } - - if (count_query > count_unread || count_unread < num) { - count_query = Math.max(count_query, count_unread + 10); - if (count_unread < num) { - count_unread = 0; - min_unread_id = 0; - messageMaxId = 0; - last_message_id = 0; - queryFromServer = false; - } - } else { - offset_query = count_unread - count_query; - count_query += 10; - } + Collections.sort(res.messages, (lhs, rhs) -> { + if (lhs.id > 0 && rhs.id > 0) { + if (lhs.id > rhs.id) { + return -1; + } else if (lhs.id < rhs.id) { + return 1; } - - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start IN (0, 1)", dialog_id)); - if (cursor.next()) { - isEnd = cursor.intValue(0) == 1; - cursor.dispose(); - } else { - cursor.dispose(); - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid > 0", dialog_id)); - if (cursor.next()) { - int mid = cursor.intValue(0); - if (mid != 0) { - SQLitePreparedStatement state = database.executeFast("REPLACE INTO messages_holes VALUES(?, ?, ?)"); - state.requery(); - state.bindLong(1, dialog_id); - state.bindInteger(2, 0); - state.bindInteger(3, mid); - state.step(); - state.dispose(); - } - } - cursor.dispose(); - } - - if (load_type == 3 || load_type == 4 || queryFromServer && load_type == 2) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND mid > 0", dialog_id)); - if (cursor.next()) { - last_message_id = cursor.intValue(0); - } - cursor.dispose(); - - if (load_type == 4 && offset_date != 0) { - int startMid; - int endMid; - - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND date <= %d AND mid > 0", dialog_id, offset_date)); - if (cursor.next()) { - startMid = cursor.intValue(0); - } else { - startMid = -1; - } - cursor.dispose(); - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND date >= %d AND mid > 0", dialog_id, offset_date)); - if (cursor.next()) { - endMid = cursor.intValue(0); - } else { - endMid = -1; - } - cursor.dispose(); - if (startMid != -1 && endMid != -1) { - if (startMid == endMid) { - max_id_query = startMid; - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start <= %d AND end > %d", dialog_id, startMid, startMid)); - if (cursor.next()) { - startMid = -1; - } - cursor.dispose(); - if (startMid != -1) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start <= %d AND end > %d", dialog_id, endMid, endMid)); - if (cursor.next()) { - endMid = -1; - } - cursor.dispose(); - if (endMid != -1) { - max_id_override = endMid; - messageMaxId = max_id_query = endMid; - if (messageMaxId != 0 && channelId != 0) { - messageMaxId |= ((long) channelId) << 32; - } - } - } - } - } - } - - boolean containMessage = max_id_query != 0; - if (containMessage) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start < %d AND end > %d", dialog_id, max_id_query, max_id_query)); - if (cursor.next()) { - containMessage = false; - } - cursor.dispose(); - } - - if (containMessage) { - long holeMessageMaxId = 0; - long holeMessageMinId = 1; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start FROM messages_holes WHERE uid = %d AND start >= %d ORDER BY start ASC LIMIT 1", dialog_id, max_id_query)); - if (cursor.next()) { - holeMessageMaxId = cursor.intValue(0); - if (channelId != 0) { - holeMessageMaxId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - cursor = database.queryFinalized(String.format(Locale.US, "SELECT end FROM messages_holes WHERE uid = %d AND end <= %d ORDER BY end DESC LIMIT 1", dialog_id, max_id_query)); - if (cursor.next()) { - holeMessageMinId = cursor.intValue(0); - if (channelId != 0) { - holeMessageMinId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - if (holeMessageMaxId != 0 || holeMessageMinId != 1) { - if (holeMessageMaxId == 0) { - holeMessageMaxId = 1000000000; - if (channelId != 0) { - holeMessageMaxId |= ((long) channelId) << 32; - } - } - cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + - "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d AND (m.mid <= %d OR m.mid < 0) ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialog_id, messageMaxId, holeMessageMinId, count_query / 2, dialog_id, messageMaxId, holeMessageMaxId, count_query / 2)); - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + - "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialog_id, messageMaxId, count_query / 2, dialog_id, messageMaxId, count_query / 2)); - } - } else { - if (load_type == 2) { - int existingUnreadCount = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid != 0 AND out = 0 AND read_state IN(0,2)", dialog_id)); - if (cursor.next()) { - existingUnreadCount = cursor.intValue(0); - } - cursor.dispose(); - if (existingUnreadCount == count_unread) { - unreadCountIsLocal = true; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d) UNION " + - "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d)", dialog_id, messageMaxId, count_query / 2, dialog_id, messageMaxId, count_query / 2)); - } else { - cursor = null; - } - } else { - cursor = null; - } - } - } else if (load_type == 1) { - long holeMessageId = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT start, end FROM messages_holes WHERE uid = %d AND start >= %d AND start != 1 AND end != 1 ORDER BY start ASC LIMIT 1", dialog_id, max_id)); - if (cursor.next()) { - holeMessageId = cursor.intValue(0); - if (channelId != 0) { - holeMessageId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - if (holeMessageId != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date >= %d AND m.mid > %d AND m.mid <= %d ORDER BY m.date ASC, m.mid ASC LIMIT %d", dialog_id, minDate, messageMaxId, holeMessageId, count_query)); - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date >= %d AND m.mid > %d ORDER BY m.date ASC, m.mid ASC LIMIT %d", dialog_id, minDate, messageMaxId, count_query)); - } - } else if (minDate != 0) { - if (messageMaxId != 0) { - long holeMessageId = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT end FROM messages_holes WHERE uid = %d AND end <= %d ORDER BY end DESC LIMIT 1", dialog_id, max_id)); - if (cursor.next()) { - holeMessageId = cursor.intValue(0); - if (channelId != 0) { - holeMessageId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - if (holeMessageId != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d AND m.mid < %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d", dialog_id, minDate, messageMaxId, holeMessageId, count_query)); - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d AND m.mid < %d ORDER BY m.date DESC, m.mid DESC LIMIT %d", dialog_id, minDate, messageMaxId, count_query)); - } - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialog_id, minDate, offset_query, count_query)); - } - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid) FROM messages WHERE uid = %d AND mid > 0", dialog_id)); - if (cursor.next()) { - last_message_id = cursor.intValue(0); - } - cursor.dispose(); - - long holeMessageId = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(end) FROM messages_holes WHERE uid = %d", dialog_id)); - if (cursor.next()) { - holeMessageId = cursor.intValue(0); - if (channelId != 0) { - holeMessageId |= ((long) channelId) << 32; - } - } - cursor.dispose(); - if (holeMessageId != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND (m.mid >= %d OR m.mid < 0) ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialog_id, holeMessageId, offset_query, count_query)); - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.date DESC, m.mid DESC LIMIT %d,%d", dialog_id, offset_query, count_query)); - } + } else if (lhs.id < 0 && rhs.id < 0) { + if (lhs.id < rhs.id) { + return -1; + } else if (lhs.id > rhs.id) { + return 1; } } else { - isEnd = true; - - if (load_type == 3 && minDate == 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialog_id)); - if (cursor.next()) { - min_unread_id = cursor.intValue(0); - } - cursor.dispose(); - - int min_unread_id2 = 0; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid < 0", dialog_id)); - if (cursor.next()) { - min_unread_id2 = cursor.intValue(0); - max_unread_date = cursor.intValue(1); - } - cursor.dispose(); - if (min_unread_id2 != 0) { - min_unread_id = min_unread_id2; - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid <= %d AND out = 0 AND read_state IN(0,2)", dialog_id, min_unread_id2)); - if (cursor.next()) { - count_unread = cursor.intValue(0); - } - cursor.dispose(); - } - } - - if (load_type == 3 || load_type == 4) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialog_id)); - if (cursor.next()) { - last_message_id = cursor.intValue(0); - } - cursor.dispose(); - - cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid <= %d ORDER BY m.mid DESC LIMIT %d) UNION " + - "SELECT * FROM (SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.mid ASC LIMIT %d)", dialog_id, messageMaxId, count_query / 2, dialog_id, messageMaxId, count_query / 2)); - } else if (load_type == 1) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid < %d ORDER BY m.mid DESC LIMIT %d", dialog_id, max_id, count_query)); - } else if (minDate != 0) { - if (max_id != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.mid > %d ORDER BY m.mid ASC LIMIT %d", dialog_id, max_id, count_query)); - } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d AND m.date <= %d ORDER BY m.mid ASC LIMIT %d,%d", dialog_id, minDate, offset_query, count_query)); - } - } else { - if (load_type == 2) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT min(mid) FROM messages WHERE uid = %d AND mid < 0", dialog_id)); - if (cursor.next()) { - last_message_id = cursor.intValue(0); - } - cursor.dispose(); - - cursor = database.queryFinalized(String.format(Locale.US, "SELECT max(mid), max(date) FROM messages WHERE uid = %d AND out = 0 AND read_state IN(0,2) AND mid < 0", dialog_id)); - if (cursor.next()) { - min_unread_id = cursor.intValue(0); - max_unread_date = cursor.intValue(1); - } - cursor.dispose(); - if (min_unread_id != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(*) FROM messages WHERE uid = %d AND mid <= %d AND out = 0 AND read_state IN(0,2)", dialog_id, min_unread_id)); - if (cursor.next()) { - count_unread = cursor.intValue(0); - } - cursor.dispose(); - } - } - - if (count_query > count_unread || count_unread < num) { - count_query = Math.max(count_query, count_unread + 10); - if (count_unread < num) { - count_unread = 0; - min_unread_id = 0; - last_message_id = 0; - } - } else { - offset_query = count_unread - count_query; - count_query += 10; - } - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id, m.replydata, m.media, m.ttl, m.mention FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.mid ASC LIMIT %d,%d", dialog_id, offset_query, count_query)); + if (lhs.date > rhs.date) { + return -1; + } else if (lhs.date < rhs.date) { + return 1; } } - int minId = Integer.MAX_VALUE; - int maxId = Integer.MIN_VALUE; - if (cursor != null) { - while (cursor.next()) { - NativeByteBuffer data = cursor.byteBufferValue(1); - if (data != null) { - TLRPC.Message message = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); - message.send_state = cursor.intValue(2); - message.id = cursor.intValue(3); - if (message.id > 0 && message.send_state != 0 && message.send_state != 3) { - message.send_state = 0; - } - if (dialog_id == currentUserId) { - message.out = true; - } - message.readAttachPath(data, currentUserId); - data.reuse(); - MessageObject.setUnreadFlags(message, cursor.intValue(0)); - if (message.id > 0) { - minId = Math.min(message.id, minId); - maxId = Math.max(message.id, maxId); - } - message.date = cursor.intValue(4); - message.dialog_id = dialog_id; - if ((message.flags & TLRPC.MESSAGE_FLAG_HAS_VIEWS) != 0) { - message.views = cursor.intValue(7); - } - if (lower_id != 0 && message.ttl == 0) { - message.ttl = cursor.intValue(8); - } - if (cursor.intValue(9) != 0) { - message.mentioned = true; - } - res.messages.add(message); + return 0; + }); - addUsersAndChatsFromMessage(message, usersToLoad, chatsToLoad); - - if (message.reply_to_msg_id != 0 || message.reply_to_random_id != 0) { - if (!cursor.isNull(6)) { - data = cursor.byteBufferValue(6); - if (data != null) { - message.replyMessage = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); - message.replyMessage.readAttachPath(data, currentUserId); - data.reuse(); - if (message.replyMessage != null) { - if (MessageObject.isMegagroup(message)) { - message.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; - } - addUsersAndChatsFromMessage(message.replyMessage, usersToLoad, chatsToLoad); - } - } - } - if (message.replyMessage == null) { - if (message.reply_to_msg_id != 0) { - long messageId = message.reply_to_msg_id; - if (message.to_id.channel_id != 0) { - messageId |= ((long) message.to_id.channel_id) << 32; - } - if (!replyMessages.contains(messageId)) { - replyMessages.add(messageId); - } - ArrayList messages = replyMessageOwners.get(message.reply_to_msg_id); - if (messages == null) { - messages = new ArrayList<>(); - replyMessageOwners.put(message.reply_to_msg_id, messages); - } - messages.add(message); - } else { - if (!replyMessages.contains(message.reply_to_random_id)) { - replyMessages.add(message.reply_to_random_id); - } - ArrayList messages = replyMessageRandomOwners.get(message.reply_to_random_id); - if (messages == null) { - messages = new ArrayList<>(); - replyMessageRandomOwners.put(message.reply_to_random_id, messages); - } - messages.add(message); - } - } - } - if (lower_id == 0 && !cursor.isNull(5)) { - message.random_id = cursor.longValue(5); - } - if (MessageObject.isSecretMedia(message)) { - try { - SQLiteCursor cursor2 = database.queryFinalized(String.format(Locale.US, "SELECT date FROM enc_tasks_v2 WHERE mid = %d", message.id)); - if (cursor2.next()) { - message.destroyTime = cursor2.intValue(0); - } - cursor2.dispose(); - } catch (Exception e) { - FileLog.e(e); - } - } - } - } - cursor.dispose(); - } - - Collections.sort(res.messages, (lhs, rhs) -> { - if (lhs.id > 0 && rhs.id > 0) { - if (lhs.id > rhs.id) { - return -1; - } else if (lhs.id < rhs.id) { - return 1; - } - } else if (lhs.id < 0 && rhs.id < 0) { - if (lhs.id < rhs.id) { - return -1; - } else if (lhs.id > rhs.id) { - return 1; - } - } else { - if (lhs.date > rhs.date) { - return -1; - } else if (lhs.date < rhs.date) { - return 1; - } - } - return 0; - }); - - if (lower_id != 0) { - if ((load_type == 3 || load_type == 4 || load_type == 2 && queryFromServer && !unreadCountIsLocal) && !res.messages.isEmpty()) { - if (!(minId <= max_id_query && maxId >= max_id_query)) { - replyMessages.clear(); - usersToLoad.clear(); - chatsToLoad.clear(); - res.messages.clear(); - } - } - if ((load_type == 4 || load_type == 3) && res.messages.size() == 1) { + if (lower_id != 0) { + if ((load_type == 3 || load_type == 4 || load_type == 2 && queryFromServer && !unreadCountIsLocal) && !res.messages.isEmpty()) { + if (!(minId <= max_id_query && maxId >= max_id_query)) { + replyMessages.clear(); + usersToLoad.clear(); + chatsToLoad.clear(); res.messages.clear(); } } - if (mentions_unread != 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(mid) FROM messages WHERE uid = %d AND mention = 1 AND read_state IN(0, 1)", dialog_id)); - if (cursor.next()) { - if (mentions_unread != cursor.intValue(0)) { - mentions_unread *= -1; - } - } else { + if ((load_type == 4 || load_type == 3) && res.messages.size() == 1) { + res.messages.clear(); + } + } + if (mentions_unread != 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT COUNT(mid) FROM messages WHERE uid = %d AND mention = 1 AND read_state IN(0, 1)", dialogId)); + if (cursor.next()) { + if (mentions_unread != cursor.intValue(0)) { mentions_unread *= -1; } - cursor.dispose(); - } - } - if (!replyMessages.isEmpty()) { - if (replyMessageOwners.size() > 0) { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT data, mid, date FROM messages WHERE mid IN(%s)", TextUtils.join(",", replyMessages))); } else { - cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.data, m.mid, m.date, r.random_id FROM randoms as r INNER JOIN messages as m ON r.mid = m.mid WHERE r.random_id IN(%s)", TextUtils.join(",", replyMessages))); - } - while (cursor.next()) { - NativeByteBuffer data = cursor.byteBufferValue(0); - if (data != null) { - TLRPC.Message message = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); - message.readAttachPath(data, currentUserId); - data.reuse(); - message.id = cursor.intValue(1); - message.date = cursor.intValue(2); - message.dialog_id = dialog_id; - - addUsersAndChatsFromMessage(message, usersToLoad, chatsToLoad); - - if (replyMessageOwners.size() > 0) { - ArrayList arrayList = replyMessageOwners.get(message.id); - if (arrayList != null) { - for (int a = 0; a < arrayList.size(); a++) { - TLRPC.Message object = arrayList.get(a); - object.replyMessage = message; - if (MessageObject.isMegagroup(object)) { - object.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; - } - } - } - } else { - long value = cursor.longValue(3); - ArrayList arrayList = replyMessageRandomOwners.get(value); - replyMessageRandomOwners.remove(value); - if (arrayList != null) { - for (int a = 0; a < arrayList.size(); a++) { - TLRPC.Message object = arrayList.get(a); - object.replyMessage = message; - object.reply_to_msg_id = message.id; - if (MessageObject.isMegagroup(object)) { - object.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; - } - } - } - } - } + mentions_unread *= -1; } cursor.dispose(); - if (replyMessageRandomOwners.size() > 0) { - for (int b = 0; b < replyMessageRandomOwners.size(); b++) { - ArrayList arrayList = replyMessageRandomOwners.valueAt(b); - for (int a = 0; a < arrayList.size(); a++) { - arrayList.get(a).reply_to_random_id = 0; + } + } + if (!replyMessages.isEmpty()) { + if (replyMessageOwners.size() > 0) { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT data, mid, date FROM messages WHERE mid IN(%s)", TextUtils.join(",", replyMessages))); + } else { + cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.data, m.mid, m.date, r.random_id FROM randoms as r INNER JOIN messages as m ON r.mid = m.mid WHERE r.random_id IN(%s)", TextUtils.join(",", replyMessages))); + } + while (cursor.next()) { + NativeByteBuffer data = cursor.byteBufferValue(0); + if (data != null) { + TLRPC.Message message = TLRPC.Message.TLdeserialize(data, data.readInt32(false), false); + message.readAttachPath(data, currentUserId); + data.reuse(); + message.id = cursor.intValue(1); + message.date = cursor.intValue(2); + message.dialog_id = dialogId; + + addUsersAndChatsFromMessage(message, usersToLoad, chatsToLoad); + + if (replyMessageOwners.size() > 0) { + ArrayList arrayList = replyMessageOwners.get(message.id); + if (arrayList != null) { + for (int a = 0; a < arrayList.size(); a++) { + TLRPC.Message object = arrayList.get(a); + object.replyMessage = message; + if (MessageObject.isMegagroup(object)) { + object.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; + } + } + } + } else { + long value = cursor.longValue(3); + ArrayList arrayList = replyMessageRandomOwners.get(value); + replyMessageRandomOwners.remove(value); + if (arrayList != null) { + for (int a = 0; a < arrayList.size(); a++) { + TLRPC.Message object = arrayList.get(a); + object.replyMessage = message; + object.reply_to_msg_id = message.id; + if (MessageObject.isMegagroup(object)) { + object.replyMessage.flags |= TLRPC.MESSAGE_FLAG_MEGAGROUP; + } + } } } } } - if (!usersToLoad.isEmpty()) { - getUsersInternal(TextUtils.join(",", usersToLoad), res.users); + cursor.dispose(); + if (replyMessageRandomOwners.size() > 0) { + for (int b = 0; b < replyMessageRandomOwners.size(); b++) { + ArrayList arrayList = replyMessageRandomOwners.valueAt(b); + for (int a = 0; a < arrayList.size(); a++) { + arrayList.get(a).reply_to_random_id = 0; + } + } } - if (!chatsToLoad.isEmpty()) { - getChatsInternal(TextUtils.join(",", chatsToLoad), res.chats); - } - } catch (Exception e) { - res.messages.clear(); - res.chats.clear(); - res.users.clear(); - FileLog.e(e); - } finally { - getMessagesController().processLoadedMessages(res, dialog_id, count_query, max_id_override, offset_date, true, classGuid, min_unread_id, last_message_id, count_unread, max_unread_date, load_type, isChannel, isEnd, scheduled, loadIndex, queryFromServer, mentions_unread); } + if (!usersToLoad.isEmpty()) { + getUsersInternal(TextUtils.join(",", usersToLoad), res.users); + } + if (!chatsToLoad.isEmpty()) { + getChatsInternal(TextUtils.join(",", chatsToLoad), res.chats); + } + } catch (Exception e) { + res.messages.clear(); + res.chats.clear(); + res.users.clear(); + FileLog.e(e); + } + int countQueryFinal = count_query; + int maxIdOverrideFinal = max_id_override; + int minUnreadIdFinal = min_unread_id; + int lastMessageIdFinal = last_message_id; + boolean isEndFinal = isEnd; + boolean queryFromServerFinal = queryFromServer; + int mentionsUnreadFinal = mentions_unread; + int countUnreadFinal = count_unread; + int maxUnreadDateFinal = max_unread_date; + if (!scheduled && mergeDialogId != 0 && res.messages.size() < count && isEnd && load_type == 2) { + Runnable runnable = getMessagesInternal(mergeDialogId, 0, count, Integer.MAX_VALUE, 0, 0, classGuid, 0, false, false, loadIndex); + return () -> { + getMessagesController().processLoadedMessages(res, dialogId, mergeDialogId, countQueryFinal, maxIdOverrideFinal, offset_date, true, classGuid, minUnreadIdFinal, lastMessageIdFinal, countUnreadFinal, maxUnreadDateFinal, load_type, isChannel, isEndFinal, scheduled, -loadIndex, queryFromServerFinal, mentionsUnreadFinal); + runnable.run(); + }; + } else { + return () -> getMessagesController().processLoadedMessages(res, dialogId, mergeDialogId, countQueryFinal, maxIdOverrideFinal, offset_date, true, classGuid, minUnreadIdFinal, lastMessageIdFinal, countUnreadFinal, maxUnreadDateFinal, load_type, isChannel, isEndFinal, scheduled, loadIndex, queryFromServerFinal, mentionsUnreadFinal); + } + } + + public void getMessages(long dialogId, long mergeDialogId, boolean loadInfo, int count, int max_id, int offset_date, int minDate, int classGuid, int load_type, boolean isChannel, boolean scheduled, int loadIndex) { + storageQueue.postRunnable(() -> { + long mergeDialogIdFinal = mergeDialogId; + int lowerId = (int) dialogId; + if (loadInfo) { + if (lowerId < 0) { + TLRPC.ChatFull info = loadChatInfoInternal(-lowerId, true, false); + if (info != null) { + mergeDialogIdFinal = -info.migrated_from_chat_id; + } + } + } + Utilities.stageQueue.postRunnable(getMessagesInternal(dialogId, mergeDialogIdFinal, count, max_id, offset_date, minDate, classGuid, load_type, isChannel, scheduled, loadIndex)); }); } @@ -7272,6 +7318,33 @@ public class MessagesStorage extends BaseController { return message.reply_markup != null && !(message.reply_markup instanceof TLRPC.TL_replyInlineMarkup) && (!message.reply_markup.selective || message.mentioned); } + public void updateMessageVerifyFlags(ArrayList messages) { + Utilities.stageQueue.postRunnable(() -> { + try { + database.beginTransaction(); + SQLitePreparedStatement state = database.executeFast("UPDATE messages SET imp = ? WHERE mid = ?"); + for (int a = 0, N = messages.size(); a < N; a++) { + TLRPC.Message message = messages.get(a); + state.requery(); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state.bindInteger(1, flags); + state.bindLong(2, message.id); + state.step(); + } + state.dispose(); + database.commitTransaction(); + } catch (Exception e) { + FileLog.e(e); + } + }); + + } + private void putMessagesInternal(final ArrayList messages, final boolean withTransaction, final boolean doNotUpdateDialogDate, final int downloadMask, boolean ifNoLastMessage, boolean scheduled) { try { if (scheduled) { @@ -7563,7 +7636,13 @@ public class MessagesStorage extends BaseController { } else { state_messages.bindInteger(9, getMessageMediaType(message)); } - state_messages.bindInteger(10, 0); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state_messages.bindInteger(10, flags); state_messages.bindInteger(11, message.mentioned ? 1 : 0); state_messages.step(); @@ -8909,7 +8988,7 @@ public class MessagesStorage extends BaseController { } } - public void replaceMessageIfExists(final TLRPC.Message message, int currentAccount, ArrayList users, ArrayList chats, boolean broadcast) { + public void replaceMessageIfExists(final TLRPC.Message message, ArrayList users, ArrayList chats, boolean broadcast) { if (message == null) { return; } @@ -8964,7 +9043,13 @@ public class MessagesStorage extends BaseController { } else { state.bindInteger(9, getMessageMediaType(message)); } - state.bindInteger(10, 0); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state.bindInteger(10, flags); state.bindInteger(11, message.mentioned ? 1 : 0); state.step(); @@ -9208,7 +9293,13 @@ public class MessagesStorage extends BaseController { } else { state_messages.bindInteger(9, getMessageMediaType(message)); } - state_messages.bindInteger(10, 0); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state_messages.bindInteger(10, flags); state_messages.bindInteger(11, message.mentioned ? 1 : 0); state_messages.step(); @@ -9723,7 +9814,13 @@ public class MessagesStorage extends BaseController { state_messages.bindInteger(7, (MessageObject.isOut(message) || message.from_scheduled ? 1 : 0)); state_messages.bindInteger(8, 0); state_messages.bindInteger(9, (message.flags & TLRPC.MESSAGE_FLAG_HAS_VIEWS) != 0 ? message.views : 0); - state_messages.bindInteger(10, 0); + int flags = 0; + if (message.stickerVerified == 0) { + flags |= 1; + } else if (message.stickerVerified == 2) { + flags |= 2; + } + state_messages.bindInteger(10, flags); state_messages.bindInteger(11, message.mentioned ? 1 : 0); state_messages.step(); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/NotificationCenter.java b/TMessagesProj/src/main/java/org/telegram/messenger/NotificationCenter.java index 8afcbc556..e12a847ad 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/NotificationCenter.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/NotificationCenter.java @@ -12,6 +12,7 @@ import androidx.annotation.UiThread; import android.util.SparseArray; import java.util.ArrayList; +import java.util.HashMap; public class NotificationCenter { @@ -25,6 +26,7 @@ public class NotificationCenter { public static final int historyCleared = totalEvents++; public static final int messagesRead = totalEvents++; public static final int messagesDidLoad = totalEvents++; + public static final int loadingMessagesFailed = totalEvents++; public static final int messageReceivedByAck = totalEvents++; public static final int messageReceivedByServer = totalEvents++; public static final int messageSendError = totalEvents++; @@ -53,7 +55,8 @@ public class NotificationCenter { public static final int updateMessageMedia = totalEvents++; public static final int replaceMessagesObjects = totalEvents++; public static final int didSetPasscode = totalEvents++; - public static final int didSetTwoStepPassword = totalEvents++; + public static final int twoStepPasswordChanged = totalEvents++; + public static final int didSetOrRemoveTwoStepPassword = totalEvents++; public static final int didRemoveTwoStepPassword = totalEvents++; public static final int replyMessagesDidLoad = totalEvents++; public static final int pinnedMessageDidLoad = totalEvents++; @@ -95,6 +98,7 @@ public class NotificationCenter { public static final int startAllHeavyOperations = totalEvents++; public static final int sendingMessagesChanged = totalEvents++; public static final int didUpdateReactions = totalEvents++; + public static final int didVerifyMessagesStickers = totalEvents++; public static final int scheduledMessagesUpdated = totalEvents++; public static final int walletPendingTransactionsChanged = totalEvents++; @@ -192,15 +196,17 @@ public class NotificationCenter { private ArrayList delayedPosts = new ArrayList<>(10); private int broadcasting = 0; - private boolean animationInProgress; - private int[] allowedNotifications; + private int animationInProgressCount; + private int animationInProgressPointer = 1; + + private final HashMap allowedNotifications = new HashMap<>(); public interface NotificationCenterDelegate { void didReceivedNotification(int id, int account, Object... args); } - private class DelayedPost { + private static class DelayedPost { private DelayedPost(int id, Object[] args) { this.id = id; @@ -248,28 +254,52 @@ public class NotificationCenter { currentAccount = account; } - public void setAllowedNotificationsDutingAnimation(int[] notifications) { - allowedNotifications = notifications; + public int setAnimationInProgress(int oldIndex, int[] allowedNotifications) { + onAnimationFinish(oldIndex); + if (animationInProgressCount == 0) { + NotificationCenter.getGlobalInstance().postNotificationName(stopAllHeavyOperations, 512); + } + + animationInProgressCount++; + animationInProgressPointer++; + + if (allowedNotifications == null) { + allowedNotifications = new int[0]; + } + + this.allowedNotifications.put(animationInProgressPointer, allowedNotifications); + + return animationInProgressPointer; } - public void setAnimationInProgress(boolean value) { - if (value) { - NotificationCenter.getGlobalInstance().postNotificationName(stopAllHeavyOperations, 512); - } else { - NotificationCenter.getGlobalInstance().postNotificationName(startAllHeavyOperations, 512); - } - animationInProgress = value; - if (!animationInProgress && !delayedPosts.isEmpty()) { - for (int a = 0; a < delayedPosts.size(); a++) { - DelayedPost delayedPost = delayedPosts.get(a); - postNotificationNameInternal(delayedPost.id, true, delayedPost.args); + public void updateAllowedNotifications(int transitionAnimationIndex, int[] allowedNotifications) { + if (this.allowedNotifications.containsKey(transitionAnimationIndex)) { + if (allowedNotifications == null) { + allowedNotifications = new int[0]; + } + this.allowedNotifications.put(transitionAnimationIndex, allowedNotifications); + } + } + + public void onAnimationFinish(int index) { + int[] notifications = allowedNotifications.remove(index); + if (notifications != null) { + animationInProgressCount--; + if (animationInProgressCount == 0) { + NotificationCenter.getGlobalInstance().postNotificationName(startAllHeavyOperations, 512); + if (!delayedPosts.isEmpty()) { + for (int a = 0; a < delayedPosts.size(); a++) { + DelayedPost delayedPost = delayedPosts.get(a); + postNotificationNameInternal(delayedPost.id, true, delayedPost.args); + } + delayedPosts.clear(); + } } - delayedPosts.clear(); } } public boolean isAnimationInProgress() { - return animationInProgress; + return animationInProgressCount > 0; } public int getCurrentHeavyOperationFlags() { @@ -278,13 +308,23 @@ public class NotificationCenter { public void postNotificationName(int id, Object... args) { boolean allowDuringAnimation = id == startAllHeavyOperations || id == stopAllHeavyOperations; - if (!allowDuringAnimation && allowedNotifications != null) { - for (int a = 0; a < allowedNotifications.length; a++) { - if (allowedNotifications[a] == id) { - allowDuringAnimation = true; + if (!allowDuringAnimation && !allowedNotifications.isEmpty()) { + int size = allowedNotifications.size(); + int allowedCount = 0; + for(Integer key : allowedNotifications.keySet()) { + int[] allowed = allowedNotifications.get(key); + if (allowed != null) { + for (int a = 0; a < allowed.length; a++) { + if (allowed[a] == id) { + allowedCount++; + break; + } + } + } else { break; } } + allowDuringAnimation = size == allowedCount; } if (id == startAllHeavyOperations) { Integer flags = (Integer) args[0]; @@ -303,7 +343,7 @@ public class NotificationCenter { throw new RuntimeException("postNotificationName allowed only from MAIN thread"); } } - if (!allowDuringAnimation && animationInProgress) { + if (!allowDuringAnimation && isAnimationInProgress()) { DelayedPost delayedPost = new DelayedPost(id, args); delayedPosts.add(delayedPost); if (BuildVars.LOGS_ENABLED) { @@ -315,7 +355,7 @@ public class NotificationCenter { ArrayList objects = observers.get(id); if (objects != null && !objects.isEmpty()) { for (int a = 0; a < objects.size(); a++) { - NotificationCenterDelegate obj = objects.get(a); + NotificationCenterDelegate obj = objects.get(a);; obj.didReceivedNotification(id, currentAccount, args); } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SecretChatHelper.java b/TMessagesProj/src/main/java/org/telegram/messenger/SecretChatHelper.java index fe3b86068..6ac100a8b 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SecretChatHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SecretChatHelper.java @@ -982,6 +982,7 @@ public class SecretChatHelper extends BaseController { newMessage.media.document.id = file.id; newMessage.media.document.access_hash = file.access_hash; newMessage.media.document.date = date; + newMessage.media.document.mime_type = decryptedMessage.media.mime_type; if (decryptedMessage.media instanceof TLRPC.TL_decryptedMessageMediaDocument_layer8) { TLRPC.TL_documentAttributeFilename fileName = new TLRPC.TL_documentAttributeFilename(); fileName.file_name = decryptedMessage.media.file_name; @@ -989,12 +990,13 @@ public class SecretChatHelper extends BaseController { } else { newMessage.media.document.attributes = decryptedMessage.media.attributes; } - newMessage.media.document.mime_type = decryptedMessage.media.mime_type; newMessage.media.document.size = decryptedMessage.media.size != 0 ? Math.min(decryptedMessage.media.size, file.size) : file.size; newMessage.media.document.key = decryptedMessage.media.key; newMessage.media.document.iv = decryptedMessage.media.iv; if (newMessage.media.document.mime_type == null) { newMessage.media.document.mime_type = ""; + } else if (MessageObject.isAnimatedStickerDocument(newMessage.media.document, true)) { + newMessage.media.document.mime_type = "application/x-bad_tgsticker"; } byte[] thumb = ((TLRPC.TL_decryptedMessageMediaDocument) decryptedMessage.media).thumb; TLRPC.PhotoSize photoSize; @@ -1033,6 +1035,10 @@ public class SecretChatHelper extends BaseController { if (newMessage.media.document.mime_type == null) { newMessage.media.document.mime_type = ""; } + if (MessageObject.isAnimatedStickerMessage(newMessage)) { + newMessage.stickerVerified = 0; + getMediaDataController().verifyAnimatedStickerMessage(newMessage, true); + } } else if (decryptedMessage.media instanceof TLRPC.TL_decryptedMessageMediaAudio) { if (decryptedMessage.media.key == null || decryptedMessage.media.key.length != 32 || decryptedMessage.media.iv == null || decryptedMessage.media.iv.length != 32) { return null; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SendMessagesHelper.java b/TMessagesProj/src/main/java/org/telegram/messenger/SendMessagesHelper.java index bd4fe12be..c0aca235e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SendMessagesHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SendMessagesHelper.java @@ -8,6 +8,7 @@ package org.telegram.messenger; +import android.content.ClipDescription; import android.content.Context; import android.content.SharedPreferences; import android.graphics.Bitmap; @@ -54,6 +55,8 @@ import org.telegram.ui.PaymentFormActivity; import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; @@ -117,6 +120,8 @@ public class SendMessagesHelper extends BaseController implements NotificationCe public Uri uri; public String path; public String caption; + public String thumbPath; + public String paintPath; public int ttl; public ArrayList entities; public ArrayList masks; @@ -615,7 +620,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe for (int b = 0; b < message.messageObjects.size(); b++) { MessageObject obj = message.messageObjects.get(b); if (obj == messageObject) { - obj.videoEditedInfo = null; + message.obj.shouldRemoveVideoEditedInfo = true; obj.messageOwner.params.remove("ve"); obj.messageOwner.media.document.size = (int) finalSize; @@ -626,7 +631,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } } else if (message.obj == messageObject) { - message.obj.videoEditedInfo = null; + message.obj.shouldRemoveVideoEditedInfo = true; message.obj.messageOwner.params.remove("ve"); message.obj.messageOwner.media.document.size = (int) finalSize; @@ -1816,6 +1821,18 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } else if (type == 3) { TLRPC.TL_inputMediaUploadedDocument uploadedDocument = new TLRPC.TL_inputMediaUploadedDocument(); + if (params != null) { + String masks = params.get("masks"); + if (masks != null) { + SerializedData serializedData = new SerializedData(Utilities.hexToBytes(masks)); + int count = serializedData.readInt32(false); + for (int a = 0; a < count; a++) { + uploadedDocument.stickers.add(TLRPC.InputDocument.TLdeserialize(serializedData, serializedData.readInt32(false), false)); + } + uploadedDocument.flags |= 1; + serializedData.cleanup(); + } + } uploadedDocument.mime_type = document.mime_type; uploadedDocument.attributes = document.attributes; if (!messageObject.isGif() && (videoEditedInfo == null || !videoEditedInfo.muted)) { @@ -2167,10 +2184,10 @@ public class SendMessagesHelper extends BaseController implements NotificationCe parentFragment.showRequestUrlAlert(res, (TLRPC.TL_messages_requestUrlAuth) request[0], button.url); } else if (response instanceof TLRPC.TL_urlAuthResultAccepted) { TLRPC.TL_urlAuthResultAccepted res = (TLRPC.TL_urlAuthResultAccepted) response; - parentFragment.showOpenUrlAlert(res.url, false, false); + AlertsCreator.showOpenUrlAlert(parentFragment, res.url, false, false); } else if (response instanceof TLRPC.TL_urlAuthResultDefault) { TLRPC.TL_urlAuthResultDefault res = (TLRPC.TL_urlAuthResultDefault) response; - parentFragment.showOpenUrlAlert(button.url, false, true); + AlertsCreator.showOpenUrlAlert(parentFragment, button.url, false, true); } } else if (button instanceof TLRPC.TL_keyboardButtonBuy) { if (response instanceof TLRPC.TL_payments_paymentForm) { @@ -2234,7 +2251,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } parentFragment.showOpenGameAlert(game, messageObject, res.url, !verified && MessagesController.getNotificationsSettings(currentAccount).getBoolean("askgame_" + uid, true), uid); } else { - parentFragment.showOpenUrlAlert(res.url, false, false); + AlertsCreator.showOpenUrlAlert(parentFragment, res.url, false, false); } } } @@ -2389,6 +2406,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe int lower_id = (int) peer; int high_id = (int) (peer >> 32); boolean isChannel = false; + boolean forceNoSoundVideo = false; TLRPC.EncryptedChat encryptedChat = null; TLRPC.InputPeer sendToPeer = lower_id != 0 ? getMessagesController().getInputPeer(lower_id) : null; if (lower_id == 0) { @@ -2433,7 +2451,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } else if (retryMessageObject.type == 1) { photo = (TLRPC.TL_photo) newMsg.media.photo; type = 2; - } else if (retryMessageObject.type == 3 || retryMessageObject.type == 5 || videoEditedInfo != null) { + } else if (retryMessageObject.type == 3 || retryMessageObject.type == 5 || retryMessageObject.videoEditedInfo != null) { type = 3; document = (TLRPC.TL_document) newMsg.media.document; } else if (retryMessageObject.type == 12) { @@ -2589,6 +2607,18 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } else { newMsg = new TLRPC.TL_message(); } + if (lower_id < 0) { + TLRPC.Chat chat = getMessagesController().getChat(-lower_id); + if (chat != null && !ChatObject.canSendStickers(chat)) { + for (int a = 0, N = document.attributes.size(); a < N; a++) { + if (document.attributes.get(a) instanceof TLRPC.TL_documentAttributeAnimated) { + document.attributes.remove(a); + forceNoSoundVideo = true; + break; + } + } + } + } newMsg.media = new TLRPC.TL_messageMediaDocument(); newMsg.media.flags |= 3; if (ttl != 0) { @@ -2612,12 +2642,12 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } params.put("ve", ve); } - if (encryptedChat != null && document.dc_id > 0 && !MessageObject.isStickerDocument(document)) { + if (encryptedChat != null && document.dc_id > 0 && !MessageObject.isStickerDocument(document) && !MessageObject.isAnimatedStickerDocument(document, true)) { newMsg.attachPath = FileLoader.getPathToAttach(document).toString(); } else { newMsg.attachPath = path; } - if (encryptedChat != null && (MessageObject.isStickerDocument(document) || MessageObject.isAnimatedStickerDocument(document, false))) { + if (encryptedChat != null && (MessageObject.isStickerDocument(document) || MessageObject.isAnimatedStickerDocument(document, true))) { for (int a = 0; a < document.attributes.size(); a++) { TLRPC.DocumentAttribute attribute = document.attributes.get(a); if (attribute instanceof TLRPC.TL_documentAttributeSticker) { @@ -2636,6 +2666,13 @@ public class SendMessagesHelper extends BaseController implements NotificationCe attributeSticker.stickerset = new TLRPC.TL_inputStickerSetShortName(); attributeSticker.stickerset.short_name = name; } else { + if (attribute.stickerset instanceof TLRPC.TL_inputStickerSetID) { + delayedMessage = new DelayedMessage(peer); + delayedMessage.encryptedChat = encryptedChat; + delayedMessage.locationParent = attributeSticker; + delayedMessage.type = 5; + delayedMessage.parentObject = attribute.stickerset; + } attributeSticker.stickerset = new TLRPC.TL_inputStickerSetEmpty(); } } else { @@ -2971,7 +3008,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe TLRPC.TL_inputMediaUploadedDocument uploadedDocument = new TLRPC.TL_inputMediaUploadedDocument(); uploadedDocument.mime_type = document.mime_type; uploadedDocument.attributes = document.attributes; - if (!MessageObject.isRoundVideoDocument(document) && (videoEditedInfo == null || !videoEditedInfo.muted && !videoEditedInfo.roundVideo)) { + if (forceNoSoundVideo || !MessageObject.isRoundVideoDocument(document) && (videoEditedInfo == null || !videoEditedInfo.muted && !videoEditedInfo.roundVideo)) { uploadedDocument.nosound_video = true; if (BuildVars.DEBUG_VERSION) { FileLog.d("nosound_video = true"); @@ -2981,6 +3018,18 @@ public class SendMessagesHelper extends BaseController implements NotificationCe newMsg.ttl = uploadedDocument.ttl_seconds = ttl; uploadedDocument.flags |= 2; } + if (params != null) { + String masks = params.get("masks"); + if (masks != null) { + SerializedData serializedData = new SerializedData(Utilities.hexToBytes(masks)); + int count = serializedData.readInt32(false); + for (int a = 0; a < count; a++) { + uploadedDocument.stickers.add(TLRPC.InputDocument.TLdeserialize(serializedData, serializedData.readInt32(false), false)); + } + uploadedDocument.flags |= 1; + serializedData.cleanup(); + } + } if (document.access_hash == 0) { inputMedia = uploadedDocument; performMediaUpload = true; @@ -3029,7 +3078,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe newMsg.ttl = uploadedMedia.ttl_seconds = ttl; uploadedMedia.flags |= 2; } - if (!TextUtils.isEmpty(path) && path.toLowerCase().endsWith("mp4") && (params == null || params.containsKey("forceDocument"))) { + if (forceNoSoundVideo || !TextUtils.isEmpty(path) && path.toLowerCase().endsWith("mp4") && (params == null || params.containsKey("forceDocument"))) { uploadedMedia.nosound_video = true; } uploadedMedia.mime_type = document.mime_type; @@ -3374,7 +3423,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe reqSend.media.user_id = user.id; getSecretChatHelper().performSendEncryptedRequest(reqSend, newMsgObj.messageOwner, encryptedChat, null, null, newMsgObj); } else if (type == 7 || type == 9 && document != null) { - if (MessageObject.isStickerDocument(document) || MessageObject.isAnimatedStickerDocument(document, false)) { + if (document.access_hash != 0 && (MessageObject.isStickerDocument(document) || MessageObject.isAnimatedStickerDocument(document, true))) { reqSend.media = new TLRPC.TL_decryptedMessageMediaExternalDocument(); reqSend.media.id = document.id; reqSend.media.date = document.date; @@ -3390,7 +3439,13 @@ public class SendMessagesHelper extends BaseController implements NotificationCe ((TLRPC.TL_decryptedMessageMediaExternalDocument) reqSend.media).thumb = new TLRPC.TL_photoSizeEmpty(); ((TLRPC.TL_decryptedMessageMediaExternalDocument) reqSend.media).thumb.type = "s"; } - getSecretChatHelper().performSendEncryptedRequest(reqSend, newMsgObj.messageOwner, encryptedChat, null, null, newMsgObj); + if (delayedMessage != null && delayedMessage.type == 5) { + delayedMessage.sendEncryptedRequest = reqSend; + delayedMessage.obj = newMsgObj; + performSendDelayedMessage(delayedMessage); + } else { + getSecretChatHelper().performSendEncryptedRequest(reqSend, newMsgObj.messageOwner, encryptedChat, null, null, newMsgObj); + } } else { reqSend.media = new TLRPC.TL_decryptedMessageMediaDocument(); reqSend.media.attributes = document.attributes; @@ -3840,6 +3895,31 @@ public class SendMessagesHelper extends BaseController implements NotificationCe putToSendingMessages(message.messageObjects.get(message.messageObjects.size() - 1).messageOwner, message.finalGroupMessage != 0); } sendReadyToSendGroup(message, add, true); + } else if (message.type == 5) { + String key = "stickerset_" + message.obj.getId(); + TLRPC.TL_messages_getStickerSet req = new TLRPC.TL_messages_getStickerSet(); + req.stickerset = (TLRPC.InputStickerSet) message.parentObject; + getConnectionsManager().sendRequest(req, (response, error) -> { + AndroidUtilities.runOnUIThread(() -> { + boolean found = false; + if (response != null) { + TLRPC.TL_messages_stickerSet set = (TLRPC.TL_messages_stickerSet) response; + getMediaDataController().storeTempStickerSet(set); + TLRPC.TL_documentAttributeSticker_layer55 attributeSticker = (TLRPC.TL_documentAttributeSticker_layer55) message.locationParent; + attributeSticker.stickerset = new TLRPC.TL_inputStickerSetShortName(); + attributeSticker.stickerset.short_name = set.set.short_name; + found = true; + } + ArrayList arrayList = delayedMessages.remove(key); + if (arrayList != null && !arrayList.isEmpty()) { + if (found) { + getMessagesStorage().replaceMessageIfExists(arrayList.get(0).obj.messageOwner, null, null, false); + } + getSecretChatHelper().performSendEncryptedRequest((TLRPC.DecryptedMessage) message.sendEncryptedRequest, message.obj.messageOwner, message.encryptedChat, null, null, message.obj); + } + }); + }); + putToDelayedMessages(key, message); } } @@ -4627,7 +4707,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe newMsg.media.photo.id = sentMessage.media.photo.id; newMsg.media.photo.access_hash = sentMessage.media.photo.access_hash; } else if (sentMessage.media instanceof TLRPC.TL_messageMediaDocument && sentMessage.media.document != null && newMsg.media instanceof TLRPC.TL_messageMediaDocument && newMsg.media.document != null) { - if (sentMessage.media.ttl_seconds == 0) { + if (sentMessage.media.ttl_seconds == 0 && (newMsgObj.videoEditedInfo == null || newMsgObj.videoEditedInfo.mediaEntities == null && TextUtils.isEmpty(newMsgObj.videoEditedInfo.paintPath))) { boolean isVideo = MessageObject.isVideoMessage(sentMessage); if ((isVideo || MessageObject.isGifMessage(sentMessage)) && MessageObject.isGifDocument(sentMessage.media.document) == MessageObject.isGifDocument(newMsg.media.document)) { if (!newMsgObj.scheduled) { @@ -4853,7 +4933,6 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } boolean isEncrypted = (int) dialog_id == 0; - boolean allowSticker = !isEncrypted; String name = f.getName(); String ext = ""; @@ -5013,7 +5092,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe FileLog.e(e); } } - if (document.mime_type.equals("image/webp") && allowSticker && editingMessageObject == null) { + if (document.mime_type.equals("image/webp") && editingMessageObject == null) { BitmapFactory.Options bmOptions = new BitmapFactory.Options(); try { bmOptions.inJustDecodeBounds = true; @@ -5187,7 +5266,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } info.entities = entities; info.ttl = ttl; - if (stickers != null && !stickers.isEmpty()) { + if (stickers != null) { info.masks = new ArrayList<>(stickers); } ArrayList infos = new ArrayList<>(); @@ -5234,7 +5313,13 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } } else if (result.content != null) { - File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), Utilities.MD5(result.content.url) + "." + ImageLoader.getHttpUrlExtension(result.content.url, "file")); + String ext = ImageLoader.getHttpUrlExtension(result.content.url, null); + if (TextUtils.isEmpty(ext)) { + ext = FileLoader.getExtensionByMimeType(result.content.mime_type); + } else { + ext = "." + ext; + } + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), Utilities.MD5(result.content.url) + ext); if (f.exists()) { finalPath = f.getAbsolutePath(); } else { @@ -5270,7 +5355,17 @@ public class SendMessagesHelper extends BaseController implements NotificationCe int side = isEncrypted ? 90 : 320; Bitmap bitmap; if (finalPath.endsWith("mp4")) { - bitmap = ThumbnailUtils.createVideoThumbnail(finalPath, MediaStore.Video.Thumbnails.MINI_KIND); + bitmap = createVideoThumbnail(finalPath, MediaStore.Video.Thumbnails.MINI_KIND); + if (bitmap == null && result.thumb instanceof TLRPC.TL_webDocument && "video/mp4".equals(result.thumb.mime_type)) { + ext = ImageLoader.getHttpUrlExtension(result.thumb.url, null); + if (TextUtils.isEmpty(ext)) { + ext = FileLoader.getExtensionByMimeType(result.thumb.mime_type); + } else { + ext = "." + ext; + } + f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), Utilities.MD5(result.thumb.url) + ext); + bitmap = createVideoThumbnail(f.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND); + } } else { bitmap = ImageLoader.loadBitmap(finalPath, null, side, side, true); } @@ -5547,7 +5642,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe bitmap = ImageLoader.loadBitmap(path, uri, 800, 800, true); } if (!bigExists) { - TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(bigSize, bitmap, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101,false); + TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(bigSize, bitmap, Bitmap.CompressFormat.JPEG, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101,false); if (size != bigSize) { photo.sizes.add(0, size); } @@ -5571,9 +5666,9 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } File smallFile = FileLoader.getPathToAttach(photoSize, true); if (!smallFile.exists()) { - Bitmap thumb = createVideoThumbnail(path, startTime); + Bitmap thumb = createVideoThumbnailAtTime(path, startTime); if (thumb == null) { - thumb = ThumbnailUtils.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND); + thumb = SendMessagesHelper.createVideoThumbnail(path, MediaStore.Video.Thumbnails.MINI_KIND); } int side = isEncrypted ? 90 : 320; document.thumbs.set(0, ImageLoader.scaleAndSaveImage(photoSize, thumb, side, side, side > 90 ? 80 : 55, false, true)); @@ -5660,7 +5755,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe workers = new HashMap<>(); for (int a = 0; a < count; a++) { final SendingMediaInfo info = media.get(a); - if (info.searchImage == null && !info.isVideo) { + if (info.searchImage == null && !info.isVideo && info.videoEditedInfo == null) { String originalPath = info.path; String tempPath = info.path; if (tempPath == null && info.uri != null) { @@ -5739,7 +5834,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe lastGroupId = groupId = Utilities.random.nextLong(); photosCount = 0; } - if (info.searchImage != null) { + if (info.searchImage != null && info.videoEditedInfo == null) { if (info.searchImage.type == 1) { final HashMap params = new HashMap<>(); TLRPC.TL_document document = null; @@ -5793,7 +5888,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe int side = isEncrypted || info.ttl != 0 ? 90 : 320; Bitmap bitmap; if (thumbFile.getAbsolutePath().endsWith("mp4")) { - bitmap = ThumbnailUtils.createVideoThumbnail(thumbFile.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND); + bitmap = SendMessagesHelper.createVideoThumbnail(thumbFile.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND); } else { bitmap = ImageLoader.loadBitmap(thumbFile.getAbsolutePath(), null, side, side, true); } @@ -5911,7 +6006,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } } else { - if (info.isVideo) { + if (info.isVideo || info.videoEditedInfo != null) { Bitmap thumb = null; String thumbKey = null; @@ -5923,6 +6018,14 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } if (!forceDocument && (videoEditedInfo != null || info.path.endsWith("mp4"))) { + if (info.path == null && info.searchImage != null) { + if (info.searchImage.photo instanceof TLRPC.TL_photo) { + info.path = FileLoader.getPathToAttach(info.searchImage.photo, true).getAbsolutePath(); + } else { + String md5 = Utilities.MD5(info.searchImage.imageUrl) + "." + ImageLoader.getHttpUrlExtension(info.searchImage.imageUrl, "jpg"); + info.path = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), md5).getAbsolutePath(); + } + } String path = info.path; String originalPath = info.path; File temp = new File(originalPath); @@ -5940,7 +6043,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } TLRPC.TL_document document = null; String parentObject = null; - if (!isEncrypted && info.ttl == 0) { + if (!isEncrypted && info.ttl == 0 && (videoEditedInfo == null || videoEditedInfo.filterState == null && videoEditedInfo.paintPath == null && videoEditedInfo.mediaEntities == null)) { Object[] sentData = accountInstance.getMessagesStorage().getSentFile(originalPath, !isEncrypted ? 2 : 5); if (sentData != null) { document = (TLRPC.TL_document) sentData[0]; @@ -5949,10 +6052,16 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } if (document == null) { - thumb = createVideoThumbnail(info.path, startTime); - if (thumb == null) { - thumb = ThumbnailUtils.createVideoThumbnail(info.path, MediaStore.Video.Thumbnails.MINI_KIND); + if (info.thumbPath != null) { + thumb = BitmapFactory.decodeFile(info.thumbPath); } + if (thumb == null) { + thumb = createVideoThumbnailAtTime(info.path, startTime); + if (thumb == null) { + thumb = createVideoThumbnail(info.path, MediaStore.Video.Thumbnails.MINI_KIND); + } + } + TLRPC.PhotoSize size = null; if (thumb != null) { int side = isEncrypted || info.ttl != 0 ? 90 : Math.max(thumb.getWidth(), thumb.getHeight()); @@ -5979,8 +6088,8 @@ public class SendMessagesHelper extends BaseController implements NotificationCe attributeVideo.supports_streaming = true; } document.attributes.add(attributeVideo); - if (videoEditedInfo != null && videoEditedInfo.needConvert()) { - if (videoEditedInfo.muted) { + if (videoEditedInfo != null && (videoEditedInfo.needConvert() || !info.isVideo)) { + if (info.isVideo && videoEditedInfo.muted) { fillVideoAttribute(info.path, attributeVideo, videoEditedInfo); videoEditedInfo.originalWidth = attributeVideo.w; videoEditedInfo.originalHeight = attributeVideo.h; @@ -6014,7 +6123,7 @@ public class SendMessagesHelper extends BaseController implements NotificationCe document.attributes.add(new TLRPC.TL_documentAttributeAnimated()); } } - if (videoEditedInfo != null && videoEditedInfo.needConvert()) { + if (videoEditedInfo != null && (videoEditedInfo.needConvert() || !info.isVideo)) { String fileName = Integer.MIN_VALUE + "_" + SharedConfig.getLastLocalId() + ".mp4"; File cacheFile = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName); SharedConfig.saveConfig(); @@ -6041,6 +6150,16 @@ public class SendMessagesHelper extends BaseController implements NotificationCe lastGroupId = 0; } } + if (!isEncrypted && info.masks != null && !info.masks.isEmpty()) { + document.attributes.add(new TLRPC.TL_documentAttributeHasStickers()); + SerializedData serializedData = new SerializedData(4 + info.masks.size() * 20); + serializedData.writeInt32(info.masks.size()); + for (int b = 0; b < info.masks.size(); b++) { + info.masks.get(b).serializeToStream(serializedData); + } + params.put("masks", Utilities.bytesToHex(serializedData.toByteArray())); + serializedData.cleanup(); + } AndroidUtilities.runOnUIThread(() -> { if (thumbFinal != null && thumbKeyFinal != null) { ImageLoader.getInstance().putImageToCache(new BitmapDrawable(thumbFinal), thumbKeyFinal); @@ -6063,6 +6182,42 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } boolean isDocument = false; + if (inputContent != null && info.uri != null) { + ClipDescription description = inputContent.getDescription(); + if (description.hasMimeType("image/png")) { + InputStream inputStream = null; + FileOutputStream stream = null; + try { + BitmapFactory.Options bmOptions = new BitmapFactory.Options(); + inputStream = ApplicationLoader.applicationContext.getContentResolver().openInputStream(info.uri); + Bitmap b = BitmapFactory.decodeStream(inputStream, null, bmOptions); + String fileName = Integer.MIN_VALUE + "_" + SharedConfig.getLastLocalId() + ".webp"; + File fileDir = FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE); + final File cacheFile = new File(fileDir, fileName); + stream = new FileOutputStream(cacheFile); + b.compress(Bitmap.CompressFormat.WEBP, 100, stream); + SharedConfig.saveConfig(); + info.uri = Uri.fromFile(cacheFile); + } catch (Throwable e) { + FileLog.e(e); + } finally { + try { + if (inputStream != null) { + inputStream.close(); + } + } catch (Exception ignore) { + + } + try { + if (stream != null) { + stream.close(); + } + } catch (Exception ignore) { + + } + } + } + } if (forceDocument || ImageLoader.shouldSendImageAsDocument(info.path, info.uri)) { isDocument = true; extension = tempPath != null ? FileLoader.getFileExtension(new File(tempPath)) : ""; @@ -6307,7 +6462,30 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } - private static Bitmap createVideoThumbnail(String filePath, long time) { + public static Bitmap createVideoThumbnail(String filePath, int kind) { + float size; + if (kind == MediaStore.Video.Thumbnails.FULL_SCREEN_KIND) { + size = 1920; + } else if (kind == MediaStore.Video.Thumbnails.MICRO_KIND) { + size = 96; + } else { + size = 512; + } + Bitmap bitmap = createVideoThumbnailAtTime(filePath, 0); + if (bitmap != null) { + int w = bitmap.getWidth(); + int h = bitmap.getHeight(); + if (w > size || h > size) { + float scale = Math.max(w, h) / size; + w /= scale; + h /= scale; + bitmap = Bitmap.createScaledBitmap(bitmap, w, h, true); + } + } + return bitmap; + } + + public static Bitmap createVideoThumbnailAtTime(String filePath, long time) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { @@ -6500,9 +6678,9 @@ public class SendMessagesHelper extends BaseController implements NotificationCe } } if (document == null) { - thumb = createVideoThumbnail(videoPath, startTime); + thumb = createVideoThumbnailAtTime(videoPath, startTime); if (thumb == null) { - thumb = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); + thumb = createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); } int side = isEncrypted || ttl != 0 ? 90 : 320; TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(thumb, side, side, side > 90 ? 80 : 55, isEncrypted); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java b/TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java index 4bc78151d..281127284 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java @@ -20,8 +20,6 @@ import java.math.BigInteger; import java.nio.ByteBuffer; import java.security.MessageDigest; import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -54,7 +52,7 @@ public class Utilities { public native static void unpinBitmap(Bitmap bitmap); public native static void blurBitmap(Object bitmap, int radius, int unpin, int width, int height, int stride); public native static int needInvert(Object bitmap, int unpin, int width, int height, int stride); - public native static void calcCDT(ByteBuffer hsvBuffer, int width, int height, ByteBuffer buffer); + public native static void calcCDT(ByteBuffer hsvBuffer, int width, int height, ByteBuffer buffer, ByteBuffer calcBuffer); public native static boolean loadWebpImage(Bitmap bitmap, ByteBuffer buffer, int len, BitmapFactory.Options options, boolean unpin); public native static int convertVideoFrame(ByteBuffer src, ByteBuffer dest, int destFormat, int width, int height, int padding, int swap); private native static void aesIgeEncryption(ByteBuffer buffer, byte[] key, byte[] iv, boolean encrypt, int offset, int length); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/VideoEditedInfo.java b/TMessagesProj/src/main/java/org/telegram/messenger/VideoEditedInfo.java index 228933cc4..ea003907d 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/VideoEditedInfo.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/VideoEditedInfo.java @@ -8,11 +8,19 @@ package org.telegram.messenger; -import org.telegram.tgnet.TLRPC; +import android.graphics.Bitmap; +import android.view.View; +import org.telegram.tgnet.SerializedData; +import org.telegram.tgnet.TLRPC; +import org.telegram.ui.Components.PhotoFilterView; +import org.telegram.ui.Components.Point; + +import java.util.ArrayList; import java.util.Locale; public class VideoEditedInfo { + public long startTime; public long endTime; public float start; @@ -34,14 +42,166 @@ public class VideoEditedInfo { public TLRPC.InputEncryptedFile encryptedFile; public byte[] key; public byte[] iv; + public MediaController.SavedFilterState filterState; + public String paintPath; + public ArrayList mediaEntities; + public boolean isPhoto; public boolean canceled; public boolean videoConvertFirstWrite; public boolean needUpdateProgress = false; + public static class MediaEntity { + public byte type; + public byte subType; + public float x; + public float y; + public float rotation; + public float width; + public float height; + public String text; + public int color; + public int fontSize; + public int viewWidth; + public int viewHeight; + + public float scale; + public float textViewWidth; + public float textViewHeight; + public float textViewX; + public float textViewY; + + public TLRPC.Document document; + public Object parentObject; + + public int[] metadata; + public long ptr; + public float currentFrame; + public float framesPerDraw; + public Bitmap bitmap; + + public View view; + + public MediaEntity() { + + } + + private MediaEntity(SerializedData data) { + type = data.readByte(false); + subType = data.readByte(false); + x = data.readFloat(false); + y = data.readFloat(false); + rotation = data.readFloat(false); + width = data.readFloat(false); + height = data.readFloat(false); + text = data.readString(false); + color = data.readInt32(false); + fontSize = data.readInt32(false); + viewWidth = data.readInt32(false); + viewHeight = data.readInt32(false); + } + + private void serializeTo(SerializedData data) { + data.writeByte(type); + data.writeByte(subType); + data.writeFloat(x); + data.writeFloat(y); + data.writeFloat(rotation); + data.writeFloat(width); + data.writeFloat(height); + data.writeString(text); + data.writeInt32(color); + data.writeInt32(fontSize); + data.writeInt32(viewWidth); + data.writeInt32(viewHeight); + } + } public String getString() { - return String.format(Locale.US, "-1_%d_%d_%d_%d_%d_%d_%d_%d_%d_%d_%s", startTime, endTime, rotationValue, originalWidth, originalHeight, bitrate, resultWidth, resultHeight, originalDuration, framerate, originalPath); + String filters; + if (filterState != null || paintPath != null || mediaEntities != null && !mediaEntities.isEmpty()) { + int len = 2; + if (filterState != null) { + len += 160; + } + byte[] paintPathBytes; + if (paintPath != null) { + paintPathBytes = paintPath.getBytes(); + len += paintPathBytes.length; + } else { + paintPathBytes = null; + } + SerializedData serializedData = new SerializedData(len); + serializedData.writeInt32(1); + if (filterState != null) { + serializedData.writeByte(1); + serializedData.writeFloat(filterState.enhanceValue); + serializedData.writeFloat(filterState.exposureValue); + serializedData.writeFloat(filterState.contrastValue); + serializedData.writeFloat(filterState.warmthValue); + serializedData.writeFloat(filterState.saturationValue); + serializedData.writeFloat(filterState.fadeValue); + serializedData.writeInt32(filterState.tintShadowsColor); + serializedData.writeInt32(filterState.tintHighlightsColor); + serializedData.writeFloat(filterState.highlightsValue); + serializedData.writeFloat(filterState.shadowsValue); + serializedData.writeFloat(filterState.vignetteValue); + serializedData.writeFloat(filterState.grainValue); + serializedData.writeInt32(filterState.blurType); + serializedData.writeFloat(filterState.sharpenValue); + serializedData.writeFloat(filterState.blurExcludeSize); + if (filterState.blurExcludePoint != null) { + serializedData.writeFloat(filterState.blurExcludePoint.x); + serializedData.writeFloat(filterState.blurExcludePoint.y); + } else { + serializedData.writeFloat(0); + serializedData.writeFloat(0); + } + serializedData.writeFloat(filterState.blurExcludeBlurSize); + serializedData.writeFloat(filterState.blurAngle); + + for (int a = 0; a < 4; a++) { + PhotoFilterView.CurvesValue curvesValue; + if (a == 0) { + curvesValue = filterState.curvesToolValue.luminanceCurve; + } else if (a == 1) { + curvesValue = filterState.curvesToolValue.redCurve; + } else if (a == 2) { + curvesValue = filterState.curvesToolValue.greenCurve; + } else { + curvesValue = filterState.curvesToolValue.blueCurve; + } + serializedData.writeFloat(curvesValue.blacksLevel); + serializedData.writeFloat(curvesValue.shadowsLevel); + serializedData.writeFloat(curvesValue.midtonesLevel); + serializedData.writeFloat(curvesValue.highlightsLevel); + serializedData.writeFloat(curvesValue.whitesLevel); + } + } else { + serializedData.writeByte(0); + } + if (paintPathBytes != null) { + serializedData.writeByte(1); + serializedData.writeByteArray(paintPathBytes); + } else { + serializedData.writeByte(0); + } + if (mediaEntities != null && !mediaEntities.isEmpty()) { + serializedData.writeByte(1); + serializedData.writeInt32(mediaEntities.size()); + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + mediaEntities.get(a).serializeTo(serializedData); + } + serializedData.writeByte(isPhoto ? 1 : 0); + } else { + serializedData.writeByte(0); + } + filters = Utilities.bytesToHex(serializedData.toByteArray()); + serializedData.cleanup(); + } else { + filters = ""; + } + return String.format(Locale.US, "-1_%d_%d_%d_%d_%d_%d_%d_%d_%d_%d_-%s_%s", startTime, endTime, rotationValue, originalWidth, originalHeight, bitrate, resultWidth, resultHeight, originalDuration, framerate, filters, originalPath); } public boolean parseString(String string) { @@ -49,7 +209,7 @@ public class VideoEditedInfo { return false; } try { - String args[] = string.split("_"); + String[] args = string.split("_"); if (args.length >= 11) { startTime = Long.parseLong(args[1]); endTime = Long.parseLong(args[2]); @@ -61,8 +221,76 @@ public class VideoEditedInfo { resultHeight = Integer.parseInt(args[8]); originalDuration = Long.parseLong(args[9]); framerate = Integer.parseInt(args[10]); + muted = bitrate == -1; + int start; + if (args[11].startsWith("-")) { + start = 12; + String s = args[11].substring(1); + if (s.length() > 0) { + SerializedData serializedData = new SerializedData(Utilities.hexToBytes(s)); + int version = serializedData.readInt32(false); + byte has = serializedData.readByte(false); + if (has != 0) { + filterState = new MediaController.SavedFilterState(); + filterState.enhanceValue = serializedData.readFloat(false); + filterState.exposureValue = serializedData.readFloat(false); + filterState.contrastValue = serializedData.readFloat(false); + filterState.warmthValue = serializedData.readFloat(false); + filterState.saturationValue = serializedData.readFloat(false); + filterState.fadeValue = serializedData.readFloat(false); + filterState.tintShadowsColor = serializedData.readInt32(false); + filterState.tintHighlightsColor = serializedData.readInt32(false); + filterState.highlightsValue = serializedData.readFloat(false); + filterState.shadowsValue = serializedData.readFloat(false); + filterState.vignetteValue = serializedData.readFloat(false); + filterState.grainValue = serializedData.readFloat(false); + filterState.blurType = serializedData.readInt32(false); + filterState.sharpenValue = serializedData.readFloat(false); + filterState.blurExcludeSize = serializedData.readFloat(false); + filterState.blurExcludePoint = new Point(serializedData.readFloat(false), serializedData.readFloat(false)); + filterState.blurExcludeBlurSize = serializedData.readFloat(false); + filterState.blurAngle = serializedData.readFloat(false); - for (int a = 11; a < args.length; a++) { + for (int a = 0; a < 4; a++) { + PhotoFilterView.CurvesValue curvesValue; + if (a == 0) { + curvesValue = filterState.curvesToolValue.luminanceCurve; + } else if (a == 1) { + curvesValue = filterState.curvesToolValue.redCurve; + } else if (a == 2) { + curvesValue = filterState.curvesToolValue.greenCurve; + } else { + curvesValue = filterState.curvesToolValue.blueCurve; + } + curvesValue.blacksLevel = serializedData.readFloat(false); + curvesValue.shadowsLevel = serializedData.readFloat(false); + curvesValue.midtonesLevel = serializedData.readFloat(false); + curvesValue.highlightsLevel = serializedData.readFloat(false); + curvesValue.whitesLevel = serializedData.readFloat(false); + } + } + has = serializedData.readByte(false); + if (has != 0) { + byte[] bytes = serializedData.readByteArray(false); + paintPath = new String(bytes); + } + + has = serializedData.readByte(false); + if (has != 0) { + int count = serializedData.readInt32(false); + mediaEntities = new ArrayList<>(count); + for (int a = 0; a < count; a++) { + mediaEntities.add(new MediaEntity(serializedData)); + } + isPhoto = serializedData.readByte(false) == 1; + } + serializedData.cleanup(); + } + } else { + start = 11; + } + + for (int a = start; a < args.length; a++) { if (originalPath == null) { originalPath = args[a]; } else { @@ -80,4 +308,8 @@ public class VideoEditedInfo { public boolean needConvert() { return !roundVideo || roundVideo && (startTime > 0 || endTime != -1 && endTime != estimatedDuration); } + + public boolean canAutoPlaySourceVideo() { + return roundVideo;// || (Math.max(originalHeight,originalWidth) <= 1920 && filterState == null) ; + } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/camera/CameraController.java b/TMessagesProj/src/main/java/org/telegram/messenger/camera/CameraController.java index 788b004a0..354a19ff2 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/camera/CameraController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/camera/CameraController.java @@ -17,7 +17,6 @@ import android.graphics.drawable.BitmapDrawable; import android.hardware.Camera; import android.media.MediaMetadataRetriever; import android.media.MediaRecorder; -import android.media.ThumbnailUtils; import android.os.Build; import android.provider.MediaStore; import android.util.Base64; @@ -31,6 +30,7 @@ import org.telegram.messenger.FileLog; import org.telegram.messenger.ImageLoader; import org.telegram.messenger.MessagesController; import org.telegram.messenger.NotificationCenter; +import org.telegram.messenger.SendMessagesHelper; import org.telegram.messenger.SharedConfig; import org.telegram.messenger.Utilities; import org.telegram.tgnet.SerializedData; @@ -671,7 +671,7 @@ public class CameraController implements MediaRecorder.OnInfoListener { FileLog.e(e); } } - final Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(recordedFile, MediaStore.Video.Thumbnails.MINI_KIND); + final Bitmap bitmap = SendMessagesHelper.createVideoThumbnail(recordedFile, MediaStore.Video.Thumbnails.MINI_KIND); String fileName = Integer.MIN_VALUE + "_" + SharedConfig.getLastLocalId() + ".jpg"; final File cacheFile = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName); try { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/video/MediaCodecVideoConvertor.java b/TMessagesProj/src/main/java/org/telegram/messenger/video/MediaCodecVideoConvertor.java index f4fba4a27..8fd78e9ec 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/video/MediaCodecVideoConvertor.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/video/MediaCodecVideoConvertor.java @@ -1,5 +1,6 @@ package org.telegram.messenger.video; +import android.annotation.TargetApi; import android.media.MediaCodec; import android.media.MediaCodecInfo; import android.media.MediaExtractor; @@ -10,9 +11,11 @@ import org.telegram.messenger.BuildVars; import org.telegram.messenger.FileLog; import org.telegram.messenger.MediaController; import org.telegram.messenger.Utilities; +import org.telegram.messenger.VideoEditedInfo; import java.io.File; import java.nio.ByteBuffer; +import java.util.ArrayList; public class MediaCodecVideoConvertor { @@ -37,19 +40,28 @@ public class MediaCodecVideoConvertor { int framerate, int bitrate, long startTime, long endTime, boolean needCompress, long duration, + MediaController.SavedFilterState savedFilterState, + String paintPath, + ArrayList mediaEntities, + boolean isPhoto, MediaController.VideoConvertorListener callback) { this.callback = callback; return convertVideoInternal(videoPath, cacheFile, rotationValue, isSecret, - resultWidth, resultHeight, framerate, bitrate, startTime, endTime, duration, needCompress, false); + resultWidth, resultHeight, framerate, bitrate, startTime, endTime, duration, needCompress, false, savedFilterState, paintPath, mediaEntities, isPhoto); } + @TargetApi(18) private boolean convertVideoInternal(String videoPath, File cacheFile, int rotationValue, boolean isSecret, int resultWidth, int resultHeight, int framerate, int bitrate, long startTime, long endTime, long duration, - boolean needCompress, boolean increaseTimeout) { + boolean needCompress, boolean increaseTimeout, + MediaController.SavedFilterState savedFilterState, + String paintPath, + ArrayList mediaEntities, + boolean isPhoto) { boolean error = false; boolean repeatWithIncreasedTimeout = false; @@ -61,256 +73,131 @@ public class MediaCodecVideoConvertor { movie.setRotation(rotationValue); movie.setSize(resultWidth, resultHeight); mediaMuxer = new MP4Builder().createMovie(movie, isSecret); - extractor = new MediaExtractor(); - extractor.setDataSource(videoPath); - long currentPts = 0; float durationS = duration / 1000f; - + MediaCodec encoder = null; + InputSurface inputSurface = null; + OutputSurface outputSurface = null; + int prependHeaderSize = 0; checkConversionCanceled(); - int videoIndex = MediaController.findTrack(extractor, false); - int audioIndex = bitrate != -1 ? MediaController.findTrack(extractor, true) : -1; + if (isPhoto) { + try { + boolean outputDone = false; + boolean decoderDone = false; + int videoTrackIndex = -5; + int framesCount = 0; + if (bitrate <= 0) { + bitrate = 921600; + } - boolean needConvertVideo = false; - if (videoIndex >= 0 && !extractor.getTrackFormat(videoIndex).getString(MediaFormat.KEY_MIME).equals(MediaController.VIDEO_MIME_TYPE)) { - needConvertVideo = true; - } - - if (needCompress || needConvertVideo) { - AudioRecoder audioRecoder = null; - ByteBuffer audioBuffer = null; - boolean copyAudioBuffer = true; - - if (videoIndex >= 0) { - MediaCodec decoder = null; - MediaCodec encoder = null; - InputSurface inputSurface = null; - OutputSurface outputSurface = null; - int prependHeaderSize = 0; - - try { - long videoTime = -1; - boolean outputDone = false; - boolean inputDone = false; - boolean decoderDone = false; - int swapUV = 0; - int videoTrackIndex = -5; - int audioTrackIndex = -5; - - int colorFormat; - int processorType = PROCESSOR_TYPE_OTHER; - String manufacturer = Build.MANUFACTURER.toLowerCase(); - if (Build.VERSION.SDK_INT < 18) { - MediaCodecInfo codecInfo = MediaController.selectCodec(MediaController.VIDEO_MIME_TYPE); - colorFormat = MediaController.selectColorFormat(codecInfo, MediaController.VIDEO_MIME_TYPE); - if (colorFormat == 0) { - throw new RuntimeException("no supported color format"); - } - String codecName = codecInfo.getName(); - if (codecName.contains("OMX.qcom.")) { - processorType = PROCESSOR_TYPE_QCOM; - if (Build.VERSION.SDK_INT == 16) { - if (manufacturer.equals("lge") || manufacturer.equals("nokia")) { - swapUV = 1; - } - } - } else if (codecName.contains("OMX.Intel.")) { - processorType = PROCESSOR_TYPE_INTEL; - } else if (codecName.equals("OMX.MTK.VIDEO.ENCODER.AVC")) { - processorType = PROCESSOR_TYPE_MTK; - } else if (codecName.equals("OMX.SEC.AVC.Encoder")) { - processorType = PROCESSOR_TYPE_SEC; - swapUV = 1; - } else if (codecName.equals("OMX.TI.DUCATI1.VIDEO.H264E")) { - processorType = PROCESSOR_TYPE_TI; - } - if (BuildVars.LOGS_ENABLED) { - FileLog.d("codec = " + codecInfo.getName() + " manufacturer = " + manufacturer + "device = " + Build.MODEL); - } - } else { - colorFormat = MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface; - } + if (resultWidth % 16 != 0) { if (BuildVars.LOGS_ENABLED) { - FileLog.d("colorFormat = " + colorFormat); + FileLog.d("changing width from " + resultWidth + " to " + Math.round(resultWidth / 16.0f) * 16); } - - int resultHeightAligned = resultHeight; - int padding = 0; - int bufferSize = resultWidth * resultHeight * 3 / 2; - if (processorType == PROCESSOR_TYPE_OTHER) { - if (resultHeight % 16 != 0) { - resultHeightAligned += (16 - (resultHeight % 16)); - padding = resultWidth * (resultHeightAligned - resultHeight); - bufferSize += padding * 5 / 4; - } - } else if (processorType == PROCESSOR_TYPE_QCOM) { - if (!manufacturer.toLowerCase().equals("lge")) { - int uvoffset = (resultWidth * resultHeight + 2047) & ~2047; - padding = uvoffset - (resultWidth * resultHeight); - bufferSize += padding; - } - } else if (processorType == PROCESSOR_TYPE_TI) { - //resultHeightAligned = 368; - //bufferSize = resultWidth * resultHeightAligned * 3 / 2; - //resultHeightAligned += (16 - (resultHeight % 16)); - //padding = resultWidth * (resultHeightAligned - resultHeight); - //bufferSize += padding * 5 / 4; - } else if (processorType == PROCESSOR_TYPE_MTK) { - if (manufacturer.equals("baidu")) { - resultHeightAligned += (16 - (resultHeight % 16)); - padding = resultWidth * (resultHeightAligned - resultHeight); - bufferSize += padding * 5 / 4; - } + resultWidth = Math.round(resultWidth / 16.0f) * 16; + } + if (resultHeight % 16 != 0) { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("changing height from " + resultHeight + " to " + Math.round(resultHeight / 16.0f) * 16); } + resultHeight = Math.round(resultHeight / 16.0f) * 16; + } - extractor.selectTrack(videoIndex); - MediaFormat videoFormat = extractor.getTrackFormat(videoIndex); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("create photo encoder " + resultWidth + " " + resultHeight + " duration = " + duration); + } - if (startTime > 0) { - extractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } else { - extractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } + MediaFormat outputFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); + outputFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); + outputFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); + outputFormat.setInteger(MediaFormat.KEY_FRAME_RATE, framerate); + outputFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 2); - if (bitrate <= 0) bitrate = 921600; + encoder = MediaCodec.createEncoderByType(MediaController.VIDEO_MIME_TYPE); + encoder.configure(outputFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); + inputSurface = new InputSurface(encoder.createInputSurface()); + inputSurface.makeCurrent(); + encoder.start(); - MediaFormat outputFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); - outputFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat); - outputFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); - outputFormat.setInteger(MediaFormat.KEY_FRAME_RATE, framerate); - outputFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 2); + outputSurface = new OutputSurface(savedFilterState, videoPath, paintPath, mediaEntities, resultWidth, resultHeight, framerate, true); - if (Build.VERSION.SDK_INT < 23 && Math.min(resultHeight, resultWidth) <= 480) { - if (bitrate > 921600) bitrate = 921600; - outputFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); - } + ByteBuffer[] encoderOutputBuffers = null; + ByteBuffer[] encoderInputBuffers = null; + if (Build.VERSION.SDK_INT < 21) { + encoderOutputBuffers = encoder.getOutputBuffers(); + } - if (Build.VERSION.SDK_INT < 18) { - outputFormat.setInteger("stride", resultWidth + 32); - outputFormat.setInteger("slice-height", resultHeight); - } + boolean firstEncode = true; - encoder = MediaCodec.createEncoderByType(MediaController.VIDEO_MIME_TYPE); - encoder.configure(outputFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); - if (Build.VERSION.SDK_INT >= 18) { - inputSurface = new InputSurface(encoder.createInputSurface()); - inputSurface.makeCurrent(); - } - encoder.start(); - - decoder = MediaCodec.createDecoderByType(videoFormat.getString(MediaFormat.KEY_MIME)); - if (Build.VERSION.SDK_INT >= 18) { - outputSurface = new OutputSurface(); - } else { - outputSurface = new OutputSurface(resultWidth, resultHeight, rotationValue); - } - decoder.configure(videoFormat, outputSurface.getSurface(), null, 0); - decoder.start(); - - ByteBuffer[] decoderInputBuffers = null; - ByteBuffer[] encoderOutputBuffers = null; - ByteBuffer[] encoderInputBuffers = null; - if (Build.VERSION.SDK_INT < 21) { - decoderInputBuffers = decoder.getInputBuffers(); - encoderOutputBuffers = encoder.getOutputBuffers(); - if (Build.VERSION.SDK_INT < 18) { - encoderInputBuffers = encoder.getInputBuffers(); - } - } - - if (audioIndex >= 0) { - MediaFormat audioFormat = extractor.getTrackFormat(audioIndex); - copyAudioBuffer = audioFormat.getString(MediaFormat.KEY_MIME).equals(MediaController.AUIDO_MIME_TYPE) - || audioFormat.getString(MediaFormat.KEY_MIME).equals("audio/mpeg"); - - if (audioFormat.getString(MediaFormat.KEY_MIME).equals("audio/unknown")) { - audioIndex = -1; - } - - if (audioIndex >= 0) { - if (copyAudioBuffer) { - audioTrackIndex = mediaMuxer.addTrack(audioFormat, true); - extractor.selectTrack(audioIndex); - int maxBufferSize = audioFormat.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE); - audioBuffer = ByteBuffer.allocateDirect(maxBufferSize); - - if (startTime > 0) { - extractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } else { - extractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } - } else { - MediaExtractor audioExtractor = new MediaExtractor(); - audioExtractor.setDataSource(videoPath); - audioExtractor.selectTrack(audioIndex); - - if (startTime > 0) { - audioExtractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } else { - audioExtractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); - } - - audioRecoder = new AudioRecoder(audioFormat, audioExtractor, audioIndex); - audioRecoder.startTime = startTime; - audioRecoder.endTime = endTime; - audioTrackIndex = mediaMuxer.addTrack(audioRecoder.format, true); - } - } - } - - boolean audioEncoderDone = audioIndex < 0; - - boolean firstEncode = true; + checkConversionCanceled(); + while (!outputDone) { checkConversionCanceled(); - while (!outputDone || (!copyAudioBuffer && !audioEncoderDone)) { + boolean decoderOutputAvailable = !decoderDone; + boolean encoderOutputAvailable = true; + while (decoderOutputAvailable || encoderOutputAvailable) { checkConversionCanceled(); - - if (!copyAudioBuffer && audioRecoder != null) { - audioEncoderDone = audioRecoder.step(mediaMuxer, audioTrackIndex); - } - - if (!inputDone) { - boolean eof = false; - int index = extractor.getSampleTrackIndex(); - if (index == videoIndex) { - int inputBufIndex = decoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); - if (inputBufIndex >= 0) { - ByteBuffer inputBuf; - if (Build.VERSION.SDK_INT < 21) { - inputBuf = decoderInputBuffers[inputBufIndex]; - } else { - inputBuf = decoder.getInputBuffer(inputBufIndex); + int encoderStatus = encoder.dequeueOutputBuffer(info, increaseTimeout ? MEDIACODEC_TIMEOUT_INCREASED : MEDIACODEC_TIMEOUT_DEFAULT); + if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { + encoderOutputAvailable = false; + } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { + if (Build.VERSION.SDK_INT < 21) { + encoderOutputBuffers = encoder.getOutputBuffers(); + } + } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { + MediaFormat newFormat = encoder.getOutputFormat(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("photo encoder new format " + newFormat); + } + if (videoTrackIndex == -5 && newFormat != null) { + videoTrackIndex = mediaMuxer.addTrack(newFormat, false); + if (newFormat.containsKey(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) && newFormat.getInteger(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) == 1) { + ByteBuffer spsBuff = newFormat.getByteBuffer("csd-0"); + ByteBuffer ppsBuff = newFormat.getByteBuffer("csd-1"); + prependHeaderSize = spsBuff.limit() + ppsBuff.limit(); + } + } + } else if (encoderStatus < 0) { + throw new RuntimeException("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus); + } else { + ByteBuffer encodedData; + if (Build.VERSION.SDK_INT < 21) { + encodedData = encoderOutputBuffers[encoderStatus]; + } else { + encodedData = encoder.getOutputBuffer(encoderStatus); + } + if (encodedData == null) { + throw new RuntimeException("encoderOutputBuffer " + encoderStatus + " was null"); + } + if (info.size > 1) { + if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) == 0) { + if (prependHeaderSize != 0 && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { + info.offset += prependHeaderSize; + info.size -= prependHeaderSize; } - int chunkSize = extractor.readSampleData(inputBuf, 0); - if (chunkSize < 0) { - decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L, MediaCodec.BUFFER_FLAG_END_OF_STREAM); - inputDone = true; - } else { - decoder.queueInputBuffer(inputBufIndex, 0, chunkSize, extractor.getSampleTime(), 0); - extractor.advance(); + if (firstEncode && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { + if (info.size > 100) { + encodedData.position(info.offset); + byte[] temp = new byte[100]; + encodedData.get(temp); + int nalCount = 0; + for (int a = 0; a < temp.length - 4; a++) { + if (temp[a] == 0 && temp[a + 1] == 0 && temp[a + 2] == 0 && temp[a + 3] == 1) { + nalCount++; + if (nalCount > 1) { + info.offset += a; + info.size -= a; + break; + } + } + } + } + firstEncode = false; } - } - } else if (copyAudioBuffer && audioIndex != -1 && index == audioIndex) { - info.size = extractor.readSampleData(audioBuffer, 0); - if (Build.VERSION.SDK_INT < 21) { - audioBuffer.position(0); - audioBuffer.limit(info.size); - } - if (info.size >= 0) { - info.presentationTimeUs = extractor.getSampleTime(); - extractor.advance(); - } else { - info.size = 0; - inputDone = true; - } - if (info.size > 0 && (endTime < 0 || info.presentationTimeUs < endTime)) { - info.offset = 0; - info.flags = extractor.getSampleFlags(); - long availableSize = mediaMuxer.writeSampleData(audioTrackIndex, audioBuffer, info, false); + long availableSize = mediaMuxer.writeSampleData(videoTrackIndex, encodedData, info, true); if (availableSize != 0) { if (callback != null) { if (info.presentationTimeUs - startTime > currentPts) { @@ -319,78 +206,323 @@ public class MediaCodecVideoConvertor { callback.didWriteData(availableSize, (currentPts / 1000f) / durationS); } } + } else if (videoTrackIndex == -5) { + byte[] csd = new byte[info.size]; + encodedData.limit(info.offset + info.size); + encodedData.position(info.offset); + encodedData.get(csd); + ByteBuffer sps = null; + ByteBuffer pps = null; + for (int a = info.size - 1; a >= 0; a--) { + if (a > 3) { + if (csd[a] == 1 && csd[a - 1] == 0 && csd[a - 2] == 0 && csd[a - 3] == 0) { + sps = ByteBuffer.allocate(a - 3); + pps = ByteBuffer.allocate(info.size - (a - 3)); + sps.put(csd, 0, a - 3).position(0); + pps.put(csd, a - 3, info.size - (a - 3)).position(0); + break; + } + } else { + break; + } + } + + MediaFormat newFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); + if (sps != null && pps != null) { + newFormat.setByteBuffer("csd-0", sps); + newFormat.setByteBuffer("csd-1", pps); + } + videoTrackIndex = mediaMuxer.addTrack(newFormat, false); } - } else if (index == -1) { - eof = true; } - if (eof) { - int inputBufIndex = decoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); - if (inputBufIndex >= 0) { - decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L, MediaCodec.BUFFER_FLAG_END_OF_STREAM); - inputDone = true; + outputDone = (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0; + encoder.releaseOutputBuffer(encoderStatus, false); + } + if (encoderStatus != MediaCodec.INFO_TRY_AGAIN_LATER) { + continue; + } + + if (!decoderDone) { + outputSurface.drawImage(false); + inputSurface.setPresentationTime((long) (framesCount / 30.0f * 1000L * 1000L * 1000L)); + inputSurface.swapBuffers(); + framesCount++; + + if (framesCount >= duration / 1000.0f * 30) { + decoderDone = true; + decoderOutputAvailable = false; + encoder.signalEndOfInputStream(); + } + } + } + } + } catch (Exception e) { + // in some case encoder.dequeueOutputBuffer return IllegalStateException + // stable reproduced on xiaomi + // fix it by increasing timeout + if (e instanceof IllegalStateException && !increaseTimeout) { + repeatWithIncreasedTimeout = true; + } + FileLog.e("bitrate: " + bitrate + " framerate: " + framerate + " size: " + resultHeight + "x" + resultWidth); + FileLog.e(e); + error = true; + } + + if (outputSurface != null) { + outputSurface.release(); + } + if (inputSurface != null) { + inputSurface.release(); + } + if (encoder != null) { + encoder.stop(); + encoder.release(); + } + checkConversionCanceled(); + } else { + extractor = new MediaExtractor(); + extractor.setDataSource(videoPath); + + int videoIndex = MediaController.findTrack(extractor, false); + int audioIndex = bitrate != -1 ? MediaController.findTrack(extractor, true) : -1; + boolean needConvertVideo = false; + if (videoIndex >= 0 && !extractor.getTrackFormat(videoIndex).getString(MediaFormat.KEY_MIME).equals(MediaController.VIDEO_MIME_TYPE)) { + needConvertVideo = true; + } + + if (needCompress || needConvertVideo) { + AudioRecoder audioRecoder = null; + ByteBuffer audioBuffer = null; + boolean copyAudioBuffer = true; + + if (videoIndex >= 0) { + MediaCodec decoder = null; + + try { + long videoTime = -1; + boolean outputDone = false; + boolean inputDone = false; + boolean decoderDone = false; + int swapUV = 0; + int videoTrackIndex = -5; + int audioTrackIndex = -5; + + int colorFormat; + int processorType = PROCESSOR_TYPE_OTHER; + String manufacturer = Build.MANUFACTURER.toLowerCase(); + if (Build.VERSION.SDK_INT < 18) { + MediaCodecInfo codecInfo = MediaController.selectCodec(MediaController.VIDEO_MIME_TYPE); + colorFormat = MediaController.selectColorFormat(codecInfo, MediaController.VIDEO_MIME_TYPE); + if (colorFormat == 0) { + throw new RuntimeException("no supported color format"); + } + String codecName = codecInfo.getName(); + if (codecName.contains("OMX.qcom.")) { + processorType = PROCESSOR_TYPE_QCOM; + if (Build.VERSION.SDK_INT == 16) { + if (manufacturer.equals("lge") || manufacturer.equals("nokia")) { + swapUV = 1; + } + } + } else if (codecName.contains("OMX.Intel.")) { + processorType = PROCESSOR_TYPE_INTEL; + } else if (codecName.equals("OMX.MTK.VIDEO.ENCODER.AVC")) { + processorType = PROCESSOR_TYPE_MTK; + } else if (codecName.equals("OMX.SEC.AVC.Encoder")) { + processorType = PROCESSOR_TYPE_SEC; + swapUV = 1; + } else if (codecName.equals("OMX.TI.DUCATI1.VIDEO.H264E")) { + processorType = PROCESSOR_TYPE_TI; + } + if (BuildVars.LOGS_ENABLED) { + FileLog.d("codec = " + codecInfo.getName() + " manufacturer = " + manufacturer + "device = " + Build.MODEL); + } + } else { + colorFormat = MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface; + } + if (BuildVars.LOGS_ENABLED) { + FileLog.d("colorFormat = " + colorFormat); + } + + int resultHeightAligned = resultHeight; + int padding = 0; + int bufferSize = resultWidth * resultHeight * 3 / 2; + if (processorType == PROCESSOR_TYPE_OTHER) { + if (resultHeight % 16 != 0) { + resultHeightAligned += (16 - (resultHeight % 16)); + padding = resultWidth * (resultHeightAligned - resultHeight); + bufferSize += padding * 5 / 4; + } + } else if (processorType == PROCESSOR_TYPE_QCOM) { + if (!manufacturer.toLowerCase().equals("lge")) { + int uvoffset = (resultWidth * resultHeight + 2047) & ~2047; + padding = uvoffset - (resultWidth * resultHeight); + bufferSize += padding; + } + } else if (processorType == PROCESSOR_TYPE_TI) { + //resultHeightAligned = 368; + //bufferSize = resultWidth * resultHeightAligned * 3 / 2; + //resultHeightAligned += (16 - (resultHeight % 16)); + //padding = resultWidth * (resultHeightAligned - resultHeight); + //bufferSize += padding * 5 / 4; + } else if (processorType == PROCESSOR_TYPE_MTK) { + if (manufacturer.equals("baidu")) { + resultHeightAligned += (16 - (resultHeight % 16)); + padding = resultWidth * (resultHeightAligned - resultHeight); + bufferSize += padding * 5 / 4; + } + } + + extractor.selectTrack(videoIndex); + MediaFormat videoFormat = extractor.getTrackFormat(videoIndex); + + if (startTime > 0) { + extractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } else { + extractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } + + if (bitrate <= 0) { + bitrate = 921600; + } + + MediaFormat outputFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); + outputFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat); + outputFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); + outputFormat.setInteger(MediaFormat.KEY_FRAME_RATE, framerate); + outputFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 2); + + if (Build.VERSION.SDK_INT < 23 && Math.min(resultHeight, resultWidth) <= 480) { + if (bitrate > 921600) { + bitrate = 921600; + } + outputFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); + } + + if (Build.VERSION.SDK_INT < 18) { + outputFormat.setInteger("stride", resultWidth + 32); + outputFormat.setInteger("slice-height", resultHeight); + } + + encoder = MediaCodec.createEncoderByType(MediaController.VIDEO_MIME_TYPE); + encoder.configure(outputFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); + if (Build.VERSION.SDK_INT >= 18) { + inputSurface = new InputSurface(encoder.createInputSurface()); + inputSurface.makeCurrent(); + } + encoder.start(); + + decoder = MediaCodec.createDecoderByType(videoFormat.getString(MediaFormat.KEY_MIME)); + if (Build.VERSION.SDK_INT >= 18) { + outputSurface = new OutputSurface(savedFilterState, null, paintPath, mediaEntities, resultWidth, resultHeight, framerate, false); + } else { + outputSurface = new OutputSurface(resultWidth, resultHeight, rotationValue); + } + decoder.configure(videoFormat, outputSurface.getSurface(), null, 0); + decoder.start(); + + ByteBuffer[] decoderInputBuffers = null; + ByteBuffer[] encoderOutputBuffers = null; + ByteBuffer[] encoderInputBuffers = null; + if (Build.VERSION.SDK_INT < 21) { + decoderInputBuffers = decoder.getInputBuffers(); + encoderOutputBuffers = encoder.getOutputBuffers(); + if (Build.VERSION.SDK_INT < 18) { + encoderInputBuffers = encoder.getInputBuffers(); + } + } + + if (audioIndex >= 0) { + MediaFormat audioFormat = extractor.getTrackFormat(audioIndex); + copyAudioBuffer = audioFormat.getString(MediaFormat.KEY_MIME).equals(MediaController.AUIDO_MIME_TYPE) + || audioFormat.getString(MediaFormat.KEY_MIME).equals("audio/mpeg"); + + if (audioFormat.getString(MediaFormat.KEY_MIME).equals("audio/unknown")) { + audioIndex = -1; + } + + if (audioIndex >= 0) { + if (copyAudioBuffer) { + audioTrackIndex = mediaMuxer.addTrack(audioFormat, true); + extractor.selectTrack(audioIndex); + int maxBufferSize = audioFormat.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE); + audioBuffer = ByteBuffer.allocateDirect(maxBufferSize); + + if (startTime > 0) { + extractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } else { + extractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } + } else { + MediaExtractor audioExtractor = new MediaExtractor(); + audioExtractor.setDataSource(videoPath); + audioExtractor.selectTrack(audioIndex); + + if (startTime > 0) { + audioExtractor.seekTo(startTime, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } else { + audioExtractor.seekTo(0, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); + } + + audioRecoder = new AudioRecoder(audioFormat, audioExtractor, audioIndex); + audioRecoder.startTime = startTime; + audioRecoder.endTime = endTime; + audioTrackIndex = mediaMuxer.addTrack(audioRecoder.format, true); } } } - boolean decoderOutputAvailable = !decoderDone; - boolean encoderOutputAvailable = true; - while (decoderOutputAvailable || encoderOutputAvailable) { + boolean audioEncoderDone = audioIndex < 0; + + boolean firstEncode = true; + + checkConversionCanceled(); + + while (!outputDone || (!copyAudioBuffer && !audioEncoderDone)) { checkConversionCanceled(); - int encoderStatus = encoder.dequeueOutputBuffer(info, increaseTimeout ? MEDIACODEC_TIMEOUT_INCREASED : MEDIACODEC_TIMEOUT_DEFAULT); - if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { - encoderOutputAvailable = false; - } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { - if (Build.VERSION.SDK_INT < 21) { - encoderOutputBuffers = encoder.getOutputBuffers(); - } - } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { - MediaFormat newFormat = encoder.getOutputFormat(); - if (videoTrackIndex == -5 && newFormat != null) { - videoTrackIndex = mediaMuxer.addTrack(newFormat, false); - if (newFormat.containsKey(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) && newFormat.getInteger(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) == 1) { - ByteBuffer spsBuff = newFormat.getByteBuffer("csd-0"); - ByteBuffer ppsBuff = newFormat.getByteBuffer("csd-1"); - prependHeaderSize = spsBuff.limit() + ppsBuff.limit(); + + if (!copyAudioBuffer && audioRecoder != null) { + audioEncoderDone = audioRecoder.step(mediaMuxer, audioTrackIndex); + } + + if (!inputDone) { + boolean eof = false; + int index = extractor.getSampleTrackIndex(); + if (index == videoIndex) { + int inputBufIndex = decoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); + if (inputBufIndex >= 0) { + ByteBuffer inputBuf; + if (Build.VERSION.SDK_INT < 21) { + inputBuf = decoderInputBuffers[inputBufIndex]; + } else { + inputBuf = decoder.getInputBuffer(inputBufIndex); + } + int chunkSize = extractor.readSampleData(inputBuf, 0); + if (chunkSize < 0) { + decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L, MediaCodec.BUFFER_FLAG_END_OF_STREAM); + inputDone = true; + } else { + decoder.queueInputBuffer(inputBufIndex, 0, chunkSize, extractor.getSampleTime(), 0); + extractor.advance(); + } } - } - } else if (encoderStatus < 0) { - throw new RuntimeException("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus); - } else { - ByteBuffer encodedData; - if (Build.VERSION.SDK_INT < 21) { - encodedData = encoderOutputBuffers[encoderStatus]; - } else { - encodedData = encoder.getOutputBuffer(encoderStatus); - } - if (encodedData == null) { - throw new RuntimeException("encoderOutputBuffer " + encoderStatus + " was null"); - } - if (info.size > 1) { - if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) == 0) { - if (prependHeaderSize != 0 && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { - info.offset += prependHeaderSize; - info.size -= prependHeaderSize; - } - if (firstEncode && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { - if (info.size > 100) { - encodedData.position(info.offset); - byte[] temp = new byte[100]; - encodedData.get(temp); - int nalCount = 0; - for (int a = 0; a < temp.length - 4; a++) { - if (temp[a] == 0 && temp[a + 1] == 0 && temp[a + 2] == 0 && temp[a + 3] == 1) { - nalCount++; - if (nalCount > 1) { - info.offset += a; - info.size -= a; - break; - } - } - } - } - firstEncode = false; - } - long availableSize = mediaMuxer.writeSampleData(videoTrackIndex, encodedData, info, true); + } else if (copyAudioBuffer && audioIndex != -1 && index == audioIndex) { + info.size = extractor.readSampleData(audioBuffer, 0); + if (Build.VERSION.SDK_INT < 21) { + audioBuffer.position(0); + audioBuffer.limit(info.size); + } + if (info.size >= 0) { + info.presentationTimeUs = extractor.getSampleTime(); + extractor.advance(); + } else { + info.size = 0; + inputDone = true; + } + if (info.size > 0 && (endTime < 0 || info.presentationTimeUs < endTime)) { + info.offset = 0; + info.flags = extractor.getSampleFlags(); + long availableSize = mediaMuxer.writeSampleData(audioTrackIndex, audioBuffer, info, false); if (availableSize != 0) { if (callback != null) { if (info.presentationTimeUs - startTime > currentPts) { @@ -399,161 +531,242 @@ public class MediaCodecVideoConvertor { callback.didWriteData(availableSize, (currentPts / 1000f) / durationS); } } - } else if (videoTrackIndex == -5) { - byte[] csd = new byte[info.size]; - encodedData.limit(info.offset + info.size); - encodedData.position(info.offset); - encodedData.get(csd); - ByteBuffer sps = null; - ByteBuffer pps = null; - for (int a = info.size - 1; a >= 0; a--) { - if (a > 3) { - if (csd[a] == 1 && csd[a - 1] == 0 && csd[a - 2] == 0 && csd[a - 3] == 0) { - sps = ByteBuffer.allocate(a - 3); - pps = ByteBuffer.allocate(info.size - (a - 3)); - sps.put(csd, 0, a - 3).position(0); - pps.put(csd, a - 3, info.size - (a - 3)).position(0); - break; - } - } else { - break; - } - } - - MediaFormat newFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); - if (sps != null && pps != null) { - newFormat.setByteBuffer("csd-0", sps); - newFormat.setByteBuffer("csd-1", pps); - } - videoTrackIndex = mediaMuxer.addTrack(newFormat, false); + } + } else if (index == -1) { + eof = true; + } + if (eof) { + int inputBufIndex = decoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); + if (inputBufIndex >= 0) { + decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L, MediaCodec.BUFFER_FLAG_END_OF_STREAM); + inputDone = true; } } - outputDone = (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0; - encoder.releaseOutputBuffer(encoderStatus, false); - } - if (encoderStatus != MediaCodec.INFO_TRY_AGAIN_LATER) { - continue; } - if (!decoderDone) { - int decoderStatus = decoder.dequeueOutputBuffer(info, MEDIACODEC_TIMEOUT_DEFAULT); - if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { - decoderOutputAvailable = false; - } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { - - } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { - MediaFormat newFormat = decoder.getOutputFormat(); - if (BuildVars.LOGS_ENABLED) { - FileLog.d("newFormat = " + newFormat); + boolean decoderOutputAvailable = !decoderDone; + boolean encoderOutputAvailable = true; + while (decoderOutputAvailable || encoderOutputAvailable) { + checkConversionCanceled(); + int encoderStatus = encoder.dequeueOutputBuffer(info, increaseTimeout ? MEDIACODEC_TIMEOUT_INCREASED : MEDIACODEC_TIMEOUT_DEFAULT); + if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { + encoderOutputAvailable = false; + } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { + if (Build.VERSION.SDK_INT < 21) { + encoderOutputBuffers = encoder.getOutputBuffers(); } - } else if (decoderStatus < 0) { - throw new RuntimeException("unexpected result from decoder.dequeueOutputBuffer: " + decoderStatus); + } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { + MediaFormat newFormat = encoder.getOutputFormat(); + if (videoTrackIndex == -5 && newFormat != null) { + videoTrackIndex = mediaMuxer.addTrack(newFormat, false); + if (newFormat.containsKey(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) && newFormat.getInteger(MediaFormat.KEY_PREPEND_HEADER_TO_SYNC_FRAMES) == 1) { + ByteBuffer spsBuff = newFormat.getByteBuffer("csd-0"); + ByteBuffer ppsBuff = newFormat.getByteBuffer("csd-1"); + prependHeaderSize = spsBuff.limit() + ppsBuff.limit(); + } + } + } else if (encoderStatus < 0) { + throw new RuntimeException("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus); } else { - boolean doRender; - if (Build.VERSION.SDK_INT >= 18) { - doRender = info.size != 0; + ByteBuffer encodedData; + if (Build.VERSION.SDK_INT < 21) { + encodedData = encoderOutputBuffers[encoderStatus]; } else { - doRender = info.size != 0 || info.presentationTimeUs != 0; + encodedData = encoder.getOutputBuffer(encoderStatus); } - if (endTime > 0 && info.presentationTimeUs >= endTime) { - inputDone = true; - decoderDone = true; - doRender = false; - info.flags |= MediaCodec.BUFFER_FLAG_END_OF_STREAM; + if (encodedData == null) { + throw new RuntimeException("encoderOutputBuffer " + encoderStatus + " was null"); } - if (startTime > 0 && videoTime == -1) { - if (info.presentationTimeUs < startTime) { - doRender = false; - if (BuildVars.LOGS_ENABLED) { - FileLog.d("drop frame startTime = " + startTime + " present time = " + info.presentationTimeUs); + if (info.size > 1) { + if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) == 0) { + if (prependHeaderSize != 0 && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { + info.offset += prependHeaderSize; + info.size -= prependHeaderSize; } - } else { - videoTime = info.presentationTimeUs; + if (firstEncode && (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0) { + if (info.size > 100) { + encodedData.position(info.offset); + byte[] temp = new byte[100]; + encodedData.get(temp); + int nalCount = 0; + for (int a = 0; a < temp.length - 4; a++) { + if (temp[a] == 0 && temp[a + 1] == 0 && temp[a + 2] == 0 && temp[a + 3] == 1) { + nalCount++; + if (nalCount > 1) { + info.offset += a; + info.size -= a; + break; + } + } + } + } + firstEncode = false; + } + long availableSize = mediaMuxer.writeSampleData(videoTrackIndex, encodedData, info, true); + if (availableSize != 0) { + if (callback != null) { + if (info.presentationTimeUs - startTime > currentPts) { + currentPts = info.presentationTimeUs - startTime; + } + callback.didWriteData(availableSize, (currentPts / 1000f) / durationS); + } + } + } else if (videoTrackIndex == -5) { + byte[] csd = new byte[info.size]; + encodedData.limit(info.offset + info.size); + encodedData.position(info.offset); + encodedData.get(csd); + ByteBuffer sps = null; + ByteBuffer pps = null; + for (int a = info.size - 1; a >= 0; a--) { + if (a > 3) { + if (csd[a] == 1 && csd[a - 1] == 0 && csd[a - 2] == 0 && csd[a - 3] == 0) { + sps = ByteBuffer.allocate(a - 3); + pps = ByteBuffer.allocate(info.size - (a - 3)); + sps.put(csd, 0, a - 3).position(0); + pps.put(csd, a - 3, info.size - (a - 3)).position(0); + break; + } + } else { + break; + } + } + + MediaFormat newFormat = MediaFormat.createVideoFormat(MediaController.VIDEO_MIME_TYPE, resultWidth, resultHeight); + if (sps != null && pps != null) { + newFormat.setByteBuffer("csd-0", sps); + newFormat.setByteBuffer("csd-1", pps); + } + videoTrackIndex = mediaMuxer.addTrack(newFormat, false); } } - decoder.releaseOutputBuffer(decoderStatus, doRender); - if (doRender) { - boolean errorWait = false; - try { - outputSurface.awaitNewImage(); - } catch (Exception e) { - errorWait = true; - FileLog.e(e); + outputDone = (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0; + encoder.releaseOutputBuffer(encoderStatus, false); + } + if (encoderStatus != MediaCodec.INFO_TRY_AGAIN_LATER) { + continue; + } + + if (!decoderDone) { + int decoderStatus = decoder.dequeueOutputBuffer(info, MEDIACODEC_TIMEOUT_DEFAULT); + if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { + decoderOutputAvailable = false; + } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { + + } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { + MediaFormat newFormat = decoder.getOutputFormat(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("newFormat = " + newFormat); } - if (!errorWait) { - if (Build.VERSION.SDK_INT >= 18) { - outputSurface.drawImage(false); - inputSurface.setPresentationTime(info.presentationTimeUs * 1000); - inputSurface.swapBuffers(); + } else if (decoderStatus < 0) { + throw new RuntimeException("unexpected result from decoder.dequeueOutputBuffer: " + decoderStatus); + } else { + boolean doRender; + if (Build.VERSION.SDK_INT >= 18) { + doRender = info.size != 0; + } else { + doRender = info.size != 0 || info.presentationTimeUs != 0; + } + if (endTime > 0 && info.presentationTimeUs >= endTime) { + inputDone = true; + decoderDone = true; + doRender = false; + info.flags |= MediaCodec.BUFFER_FLAG_END_OF_STREAM; + } + if (startTime > 0 && videoTime == -1) { + if (info.presentationTimeUs < startTime) { + doRender = false; + if (BuildVars.LOGS_ENABLED) { + FileLog.d("drop frame startTime = " + startTime + " present time = " + info.presentationTimeUs); + } } else { - int inputBufIndex = encoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); - if (inputBufIndex >= 0) { - outputSurface.drawImage(true); - ByteBuffer rgbBuf = outputSurface.getFrame(); - ByteBuffer yuvBuf = encoderInputBuffers[inputBufIndex]; - yuvBuf.clear(); - Utilities.convertVideoFrame(rgbBuf, yuvBuf, colorFormat, resultWidth, resultHeight, padding, swapUV); - encoder.queueInputBuffer(inputBufIndex, 0, bufferSize, info.presentationTimeUs, 0); + videoTime = info.presentationTimeUs; + } + } + decoder.releaseOutputBuffer(decoderStatus, doRender); + if (doRender) { + boolean errorWait = false; + try { + outputSurface.awaitNewImage(); + } catch (Exception e) { + errorWait = true; + FileLog.e(e); + } + if (!errorWait) { + if (Build.VERSION.SDK_INT >= 18) { + outputSurface.drawImage(false); + inputSurface.setPresentationTime(info.presentationTimeUs * 1000); + inputSurface.swapBuffers(); } else { - if (BuildVars.LOGS_ENABLED) { - FileLog.d("input buffer not available"); + int inputBufIndex = encoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); + if (inputBufIndex >= 0) { + outputSurface.drawImage(true); + ByteBuffer rgbBuf = outputSurface.getFrame(); + ByteBuffer yuvBuf = encoderInputBuffers[inputBufIndex]; + yuvBuf.clear(); + Utilities.convertVideoFrame(rgbBuf, yuvBuf, colorFormat, resultWidth, resultHeight, padding, swapUV); + encoder.queueInputBuffer(inputBufIndex, 0, bufferSize, info.presentationTimeUs, 0); + } else { + if (BuildVars.LOGS_ENABLED) { + FileLog.d("input buffer not available"); + } } } } } - } - if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { - decoderOutputAvailable = false; - if (BuildVars.LOGS_ENABLED) { - FileLog.d("decoder stream end"); - } - if (Build.VERSION.SDK_INT >= 18) { - encoder.signalEndOfInputStream(); - } else { - int inputBufIndex = encoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); - if (inputBufIndex >= 0) { - encoder.queueInputBuffer(inputBufIndex, 0, 1, info.presentationTimeUs, MediaCodec.BUFFER_FLAG_END_OF_STREAM); + if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { + decoderOutputAvailable = false; + if (BuildVars.LOGS_ENABLED) { + FileLog.d("decoder stream end"); + } + if (Build.VERSION.SDK_INT >= 18) { + encoder.signalEndOfInputStream(); + } else { + int inputBufIndex = encoder.dequeueInputBuffer(MEDIACODEC_TIMEOUT_DEFAULT); + if (inputBufIndex >= 0) { + encoder.queueInputBuffer(inputBufIndex, 0, 1, info.presentationTimeUs, MediaCodec.BUFFER_FLAG_END_OF_STREAM); + } } } } } } } + } catch (Exception e) { + // in some case encoder.dequeueOutputBuffer return IllegalStateException + // stable reproduced on xiaomi + // fix it by increasing timeout + if (e instanceof IllegalStateException && !increaseTimeout) { + repeatWithIncreasedTimeout = true; + } + FileLog.e("bitrate: " + bitrate + " framerate: " + framerate + " size: " + resultHeight + "x" + resultWidth); + FileLog.e(e); + error = true; } - } catch (Exception e) { - // in some case encoder.dequeueOutputBuffer return IllegalStateException - // stable reproduced on xiaomi - // fix it by increasing timeout - if (e instanceof IllegalStateException && !increaseTimeout) { - repeatWithIncreasedTimeout = true; + + extractor.unselectTrack(videoIndex); + if (decoder != null) { + decoder.stop(); + decoder.release(); } - FileLog.e("bitrate: " + bitrate + " framerate: " + framerate + " size: " + resultHeight + "x" + resultWidth); - FileLog.e(e); - error = true; } - - extractor.unselectTrack(videoIndex); - if (outputSurface != null) { outputSurface.release(); } if (inputSurface != null) { inputSurface.release(); } - if (decoder != null) { - decoder.stop(); - decoder.release(); - } if (encoder != null) { encoder.stop(); encoder.release(); } - - if (audioRecoder != null) audioRecoder.release(); + if (audioRecoder != null) { + audioRecoder.release(); + } checkConversionCanceled(); + } else { + readAndWriteTracks(extractor, mediaMuxer, info, startTime, endTime, duration, cacheFile, bitrate != -1); } - } else { - readAndWriteTracks(extractor, mediaMuxer, info, startTime, endTime, duration, cacheFile, bitrate != -1); } } catch (Exception e) { error = true; @@ -574,7 +787,7 @@ public class MediaCodecVideoConvertor { if (repeatWithIncreasedTimeout) { return convertVideoInternal(videoPath, cacheFile, rotationValue, isSecret, - resultWidth, resultHeight, framerate, bitrate, startTime, endTime, duration, needCompress, true); + resultWidth, resultHeight, framerate, bitrate, startTime, endTime, duration, needCompress, true, savedFilterState, paintPath, mediaEntities, isPhoto); } return error; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/video/OutputSurface.java b/TMessagesProj/src/main/java/org/telegram/messenger/video/OutputSurface.java index 3a2fa7a8c..907617ad5 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/video/OutputSurface.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/video/OutputSurface.java @@ -20,8 +20,12 @@ import android.graphics.SurfaceTexture; import android.opengl.GLES20; import android.view.Surface; +import org.telegram.messenger.MediaController; +import org.telegram.messenger.VideoEditedInfo; + import java.nio.ByteBuffer; import java.nio.ByteOrder; +import java.util.ArrayList; import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGLConfig; @@ -58,15 +62,15 @@ public class OutputSurface implements SurfaceTexture.OnFrameAvailableListener { mPixelBuf.order(ByteOrder.LITTLE_ENDIAN); eglSetup(width, height); makeCurrent(); - setup(); + setup(null, null, null, null, 0, 0, 0, false); } - public OutputSurface() { - setup(); + public OutputSurface(MediaController.SavedFilterState savedFilterState, String imagePath, String paintPath, ArrayList mediaEntities, int w, int h, float fps, boolean photo) { + setup(savedFilterState, imagePath, paintPath, mediaEntities, w, h, fps, photo); } - private void setup() { - mTextureRender = new TextureRenderer(rotateRender); + private void setup(MediaController.SavedFilterState savedFilterState, String imagePath, String paintPath, ArrayList mediaEntities, int w, int h, float fps, boolean photo) { + mTextureRender = new TextureRenderer(rotateRender, savedFilterState, imagePath, paintPath, mediaEntities, w, h, fps, photo); mTextureRender.surfaceCreated(); mSurfaceTexture = new SurfaceTexture(mTextureRender.getTextureId()); mSurfaceTexture.setOnFrameAvailableListener(this); @@ -129,6 +133,9 @@ public class OutputSurface implements SurfaceTexture.OnFrameAvailableListener { mEGL.eglDestroySurface(mEGLDisplay, mEGLSurface); mEGL.eglDestroyContext(mEGLDisplay, mEGLContext); } + if (mTextureRender != null) { + mTextureRender.release(); + } mSurface.release(); mEGLDisplay = null; mEGLContext = null; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/video/TextureRenderer.java b/TMessagesProj/src/main/java/org/telegram/messenger/video/TextureRenderer.java index 3f093d8c7..120585de0 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/video/TextureRenderer.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/video/TextureRenderer.java @@ -1,37 +1,75 @@ /* - * Copyright (C) 2013 The Android Open Source Project + * This is the source code of Telegram for Android v. 5.x.x. + * It is licensed under GNU GPL v. 2 or later. + * You should have received a copy of the license in this archive (see LICENSE). * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright Nikolai Kudashov, 2013-2020. */ package org.telegram.messenger.video; +import java.io.File; +import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; +import java.nio.channels.FileChannel; +import java.util.ArrayList; +import android.annotation.SuppressLint; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; import android.graphics.SurfaceTexture; +import android.graphics.Typeface; import android.opengl.GLES11Ext; import android.opengl.GLES20; +import android.opengl.GLUtils; import android.opengl.Matrix; +import android.os.Build; +import android.text.Layout; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.View; +import android.view.inputmethod.EditorInfo; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.ApplicationLoader; +import org.telegram.messenger.Bitmaps; +import org.telegram.messenger.FileLog; +import org.telegram.messenger.MediaController; +import org.telegram.messenger.Utilities; +import org.telegram.messenger.VideoEditedInfo; +import org.telegram.ui.Components.FilterShaders; +import org.telegram.ui.Components.Paint.Views.EditTextOutline; +import org.telegram.ui.Components.RLottieDrawable; + +import javax.microedition.khronos.opengles.GL10; + +import androidx.annotation.RequiresApi; +import androidx.exifinterface.media.ExifInterface; public class TextureRenderer { - private static final int FLOAT_SIZE_BYTES = 4; - private static final int TRIANGLE_VERTICES_DATA_STRIDE_BYTES = 5 * FLOAT_SIZE_BYTES; - private static final int TRIANGLE_VERTICES_DATA_POS_OFFSET = 0; - private static final int TRIANGLE_VERTICES_DATA_UV_OFFSET = 3; - private FloatBuffer mTriangleVertices; + private FloatBuffer verticesBuffer; + private FloatBuffer textureBuffer; + private FloatBuffer bitmapVerticesBuffer; + + float[] bitmapData = { + -1.0f, 1.0f, + 1.0f, 1.0f, + -1.0f, -1.0f, + 1.0f, -1.0f, + }; + + private FilterShaders filterShaders; + private String paintPath; + private String imagePath; + private ArrayList mediaEntities; + private int videoWidth; + private int videoHeight; private static final String VERTEX_SHADER = "uniform mat4 uMVPMatrix;\n" + @@ -62,19 +100,64 @@ public class TextureRenderer { private int maPositionHandle; private int maTextureHandle; + private int simpleShaderProgram; + private int simplePositionHandle; + private int simpleInputTexCoordHandle; + private int simpleSourceImageHandle; + private int rotationAngle; - public TextureRenderer(int rotation) { + private int[] paintTexture; + private int[] stickerTexture; + private Bitmap stickerBitmap; + private float videoFps; + + private int imageOrientation; + + private boolean blendEnabled; + + private boolean isPhoto; + + public TextureRenderer(int rotation, MediaController.SavedFilterState savedFilterState, String image, String paint, ArrayList entities, int w, int h, float fps, boolean photo) { rotationAngle = rotation; - float[] mTriangleVerticesData = { - -1.0f, -1.0f, 0, 0.f, 0.f, - 1.0f, -1.0f, 0, 1.f, 0.f, - -1.0f, 1.0f, 0, 0.f, 1.f, - 1.0f, 1.0f, 0, 1.f, 1.f, + isPhoto = photo; + float[] verticesData = { + -1.0f, -1.0f, + 1.0f, -1.0f, + -1.0f, 1.0f, + 1.0f, 1.0f, }; - mTriangleVertices = ByteBuffer.allocateDirect(mTriangleVerticesData.length * FLOAT_SIZE_BYTES).order(ByteOrder.nativeOrder()).asFloatBuffer(); - mTriangleVertices.put(mTriangleVerticesData).position(0); + float[] texData = { + 0.f, 0.f, + 1.f, 0.f, + 0.f, 1.f, + 1.f, 1.f, + }; + + verticesBuffer = ByteBuffer.allocateDirect(verticesData.length * 4).order(ByteOrder.nativeOrder()).asFloatBuffer(); + verticesBuffer.put(verticesData).position(0); + + textureBuffer = ByteBuffer.allocateDirect(texData.length * 4).order(ByteOrder.nativeOrder()).asFloatBuffer(); + textureBuffer.put(texData).position(0); + + verticesBuffer = ByteBuffer.allocateDirect(verticesData.length * 4).order(ByteOrder.nativeOrder()).asFloatBuffer(); + verticesBuffer.put(verticesData).position(0); + + bitmapVerticesBuffer = ByteBuffer.allocateDirect(bitmapData.length * 4).order(ByteOrder.nativeOrder()).asFloatBuffer(); + bitmapVerticesBuffer.put(bitmapData).position(0); + Matrix.setIdentityM(mSTMatrix, 0); + + if (savedFilterState != null) { + filterShaders = new FilterShaders(true); + filterShaders.setDelegate(FilterShaders.getFilterShadersDelegate(savedFilterState)); + } + videoWidth = w; + videoHeight = h; + imagePath = image; + paintPath = paint; + mediaEntities = entities; + videoFps = fps == 0 ? 30 : fps; } public int getTextureId() { @@ -83,35 +166,173 @@ public class TextureRenderer { public void drawFrame(SurfaceTexture st, boolean invert) { checkGlError("onDrawFrame start"); - st.getTransformMatrix(mSTMatrix); + if (isPhoto) { + GLES20.glUseProgram(simpleShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - if (invert) { - mSTMatrix[5] = -mSTMatrix[5]; - mSTMatrix[13] = 1.0f - mSTMatrix[13]; + GLES20.glUniform1i(simpleSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(simpleInputTexCoordHandle); + GLES20.glVertexAttribPointer(maTextureHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(simplePositionHandle); + } else { + st.getTransformMatrix(mSTMatrix); + + if (blendEnabled) { + GLES20.glDisable(GLES20.GL_BLEND); + blendEnabled = false; + } + if (filterShaders != null) { + filterShaders.onVideoFrameUpdate(mSTMatrix); + + GLES20.glViewport(0, 0, videoWidth, videoHeight); + filterShaders.drawEnhancePass(); + filterShaders.drawSharpenPass(); + filterShaders.drawCustomParamsPass(); + boolean blurred = filterShaders.drawBlurPass(); + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + + GLES20.glUseProgram(simpleShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, filterShaders.getRenderTexture(blurred ? 0 : 1)); + + GLES20.glUniform1i(simpleSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(simpleInputTexCoordHandle); + GLES20.glVertexAttribPointer(simpleInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, filterShaders.getTextureBuffer()); + GLES20.glEnableVertexAttribArray(simplePositionHandle); + GLES20.glVertexAttribPointer(simplePositionHandle, 2, GLES20.GL_FLOAT, false, 8, filterShaders.getVertexBuffer()); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } else { + if (invert) { + mSTMatrix[5] = -mSTMatrix[5]; + mSTMatrix[13] = 1.0f - mSTMatrix[13]; + } + GLES20.glUseProgram(mProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, mTextureID); + + GLES20.glVertexAttribPointer(maPositionHandle, 2, GLES20.GL_FLOAT, false, 8, verticesBuffer); + GLES20.glEnableVertexAttribArray(maPositionHandle); + GLES20.glVertexAttribPointer(maTextureHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(maTextureHandle); + + GLES20.glUniformMatrix4fv(muSTMatrixHandle, 1, false, mSTMatrix, 0); + GLES20.glUniformMatrix4fv(muMVPMatrixHandle, 1, false, mMVPMatrix, 0); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + + if (paintTexture != null || stickerTexture != null) { + GLES20.glUseProgram(simpleShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + + GLES20.glUniform1i(simpleSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(simpleInputTexCoordHandle); + GLES20.glVertexAttribPointer(maTextureHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(simplePositionHandle); + } + } + } + if (paintTexture != null) { + for (int a = 0; a < paintTexture.length; a++) { + drawTexture(true, paintTexture[a]); + } + } + if (stickerTexture != null) { + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.ptr != 0) { + RLottieDrawable.getFrame(entity.ptr, (int) entity.currentFrame, stickerBitmap, 512, 512, stickerBitmap.getRowBytes()); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, stickerTexture[0]); + GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, stickerBitmap, 0); + entity.currentFrame += entity.framesPerDraw; + if (entity.currentFrame >= entity.metadata[0]) { + entity.currentFrame = 0; + } + drawTexture(false, stickerTexture[0], entity.x, entity.y, entity.width, entity.height, entity.rotation, (entity.subType & 2) != 0); + } else if (entity.bitmap != null) { + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, stickerTexture[0]); + GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, entity.bitmap, 0); + drawTexture(false, stickerTexture[0], entity.x, entity.y, entity.width, entity.height, entity.rotation, (entity.subType & 2) != 0); + } + } } - - GLES20.glUseProgram(mProgram); - checkGlError("glUseProgram"); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, mTextureID); - mTriangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET); - GLES20.glVertexAttribPointer(maPositionHandle, 3, GLES20.GL_FLOAT, false, TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices); - checkGlError("glVertexAttribPointer maPosition"); - GLES20.glEnableVertexAttribArray(maPositionHandle); - checkGlError("glEnableVertexAttribArray maPositionHandle"); - mTriangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET); - GLES20.glVertexAttribPointer(maTextureHandle, 2, GLES20.GL_FLOAT, false, TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices); - checkGlError("glVertexAttribPointer maTextureHandle"); - GLES20.glEnableVertexAttribArray(maTextureHandle); - checkGlError("glEnableVertexAttribArray maTextureHandle"); - - GLES20.glUniformMatrix4fv(muSTMatrixHandle, 1, false, mSTMatrix, 0); - GLES20.glUniformMatrix4fv(muMVPMatrixHandle, 1, false, mMVPMatrix, 0); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - checkGlError("glDrawArrays"); GLES20.glFinish(); } + private void drawTexture(boolean bind, int texture) { + drawTexture(bind, texture, -10000, -10000, -10000, -10000, 0, false); + } + + private void drawTexture(boolean bind, int texture, float x, float y, float w, float h, float rotation, boolean mirror) { + if (!blendEnabled) { + GLES20.glEnable(GLES20.GL_BLEND); + GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA); + blendEnabled = true; + } + if (x <= -10000) { + bitmapData[0] = -1.0f; + bitmapData[1] = 1.0f; + + bitmapData[2] = 1.0f; + bitmapData[3] = 1.0f; + + bitmapData[4] = -1.0f; + bitmapData[5] = -1.0f; + + bitmapData[6] = 1.0f; + bitmapData[7] = -1.0f; + } else { + x = x * 2 - 1.0f; + y = (1.0f - y) * 2 - 1.0f; + w = w * 2; + h = h * 2; + + bitmapData[0] = x; + bitmapData[1] = y; + + bitmapData[2] = x + w; + bitmapData[3] = y; + + bitmapData[4] = x; + bitmapData[5] = y - h; + + bitmapData[6] = x + w; + bitmapData[7] = y - h; + } + float mx = (bitmapData[0] + bitmapData[2]) / 2; + if (mirror) { + float temp = bitmapData[2]; + bitmapData[2] = bitmapData[0]; + bitmapData[0] = temp; + + temp = bitmapData[6]; + bitmapData[6] = bitmapData[4]; + bitmapData[4] = temp; + } + if (rotation != 0) { + float ratio = videoWidth / (float) videoHeight; + float my = (bitmapData[5] + bitmapData[1]) / 2; + for (int a = 0; a < 4; a++) { + float x1 = bitmapData[a * 2 ] - mx; + float y1 = (bitmapData[a * 2 + 1] - my) / ratio; + bitmapData[a * 2 ] = (float) (x1 * Math.cos(rotation) - y1 * Math.sin(rotation)) + mx; + bitmapData[a * 2 + 1] = (float) (x1 * Math.sin(rotation) + y1 * Math.cos(rotation)) * ratio + my; + } + } + bitmapVerticesBuffer.put(bitmapData).position(0); + GLES20.glVertexAttribPointer(maPositionHandle, 2, GLES20.GL_FLOAT, false, 8, bitmapVerticesBuffer); + + if (bind) { + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texture); + } + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } + + @RequiresApi(api = Build.VERSION_CODES.M) + public void setBreakStrategy(EditTextOutline editText) { + editText.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE); + } + + @SuppressLint("WrongConstant") public void surfaceCreated() { mProgram = createProgram(VERTEX_SHADER, FRAGMENT_SHADER); if (mProgram == 0) { @@ -152,28 +373,194 @@ public class TextureRenderer { if (rotationAngle != 0) { Matrix.rotateM(mMVPMatrix, 0, rotationAngle, 0, 0, 1); } - } - private int loadShader(int shaderType, String source) { - int shader = GLES20.glCreateShader(shaderType); - checkGlError("glCreateShader type=" + shaderType); - GLES20.glShaderSource(shader, source); - GLES20.glCompileShader(shader); - int[] compiled = new int[1]; - GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0); - if (compiled[0] == 0) { - GLES20.glDeleteShader(shader); - shader = 0; + if (filterShaders != null || imagePath != null || paintPath != null || mediaEntities != null) { + int vertexShader = FilterShaders.loadShader(GLES20.GL_VERTEX_SHADER, FilterShaders.simpleVertexShaderCode); + int fragmentShader = FilterShaders.loadShader(GLES20.GL_FRAGMENT_SHADER, FilterShaders.simpleFragmentShaderCode); + if (vertexShader != 0 && fragmentShader != 0) { + simpleShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(simpleShaderProgram, vertexShader); + GLES20.glAttachShader(simpleShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(simpleShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(simpleShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(simpleShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(simpleShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(simpleShaderProgram); + simpleShaderProgram = 0; + } else { + simplePositionHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "position"); + simpleInputTexCoordHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "inputTexCoord"); + simpleSourceImageHandle = GLES20.glGetUniformLocation(simpleShaderProgram, "sourceImage"); + } + } + } + + if (filterShaders != null) { + filterShaders.create(); + filterShaders.setRenderData(null, 0, mTextureID, videoWidth, videoHeight); + } + if (imagePath != null || paintPath != null) { + paintTexture = new int[(imagePath != null ? 1 : 0) + (paintPath != null ? 1 : 0)]; + GLES20.glGenTextures(paintTexture.length, paintTexture, 0); + try { + for (int a = 0; a < paintTexture.length; a++) { + String path; + int angle = 0; + if (a == 0 && imagePath != null) { + path = imagePath; + try { + ExifInterface exif = new ExifInterface(path); + int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1); + switch (orientation) { + case ExifInterface.ORIENTATION_ROTATE_90: + angle = 90; + break; + case ExifInterface.ORIENTATION_ROTATE_180: + angle = 180; + break; + case ExifInterface.ORIENTATION_ROTATE_270: + angle = 270; + break; + } + } catch (Throwable ignore) { + + } + } else { + path = paintPath; + } + Bitmap bitmap = BitmapFactory.decodeFile(path); + if (bitmap != null) { + if (a == 0 && imagePath != null) { + Bitmap newBitmap = Bitmap.createBitmap(videoWidth, videoHeight, Bitmap.Config.ARGB_8888); + newBitmap.eraseColor(0xff000000); + Canvas canvas = new Canvas(newBitmap); + float scale; + if (angle == 90 || angle == 270) { + scale = Math.max(bitmap.getHeight() / (float) videoWidth, bitmap.getWidth() / (float) videoHeight); + } else { + scale = Math.max(bitmap.getWidth() / (float) videoWidth, bitmap.getHeight() / (float) videoHeight); + } + + android.graphics.Matrix matrix = new android.graphics.Matrix(); + matrix.postTranslate(-bitmap.getWidth() / 2, -bitmap.getHeight() / 2); + matrix.postScale(1.0f / scale, 1.0f / scale); + matrix.postRotate(angle); + matrix.postTranslate(newBitmap.getWidth() / 2, newBitmap.getHeight() / 2); + canvas.drawBitmap(bitmap, matrix, new Paint(Paint.FILTER_BITMAP_FLAG)); + bitmap = newBitmap; + } + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, paintTexture[a]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0); + } + } + } catch (Throwable e) { + FileLog.e(e); + } + } + if (mediaEntities != null) { + try { + stickerBitmap = Bitmap.createBitmap(512, 512, Bitmap.Config.ARGB_8888); + stickerTexture = new int[1]; + GLES20.glGenTextures(1, stickerTexture, 0); + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, stickerTexture[0]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.type == 0) { + if ((entity.subType & 1) != 0) { + entity.metadata = new int[3]; + entity.ptr = RLottieDrawable.create(entity.text, 512, 512, entity.metadata, false, null, false); + entity.framesPerDraw = entity.metadata[1] / videoFps; + } else { + if (Build.VERSION.SDK_INT >= 19) { + entity.bitmap = BitmapFactory.decodeFile(entity.text); + } else { + File path = new File(entity.text); + RandomAccessFile file = new RandomAccessFile(path, "r"); + ByteBuffer buffer = file.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, path.length()); + BitmapFactory.Options bmOptions = new BitmapFactory.Options(); + bmOptions.inJustDecodeBounds = true; + Utilities.loadWebpImage(null, buffer, buffer.limit(), bmOptions, true); + entity.bitmap = Bitmaps.createBitmap(bmOptions.outWidth, bmOptions.outHeight, Bitmap.Config.ARGB_8888); + Utilities.loadWebpImage(entity.bitmap, buffer, buffer.limit(), null, true); + file.close(); + } + if (entity.bitmap != null) { + float aspect = entity.bitmap.getWidth() / (float) entity.bitmap.getHeight(); + if (aspect > 1) { + float h = entity.height / aspect; + entity.y += (entity.height - h) / 2; + entity.height = h; + } else if (aspect < 1) { + float w = entity.width * aspect; + entity.x += (entity.width - w) / 2; + entity.width = w; + } + } + } + } else if (entity.type == 1) { + EditTextOutline editText = new EditTextOutline(ApplicationLoader.applicationContext); + editText.setBackgroundColor(Color.TRANSPARENT); + editText.setPadding(AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7)); + editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, entity.fontSize); + editText.setText(entity.text); + editText.setTextColor(entity.color); + editText.setTypeface(null, Typeface.BOLD); + editText.setGravity(Gravity.CENTER); + editText.setHorizontallyScrolling(false); + editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); + editText.setFocusableInTouchMode(true); + editText.setInputType(editText.getInputType() | EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES); + if (Build.VERSION.SDK_INT >= 23) { + setBreakStrategy(editText); + } + if ((entity.subType & 1) != 0) { + editText.setTextColor(0xffffffff); + editText.setStrokeColor(entity.color); + editText.setFrameColor(0); + editText.setShadowLayer(0, 0, 0, 0); + } else if ((entity.subType & 4) != 0) { + editText.setTextColor(0xff000000); + editText.setStrokeColor(0); + editText.setFrameColor(entity.color); + editText.setShadowLayer(0, 0, 0, 0); + } else { + editText.setTextColor(entity.color); + editText.setStrokeColor(0); + editText.setFrameColor(0); + editText.setShadowLayer(5, 0, 1, 0x66000000); + } + + editText.measure(View.MeasureSpec.makeMeasureSpec(entity.viewWidth, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(entity.viewHeight, View.MeasureSpec.EXACTLY)); + editText.layout(0, 0, entity.viewWidth, entity.viewHeight); + entity.bitmap = Bitmap.createBitmap(entity.viewWidth, entity.viewHeight, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(entity.bitmap); + editText.draw(canvas); + } + } + } catch (Throwable e) { + FileLog.e(e); + } } - return shader; } private int createProgram(String vertexSource, String fragmentSource) { - int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource); + int vertexShader = FilterShaders.loadShader(GLES20.GL_VERTEX_SHADER, vertexSource); if (vertexShader == 0) { return 0; } - int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource); + int pixelShader = FilterShaders.loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource); if (pixelShader == 0) { return 0; } @@ -202,4 +589,15 @@ public class TextureRenderer { throw new RuntimeException(op + ": glError " + error); } } + + public void release() { + if (mediaEntities != null) { + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.ptr != 0) { + RLottieDrawable.destroy(entity.ptr); + } + } + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPBaseService.java b/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPBaseService.java index b8602eda6..f1b71b07a 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPBaseService.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPBaseService.java @@ -612,6 +612,7 @@ public abstract class VoIPBaseService extends Service implements SensorEventList if(!USE_CONNECTION_SERVICE){ if(isBtHeadsetConnected && !playingSound){ am.stopBluetoothSco(); + am.setBluetoothScoOn(false); am.setSpeakerphoneOn(false); } try{ diff --git a/TMessagesProj/src/main/java/org/telegram/tgnet/SerializedData.java b/TMessagesProj/src/main/java/org/telegram/tgnet/SerializedData.java index a98e0a75f..9ad3b41d6 100644 --- a/TMessagesProj/src/main/java/org/telegram/tgnet/SerializedData.java +++ b/TMessagesProj/src/main/java/org/telegram/tgnet/SerializedData.java @@ -315,6 +315,17 @@ public class SerializedData extends AbstractSerializedData { } } + public void writeFloat(float d) { + try { + writeInt32(Float.floatToIntBits(d)); + } catch (Exception e) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("write float error"); + FileLog.e(e); + } + } + } + public int length() { if (!justCalc) { return isOut ? outbuf.size() : inbuf.available(); @@ -370,6 +381,24 @@ public class SerializedData extends AbstractSerializedData { return false; } + public byte readByte(boolean exception) { + try { + byte result = in.readByte(); + len += 1; + return result; + } catch (Exception e) { + if (exception) { + throw new RuntimeException("read byte error", e); + } else { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("read byte error"); + FileLog.e(e); + } + } + } + return 0; + } + public void readBytes(byte[] b, boolean exception) { try { in.read(b); @@ -474,6 +503,22 @@ public class SerializedData extends AbstractSerializedData { return 0; } + public float readFloat(boolean exception) { + try { + return Float.intBitsToFloat(readInt32(exception)); + } catch (Exception e) { + if (exception) { + throw new RuntimeException("read float error", e); + } else { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("read float error"); + FileLog.e(e); + } + } + } + return 0; + } + public int readInt32(boolean exception) { try { int i = 0; diff --git a/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java b/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java index 59c782b76..9eb478436 100644 --- a/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java +++ b/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java @@ -61,7 +61,7 @@ public class TLRPC { public static final int MESSAGE_FLAG_EDITED = 0x00008000; public static final int MESSAGE_FLAG_MEGAGROUP = 0x80000000; - public static final int LAYER = 113; + public static final int LAYER = 114; public static class TL_chatBannedRights extends TLObject { public static int constructor = 0x9f120418; @@ -5213,78 +5213,6 @@ public class TLRPC { } } - public static abstract class FoundGif extends TLObject { - public String url; - public Photo photo; - public Document document; - public String thumb_url; - public String content_url; - public String content_type; - public int w; - public int h; - - public static FoundGif TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { - FoundGif result = null; - switch (constructor) { - case 0x9c750409: - result = new TL_foundGifCached(); - break; - case 0x162ecc1f: - result = new TL_foundGif(); - break; - } - if (result == null && exception) { - throw new RuntimeException(String.format("can't parse magic %x in FoundGif", constructor)); - } - if (result != null) { - result.readParams(stream, exception); - } - return result; - } - } - - public static class TL_foundGifCached extends FoundGif { - public static int constructor = 0x9c750409; - - - public void readParams(AbstractSerializedData stream, boolean exception) { - url = stream.readString(exception); - photo = Photo.TLdeserialize(stream, stream.readInt32(exception), exception); - document = Document.TLdeserialize(stream, stream.readInt32(exception), exception); - } - - public void serializeToStream(AbstractSerializedData stream) { - stream.writeInt32(constructor); - stream.writeString(url); - photo.serializeToStream(stream); - document.serializeToStream(stream); - } - } - - public static class TL_foundGif extends FoundGif { - public static int constructor = 0x162ecc1f; - - - public void readParams(AbstractSerializedData stream, boolean exception) { - url = stream.readString(exception); - thumb_url = stream.readString(exception); - content_url = stream.readString(exception); - content_type = stream.readString(exception); - w = stream.readInt32(exception); - h = stream.readInt32(exception); - } - - public void serializeToStream(AbstractSerializedData stream) { - stream.writeInt32(constructor); - stream.writeString(url); - stream.writeString(thumb_url); - stream.writeString(content_url); - stream.writeString(content_type); - stream.writeInt32(w); - stream.writeInt32(h); - } - } - public static abstract class payments_PaymentResult extends TLObject { public static payments_PaymentResult TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { @@ -5981,7 +5909,7 @@ public class TLRPC { if ((flags & 1) != 0) { document = Document.TLdeserialize(stream, stream.readInt32(exception), exception); } else { - document = new TLRPC.TL_documentEmpty(); + document = new TL_documentEmpty(); } if ((flags & 4) != 0) { ttl_seconds = stream.readInt32(exception); @@ -6009,7 +5937,7 @@ public class TLRPC { if ((flags & 1) != 0) { document = Document.TLdeserialize(stream, stream.readInt32(exception), exception); } else { - document = new TLRPC.TL_documentEmpty(); + document = new TL_documentEmpty(); } if ((flags & 2) != 0) { captionLegacy = stream.readString(exception); @@ -6072,7 +6000,7 @@ public class TLRPC { if ((flags & 1) != 0) { photo = Photo.TLdeserialize(stream, stream.readInt32(exception), exception); } else { - photo = new TLRPC.TL_photoEmpty(); + photo = new TL_photoEmpty(); } if ((flags & 4) != 0) { ttl_seconds = stream.readInt32(exception); @@ -6117,7 +6045,7 @@ public class TLRPC { if ((flags & 1) != 0) { photo = Photo.TLdeserialize(stream, stream.readInt32(exception), exception); } else { - photo = new TLRPC.TL_photoEmpty(); + photo = new TL_photoEmpty(); } if ((flags & 2) != 0) { captionLegacy = stream.readString(exception); @@ -11561,6 +11489,46 @@ public class TLRPC { } } + public static class TL_videoSize extends TLObject { + public static int constructor = 0x435bb987; + + public String type; + public FileLocation location; + public int w; + public int h; + public int size; + + public static TL_videoSize TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { + if (TL_videoSize.constructor != constructor) { + if (exception) { + throw new RuntimeException(String.format("can't parse magic %x in TL_videoSize", constructor)); + } else { + return null; + } + } + TL_videoSize result = new TL_videoSize(); + result.readParams(stream, exception); + return result; + } + + public void readParams(AbstractSerializedData stream, boolean exception) { + type = stream.readString(exception); + location = FileLocation.TLdeserialize(stream, stream.readInt32(exception), exception); + w = stream.readInt32(exception); + h = stream.readInt32(exception); + size = stream.readInt32(exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + stream.writeString(type); + location.serializeToStream(stream); + stream.writeInt32(w); + stream.writeInt32(h); + stream.writeInt32(size); + } + } + public static abstract class BotInlineMessage extends TLObject { public int flags; public GeoPoint geo; @@ -17805,6 +17773,7 @@ public class TLRPC { public String mime_type; public int size; public ArrayList thumbs = new ArrayList<>(); + public ArrayList video_thumbs = new ArrayList<>(); public int version; public int dc_id; public byte[] key; @@ -17815,7 +17784,7 @@ public class TLRPC { Document result = null; switch (constructor) { case 0x9ba29cc1: - result = new TL_document(); + result = new TL_document_layer113(); break; case 0x59534e4c: result = new TL_document_layer92(); @@ -17826,6 +17795,9 @@ public class TLRPC { case 0x55555556: result = new TL_documentEncrypted_old(); break; + case 0x1e87342b: + result = new TL_document(); + break; case 0x9efc6326: result = new TL_document_old(); break; @@ -17849,7 +17821,7 @@ public class TLRPC { } } - public static class TL_document_layer92 extends TLRPC.TL_document { + public static class TL_document_layer92 extends TL_document { public static int constructor = 0x59534e4c; @@ -17982,6 +17954,105 @@ public class TLRPC { } public static class TL_document extends Document { + public static int constructor = 0x1e87342b; + + + public void readParams(AbstractSerializedData stream, boolean exception) { + flags = stream.readInt32(exception); + id = stream.readInt64(exception); + access_hash = stream.readInt64(exception); + file_reference = stream.readByteArray(exception); + date = stream.readInt32(exception); + mime_type = stream.readString(exception); + size = stream.readInt32(exception); + if ((flags & 1) != 0) { + int magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + int count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + PhotoSize object = PhotoSize.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + thumbs.add(object); + } + } + if ((flags & 2) != 0) { + int magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + int count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + TL_videoSize object = TL_videoSize.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + video_thumbs.add(object); + } + } + dc_id = stream.readInt32(exception); + int magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + int count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + DocumentAttribute object = DocumentAttribute.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + attributes.add(object); + } + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + stream.writeInt32(flags); + stream.writeInt64(id); + stream.writeInt64(access_hash); + stream.writeByteArray(file_reference); + stream.writeInt32(date); + stream.writeString(mime_type); + stream.writeInt32(size); + if ((flags & 1) != 0) { + stream.writeInt32(0x1cb5c415); + int count = thumbs.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + thumbs.get(a).serializeToStream(stream); + } + } + if ((flags & 2) != 0) { + stream.writeInt32(0x1cb5c415); + int count = video_thumbs.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + video_thumbs.get(a).serializeToStream(stream); + } + } + stream.writeInt32(dc_id); + stream.writeInt32(0x1cb5c415); + int count = attributes.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + attributes.get(a).serializeToStream(stream); + } + } + } + + public static class TL_document_layer113 extends TL_document { public static int constructor = 0x9ba29cc1; @@ -19527,8 +19598,6 @@ public class TLRPC { public String vcard; public int flags; public int ttl_seconds; - public String url; - public String q; public InputGeoPoint geo_point; public InputFile file; public ArrayList stickers = new ArrayList<>(); @@ -19559,9 +19628,6 @@ public class TLRPC { case 0xe66fbf7b: result = new TL_inputMediaDice(); break; - case 0x4843b0fd: - result = new TL_inputMediaGifExternal(); - break; case 0xf9c44144: result = new TL_inputMediaGeoPoint(); break; @@ -19675,22 +19741,6 @@ public class TLRPC { } } - public static class TL_inputMediaGifExternal extends InputMedia { - public static int constructor = 0x4843b0fd; - - - public void readParams(AbstractSerializedData stream, boolean exception) { - url = stream.readString(exception); - q = stream.readString(exception); - } - - public void serializeToStream(AbstractSerializedData stream) { - stream.writeInt32(constructor); - stream.writeString(url); - stream.writeString(q); - } - } - public static class TL_inputMediaGeoPoint extends InputMedia { public static int constructor = 0xf9c44144; @@ -19708,6 +19758,7 @@ public class TLRPC { public static class TL_inputMediaDocumentExternal extends InputMedia { public static int constructor = 0xfb52dc99; + public String url; public void readParams(AbstractSerializedData stream, boolean exception) { flags = stream.readInt32(exception); @@ -19984,6 +20035,7 @@ public class TLRPC { public static class TL_inputMediaPhotoExternal extends InputMedia { public static int constructor = 0xe5bbfe1a; + public String url; public void readParams(AbstractSerializedData stream, boolean exception) { flags = stream.readInt32(exception); @@ -25572,56 +25624,6 @@ public class TLRPC { } } - public static class TL_messages_foundGifs extends TLObject { - public static int constructor = 0x450a1c0a; - - public int next_offset; - public ArrayList results = new ArrayList<>(); - - public static TL_messages_foundGifs TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { - if (TL_messages_foundGifs.constructor != constructor) { - if (exception) { - throw new RuntimeException(String.format("can't parse magic %x in TL_messages_foundGifs", constructor)); - } else { - return null; - } - } - TL_messages_foundGifs result = new TL_messages_foundGifs(); - result.readParams(stream, exception); - return result; - } - - public void readParams(AbstractSerializedData stream, boolean exception) { - next_offset = stream.readInt32(exception); - int magic = stream.readInt32(exception); - if (magic != 0x1cb5c415) { - if (exception) { - throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); - } - return; - } - int count = stream.readInt32(exception); - for (int a = 0; a < count; a++) { - FoundGif object = FoundGif.TLdeserialize(stream, stream.readInt32(exception), exception); - if (object == null) { - return; - } - results.add(object); - } - } - - public void serializeToStream(AbstractSerializedData stream) { - stream.writeInt32(constructor); - stream.writeInt32(next_offset); - stream.writeInt32(0x1cb5c415); - int count = results.size(); - stream.writeInt32(count); - for (int a = 0; a < count; a++) { - results.get(a).serializeToStream(stream); - } - } - } - public static abstract class Theme extends TLObject { public static Theme TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { @@ -37700,23 +37702,6 @@ public class TLRPC { } } - public static class TL_messages_searchGifs extends TLObject { - public static int constructor = 0xbf9a776b; - - public String q; - public int offset; - - public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { - return TL_messages_foundGifs.TLdeserialize(stream, constructor, exception); - } - - public void serializeToStream(AbstractSerializedData stream) { - stream.writeInt32(constructor); - stream.writeString(q); - stream.writeInt32(offset); - } - } - public static class TL_messages_getSavedGifs extends TLObject { public static int constructor = 0x83bf3d52; @@ -40829,7 +40814,7 @@ public class TLRPC { if (object == null) { return; } - TLRPC.TL_pageListItemText item = new TL_pageListItemText(); + TL_pageListItemText item = new TL_pageListItemText(); item.text = object; items.add(item); } @@ -40842,7 +40827,7 @@ public class TLRPC { int count = items.size(); stream.writeInt32(count); for (int a = 0; a < count; a++) { - TLRPC.TL_pageListItemText item = (TLRPC.TL_pageListItemText) items.get(a); + TL_pageListItemText item = (TL_pageListItemText) items.get(a); item.text.serializeToStream(stream); } } @@ -40970,12 +40955,12 @@ public class TLRPC { result.readParams(stream, exception); if (result.video_unused != null) { TL_messageMediaDocument mediaDocument = new TL_messageMediaDocument(); - if (result.video_unused instanceof TLRPC.TL_videoEncrypted) { - mediaDocument.document = new TLRPC.TL_documentEncrypted(); + if (result.video_unused instanceof TL_videoEncrypted) { + mediaDocument.document = new TL_documentEncrypted(); mediaDocument.document.key = result.video_unused.key; mediaDocument.document.iv = result.video_unused.iv; } else { - mediaDocument.document = new TLRPC.TL_document(); + mediaDocument.document = new TL_document(); } mediaDocument.flags = 3; mediaDocument.document.file_reference = new byte[0]; @@ -40991,7 +40976,7 @@ public class TLRPC { mediaDocument.document.thumbs.add(result.video_unused.thumb); mediaDocument.document.dc_id = result.video_unused.dc_id; mediaDocument.captionLegacy = result.captionLegacy; - TLRPC.TL_documentAttributeVideo attributeVideo = new TLRPC.TL_documentAttributeVideo(); + TL_documentAttributeVideo attributeVideo = new TL_documentAttributeVideo(); attributeVideo.w = result.video_unused.w; attributeVideo.h = result.video_unused.h; attributeVideo.duration = result.video_unused.duration; @@ -41002,12 +40987,12 @@ public class TLRPC { } } else if (result.audio_unused != null) { TL_messageMediaDocument mediaDocument = new TL_messageMediaDocument(); - if (result.audio_unused instanceof TLRPC.TL_audioEncrypted) { - mediaDocument.document = new TLRPC.TL_documentEncrypted(); + if (result.audio_unused instanceof TL_audioEncrypted) { + mediaDocument.document = new TL_documentEncrypted(); mediaDocument.document.key = result.audio_unused.key; mediaDocument.document.iv = result.audio_unused.iv; } else { - mediaDocument.document = new TLRPC.TL_document(); + mediaDocument.document = new TL_document(); } mediaDocument.flags = 3; mediaDocument.document.file_reference = new byte[0]; @@ -41020,12 +41005,12 @@ public class TLRPC { mediaDocument.document.mime_type = "audio/ogg"; } mediaDocument.document.size = result.audio_unused.size; - TLRPC.TL_photoSizeEmpty thumb = new TL_photoSizeEmpty(); + TL_photoSizeEmpty thumb = new TL_photoSizeEmpty(); thumb.type = "s"; mediaDocument.document.thumbs.add(thumb); mediaDocument.document.dc_id = result.audio_unused.dc_id; mediaDocument.captionLegacy = result.captionLegacy; - TLRPC.TL_documentAttributeAudio attributeAudio = new TLRPC.TL_documentAttributeAudio(); + TL_documentAttributeAudio attributeAudio = new TL_documentAttributeAudio(); attributeAudio.duration = result.audio_unused.duration; attributeAudio.voice = true; mediaDocument.document.attributes.add(attributeAudio); @@ -41086,7 +41071,7 @@ public class TLRPC { } caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41127,7 +41112,7 @@ public class TLRPC { h = stream.readInt32(exception); caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41161,7 +41146,7 @@ public class TLRPC { video_id = stream.readInt64(exception); caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41196,7 +41181,7 @@ public class TLRPC { } caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41219,7 +41204,7 @@ public class TLRPC { photo_id = stream.readInt64(exception); caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41251,7 +41236,7 @@ public class TLRPC { } caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41274,7 +41259,7 @@ public class TLRPC { audio_id = stream.readInt64(exception); caption = new TL_pageCaption(); caption.text = RichText.TLdeserialize(stream, stream.readInt32(exception), exception); - caption.credit = new TLRPC.TL_textEmpty(); + caption.credit = new TL_textEmpty(); } public void serializeToStream(AbstractSerializedData stream) { @@ -41394,9 +41379,10 @@ public class TLRPC { public int seq_in; //custom public int seq_out; //custom public boolean with_my_score; - public TLRPC.Message replyMessage; //custom + public Message replyMessage; //custom public int reqId; //custom public int realId; //custom + public int stickerVerified = 1; //custom public static Message TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { @@ -41487,12 +41473,12 @@ public class TLRPC { public void readAttachPath(AbstractSerializedData stream, int currentUserId) { boolean hasMedia = media != null && !(media instanceof TL_messageMediaEmpty) && !(media instanceof TL_messageMediaWebPage); boolean fixCaption = !TextUtils.isEmpty(message) && - (media instanceof TLRPC.TL_messageMediaPhoto_old || - media instanceof TLRPC.TL_messageMediaPhoto_layer68 || - media instanceof TLRPC.TL_messageMediaPhoto_layer74 || - media instanceof TLRPC.TL_messageMediaDocument_old || - media instanceof TLRPC.TL_messageMediaDocument_layer68 || - media instanceof TLRPC.TL_messageMediaDocument_layer74) + (media instanceof TL_messageMediaPhoto_old || + media instanceof TL_messageMediaPhoto_layer68 || + media instanceof TL_messageMediaPhoto_layer74 || + media instanceof TL_messageMediaDocument_old || + media instanceof TL_messageMediaDocument_layer68 || + media instanceof TL_messageMediaDocument_layer74) && message.startsWith("-1"); if ((out || to_id != null && to_id.user_id != 0 && to_id.user_id == from_id && from_id == currentUserId) && (id < 0 || hasMedia || send_state == 3) || legacy) { if (hasMedia && fixCaption) { @@ -41878,10 +41864,10 @@ public class TLRPC { if ((flags & 4) != 0) { fwd_from = new TL_messageFwdHeader(); Peer peer = Peer.TLdeserialize(stream, stream.readInt32(exception), exception); - if (peer instanceof TLRPC.TL_peerChannel) { + if (peer instanceof TL_peerChannel) { fwd_from.channel_id = peer.channel_id; fwd_from.flags |= 2; - } else if (peer instanceof TLRPC.TL_peerUser) { + } else if (peer instanceof TL_peerUser) { fwd_from.from_id = peer.user_id; fwd_from.flags |= 1; } @@ -41942,11 +41928,11 @@ public class TLRPC { to_id.serializeToStream(stream); if ((flags & 4) != 0) { if (fwd_from.from_id != 0) { - TLRPC.TL_peerUser peer = new TL_peerUser(); + TL_peerUser peer = new TL_peerUser(); peer.user_id = fwd_from.from_id; peer.serializeToStream(stream); } else { - TLRPC.TL_peerChannel peer = new TL_peerChannel(); + TL_peerChannel peer = new TL_peerChannel(); peer.channel_id = fwd_from.channel_id; peer.serializeToStream(stream); } @@ -42005,10 +41991,10 @@ public class TLRPC { if ((flags & 4) != 0) { fwd_from = new TL_messageFwdHeader(); Peer peer = Peer.TLdeserialize(stream, stream.readInt32(exception), exception); - if (peer instanceof TLRPC.TL_peerChannel) { + if (peer instanceof TL_peerChannel) { fwd_from.channel_id = peer.channel_id; fwd_from.flags |= 2; - } else if (peer instanceof TLRPC.TL_peerUser) { + } else if (peer instanceof TL_peerUser) { fwd_from.from_id = peer.user_id; fwd_from.flags |= 1; } @@ -42066,11 +42052,11 @@ public class TLRPC { to_id.serializeToStream(stream); if ((flags & 4) != 0) { if (fwd_from.from_id != 0) { - TLRPC.TL_peerUser peer = new TL_peerUser(); + TL_peerUser peer = new TL_peerUser(); peer.user_id = fwd_from.from_id; peer.serializeToStream(stream); } else { - TLRPC.TL_peerChannel peer = new TL_peerChannel(); + TL_peerChannel peer = new TL_peerChannel(); peer.channel_id = fwd_from.channel_id; peer.serializeToStream(stream); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarLayout.java index ca78f3959..f960b3cc2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarLayout.java @@ -224,6 +224,9 @@ public class ActionBarLayout extends FrameLayout { private DrawerLayoutContainer drawerLayoutContainer; private ActionBar currentActionBar; + private BaseFragment newFragment; + private BaseFragment oldFragment; + private AnimatorSet currentAnimation; private DecelerateInterpolator decelerateInterpolator = new DecelerateInterpolator(1.5f); private AccelerateDecelerateInterpolator accelerateDecelerateInterpolator = new AccelerateDecelerateInterpolator(); @@ -801,13 +804,19 @@ public class ActionBarLayout extends FrameLayout { if (animationProgress > 1.0f) { animationProgress = 1.0f; } + if (newFragment != null) { + newFragment.onTransitionAnimationProgress(true, animationProgress); + } + if (oldFragment != null) { + oldFragment.onTransitionAnimationProgress(false, animationProgress); + } float interpolated = decelerateInterpolator.getInterpolation(animationProgress); if (open) { containerView.setAlpha(interpolated); if (preview) { containerView.setScaleX(0.9f + 0.1f * interpolated); containerView.setScaleY(0.9f + 0.1f * interpolated); - previewBackgroundDrawable.setAlpha((int) (0x80 * interpolated)); + previewBackgroundDrawable.setAlpha((int) (0x2e * interpolated)); Theme.moveUpDrawable.setAlpha((int) (255 * interpolated)); containerView.invalidate(); invalidate(); @@ -819,7 +828,7 @@ public class ActionBarLayout extends FrameLayout { if (preview) { containerViewBack.setScaleX(0.9f + 0.1f * (1.0f - interpolated)); containerViewBack.setScaleY(0.9f + 0.1f * (1.0f - interpolated)); - previewBackgroundDrawable.setAlpha((int) (0x80 * (1.0f - interpolated))); + previewBackgroundDrawable.setAlpha((int) (0x2e * (1.0f - interpolated))); Theme.moveUpDrawable.setAlpha((int) (255 * (1.0f - interpolated))); containerView.invalidate(); invalidate(); @@ -854,7 +863,7 @@ public class ActionBarLayout extends FrameLayout { return false; } fragment.setInPreviewMode(preview); - if (parentActivity.getCurrentFocus() != null) { + if (parentActivity.getCurrentFocus() != null && fragment.hideKeyboardOnShow()) { AndroidUtilities.hideKeyboard(parentActivity.getCurrentFocus()); } boolean needAnimation = preview || !forceWithoutAnimation && MessagesController.getGlobalMainSettings().getBoolean("view_animations", true); @@ -922,7 +931,7 @@ public class ActionBarLayout extends FrameLayout { fragmentView.setElevation(AndroidUtilities.dp(4)); } if (previewBackgroundDrawable == null) { - previewBackgroundDrawable = new ColorDrawable(0x80000000); + previewBackgroundDrawable = new ColorDrawable(0x2e000000); } previewBackgroundDrawable.setAlpha(0); Theme.moveUpDrawable.setAlpha(0); @@ -1000,6 +1009,8 @@ public class ActionBarLayout extends FrameLayout { currentFragment.onTransitionAnimationStart(false, false); } fragment.onTransitionAnimationStart(true, false); + oldFragment = currentFragment; + newFragment = fragment; AnimatorSet animation = null; if (!preview) { animation = fragment.onCustomTransitionAnimation(true, () -> onAnimationEndCheck(false)); @@ -1234,6 +1245,8 @@ public class ActionBarLayout extends FrameLayout { } } + newFragment = previousFragment; + oldFragment = currentFragment; previousFragment.onTransitionAnimationStart(true, true); currentFragment.onTransitionAnimationStart(false, true); previousFragment.onResume(); @@ -1661,8 +1674,12 @@ public class ActionBarLayout extends FrameLayout { } transitionAnimationPreviewMode = false; transitionAnimationStartTime = 0; - onCloseAnimationEndRunnable.run(); + newFragment = null; + oldFragment = null; + Runnable endRunnable = onCloseAnimationEndRunnable; onCloseAnimationEndRunnable = null; + endRunnable.run(); + checkNeedRebuild(); checkNeedRebuild(); } } @@ -1686,8 +1703,11 @@ public class ActionBarLayout extends FrameLayout { } transitionAnimationPreviewMode = false; transitionAnimationStartTime = 0; - onOpenAnimationEndRunnable.run(); + newFragment = null; + oldFragment = null; + Runnable endRunnable = onOpenAnimationEndRunnable; onOpenAnimationEndRunnable = null; + endRunnable.run(); checkNeedRebuild(); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarMenuItem.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarMenuItem.java index bba1f994f..aa864ed4c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarMenuItem.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarMenuItem.java @@ -80,8 +80,9 @@ public class ActionBarMenuItem extends FrameLayout { } } - public interface ActionBarSumMenuItemDelegate { + public interface ActionBarSubMenuItemDelegate { void onShowSubMenu(); + void onHideSubMenu(); } public interface ActionBarMenuItemDelegate { @@ -106,7 +107,7 @@ public class ActionBarMenuItem extends FrameLayout { private int subMenuOpenSide; private int yOffset; private ActionBarMenuItemDelegate delegate; - private ActionBarSumMenuItemDelegate subMenuDelegate; + private ActionBarSubMenuItemDelegate subMenuDelegate; private boolean allowCloseAnimation = true; protected boolean overrideMenuClick; private boolean processedPopupClick; @@ -235,8 +236,8 @@ public class ActionBarMenuItem extends FrameLayout { delegate = actionBarMenuItemDelegate; } - public void setSubMenuDelegate(ActionBarSumMenuItemDelegate actionBarSumMenuItemDelegate) { - subMenuDelegate = actionBarSumMenuItemDelegate; + public void setSubMenuDelegate(ActionBarSubMenuItemDelegate actionBarSubMenuItemDelegate) { + subMenuDelegate = actionBarSubMenuItemDelegate; } public void setIconColor(int color) { @@ -489,7 +490,12 @@ public class ActionBarMenuItem extends FrameLayout { } return false; }); - popupWindow.setOnDismissListener(this::onDismiss); + popupWindow.setOnDismissListener(() -> { + onDismiss(); + if (subMenuDelegate != null) { + subMenuDelegate.onHideSubMenu(); + } + }); } if (measurePopup) { popupLayout.measure(MeasureSpec.makeMeasureSpec(AndroidUtilities.displaySize.x - AndroidUtilities.dp(40), MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(AndroidUtilities.displaySize.y, MeasureSpec.AT_MOST)); @@ -533,20 +539,23 @@ public class ActionBarMenuItem extends FrameLayout { } } if (searchContainer.getVisibility() == VISIBLE) { - if (openKeyboard) { - AndroidUtilities.hideKeyboard(searchField); - } - if (clearsTextOnSearchCollapse) { - searchField.setText(""); - } searchContainer.setVisibility(GONE); searchField.clearFocus(); setVisibility(VISIBLE); if (listener != null) { listener.onSearchCollapse(); } + if (openKeyboard) { + AndroidUtilities.hideKeyboard(searchField); + } + if (clearsTextOnSearchCollapse) { + searchField.setText(""); + } return false; } else { + if (listener != null) { + listener.onSearchExpand(); + } searchContainer.setVisibility(VISIBLE); setVisibility(GONE); searchField.setText(""); @@ -554,9 +563,6 @@ public class ActionBarMenuItem extends FrameLayout { if (openKeyboard) { AndroidUtilities.showKeyboard(searchField); } - if (listener != null) { - listener.onSearchExpand(); - } return true; } } @@ -565,6 +571,10 @@ public class ActionBarMenuItem extends FrameLayout { clearsTextOnSearchCollapse = value; } + public boolean isSubMenuShowing() { + return popupWindow != null && popupWindow.isShowing(); + } + public void closeSubMenu() { if (popupWindow != null && popupWindow.isShowing()) { popupWindow.dismiss(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarPopupWindow.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarPopupWindow.java index ca8df35bb..9f75f66f5 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarPopupWindow.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarPopupWindow.java @@ -224,6 +224,10 @@ public class ActionBarPopupWindow extends PopupWindow { linearLayout.addView(child); } + public void addView(View child, LinearLayout.LayoutParams layoutParams) { + linearLayout.addView(child, layoutParams); + } + public void removeInnerViews() { linearLayout.removeAllViews(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BaseFragment.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BaseFragment.java index 0048e61c1..8731b592c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BaseFragment.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BaseFragment.java @@ -114,6 +114,10 @@ public class BaseFragment { } } + protected boolean hideKeyboardOnShow() { + return true; + } + protected void clearViews() { if (fragmentView != null) { ViewGroup parent = (ViewGroup) fragmentView.getParent(); @@ -375,6 +379,10 @@ public class BaseFragment { } } + protected void onTransitionAnimationProgress(boolean isOpen, float progress) { + + } + protected void onTransitionAnimationStart(boolean isOpen, boolean backward) { } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BottomSheet.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BottomSheet.java index 8f946cd63..a9dff9943 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BottomSheet.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BottomSheet.java @@ -16,6 +16,7 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.graphics.Canvas; +import android.graphics.Insets; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; @@ -24,6 +25,8 @@ import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; + +import androidx.annotation.RequiresApi; import androidx.core.view.NestedScrollingParent; import androidx.core.view.NestedScrollingParentHelper; import androidx.core.view.ViewCompat; @@ -88,11 +91,18 @@ public class BottomSheet extends Dialog { protected boolean isFullscreen; protected ColorDrawable backDrawable = new ColorDrawable(0xff000000); + protected boolean useLightStatusBar = true; + + protected String behindKeyboardColorKey = Theme.key_dialogBackground; + protected int behindKeyboardColor; + private boolean canDismissWithSwipe = true; private boolean allowCustomAnimation = true; private boolean showWithoutAnimation; + protected boolean calcMandatoryInsets; + private int touchSlop; private boolean useFastDismiss; protected Interpolator openInterpolator = CubicBezierInterpolator.EASE_OUT_QUINT; @@ -344,6 +354,9 @@ public class BottomSheet extends Dialog { keyboardVisible = keyboardHeight > AndroidUtilities.dp(20); if (lastInsets != null && Build.VERSION.SDK_INT >= 21) { bottomInset = lastInsets.getSystemWindowInsetBottom(); + if (Build.VERSION.SDK_INT >= 29) { + bottomInset += getAdditionalMandatoryOffsets(); + } if (keyboardVisible && rect.bottom != 0 && rect.top != 0) { bottomInset -= keyboardHeight; } @@ -353,7 +366,11 @@ public class BottomSheet extends Dialog { } setMeasuredDimension(width, containerHeight); if (lastInsets != null && Build.VERSION.SDK_INT >= 21) { - height -= lastInsets.getSystemWindowInsetBottom(); + int inset = lastInsets.getSystemWindowInsetBottom(); + if (Build.VERSION.SDK_INT >= 29) { + inset += getAdditionalMandatoryOffsets(); + } + height -= inset; } if (lastInsets != null && Build.VERSION.SDK_INT >= 21) { width -= lastInsets.getSystemWindowInsetRight() + lastInsets.getSystemWindowInsetLeft(); @@ -394,6 +411,9 @@ public class BottomSheet extends Dialog { left += lastInsets.getSystemWindowInsetLeft(); right -= lastInsets.getSystemWindowInsetRight(); t -= lastInsets.getSystemWindowInsetBottom() - (drawNavigationBar ? 0 : bottomInset); + if (Build.VERSION.SDK_INT >= 29) { + t -= getAdditionalMandatoryOffsets(); + } } int l = ((right - left) - containerView.getMeasuredWidth()) / 2; if (lastInsets != null && Build.VERSION.SDK_INT >= 21) { @@ -438,9 +458,6 @@ public class BottomSheet extends Dialog { } switch (verticalGravity) { - case Gravity.TOP: - childTop = lp.topMargin; - break; case Gravity.CENTER_VERTICAL: childTop = (bottom - top - height) / 2 + lp.topMargin - lp.bottomMargin; break; @@ -493,7 +510,15 @@ public class BottomSheet extends Dialog { } else { backgroundPaint.setColor(0xff000000); } - canvas.drawRect(containerView.getLeft() + backgroundPaddingLeft, getMeasuredHeight() - bottomInset, containerView.getRight() - backgroundPaddingLeft, getMeasuredHeight(), backgroundPaint); + float translation = 0; + if (Build.VERSION.SDK_INT >= 29 && getAdditionalMandatoryOffsets() > 0) { + float dist = containerView.getMeasuredHeight() - containerView.getTranslationY(); + if (currentSheetAnimationType == 1) { + dist *= 0.1f; + } + translation = Math.max(0, bottomInset - dist); + } + canvas.drawRect(containerView.getLeft() + backgroundPaddingLeft, getMeasuredHeight() - bottomInset + translation, containerView.getRight() - backgroundPaddingLeft, getMeasuredHeight() + translation, backgroundPaint); } } @@ -501,13 +526,22 @@ public class BottomSheet extends Dialog { protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (lastInsets != null && keyboardHeight != 0) { - backgroundPaint.setColor(Theme.getColor(Theme.key_dialogBackground)); + backgroundPaint.setColor(behindKeyboardColorKey != null ? Theme.getColor(behindKeyboardColorKey) : behindKeyboardColor); canvas.drawRect(containerView.getLeft() + backgroundPaddingLeft, getMeasuredHeight() - keyboardHeight - (drawNavigationBar ? bottomInset : 0), containerView.getRight() - backgroundPaddingLeft, getMeasuredHeight() - (drawNavigationBar ? bottomInset : 0), backgroundPaint); } onContainerDraw(canvas); } } + @RequiresApi(api = Build.VERSION_CODES.Q) + private int getAdditionalMandatoryOffsets() { + if (!calcMandatoryInsets) { + return 0; + } + Insets insets = lastInsets.getSystemGestureInsets(); + return !keyboardVisible && drawNavigationBar && insets != null && (insets.left != 0 || insets.right != 0) ? insets.bottom : 0; + } + public interface BottomSheetDelegateInterface { void onOpenAnimationStart(); void onOpenAnimationEnd(); @@ -541,7 +575,6 @@ public class BottomSheet extends Dialog { super(context); currentType = type; - setBackground(null); setBackgroundDrawable(Theme.getSelectorDrawable(false)); //setPadding(AndroidUtilities.dp(16), 0, AndroidUtilities.dp(16), 0); @@ -578,6 +611,9 @@ public class BottomSheet extends Dialog { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int height = currentType == 2 ? 80 : 48; + if (currentType == 0) { + widthMeasureSpec = MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY); + } super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(height), MeasureSpec.EXACTLY)); } @@ -590,13 +626,21 @@ public class BottomSheet extends Dialog { } public void setTextAndIcon(CharSequence text, int icon) { - setTextAndIcon(text, icon, false); + setTextAndIcon(text, icon, null, false); } - public void setTextAndIcon(CharSequence text, int icon, boolean bigTitle) { + public void setTextAndIcon(CharSequence text, Drawable icon) { + setTextAndIcon(text, 0, icon, false); + } + + public void setTextAndIcon(CharSequence text, int icon, Drawable drawable, boolean bigTitle) { textView.setText(text); - if (icon != 0) { - imageView.setImageResource(icon); + if (icon != 0 || drawable != null) { + if (drawable != null) { + imageView.setImageDrawable(drawable); + } else { + imageView.setImageResource(icon); + } imageView.setVisibility(VISIBLE); if (bigTitle) { textView.setPadding(AndroidUtilities.dp(LocaleController.isRTL ? 21 : 72), 0, AndroidUtilities.dp(LocaleController.isRTL ? 72 : 21), 0); @@ -614,6 +658,10 @@ public class BottomSheet extends Dialog { public TextView getTextView() { return textView; } + + public ImageView getImageView() { + return imageView; + } } @Override @@ -678,7 +726,7 @@ public class BottomSheet extends Dialog { window.setWindowAnimations(R.style.DialogNoAnimation); setContentView(container, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - if (Build.VERSION.SDK_INT >= 23) { + if (useLightStatusBar && Build.VERSION.SDK_INT >= 23) { int color = Theme.getColor(Theme.key_actionBarDefault, null, true); if (color == 0xffffffff) { int flags = container.getSystemUiVisibility(); @@ -743,7 +791,7 @@ public class BottomSheet extends Dialog { continue; } BottomSheetCell cell = new BottomSheetCell(getContext(), 0); - cell.setTextAndIcon(items[a], itemIcons != null ? itemIcons[a] : 0, bigTitle); + cell.setTextAndIcon(items[a], itemIcons != null ? itemIcons[a] : 0, null, bigTitle); containerView.addView(cell, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.TOP, 0, topOffset, 0, 0)); topOffset += 48; cell.setTag(a); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/Theme.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/Theme.java index e17531e77..4b6dd1092 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/Theme.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/Theme.java @@ -68,6 +68,7 @@ import org.telegram.messenger.FileLog; import org.telegram.messenger.ImageLocation; import org.telegram.messenger.LocaleController; import org.telegram.messenger.MediaController; +import org.telegram.messenger.MessageObject; import org.telegram.messenger.MessagesController; import org.telegram.messenger.NotificationCenter; import org.telegram.messenger.R; @@ -79,6 +80,7 @@ import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.SerializedData; import org.telegram.tgnet.TLRPC; import org.telegram.ui.Cells.ThemesHorizontalListCell; +import org.telegram.ui.Components.AudioVisualizerDrawable; import org.telegram.ui.Components.BackgroundGradientDrawable; import org.telegram.ui.Components.CombinedDrawable; import org.telegram.ui.Components.RLottieDrawable; @@ -127,7 +129,7 @@ public class Theme { private Rect backupRect = new Rect(); - private boolean isOut; + private final boolean isOut; private int topY; private boolean isTopNear; @@ -149,6 +151,8 @@ public class Theme { public static final int TYPE_MEDIA = 1; public static final int TYPE_PREVIEW = 2; + private int alpha; + public MessageDrawable(int type, boolean out, boolean selected) { super(); isOut = out; @@ -156,6 +160,7 @@ public class Theme { isSelected = selected; path = new Path(); selectedPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + alpha = 255; } public boolean hasGradient() { @@ -558,13 +563,22 @@ public class Theme { @Override public void setAlpha(int alpha) { - paint.setAlpha(alpha); - if (isOut) { - selectedPaint.setAlpha((int) (Color.alpha(getColor(key_chat_outBubbleGradientSelectedOverlay)) * (alpha / 255.0f))); + if (this.alpha != alpha) { + this.alpha = alpha; + paint.setAlpha(alpha); + if (isOut) { + selectedPaint.setAlpha((int) (Color.alpha(getColor(key_chat_outBubbleGradientSelectedOverlay)) * (alpha / 255.0f))); + } } if (gradientShader == null) { Drawable background = getBackgroundDrawable(); - background.setAlpha(alpha); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (background.getAlpha() != alpha) { + background.setAlpha(alpha); + } + } else { + background.setAlpha(alpha); + } } } @@ -2149,6 +2163,9 @@ public class Theme { public static Drawable chat_flameIcon; public static Drawable chat_gifIcon; + private static AudioVisualizerDrawable chat_msgAudioVisualizeDrawable; + private static HashMap animatedOutVisualizerDrawables; + public static final String key_dialogBackground = "dialogBackground"; public static final String key_dialogBackgroundGray = "dialogBackgroundGray"; public static final String key_dialogTextBlack = "dialogTextBlack"; @@ -7293,6 +7310,9 @@ public class Theme { color = defaultColors.get(key); } } + if (color != null && (key_windowBackgroundWhite.equals(key) || key_windowBackgroundGray.equals(key))) { + color |= 0xff000000; + } return color; } @@ -7382,8 +7402,8 @@ public class Theme { return getDefaultColor(key); } } - if (key.equals(key_windowBackgroundWhite) || key.equals(key_windowBackgroundGray)) { - return 0xff000000 | color; + if (key_windowBackgroundWhite.equals(key) || key_windowBackgroundGray.equals(key)) { + color |= 0xff000000; } return color; } @@ -7927,4 +7947,40 @@ public class Theme { public static boolean isPatternWallpaper() { return isPatternWallpaper; } + + public static AudioVisualizerDrawable getCurrentAudiVisualizerDrawable() { + if (chat_msgAudioVisualizeDrawable == null) { + chat_msgAudioVisualizeDrawable = new AudioVisualizerDrawable(); + } + return chat_msgAudioVisualizeDrawable; + } + + public static void unrefAudioVisualizeDrawable(MessageObject messageObject) { + if (chat_msgAudioVisualizeDrawable == null) { + return; + } + if (chat_msgAudioVisualizeDrawable.getParentView() == null || messageObject == null) { + chat_msgAudioVisualizeDrawable.setParentView(null); + } else { + if (animatedOutVisualizerDrawables == null) { + animatedOutVisualizerDrawables = new HashMap<>(); + } + animatedOutVisualizerDrawables.put(messageObject, chat_msgAudioVisualizeDrawable); + chat_msgAudioVisualizeDrawable.setWaveform(false, true, null); + AndroidUtilities.runOnUIThread(() -> { + AudioVisualizerDrawable drawable = animatedOutVisualizerDrawables.remove(messageObject); + if (drawable != null) { + drawable.setParentView(null); + } + }, 200); + chat_msgAudioVisualizeDrawable = null; + } + } + + public static AudioVisualizerDrawable getAnimatedOutAudioVisualizerDrawable(MessageObject messageObject) { + if (animatedOutVisualizerDrawables == null || messageObject == null) { + return null; + } + return animatedOutVisualizerDrawables.get(messageObject); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionIntroActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionIntroActivity.java index 7ee5fd30e..5efe443ae 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionIntroActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionIntroActivity.java @@ -748,7 +748,7 @@ public class ActionIntroActivity extends BaseFragment implements LocationControl } else { AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); builder.setTitle(LocaleController.getString("AppName", R.string.AppName)); - builder.setMessage(LocaleController.getString("WalletPermissionNoCamera", R.string.WalletPermissionNoCamera)); + builder.setMessage(LocaleController.getString("QRCodePermissionNoCamera", R.string.QRCodePermissionNoCamera)); builder.setNegativeButton(LocaleController.getString("PermissionOpenSettings", R.string.PermissionOpenSettings), (dialog, which) -> { try { Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java index 316ab0343..7386cfc4a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java @@ -697,6 +697,7 @@ public class MentionsAdapter extends RecyclerListView.SelectionAdapter { if (user.username != null && user.username.length() > 0 && (usernameString.length() > 0 && user.username.toLowerCase().startsWith(usernameString) || usernameString.length() == 0)) { newResult.add(user); newResultsHashMap.put(user.id, user); + newMap.put(user.id, user); count++; } if (count == 5) { @@ -1075,7 +1076,7 @@ public class MentionsAdapter extends RecyclerListView.SelectionAdapter { if (hasTop) { position--; } - ((ContextLinkCell) holder.itemView).setLink(searchResultBotContext.get(position), contextMedia, position != searchResultBotContext.size() - 1, hasTop && position == 0); + ((ContextLinkCell) holder.itemView).setLink(searchResultBotContext.get(position), foundContextBot, contextMedia, position != searchResultBotContext.size() - 1, hasTop && position == 0, "gif".equals(searchingContextUsername)); } } else { if (searchResultUsernames != null) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/StickersSearchAdapter.java b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/StickersSearchAdapter.java index dce0ce511..340555b1b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/StickersSearchAdapter.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/StickersSearchAdapter.java @@ -28,6 +28,7 @@ import org.telegram.messenger.UserConfig; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Cells.EmptyCell; import org.telegram.ui.Cells.FeaturedStickerSetInfoCell; import org.telegram.ui.Cells.StickerEmojiCell; @@ -86,6 +87,9 @@ public class StickersSearchAdapter extends RecyclerListView.SelectionAdapter { private ArrayList> emojiArrays = new ArrayList<>(); private SparseArray positionsToSets = new SparseArray<>(); + private ImageView emptyImageView; + private TextView emptyTextView; + private int reqId; private int reqId2; @@ -371,19 +375,19 @@ public class StickersSearchAdapter extends RecyclerListView.SelectionAdapter { layout.setOrientation(LinearLayout.VERTICAL); layout.setGravity(Gravity.CENTER); - ImageView imageView = new ImageView(context); - imageView.setScaleType(ImageView.ScaleType.CENTER); - imageView.setImageResource(R.drawable.stickers_empty); - imageView.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelEmptyText), PorterDuff.Mode.MULTIPLY)); - layout.addView(imageView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); + emptyImageView = new ImageView(context); + emptyImageView.setScaleType(ImageView.ScaleType.CENTER); + emptyImageView.setImageResource(R.drawable.stickers_empty); + emptyImageView.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelEmptyText), PorterDuff.Mode.MULTIPLY)); + layout.addView(emptyImageView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); layout.addView(new Space(context), LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, 15)); - TextView textView = new TextView(context); - textView.setText(LocaleController.getString("NoStickersFound", R.string.NoStickersFound)); - textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); - textView.setTextColor(Theme.getColor(Theme.key_chat_emojiPanelEmptyText)); - layout.addView(textView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); + emptyTextView = new TextView(context); + emptyTextView.setText(LocaleController.getString("NoStickersFound", R.string.NoStickersFound)); + emptyTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); + emptyTextView.setTextColor(Theme.getColor(Theme.key_chat_emojiPanelEmptyText)); + layout.addView(emptyTextView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); view = layout; view.setMinimumHeight(AndroidUtilities.dp(112)); @@ -652,4 +656,22 @@ public class StickersSearchAdapter extends RecyclerListView.SelectionAdapter { public TLRPC.StickerSetCovered getSetForPosition(int position) { return positionsToSets.get(position); } + + public void updateColors(RecyclerListView listView) { + for (int i = 0, size = listView.getChildCount(); i < size; i++) { + final View child = listView.getChildAt(i); + if (child instanceof FeaturedStickerSetInfoCell) { + ((FeaturedStickerSetInfoCell) child).updateColors(); + } else if (child instanceof StickerSetNameCell) { + ((StickerSetNameCell) child).updateColors(); + } + } + } + + public void getThemeDescriptions(List descriptions, RecyclerListView listView, ThemeDescription.ThemeDescriptionDelegate delegate) { + FeaturedStickerSetInfoCell.createThemeDescriptions(descriptions, listView, delegate); + StickerSetNameCell.createThemeDescriptions(descriptions, listView, delegate); + descriptions.add(new ThemeDescription(emptyImageView, ThemeDescription.FLAG_IMAGECOLOR, null, null, null, null, Theme.key_chat_emojiPanelEmptyText)); + descriptions.add(new ThemeDescription(emptyTextView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_chat_emojiPanelEmptyText)); + } } \ No newline at end of file diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ArticleViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/ArticleViewer.java index 822a0e566..3f737eddd 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ArticleViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ArticleViewer.java @@ -311,6 +311,8 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelper; TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelperBottomSheet; + int allowAnimationIndex = -1; + private final String BOTTOM_SHEET_VIEW_TAG = "bottomSheet"; @SuppressLint("StaticFieldLeak") @@ -729,6 +731,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg } else { setMeasuredDimension(widthSize, heightSize); } + menuButton.setAdditionalYOffset(-(currentHeaderHeight - AndroidUtilities.dp(56)) / 2 + (Build.VERSION.SDK_INT < 21 ? AndroidUtilities.statusBarHeight : 0)); keyboardVisible = heightSize < AndroidUtilities.displaySize.y - AndroidUtilities.dp(100); containerView.measure(View.MeasureSpec.makeMeasureSpec(widthSize, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(heightSize, View.MeasureSpec.EXACTLY)); photoContainerView.measure(View.MeasureSpec.makeMeasureSpec(widthSize, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(heightSize, View.MeasureSpec.EXACTLY)); @@ -3826,6 +3829,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg photoContainerView.addView(bottomLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.BOTTOM | Gravity.LEFT)); groupedPhotosListView = new GroupedPhotosListView(parentActivity); + groupedPhotosListView.setAnimationsEnabled(false); photoContainerView.addView(groupedPhotosListView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 62, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 0, 0)); groupedPhotosListView.setDelegate(new GroupedPhotosListView.GroupedPhotosListViewDelegate() { @Override @@ -4346,7 +4350,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg titleTextView.setTranslationY((maxHeight - currentHeaderHeight) / 2); headerView.setTranslationY(currentHeaderHeight - maxHeight); searchShadow.setTranslationY(currentHeaderHeight - maxHeight); - menuButton.setAdditionalYOffset(-(currentHeaderHeight - maxHeight) / 2); + menuButton.setAdditionalYOffset(-(currentHeaderHeight - maxHeight) / 2 + (Build.VERSION.SDK_INT < 21 ? AndroidUtilities.statusBarHeight : 0)); textSelectionHelper.setTopOffset(currentHeaderHeight); for (int i = 0; i < listView.length; i++) { listView[i].setTopGlowOffset(currentHeaderHeight); @@ -4566,7 +4570,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg @Override public void onAnimationEnd(Animator animation) { AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(allowAnimationIndex); if (animationEndRunnable != null) { animationEndRunnable.run(); animationEndRunnable = null; @@ -4576,8 +4580,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg }); transitionAnimationStartTime = System.currentTimeMillis(); AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); + allowAnimationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(allowAnimationIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats}); animatorSet.start(); }); if (Build.VERSION.SDK_INT >= 18) { @@ -6410,7 +6413,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg buttonY = (int) (imageView.getImageY() + (imageView.getImageHeight() - size) / 2.0f); radialProgress.setProgressRect(buttonX, buttonY, buttonX + size, buttonY + size); } - textY = imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8); + textY = (int) (imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8)); if (currentType == 0) { captionLayout = createLayoutForText(this, null, currentBlock.caption.text, textWidth, textY, currentBlock, parentAdapter); if (captionLayout != null) { @@ -10278,7 +10281,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg buttonY = (int) (imageView.getImageY() + (imageView.getImageHeight() - size) / 2.0f); radialProgress.setProgressRect(buttonX, buttonY, buttonX + size, buttonY + size); } - textY = imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8); + textY = (int) (imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8)); if (currentType == 0) { captionLayout = createLayoutForText(this, null, currentBlock.caption.text, textWidth, textY, currentBlock, parentAdapter); @@ -10330,7 +10333,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg } if (!TextUtils.isEmpty(currentBlock.url)) { int x = getMeasuredWidth() - AndroidUtilities.dp(11 + 24); - int y = imageView.getImageY() + AndroidUtilities.dp(11); + int y = (int) (imageView.getImageY() + AndroidUtilities.dp(11)); linkDrawable.setBounds(x, y, x + AndroidUtilities.dp(24), y + AndroidUtilities.dp(24)); linkDrawable.draw(canvas); } @@ -10578,7 +10581,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg } else if (currentUrl != null) { imageView.setImage(currentUrl, null, null, null, 0); } - textY = imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8); + textY = (int) (imageView.getImageY() + imageView.getImageHeight() + AndroidUtilities.dp(8)); if (currentType == 0) { captionLayout = createLayoutForText(this, null, currentBlock.caption.text, textWidth, textY, currentBlock, parentAdapter); if (captionLayout != null) { @@ -10624,8 +10627,8 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg if (currentMapProvider == 2 && imageView.hasNotThumb()) { int w = (int) (Theme.chat_redLocationIcon.getIntrinsicWidth() * 0.8f); int h = (int) (Theme.chat_redLocationIcon.getIntrinsicHeight() * 0.8f); - int x = imageView.getImageX() + (imageView.getImageWidth() - w) / 2; - int y = imageView.getImageY() + (imageView.getImageHeight() / 2 - h); + int x = (int) (imageView.getImageX() + (imageView.getImageWidth() - w) / 2); + int y = (int) (imageView.getImageY() + (imageView.getImageHeight() / 2 - h)); Theme.chat_redLocationIcon.setAlpha((int) (255 * imageView.getCurrentAlpha())); Theme.chat_redLocationIcon.setBounds(x, y, x + w, y + h); Theme.chat_redLocationIcon.draw(canvas); @@ -11446,7 +11449,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg hasViews = true; viewsTextView.setVisibility(VISIBLE); textView.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL); - viewsTextView.setText(LocaleController.formatPluralString("Views", count)); + viewsTextView.setText(LocaleController.formatPluralStringComma("Views", count)); } int color = Theme.getColor(Theme.key_switchTrack); textView.setTextColor(getGrayTextColor()); @@ -11915,7 +11918,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { FileLog.e(e); } @@ -12670,7 +12673,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg @Override public void onAnimationEnd(Animator animation) { AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(allowAnimationIndex); if (photoAnimationEndRunnable != null) { photoAnimationEndRunnable.run(); photoAnimationEndRunnable = null; @@ -12680,8 +12683,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg }); photoTransitionAnimationStartTime = System.currentTimeMillis(); AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); + allowAnimationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(allowAnimationIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats}); animatorSet.start(); }); if (Build.VERSION.SDK_INT >= 18) { @@ -12738,8 +12740,8 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg layoutParams.height = (int) drawRegion.height(); animatingImageView.setImageBitmap(object.thumb); } else { - layoutParams.width = centerImage.getImageWidth(); - layoutParams.height = centerImage.getImageHeight(); + layoutParams.width = (int) centerImage.getImageWidth(); + layoutParams.height = (int) centerImage.getImageHeight(); animatingImageView.setImageBitmap(centerImage.getBitmapSafe()); } if (layoutParams.width == 0) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/CameraScanActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/CameraScanActivity.java index 9afcc4adc..b32179519 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/CameraScanActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/CameraScanActivity.java @@ -62,7 +62,6 @@ import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.BottomSheet; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.ActionBar.ThemeDescription; -import org.telegram.ui.Components.AlertsCreator; import org.telegram.ui.Components.AnimationProperties; import org.telegram.ui.Components.CubicBezierInterpolator; import org.telegram.ui.Components.LayoutHelper; @@ -376,7 +375,7 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa cameraView.addView(recognizedMrzView); } else { if (needGalleryButton) { - titleTextView.setText(LocaleController.getString("WalletScanCode", R.string.WalletScanCode)); + //titleTextView.setText(LocaleController.getString("WalletScanCode", R.string.WalletScanCode)); } else { titleTextView.setText(LocaleController.getString("AuthAnotherClientScan", R.string.AuthAnotherClientScan)); } @@ -384,7 +383,7 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa recognizedMrzView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); recognizedMrzView.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), AndroidUtilities.dp(10)); if (needGalleryButton) { - recognizedMrzView.setText(LocaleController.getString("WalletScanCodeNotFound", R.string.WalletScanCodeNotFound)); + //recognizedMrzView.setText(LocaleController.getString("WalletScanCodeNotFound", R.string.WalletScanCodeNotFound)); } else { recognizedMrzView.setText(LocaleController.getString("AuthAnotherClientNotFound", R.string.AuthAnotherClientNotFound)); } @@ -542,16 +541,8 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa }); } - private void showErrorAlert() { - AlertsCreator.createSimpleAlert(getParentActivity(), LocaleController.getString("WalletQRCode", R.string.WalletQRCode), LocaleController.getString("WalletScanImageNotFound", R.string.WalletScanImageNotFound)).show(); - } - - private void onNoQrFound(boolean alert) { + private void onNoQrFound() { AndroidUtilities.runOnUIThread(() -> { - if (alert) { - showErrorAlert(); - return; - } if (recognizedMrzView.getTag() != null) { recognizedMrzView.setTag(null); recognizedMrzView.animate().setDuration(200).alpha(0.0f).setInterpolator(CubicBezierInterpolator.DEFAULT).start(); @@ -559,19 +550,6 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa }); } - private void onNoWalletFound(boolean alert) { - AndroidUtilities.runOnUIThread(() -> { - if (alert) { - showErrorAlert(); - return; - } - if (recognizedMrzView.getTag() == null) { - recognizedMrzView.setTag(1); - recognizedMrzView.animate().setDuration(200).alpha(1.0f).setInterpolator(CubicBezierInterpolator.DEFAULT).start(); - } - }); - } - @Override public void onPreviewFrame(final byte[] data, final Camera camera) { handler.post(() -> { @@ -610,7 +588,7 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa } } } catch (Throwable ignore) { - onNoQrFound(false); + onNoQrFound(); } }); } @@ -643,31 +621,31 @@ public class CameraScanActivity extends BaseFragment implements Camera.PreviewCa Result result = qrReader.decode(new BinaryBitmap(new GlobalHistogramBinarizer(source))); if (result == null) { - onNoQrFound(bitmap != null); + onNoQrFound(); return null; } text = result.getText(); } if (TextUtils.isEmpty(text)) { - onNoQrFound(bitmap != null); + onNoQrFound(); return null; } if (needGalleryButton) { if (!text.startsWith("ton://transfer/")) { - onNoWalletFound(bitmap != null); + //onNoWalletFound(bitmap != null); return null; } Uri uri = Uri.parse(text); String path = uri.getPath().replace("/", ""); } else { if (!text.startsWith("tg://login?token=")) { - onNoWalletFound(false); + onNoQrFound(); return null; } } return text; } catch (Throwable ignore) { - onNoQrFound(bitmap != null); + onNoQrFound(); } return null; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/AboutLinkCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/AboutLinkCell.java index 420a867ce..71155d233 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/AboutLinkCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/AboutLinkCell.java @@ -31,6 +31,8 @@ import org.telegram.messenger.FileLog; import org.telegram.messenger.LocaleController; import org.telegram.messenger.MessageObject; import org.telegram.messenger.browser.Browser; +import org.telegram.ui.ActionBar.BaseFragment; +import org.telegram.ui.Components.AlertsCreator; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.LinkPath; import org.telegram.ui.ActionBar.Theme; @@ -49,9 +51,13 @@ public class AboutLinkCell extends FrameLayout { private ClickableSpan pressedLink; private LinkPath urlPath = new LinkPath(); - public AboutLinkCell(Context context) { + private BaseFragment parentFragment; + + public AboutLinkCell(Context context, BaseFragment fragment) { super(context); + parentFragment = fragment; + valueTextView = new TextView(context); valueTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2)); valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13); @@ -148,7 +154,12 @@ public class AboutLinkCell extends FrameLayout { } } else { if (pressedLink instanceof URLSpan) { - Browser.openUrl(getContext(), ((URLSpan) pressedLink).getURL()); + String url = ((URLSpan) pressedLink).getURL(); + if (AndroidUtilities.shouldShowUrlInAlert(url)) { + AlertsCreator.showOpenUrlAlert(parentFragment, url, true, true); + } else { + Browser.openUrl(getContext(), url); + } } else { pressedLink.onClick(this); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/BotHelpCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/BotHelpCell.java index 9d29e570b..b959b5a0f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/BotHelpCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/BotHelpCell.java @@ -28,7 +28,6 @@ import org.telegram.messenger.LocaleController; import org.telegram.messenger.MessageObject; import org.telegram.messenger.FileLog; import org.telegram.messenger.R; -import org.telegram.messenger.browser.Browser; import org.telegram.ui.Components.LinkPath; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.Components.TypefaceSpan; @@ -43,12 +42,15 @@ public class BotHelpCell extends View { private int height; private int textX; private int textY; + public boolean wasDraw; private ClickableSpan pressedLink; private LinkPath urlPath = new LinkPath(); private BotHelpCellDelegate delegate; + private boolean animating; + public interface BotHelpCellDelegate { void didPressUrl(String url); } @@ -167,7 +169,9 @@ public class BotHelpCell extends View { } } else { if (pressedLink instanceof URLSpan) { - Browser.openUrl(getContext(), ((URLSpan) pressedLink).getURL()); + if (delegate != null) { + delegate.didPressUrl(((URLSpan) pressedLink).getURL()); + } } else { pressedLink.onClick(this); } @@ -218,6 +222,14 @@ public class BotHelpCell extends View { textLayout.draw(canvas); } canvas.restore(); + wasDraw = true; + } + + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + wasDraw = false; } @Override @@ -225,4 +237,12 @@ public class BotHelpCell extends View { super.onInitializeAccessibilityNodeInfo(info); info.setText(textLayout.getText()); } + + public boolean animating() { + return animating; + } + + public void setAnimating(boolean animating) { + this.animating = animating; + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java index 62f34e02b..4a8587b74 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java @@ -46,6 +46,7 @@ import android.text.TextUtils; import android.text.style.CharacterStyle; import android.text.style.ClickableSpan; import android.text.style.URLSpan; +import android.util.Property; import android.util.SparseArray; import android.util.StateSet; import android.view.HapticFeedbackConstants; @@ -93,10 +94,12 @@ import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.ChatActivity; import org.telegram.ui.Components.AnimatedFileDrawable; import org.telegram.ui.Components.AnimationProperties; +import org.telegram.ui.Components.AudioVisualizerDrawable; import org.telegram.ui.Components.AvatarDrawable; import org.telegram.ui.Components.BackgroundGradientDrawable; import org.telegram.ui.Components.CheckBoxBase; import org.telegram.ui.Components.CubicBezierInterpolator; +import org.telegram.ui.Components.EmptyStubSpan; import org.telegram.ui.Components.LinkPath; import org.telegram.ui.Components.MediaActionDrawable; import org.telegram.ui.Components.MessageBackgroundDrawable; @@ -384,8 +387,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate private StaticLayout captionLayout; private CharSequence currentCaption; private int captionOffsetX; - private int captionX; - private int captionY; + private float captionX; + private float captionY; private int captionHeight; private int captionWidth; private int addedCaptionHeight; @@ -548,6 +551,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate private Theme.MessageDrawable currentBackgroundSelectedDrawable; private int backgroundDrawableLeft; private int backgroundDrawableRight; + private int backgroundDrawableTop; + private int backgroundDrawableBottom; private int viaWidth; private int viaNameWidth; private TypefaceSpan viaSpan1; @@ -590,8 +595,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate private boolean drwaShareGoIcon; private boolean drawShareButton; private boolean sharePressed; - private int shareStartX; - private int shareStartY; + private float shareStartX; + private float shareStartY; private StaticLayout nameLayout; private StaticLayout adminLayout; @@ -633,7 +638,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate private String currentForwardNameString; private boolean replyPanelIsForward; private boolean animationRunning; - public boolean willRemoved; + private boolean willRemoved; private ChatMessageCellDelegate delegate; @@ -647,7 +652,12 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate private float selectedBackgroundProgress; private boolean scheduledInvalidate; - private float shownLoadingInfoViewProgress; + + private final boolean ALPHA_PROPERTY_WORKAROUND = Build.VERSION.SDK_INT == 28; + private float alphaInternal = 1f; + + private final TransitionParams transitionParams = new TransitionParams(); + private boolean edited; private Runnable invalidateRunnable = new Runnable() { @Override @@ -1159,11 +1169,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate invalidate(); } else if (pressedLink != null) { if (pressedLink instanceof URLSpan) { - if (ChatActivity.isClickableLink(((URLSpan) pressedLink).getURL())) { - delegate.didPressUrl(this, pressedLink, false); - } else { - Browser.openUrl(getContext(), ((URLSpan) pressedLink).getURL()); - } + delegate.didPressUrl(this, pressedLink, false); } else if (pressedLink instanceof ClickableSpan) { ((ClickableSpan) pressedLink).onClick(this); } @@ -1930,7 +1936,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (group != null && group.groupId == currentMessagesGroup.groupId && (position.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0 && (position.flags & MessageObject.POSITION_FLAG_LEFT) != 0) { - textSelectionHelper.setMaybeTextCord(cell.captionX, cell.captionY); + textSelectionHelper.setMaybeTextCord((int) cell.captionX, (int) cell.captionY); textSelectionHelper.setMessageObject(cell); if (cell == this) { return textSelectionHelper.onTouchEvent(event); @@ -1947,7 +1953,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { if (hasCaptionLayout()) { textSelectionHelper.setIsDescription(false); - textSelectionHelper.setMaybeTextCord(captionX, captionY); + textSelectionHelper.setMaybeTextCord((int) captionX, (int) captionY); } else { if (descriptionLayout != null && event.getY() > descriptionY) { textSelectionHelper.setIsDescription(true); @@ -1985,7 +1991,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } getDelegate().getTextSelectionHelper().updateTextPosition(linkX + AndroidUtilities.dp(10) + descriptionX, descriptionY); } else if (textSelectionType == TextSelectionHelper.ChatListTextSelectionHelper.TYPE_CAPTION) { - getDelegate().getTextSelectionHelper().updateTextPosition(captionX, captionY); + getDelegate().getTextSelectionHelper().updateTextPosition((int) captionX, (int) captionY); } else { getDelegate().getTextSelectionHelper().updateTextPosition(textX, textY); } @@ -2449,6 +2455,11 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (getDelegate().getTextSelectionHelper() != null) { getDelegate().getTextSelectionHelper().onChatMessageCellDetached(this); } + + transitionParams.onDetach(); + if (MediaController.getInstance().isPlayingMessage(currentMessageObject)) { + Theme.getCurrentAudiVisualizerDrawable().setParentView(null); + } } @Override @@ -2473,7 +2484,12 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } attachedToWindow = true; - setTranslationX(0); + + animationOffsetX = 0; + slidingOffsetX = 0; + checkBoxTranslation = 0; + updateTranslation(); + radialProgress.onAttachedToWindow(); videoRadialProgress.onAttachedToWindow(); avatarImage.onAttachedToWindow(); @@ -2573,7 +2589,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate lastTime = -2; isHighlightedAnimated = false; widthBeforeNewTimeLine = -1; - if (currentMessagesGroup != null && currentMessagesGroup.posArray.size() > 1) { + if (currentMessagesGroup != null && (currentMessagesGroup.posArray.size() > 1)) { currentPosition = currentMessagesGroup.positions.get(currentMessageObject); if (currentPosition == null) { currentMessagesGroup = null; @@ -2585,6 +2601,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate drawPinnedTop = pinnedTop && (currentPosition == null || (currentPosition.flags & MessageObject.POSITION_FLAG_TOP) != 0); drawPinnedBottom = pinnedBottom && (currentPosition == null || (currentPosition.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0); photoImage.setCrossfadeWithOldImage(false); + photoImage.setCrossfadeDuration(ImageReceiver.DEFAULT_CROSSFADE_DURATION); lastSendState = messageObject.messageOwner.send_state; lastDeleteDate = messageObject.messageOwner.destroyTime; lastViewsCount = messageObject.messageOwner.views; @@ -2666,7 +2683,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate currentPhotoObject = null; photoParentObject = null; currentPhotoObjectThumb = null; - currentPhotoFilter = null; + if (messageChanged || messageIdChanged || dataChanged) { + currentPhotoFilter = null; + } cancelLoading = false; buttonState = -1; miniButtonState = -1; @@ -2707,6 +2726,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate photoImage.setShouldGenerateQualityThumb(false); photoImage.setAllowDecodeSingleFrame(false); photoImage.setColorFilter(null); + photoImage.setMediaStartEndTime(-1, -1); boolean canChangeRadius = true; if (messageChanged) { @@ -3162,7 +3182,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } - if (smallImage && (descriptionLayout == null || descriptionLayout != null && descriptionLayout.getLineCount() == 1)) { + if (smallImage && (descriptionLayout == null || titleLayout == null && descriptionLayout != null && descriptionLayout.getLineCount() == 1)) { smallImage = false; isSmallImage = false; } @@ -3521,7 +3541,12 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate String filter = currentPhotoObject instanceof TLRPC.TL_photoStrippedSize || "s".equals(currentPhotoObject.type) ? currentPhotoFilterThumb : currentPhotoFilter; if (messageObject.mediaExists || autoDownload) { autoPlayingMedia = true; - photoImage.setImage(ImageLocation.getForDocument(document), document.size < 1024 * 32 ? null : ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForDocument(currentPhotoObject, documentAttach), filter, ImageLocation.getForDocument(currentPhotoObjectThumb, documentAttach), currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(document); + if (!messageObject.mediaExists && videoSize != null && (currentPhotoObject == null || currentPhotoObjectThumb == null)) { + photoImage.setImage(ImageLocation.getForDocument(document), document.size < 1024 * 32 ? null : ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForDocument(videoSize, documentAttach), null, ImageLocation.getForDocument(currentPhotoObject != null ? currentPhotoObject : currentPhotoObjectThumb, documentAttach), currentPhotoObject != null ? filter : currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } else { + photoImage.setImage(ImageLocation.getForDocument(document), document.size < 1024 * 32 ? null : ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForDocument(currentPhotoObject, documentAttach), filter, ImageLocation.getForDocument(currentPhotoObjectThumb, documentAttach), currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } } else { photoImage.setImage(null, null, ImageLocation.getForDocument(currentPhotoObject, documentAttach), filter, 0, null, currentMessageObject, 0); } @@ -3836,7 +3861,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate lastPoll = media.poll; lastPollResults = media.results.results; lastPollResultsVoters = media.results.total_voters; - if (!isBot && (media.poll.multiple_choice && !pollVoted && !pollClosed || media.poll.public_voters && pollVoted || pollClosed && media.results != null && media.results.total_voters != 0 && media.poll.public_voters)) { + if (media.poll.multiple_choice && !pollVoted && !pollClosed || !isBot && (media.poll.public_voters && pollVoted || pollClosed && media.results != null && media.results.total_voters != 0 && media.poll.public_voters)) { drawInstantView = true; drawInstantViewType = 8; createInstantViewButton(); @@ -3988,7 +4013,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate setMessageObjectInternal(messageObject); - if (isBot) { + if (isBot && !drawInstantView) { height -= AndroidUtilities.dp(10); } else if (media.poll.public_voters || media.poll.multiple_choice) { height += AndroidUtilities.dp(13); @@ -4341,6 +4366,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate photoImage.setImage(ImageLocation.getForDocument(messageObject.getDocument()), filter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), "b1", messageObject.getDocument().size, isWebpSticker ? "webp" : null, parentObject, 1); + } else { + photoImage.setImage(null, null, null, null, messageObject, 0); } } else { currentPhotoObject = FileLoader.getClosestPhotoSizeWithSize(messageObject.photoThumbs, AndroidUtilities.getPhotoSize()); @@ -4401,7 +4428,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate TLRPC.PhotoSize size = currentPhotoObject != null ? currentPhotoObject : currentPhotoObjectThumb; int imageW = 0; int imageH = 0; - if (size != null) { + if (size != null && !(size instanceof TLRPC.TL_photoStrippedSize)) { imageW = size.w; imageH = size.h; } else if (documentAttach != null) { @@ -4691,6 +4718,15 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } + int minWidth = (int) (Theme.chat_infoPaint.measureText("100%") + AndroidUtilities.dp(48) + timeWidth); + if (currentMessagesGroup == null && (documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) && photoWidth < minWidth) { + photoWidth = minWidth; + backgroundWidth = photoWidth + AndroidUtilities.dp(8); + if (!mediaBackground) { + backgroundWidth += AndroidUtilities.dp(9); + } + } + if (fixPhotoWidth && photoWidth < captionWidth + AndroidUtilities.dp(10)) { photoWidth = captionWidth + AndroidUtilities.dp(10); backgroundWidth = photoWidth + AndroidUtilities.dp(8); @@ -4698,14 +4734,31 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate backgroundWidth += AndroidUtilities.dp(9); } } - - currentPhotoFilter = currentPhotoFilterThumb = String.format(Locale.US, "%d_%d", (int) (w / AndroidUtilities.density), (int) (h / AndroidUtilities.density)); - if (messageObject.photoThumbs != null && messageObject.photoThumbs.size() > 1 || messageObject.type == MessageObject.TYPE_VIDEO || messageObject.type == 8 || messageObject.type == MessageObject.TYPE_ROUND_VIDEO) { + if (messageChanged || messageIdChanged || dataChanged) { + currentPhotoFilter = currentPhotoFilterThumb = String.format(Locale.US, "%d_%d", (int) (w / AndroidUtilities.density), (int) (h / AndroidUtilities.density)); + if (messageObject.photoThumbs != null && messageObject.photoThumbs.size() > 1 || messageObject.type == MessageObject.TYPE_VIDEO || messageObject.type == 8 || messageObject.type == MessageObject.TYPE_ROUND_VIDEO) { + if (messageObject.needDrawBluredPreview()) { + currentPhotoFilter += "_b2"; + currentPhotoFilterThumb += "_b2"; + } else { + currentPhotoFilterThumb += "_b"; + } + } + } else { + String filterNew = String.format(Locale.US, "%d_%d", (int) (w / AndroidUtilities.density), (int) (h / AndroidUtilities.density)); if (messageObject.needDrawBluredPreview()) { - currentPhotoFilter += "_b2"; - currentPhotoFilterThumb += "_b2"; - } else { - currentPhotoFilterThumb += "_b"; + filterNew += "_b2"; + } + if (filterNew != currentPhotoFilter) { + ImageLocation location = ImageLocation.getForObject(currentPhotoObject, photoParentObject); + if (location != null) { + String key = location.getKey(photoParentObject, null, false) + "@" + currentPhotoFilter; + if (ImageLoader.getInstance().isInMemCache(key, false)) { + currentPhotoObjectThumb = currentPhotoObject; + currentPhotoFilterThumb = currentPhotoFilter; + currentPhotoFilter = filterNew; + } + } } } @@ -4731,22 +4784,20 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } - if (MessageObject.isGifDocument(messageObject.getDocument())) { - if (currentPhotoObjectThumb != null && currentPhotoObjectThumb instanceof TLRPC.TL_photoStrippedSize) { - String key = ImageLocation.getStippedKey(currentMessageObject, currentMessageObject, currentPhotoObjectThumb) + "@" + currentPhotoFilterThumb; - if (!ImageLoader.getInstance().isInMemCache(key, false)) { - currentPhotoObjectThumb = FileLoader.getClosestPhotoSizeWithSize(messageObject.getDocument().thumbs, 320); - } - } else { - currentPhotoObjectThumb = FileLoader.getClosestPhotoSizeWithSize(messageObject.getDocument().thumbs, 320); - } - } - if (autoPlayingMedia) { photoImage.setAllowStartAnimation(true); photoImage.startAnimation(); TLRPC.Document document = messageObject.getDocument(); - photoImage.setImage(ImageLocation.getForDocument(document), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForDocument(currentPhotoObjectThumb, document), currentPhotoFilterThumb, null, messageObject.getDocument().size, null, messageObject, 0); + + if (currentMessageObject.videoEditedInfo != null && currentMessageObject.videoEditedInfo.canAutoPlaySourceVideo()) { + photoImage.setImage(ImageLocation.getForPath(currentMessageObject.videoEditedInfo.originalPath), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForDocument(currentPhotoObjectThumb, document), currentPhotoFilterThumb, null, messageObject.getDocument().size, null, messageObject, 0); + photoImage.setMediaStartEndTime(currentMessageObject.videoEditedInfo.startTime / 1000, currentMessageObject.videoEditedInfo.endTime / 1000); + } else { + if (!messageIdChanged && !dataChanged) { + photoImage.setCrossfadeWithOldImage(true); + } + photoImage.setImage(ImageLocation.getForDocument(document), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForDocument(currentPhotoObjectThumb, document), currentPhotoFilterThumb, null, messageObject.getDocument().size, null, messageObject, 0); + } } else if (messageObject.type == MessageObject.TYPE_PHOTO) { if (messageObject.useCustomPhoto) { photoImage.setImageBitmap(getResources().getDrawable(R.drawable.theme_preview_image)); @@ -4783,23 +4834,55 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate localFile = 2; } boolean autoDownload = false; - if (MessageObject.isGifDocument(messageObject.getDocument()) || messageObject.type == MessageObject.TYPE_ROUND_VIDEO) { + TLRPC.Document document = messageObject.getDocument(); + if (MessageObject.isGifDocument(document) || messageObject.type == MessageObject.TYPE_ROUND_VIDEO) { autoDownload = DownloadController.getInstance(currentAccount).canDownloadMedia(currentMessageObject); } - if (!messageObject.isSending() && !messageObject.isEditing() && (localFile != 0 || FileLoader.getInstance(currentAccount).isLoadingFile(fileName) || autoDownload)) { + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(document); + if (((MessageObject.isGifDocument(document) && messageObject.videoEditedInfo == null) || (!messageObject.isSending() && !messageObject.isEditing())) && (localFile != 0 || FileLoader.getInstance(currentAccount).isLoadingFile(fileName) || autoDownload)) { if (localFile != 1 && !messageObject.needDrawBluredPreview() && (localFile != 0 || messageObject.canStreamVideo() && autoDownload)) { autoPlayingMedia = true; - photoImage.setImage(ImageLocation.getForDocument(messageObject.getDocument()), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, null, messageObject.getDocument().size, null, messageObject, 0); + if (!messageIdChanged) { + photoImage.setCrossfadeWithOldImage(true); + photoImage.setCrossfadeDuration(250); + } + if (localFile == 0 && videoSize != null && (currentPhotoObject == null || currentPhotoObjectThumb == null)) { + photoImage.setImage(ImageLocation.getForDocument(document), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForDocument(videoSize, documentAttach), null, ImageLocation.getForDocument(currentPhotoObject != null ? currentPhotoObject : currentPhotoObjectThumb, documentAttach), currentPhotoObject != null ? currentPhotoFilter : currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } else { + photoImage.setImage(ImageLocation.getForDocument(document), ImageLoader.AUTOPLAY_FILTER, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } } else if (localFile == 1) { - photoImage.setImage(ImageLocation.getForPath(messageObject.isSendError() ? null : messageObject.messageOwner.attachPath), null, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, 0); + photoImage.setImage(ImageLocation.getForPath(messageObject.isSendError() ? null : messageObject.messageOwner.attachPath), null, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, null, 0, null, messageObject, 0); } else { - photoImage.setImage(ImageLocation.getForDocument(messageObject.getDocument()), null, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, null, messageObject.getDocument().size, null, messageObject, 0); + if (videoSize != null && (currentPhotoObject == null || currentPhotoObjectThumb == null)) { + photoImage.setImage(ImageLocation.getForDocument(document), null, ImageLocation.getForDocument(videoSize, documentAttach), null, ImageLocation.getForDocument(currentPhotoObject != null ? currentPhotoObject : currentPhotoObjectThumb, documentAttach), currentPhotoObject != null ? currentPhotoFilter : currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } else { + photoImage.setImage(ImageLocation.getForDocument(document), null, ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, null, document.size, null, messageObject, 0); + } } } else { - photoImage.setImage(ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, 0); + if (messageObject.videoEditedInfo != null && messageObject.type == MessageObject.TYPE_ROUND_VIDEO && !currentMessageObject.needDrawBluredPreview()) { + photoImage.setImage(ImageLocation.getForPath(messageObject.videoEditedInfo.originalPath), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, 0); + photoImage.setMediaStartEndTime(currentMessageObject.videoEditedInfo.startTime / 1000, currentMessageObject.videoEditedInfo.endTime / 1000); + } else { + if (!messageIdChanged && !currentMessageObject.needDrawBluredPreview()) { + photoImage.setCrossfadeWithOldImage(true); + photoImage.setCrossfadeDuration(250); + } + photoImage.setImage(ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, 0); + } } } else { - photoImage.setImage(ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, currentMessageObject.shouldEncryptPhotoOrVideo() ? 2 : 0); + if (messageObject.videoEditedInfo != null && messageObject.type == MessageObject.TYPE_ROUND_VIDEO && !currentMessageObject.needDrawBluredPreview()) { + photoImage.setImage(ImageLocation.getForPath(messageObject.videoEditedInfo.originalPath), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, currentMessageObject.shouldEncryptPhotoOrVideo() ? 2 : 0); + photoImage.setMediaStartEndTime(currentMessageObject.videoEditedInfo.startTime / 1000, currentMessageObject.videoEditedInfo.endTime / 1000); + } else { + if (!messageIdChanged && !currentMessageObject.needDrawBluredPreview()) { + photoImage.setCrossfadeWithOldImage(true); + photoImage.setCrossfadeDuration(250); + } + photoImage.setImage(ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, 0, null, messageObject, currentMessageObject.shouldEncryptPhotoOrVideo() ? 2 : 0); + } } } setMessageObjectInternal(messageObject); @@ -5305,6 +5388,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate @Override public void invalidate() { + if (currentMessageObject == null) { + return; + } super.invalidate(); if (invalidatesParent && getParent() != null) { View parent = (View) getParent(); @@ -6096,14 +6182,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.type != 0) { x -= AndroidUtilities.dp(2); } - photoImage.setImageCoords(x, photoImage.getImageY(), photoImage.getImageWidth(), photoImage.getImageHeight()); + photoImage.setImageCoords((float) x, photoImage.getImageY(), photoImage.getImageWidth(), photoImage.getImageHeight()); buttonX = (int) (x + (photoImage.getImageWidth() - AndroidUtilities.dp(48)) / 2.0f); - buttonY = photoImage.getImageY() + (photoImage.getImageHeight() - AndroidUtilities.dp(48)) / 2; + buttonY = (int) (photoImage.getImageY() + (photoImage.getImageHeight() - AndroidUtilities.dp(48)) / 2); radialProgress.setProgressRect(buttonX, buttonY, buttonX + AndroidUtilities.dp(48), buttonY + AndroidUtilities.dp(48)); deleteProgressRect.set(buttonX + AndroidUtilities.dp(5), buttonY + AndroidUtilities.dp(5), buttonX + AndroidUtilities.dp(43), buttonY + AndroidUtilities.dp(43)); if (documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) { - videoButtonX = photoImage.getImageX() + AndroidUtilities.dp(8); - videoButtonY = photoImage.getImageY() + AndroidUtilities.dp(8); + videoButtonX = (int) (photoImage.getImageX() + AndroidUtilities.dp(8)); + videoButtonY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8)); videoRadialProgress.setProgressRect(videoButtonX, videoButtonY, videoButtonX + AndroidUtilities.dp(24), videoButtonY + AndroidUtilities.dp(24)); } } @@ -6253,43 +6339,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate textX += diff; } } - if (currentMessageObject.textLayoutBlocks != null && !currentMessageObject.textLayoutBlocks.isEmpty()) { - if (fullyDraw) { - firstVisibleBlockNum = 0; - lastVisibleBlockNum = currentMessageObject.textLayoutBlocks.size(); - } - if (firstVisibleBlockNum >= 0) { - for (int a = firstVisibleBlockNum; a <= lastVisibleBlockNum; a++) { - if (a >= currentMessageObject.textLayoutBlocks.size()) { - break; - } - MessageObject.TextLayoutBlock block = currentMessageObject.textLayoutBlocks.get(a); - canvas.save(); - canvas.translate(textX - (block.isRtl() ? (int) Math.ceil(currentMessageObject.textXOffset) : 0), textY + block.textYOffset); - if (pressedLink != null && a == linkBlockNum) { - for (int b = 0; b < urlPath.size(); b++) { - canvas.drawPath(urlPath.get(b), Theme.chat_urlPaint); - } - } - if (a == linkSelectionBlockNum && !urlPathSelection.isEmpty()) { - for (int b = 0; b < urlPathSelection.size(); b++) { - canvas.drawPath(urlPathSelection.get(b), Theme.chat_textSearchSelectionPaint); - } - } - - if (delegate.getTextSelectionHelper() != null) { - delegate.getTextSelectionHelper().draw(currentMessageObject, block, canvas); - } - try { - block.textLayout.draw(canvas); - } catch (Exception e) { - FileLog.e(e); - } - canvas.restore(); - } - } + if (transitionParams.animateChangeProgress != 1f && transitionParams.animateMessageText) { + drawMessageText(canvas, transitionParams.animateOutTextBlocks, false, (1f - transitionParams.animateChangeProgress)); + drawMessageText(canvas, currentMessageObject.textLayoutBlocks, true, transitionParams.animateChangeProgress); + } else { + drawMessageText(canvas, currentMessageObject.textLayoutBlocks, true, 1f); } + if (hasLinkPreview || hasGamePreview || hasInvoicePreview) { int startY; int linkX; @@ -6454,13 +6511,13 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } if (documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) { - videoButtonX = photoImage.getImageX() + AndroidUtilities.dp(8); - videoButtonY = photoImage.getImageY() + AndroidUtilities.dp(8); + videoButtonX = (int) (photoImage.getImageX() + AndroidUtilities.dp(8)); + videoButtonY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8)); videoRadialProgress.setProgressRect(videoButtonX, videoButtonY, videoButtonX + AndroidUtilities.dp(24), videoButtonY + AndroidUtilities.dp(24)); } if (photosCountLayout != null && photoImage.getVisible()) { - int x = photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(8) - photosCountWidth; - int y = photoImage.getImageY() + photoImage.getImageHeight() - AndroidUtilities.dp(19); + int x = (int) (photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(8) - photosCountWidth); + int y = (int) (photoImage.getImageY() + photoImage.getImageHeight() - AndroidUtilities.dp(19)); rect.set(x - AndroidUtilities.dp(4), y - AndroidUtilities.dp(1.5f), x + photosCountWidth + AndroidUtilities.dp(4), y + AndroidUtilities.dp(14.5f)); int oldAlpha = Theme.chat_timeBackgroundPaint.getAlpha(); Theme.chat_timeBackgroundPaint.setAlpha((int) (oldAlpha * controlsAlpha)); @@ -6478,8 +6535,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate int y; if (hasGamePreview || hasInvoicePreview || documentAttachType == DOCUMENT_ATTACH_TYPE_WALLPAPER) { if (drawPhotoImage) { - x = photoImage.getImageX() + AndroidUtilities.dp(8.5f); - y = photoImage.getImageY() + AndroidUtilities.dp(6); + x = (int) (photoImage.getImageX() + AndroidUtilities.dp(8.5f)); + y = (int) (photoImage.getImageY() + AndroidUtilities.dp(6)); int height = AndroidUtilities.dp(documentAttachType == DOCUMENT_ATTACH_TYPE_WALLPAPER ? 14.5f : 16.5f); rect.set(x - AndroidUtilities.dp(4), y - AndroidUtilities.dp(1.5f), x + durationWidth + AndroidUtilities.dp(4), y + height); canvas.drawRoundRect(rect, AndroidUtilities.dp(4), AndroidUtilities.dp(4), Theme.chat_timeBackgroundPaint); @@ -6488,8 +6545,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate y = linkPreviewY; } } else { - x = photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(8) - durationWidth; - y = photoImage.getImageY() + photoImage.getImageHeight() - AndroidUtilities.dp(19); + x = (int) (photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(8) - durationWidth); + y = (int) (photoImage.getImageY() + photoImage.getImageHeight() - AndroidUtilities.dp(19)); rect.set(x - AndroidUtilities.dp(4), y - AndroidUtilities.dp(1.5f), x + durationWidth + AndroidUtilities.dp(4), y + AndroidUtilities.dp(14.5f)); canvas.drawRoundRect(rect, AndroidUtilities.dp(4), AndroidUtilities.dp(4), Theme.chat_timeBackgroundPaint); } @@ -6551,8 +6608,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate drawTime = true; } else { if (currentMessageObject.type == MessageObject.TYPE_ROUND_VIDEO && Theme.chat_roundVideoShadow != null) { - int x = photoImage.getImageX() - AndroidUtilities.dp(3); - int y = photoImage.getImageY() - AndroidUtilities.dp(2); + int x = (int) (photoImage.getImageX() - AndroidUtilities.dp(3)); + int y = (int) (photoImage.getImageY() - AndroidUtilities.dp(2)); Theme.chat_roundVideoShadow.setAlpha(255/*(int) (photoImage.getCurrentAlpha() * 255)*/); Theme.chat_roundVideoShadow.setBounds(x, y, x + AndroidUtilities.roundMessageSize + AndroidUtilities.dp(6), y + AndroidUtilities.roundMessageSize + AndroidUtilities.dp(6)); Theme.chat_roundVideoShadow.draw(canvas); @@ -6577,7 +6634,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate setDrawableBounds(iconDrawable, rect.centerX() - iconDrawable.getIntrinsicWidth() / 2, rect.centerY() - iconDrawable.getIntrinsicHeight() / 2); iconDrawable.draw(canvas); } - drawPhotoCheckBox = photoCheckBox != null && (checkBoxVisible || photoCheckBox.getProgress() != 0 || checkBoxAnimationInProgress) && currentMessagesGroup != null && currentMessagesGroup.messages.size() > 1; + drawPhotoCheckBox = photoCheckBox != null && (checkBoxVisible || photoCheckBox.getProgress() != 0 || checkBoxAnimationInProgress) && currentMessagesGroup != null; if (drawPhotoCheckBox && (photoCheckBox.isChecked() || photoCheckBox.getProgress() != 0 || checkBoxAnimationInProgress) && (!textIsSelectionMode())) { Theme.chat_replyLinePaint.setColor(Theme.getColor(currentMessageObject.isOutOwner() ? Theme.key_chat_outBubbleSelected : Theme.key_chat_inBubbleSelected)); rect.set(photoImage.getImageX(), photoImage.getImageY(), photoImage.getImageX2(), photoImage.getImageY2()); @@ -6634,7 +6691,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (photoImage.getVisible() && !hasGamePreview && !currentMessageObject.needDrawBluredPreview()) { int oldAlpha = ((BitmapDrawable) Theme.chat_msgMediaMenuDrawable).getPaint().getAlpha(); Theme.chat_msgMediaMenuDrawable.setAlpha((int) (oldAlpha * controlsAlpha)); - setDrawableBounds(Theme.chat_msgMediaMenuDrawable, otherX = photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(14), otherY = photoImage.getImageY() + AndroidUtilities.dp(8.1f)); + setDrawableBounds(Theme.chat_msgMediaMenuDrawable, otherX = (int) (photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(14)), otherY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8.1f))); Theme.chat_msgMediaMenuDrawable.draw(canvas); Theme.chat_msgMediaMenuDrawable.setAlpha(oldAlpha); } @@ -6737,6 +6794,17 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate Theme.chat_audioTimePaint.setColor(Theme.getColor(isDrawSelectionBackground() ? Theme.key_chat_inAudioDurationSelectedText : Theme.key_chat_inAudioDurationText)); radialProgress.setProgressColor(Theme.getColor(isDrawSelectionBackground() || buttonPressed != 0 ? Theme.key_chat_inAudioSelectedProgress : Theme.key_chat_inAudioProgress)); } + AudioVisualizerDrawable audioVisualizerDrawable; + if (MediaController.getInstance().isPlayingMessage(currentMessageObject)) { + audioVisualizerDrawable = Theme.getCurrentAudiVisualizerDrawable(); + } else { + audioVisualizerDrawable = Theme.getAnimatedOutAudioVisualizerDrawable(currentMessageObject); + } + + if (audioVisualizerDrawable != null) { + audioVisualizerDrawable.setParentView(this); + audioVisualizerDrawable.draw(canvas, buttonX + AndroidUtilities.dp(22), buttonY + AndroidUtilities.dp(22), currentMessageObject.isOutOwner()); + } radialProgress.setBackgroundDrawable(isDrawSelectionBackground() ? currentBackgroundSelectedDrawable : currentBackgroundDrawable); radialProgress.draw(canvas); @@ -6762,26 +6830,16 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } if (captionLayout != null) { - if (currentMessageObject.type == MessageObject.TYPE_PHOTO || documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || currentMessageObject.type == 8) { - captionX = photoImage.getImageX() + AndroidUtilities.dp(5) + captionOffsetX; - captionY = photoImage.getImageY() + photoImage.getImageHeight() + AndroidUtilities.dp(6); - } else if (hasOldCaptionPreview) { - captionX = backgroundDrawableLeft + AndroidUtilities.dp(currentMessageObject.isOutOwner() ? 11 : 17) + captionOffsetX; - captionY = totalHeight - captionHeight - AndroidUtilities.dp(drawPinnedTop ? 9 : 10) - linkPreviewHeight - AndroidUtilities.dp(17); - } else { - captionX = backgroundDrawableLeft + AndroidUtilities.dp(currentMessageObject.isOutOwner() || mediaBackground || !mediaBackground && drawPinnedBottom ? 11 : 17) + captionOffsetX; - captionY = totalHeight - captionHeight - AndroidUtilities.dp(drawPinnedTop ? 9 : 10); - } - captionX += getExtraTextX(); + updateCaptionLayout(); } - if (currentPosition == null) { - drawCaptionLayout(canvas, false); + if (currentPosition == null && !transitionParams.transformGroupToSingleMessage) { + drawCaptionLayout(canvas, false, 1f); } if (hasOldCaptionPreview) { int linkX; if (currentMessageObject.type == MessageObject.TYPE_PHOTO || documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || currentMessageObject.type == 8) { - linkX = photoImage.getImageX() + AndroidUtilities.dp(5); + linkX = (int) (photoImage.getImageX() + AndroidUtilities.dp(5)); } else { linkX = backgroundDrawableLeft + AndroidUtilities.dp(currentMessageObject.isOutOwner() ? 11 : 17); } @@ -6844,14 +6902,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate int subtitleY; if (drawPhotoImage) { if (currentMessageObject.type == 0) { - setDrawableBounds(menuDrawable, otherX = photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(56), otherY = photoImage.getImageY() + AndroidUtilities.dp(4)); + setDrawableBounds(menuDrawable, otherX = (int) (photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(56)), otherY = (int) (photoImage.getImageY() + AndroidUtilities.dp(4))); } else { - setDrawableBounds(menuDrawable, otherX = photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(40), otherY = photoImage.getImageY() + AndroidUtilities.dp(4)); + setDrawableBounds(menuDrawable, otherX = (int) (photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(40)), otherY = (int) (photoImage.getImageY() + AndroidUtilities.dp(4))); } - x = photoImage.getImageX() + photoImage.getImageWidth() + AndroidUtilities.dp(10); - titleY = photoImage.getImageY() + AndroidUtilities.dp(8); - subtitleY = photoImage.getImageY() + (docTitleLayout != null ? docTitleLayout.getLineBottom(docTitleLayout.getLineCount() - 1) + AndroidUtilities.dp(13) : AndroidUtilities.dp(8)); + x = (int) (photoImage.getImageX() + photoImage.getImageWidth() + AndroidUtilities.dp(10)); + titleY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8)); + subtitleY = (int) (photoImage.getImageY() + (docTitleLayout != null ? docTitleLayout.getLineBottom(docTitleLayout.getLineCount() - 1) + AndroidUtilities.dp(13) : AndroidUtilities.dp(8))); if (!imageDrawn) { if (currentMessageObject.isOutOwner()) { radialProgress.setColors(Theme.key_chat_outLoader, Theme.key_chat_outLoaderSelected, Theme.key_chat_outMediaIcon, Theme.key_chat_outMediaIconSelected); @@ -6933,8 +6991,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.type == 4 && !(currentMessageObject.messageOwner.media instanceof TLRPC.TL_messageMediaGeoLive) && currentMapProvider == 2 && photoImage.hasNotThumb()) { int w = (int) (Theme.chat_redLocationIcon.getIntrinsicWidth() * 0.8f); int h = (int) (Theme.chat_redLocationIcon.getIntrinsicHeight() * 0.8f); - int x = photoImage.getImageX() + (photoImage.getImageWidth() - w) / 2; - int y = photoImage.getImageY() + (photoImage.getImageHeight() / 2 - h); + int x = (int) (photoImage.getImageX() + (photoImage.getImageWidth() - w) / 2); + int y = (int) (photoImage.getImageY() + (photoImage.getImageHeight() / 2 - h)); Theme.chat_redLocationIcon.setAlpha((int) (255 * photoImage.getCurrentAlpha())); Theme.chat_redLocationIcon.setBounds(x, y, x + w, y + h); Theme.chat_redLocationIcon.draw(canvas); @@ -7001,6 +7059,105 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } } + transitionParams.recordDrawingState(); + } + + private void drawMessageText(Canvas canvas, ArrayList textLayoutBlocks, boolean origin, float alpha) { + if (textLayoutBlocks != null && !textLayoutBlocks.isEmpty()) { + int oldAlpha = 0; + int firstVisibleBlockNum; + int lastVisibleBlockNum; + if (origin) { + if (fullyDraw) { + this.firstVisibleBlockNum = 0; + this.lastVisibleBlockNum = textLayoutBlocks.size(); + } + firstVisibleBlockNum = this.firstVisibleBlockNum; + lastVisibleBlockNum = this.lastVisibleBlockNum; + } else { + firstVisibleBlockNum = 0; + lastVisibleBlockNum = textLayoutBlocks.size(); + } + + if (firstVisibleBlockNum >= 0) { + if (alpha != 1f) { + if (currentBackgroundDrawable != null) { + int top = currentBackgroundDrawable.getBounds().top; + int bottom = currentBackgroundDrawable.getBounds().bottom; + + if (getY() < 0) { + top = (int) -getY(); + } + if (getY() + getMeasuredHeight() > parentHeight) { + bottom = (int) (parentHeight - getY()); + } + rect.set( + currentBackgroundDrawable.getBounds().left, top, + currentBackgroundDrawable.getBounds().right, bottom + ); + } else { + rect.set(0, 0, getMeasuredWidth(), getMeasuredHeight()); + } + canvas.saveLayerAlpha(rect, (int) (alpha * 255), Canvas.ALL_SAVE_FLAG); + } + for (int a = firstVisibleBlockNum; a <= lastVisibleBlockNum; a++) { + if (a >= textLayoutBlocks.size()) { + break; + } + MessageObject.TextLayoutBlock block = textLayoutBlocks.get(a); + canvas.save(); + canvas.translate(textX - (block.isRtl() ? (int) Math.ceil(currentMessageObject.textXOffset) : 0), textY + block.textYOffset); + if (pressedLink != null && a == linkBlockNum) { + for (int b = 0; b < urlPath.size(); b++) { + canvas.drawPath(urlPath.get(b), Theme.chat_urlPaint); + } + } + if (a == linkSelectionBlockNum && !urlPathSelection.isEmpty()) { + for (int b = 0; b < urlPathSelection.size(); b++) { + canvas.drawPath(urlPathSelection.get(b), Theme.chat_textSearchSelectionPaint); + } + } + + if (delegate.getTextSelectionHelper() != null && transitionParams.animateChangeProgress == 1f) { + delegate.getTextSelectionHelper().draw(currentMessageObject, block, canvas); + } + try { + block.textLayout.draw(canvas); + } catch (Exception e) { + FileLog.e(e); + } + canvas.restore(); + } + + if (alpha != 1f) { + canvas.restore(); + } + } + } + } + + public void updateCaptionLayout() { + if (currentMessageObject.type == MessageObject.TYPE_PHOTO || documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || currentMessageObject.type == 8) { + float x, y, h; + if (transitionParams.imageChangeBoundsTransition) { + x = transitionParams.animateToImageX; + y = transitionParams.animateToImageY; + h = transitionParams.animateToImageH; + } else { + x = photoImage.getImageX(); + y = photoImage.getImageY(); + h = photoImage.getImageHeight(); + } + captionX = x + AndroidUtilities.dp(5) + captionOffsetX; + captionY = y + h + AndroidUtilities.dp(6); + } else if (hasOldCaptionPreview) { + captionX = backgroundDrawableLeft + AndroidUtilities.dp(currentMessageObject.isOutOwner() ? 11 : 17) + captionOffsetX; + captionY = totalHeight - captionHeight - AndroidUtilities.dp(drawPinnedTop ? 9 : 10) - linkPreviewHeight - AndroidUtilities.dp(17); + } else { + captionX = backgroundDrawableLeft + AndroidUtilities.dp(currentMessageObject.isOutOwner() || mediaBackground || !mediaBackground && drawPinnedBottom ? 11 : 17) + captionOffsetX; + captionY = totalHeight - captionHeight - AndroidUtilities.dp(drawPinnedTop ? 9 : 10); + } + captionX += getExtraTextX(); } private boolean textIsSelectionMode() { @@ -7582,7 +7739,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate photoImage.setImage(ImageLocation.getForObject(currentPhotoObject, photoParentObject), currentPhotoFilter, ImageLocation.getForObject(currentPhotoObjectThumb, photoParentObject), currentPhotoFilterThumb, currentPhotoObject.size, null, currentMessageObject, currentMessageObject.shouldEncryptPhotoOrVideo() ? 2 : 0); } else if (currentMessageObject.type == 8) { FileLoader.getInstance(currentAccount).loadFile(documentAttach, currentMessageObject, 1, 0); - createLoadingProgressLayout(documentAttach); + if (currentMessageObject.loadedFileSize > 0) { + createLoadingProgressLayout(documentAttach); + } } else if (currentMessageObject.isRoundVideo()) { if (currentMessageObject.isSecretMedia()) { FileLoader.getInstance(currentAccount).loadFile(currentMessageObject.getDocument(), currentMessageObject, 1, 1); @@ -7595,16 +7754,22 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } else if (currentMessageObject.type == 9) { FileLoader.getInstance(currentAccount).loadFile(documentAttach, currentMessageObject, 1, 0); - createLoadingProgressLayout(documentAttach); + if (currentMessageObject.loadedFileSize > 0) { + createLoadingProgressLayout(documentAttach); + } } else if (documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO) { FileLoader.getInstance(currentAccount).loadFile(documentAttach, currentMessageObject, 1, currentMessageObject.shouldEncryptPhotoOrVideo() ? 2 : 0); - createLoadingProgressLayout(currentMessageObject.getDocument()); + if (currentMessageObject.loadedFileSize > 0) { + createLoadingProgressLayout(currentMessageObject.getDocument()); + } } else if (currentMessageObject.type == 0 && documentAttachType != DOCUMENT_ATTACH_TYPE_NONE) { if (documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) { photoImage.setForceLoading(true); photoImage.setImage(ImageLocation.getForDocument(documentAttach), null, ImageLocation.getForDocument(currentPhotoObject, documentAttach), currentPhotoFilterThumb, documentAttach.size, null, currentMessageObject, 0); currentMessageObject.gifState = 2; - createLoadingProgressLayout(currentMessageObject.getDocument()); + if (currentMessageObject.loadedFileSize > 0) { + createLoadingProgressLayout(currentMessageObject.getDocument()); + } } else if (documentAttachType == DOCUMENT_ATTACH_TYPE_DOCUMENT) { FileLoader.getInstance(currentAccount).loadFile(documentAttach, currentMessageObject, 0, 0); } else if (documentAttachType == DOCUMENT_ATTACH_TYPE_WALLPAPER) { @@ -7919,6 +8084,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate String str; int w; w = (int) Math.ceil(Theme.chat_infoPaint.measureText(maxAvailableString)); + boolean fullWidth = true; if (documentAttachType == DOCUMENT_ATTACH_TYPE_DOCUMENT) { int max = Math.max(this.infoWidth, docTitleWidth); if (w <= max) { @@ -7927,7 +8093,6 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate str = AndroidUtilities.formatFileSize(loadedSize); } } else { - boolean fullWidth = true; if (currentPosition != null) { int mask = MessageObject.POSITION_FLAG_LEFT | MessageObject.POSITION_FLAG_RIGHT; fullWidth = (currentPosition.flags & mask) == mask; @@ -7944,7 +8109,15 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } w = (int) Math.ceil(Theme.chat_infoPaint.measureText(str)); - + if (fullWidth && w > backgroundWidth - AndroidUtilities.dp(48)) { + int percent = (int) (Math.min(1f, loadedSize / (float) totalSize) * 100); + if (percent >= 100) { + str = "100%"; + } else { + str = String.format(Locale.US, "%2d%%", percent); + } + w = (int) Math.ceil(Theme.chat_infoPaint.measureText(str)); + } loadingProgressLayout = new StaticLayout(str, Theme.chat_infoPaint, w, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); } @@ -7996,7 +8169,6 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.isFromUser()) { author = MessagesController.getInstance(currentAccount).getUser(messageObject.messageOwner.from_id); } - boolean edited; if (messageObject.scheduled || messageObject.isLiveLocation() || messageObject.messageOwner.edit_hide || messageObject.getDialogId() == 777000 || messageObject.messageOwner.via_bot_id != 0 || messageObject.messageOwner.via_bot_name != null || author != null && author.bot) { edited = false; } else if (currentPosition == null || currentMessagesGroup == null) { @@ -8076,7 +8248,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } private boolean checkNeedDrawShareButton(MessageObject messageObject) { - if (currentPosition != null && !currentPosition.last) { + if ((currentPosition != null && !currentPosition.last) || currentMessageObject.deleted) { return false; } else if (messageObject.messageOwner.fwd_from != null && !messageObject.isOutOwner() && messageObject.messageOwner.fwd_from.saved_from_peer != null && messageObject.getDialogId() == UserConfig.getInstance(currentAccount).getClientUserId()) { drwaShareGoIcon = true; @@ -8575,6 +8747,18 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate return checkBoxTranslation; } + public boolean shouldDrawAlphaLayer() { + return (currentMessagesGroup == null || !currentMessagesGroup.transitionParams.backgroundChangeBounds) && getAlpha() != 1f; + } + + public float getCaptionX() { + return captionX; + } + + public boolean isDrawPinnedBottom() { + return mediaBackground || drawPinnedBottom; + } + public void drawCheckBox(Canvas canvas) { if (currentMessageObject != null && !currentMessageObject.isSending() && !currentMessageObject.isSendError() && checkBox != null && (checkBoxVisible || checkBoxAnimationInProgress) && (currentPosition == null || (currentPosition.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0 && (currentPosition.flags & MessageObject.POSITION_FLAG_LEFT) != 0)) { canvas.save(); @@ -8599,6 +8783,12 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } + public void setDrawableBoundsInner(Drawable drawable, int x, int y, int w, int h) { + if (drawable != null) { + drawable.setBounds(x + transitionParams.deltaLeft, y + transitionParams.deltaTop, x + w + transitionParams.deltaRight, y + h + transitionParams.deltaBottom); + } + } + @SuppressLint("WrongCall") @Override protected void onDraw(Canvas canvas) { @@ -8607,7 +8797,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } if (!wasLayout && !animationRunning) { - requestLayout(); + forceLayout(); return; } if (!wasLayout && animationRunning) { @@ -8671,9 +8861,11 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (!mediaBackground && !drawPinnedBottom) { currentBackgroundDrawable = Theme.chat_msgOutDrawable; currentBackgroundSelectedDrawable = Theme.chat_msgOutSelectedDrawable; + transitionParams.drawPinnedBottomBackground = false; } else { currentBackgroundDrawable = Theme.chat_msgOutMediaDrawable; currentBackgroundSelectedDrawable = Theme.chat_msgOutMediaSelectedDrawable; + transitionParams.drawPinnedBottomBackground = true; } setBackgroundTopY(); if (isDrawSelectionBackground() && (currentPosition == null || getBackground() != null)) { @@ -8717,17 +8909,21 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { offsetBottom = AndroidUtilities.dp(2); } - int backgroundTop = additionalTop + (drawPinnedTop || drawPinnedTop && drawPinnedBottom ? 0 : AndroidUtilities.dp(1)); - setDrawableBounds(currentBackgroundDrawable, backgroundLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); - setDrawableBounds(currentBackgroundSelectedDrawable, backgroundLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); - setDrawableBounds(currentBackgroundShadowDrawable, backgroundLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); + backgroundDrawableTop = additionalTop + (drawPinnedTop || drawPinnedTop && drawPinnedBottom ? 0 : AndroidUtilities.dp(1)); + int backgroundHeight = layoutHeight - offsetBottom + additionalBottom; + backgroundDrawableBottom = backgroundDrawableTop + backgroundHeight; + setDrawableBoundsInner(currentBackgroundDrawable, backgroundLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); + setDrawableBoundsInner(currentBackgroundSelectedDrawable, backgroundLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); + setDrawableBoundsInner(currentBackgroundShadowDrawable, backgroundLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); } else { if (!mediaBackground && !drawPinnedBottom) { currentBackgroundDrawable = Theme.chat_msgInDrawable; currentBackgroundSelectedDrawable = Theme.chat_msgInSelectedDrawable; + transitionParams.drawPinnedBottomBackground = false; } else { currentBackgroundDrawable = Theme.chat_msgInMediaDrawable; currentBackgroundSelectedDrawable = Theme.chat_msgInMediaSelectedDrawable; + transitionParams.drawPinnedBottomBackground = true; } setBackgroundTopY(); if (isDrawSelectionBackground() && (currentPosition == null || getBackground() != null)) { @@ -8775,10 +8971,12 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { offsetBottom = AndroidUtilities.dp(2); } - int backgroundTop = additionalTop + (drawPinnedTop || drawPinnedTop && drawPinnedBottom ? 0 : AndroidUtilities.dp(1)); - setDrawableBounds(currentBackgroundDrawable, backgroundDrawableLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); - setDrawableBounds(currentBackgroundSelectedDrawable, backgroundDrawableLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); - setDrawableBounds(currentBackgroundShadowDrawable, backgroundDrawableLeft, backgroundTop, backgroundDrawableRight, layoutHeight - offsetBottom + additionalBottom); + backgroundDrawableTop = additionalTop + (drawPinnedTop || drawPinnedTop && drawPinnedBottom ? 0 : AndroidUtilities.dp(1)); + int backgroundHeight = layoutHeight - offsetBottom + additionalBottom; + backgroundDrawableBottom = backgroundDrawableTop + backgroundHeight; + setDrawableBoundsInner(currentBackgroundDrawable, backgroundDrawableLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); + setDrawableBoundsInner(currentBackgroundSelectedDrawable, backgroundDrawableLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); + setDrawableBoundsInner(currentBackgroundShadowDrawable, backgroundDrawableLeft, backgroundDrawableTop, backgroundDrawableRight, backgroundHeight); } if (hasPsaHint) { @@ -8817,7 +9015,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate Interpolator interpolator = checkBoxVisible ? CubicBezierInterpolator.EASE_OUT : CubicBezierInterpolator.EASE_IN; checkBoxTranslation = (int) Math.ceil(interpolator.getInterpolation(checkBoxAnimationProgress) * AndroidUtilities.dp(35)); if (!currentMessageObject.isOutOwner()) { - setTranslationX(checkBoxTranslation); + updateTranslation(); } int size = AndroidUtilities.dp(21); @@ -8846,30 +9044,75 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } - if (drawBackground && currentBackgroundDrawable != null) { + if (drawBackground && currentBackgroundDrawable != null && currentPosition == null) { if (isHighlightedAnimated) { + currentBackgroundDrawable.setAlpha((int) (255 * alphaInternal)); currentBackgroundDrawable.draw(canvas); float alpha = highlightProgress >= 300 ? 1.0f : highlightProgress / 300.0f; if (currentPosition == null) { - currentBackgroundSelectedDrawable.setAlpha((int) (alpha * 255)); + currentBackgroundSelectedDrawable.setAlpha((int) (alphaInternal * alpha * 255)); currentBackgroundSelectedDrawable.draw(canvas); } } else if (selectedBackgroundProgress != 0) { currentBackgroundDrawable.draw(canvas); - currentBackgroundSelectedDrawable.setAlpha((int) (selectedBackgroundProgress * 255)); + currentBackgroundSelectedDrawable.setAlpha((int) (selectedBackgroundProgress * alphaInternal * 255)); currentBackgroundSelectedDrawable.draw(canvas); currentBackgroundShadowDrawable = null; } else { if (isDrawSelectionBackground() && (currentPosition == null || getBackground() != null)) { - currentBackgroundSelectedDrawable.setAlpha(255); + currentBackgroundSelectedDrawable.setAlpha((int) (255 * alphaInternal)); currentBackgroundSelectedDrawable.draw(canvas); } else { + currentBackgroundDrawable.setAlpha((int) (255 * alphaInternal)); currentBackgroundDrawable.draw(canvas); } } if (currentBackgroundShadowDrawable != null && (currentPosition == null || currentPosition.flags != 0)) { currentBackgroundShadowDrawable.draw(canvas); } + + if (transitionParams.changePinnedBottomProgress != 1f) { + if (currentMessageObject.isOutOwner()) { + Theme.MessageDrawable drawable; + if (transitionParams.drawPinnedBottomBackground) { + drawable = Theme.chat_msgOutDrawable; + } else { + drawable = Theme.chat_msgOutMediaDrawable; + } + Rect rect = currentBackgroundDrawable.getBounds(); + drawable.setBounds(rect.left, rect.top, rect.right + AndroidUtilities.dp(6), rect.bottom); + canvas.save(); + canvas.clipRect(rect.right - AndroidUtilities.dp(6), rect.bottom - AndroidUtilities.dp(16), rect.right + AndroidUtilities.dp(6), rect.bottom); + int h = parentHeight; + if (h == 0) { + h = AndroidUtilities.displaySize.y; + if (getParent() instanceof View) { + View view = (View) getParent(); + h = view.getMeasuredHeight(); + } + } + drawable.setTop((int) getY(), h, pinnedTop, pinnedBottom); + drawable.setAlpha((int) (255 * (1f - transitionParams.changePinnedBottomProgress))); + drawable.draw(canvas); + drawable.setAlpha(255); + canvas.restore(); + } else { + Theme.MessageDrawable drawable; + if (transitionParams.drawPinnedBottomBackground) { + drawable = Theme.chat_msgInDrawable; + } else { + drawable = Theme.chat_msgInMediaDrawable; + } + drawable.setAlpha((int) (255 * (1f - transitionParams.changePinnedBottomProgress))); + Rect rect = currentBackgroundDrawable.getBounds(); + drawable.setBounds(rect.left - AndroidUtilities.dp(6), rect.top, rect.right, rect.bottom); + canvas.save(); + canvas.clipRect(rect.left - AndroidUtilities.dp(6), rect.bottom - AndroidUtilities.dp(16), rect.left + AndroidUtilities.dp(6), rect.bottom); + drawable.draw(canvas); + drawable.setAlpha(255); + canvas.restore(); + } + } } if (isHighlightedAnimated) { long newTime = System.currentTimeMillis(); @@ -8889,7 +9132,47 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } + if (alphaInternal != 1f) { + int top = 0; + int left = 0; + int bottom = getMeasuredHeight(); + int right = getMeasuredWidth(); + + if (currentBackgroundDrawable != null) { + top = currentBackgroundDrawable.getBounds().top; + bottom = currentBackgroundDrawable.getBounds().bottom; + left = currentBackgroundDrawable.getBounds().left; + right = currentBackgroundDrawable.getBounds().right; + } + + if (drawShareButton) { + if (currentMessageObject.isOutOwner()) { + left -= AndroidUtilities.dp(8) + Theme.chat_shareDrawable.getIntrinsicWidth(); + } else { + right += AndroidUtilities.dp(8) + Theme.chat_shareDrawable.getIntrinsicWidth(); + } + } + if (getY() < 0) { + top = (int) -getY(); + } + if (getY() + getMeasuredHeight() > parentHeight) { + bottom = (int) (parentHeight - getY()); + } + rect.set(left, top, right, bottom); + canvas.saveLayerAlpha(rect, (int) (255 * alphaInternal), Canvas.ALL_SAVE_FLAG); + } + if (transitionParams.animateBackgroundBoundsInner && currentBackgroundDrawable != null) { + Rect r = currentBackgroundDrawable.getBounds(); + canvas.save(); + canvas.clipRect( + r.left + AndroidUtilities.dp(4), r.top + AndroidUtilities.dp(4), + r.right - AndroidUtilities.dp(4), r.bottom - AndroidUtilities.dp(4) + ); + } drawContent(canvas); + if (transitionParams.animateBackgroundBoundsInner && currentBackgroundDrawable != null) { + canvas.restore(); + } if (drawShareButton) { if (sharePressed) { @@ -8907,10 +9190,23 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } if (currentMessageObject.isOutOwner()) { shareStartX = currentBackgroundDrawable.getBounds().left - AndroidUtilities.dp(8) - Theme.chat_shareDrawable.getIntrinsicWidth(); + if (currentMessagesGroup != null) { + shareStartX += currentMessagesGroup.transitionParams.offsetLeft - animationOffsetX; + } } else { shareStartX = currentBackgroundDrawable.getBounds().right + AndroidUtilities.dp(8); + if (currentMessagesGroup != null) { + shareStartX += currentMessagesGroup.transitionParams.offsetRight - animationOffsetX; + } } - setDrawableBounds(Theme.chat_shareDrawable, shareStartX, shareStartY = layoutHeight - AndroidUtilities.dp(41)); + shareStartY = layoutHeight - AndroidUtilities.dp(41) + transitionParams.deltaBottom; + if (currentMessagesGroup != null) { + shareStartY += currentMessagesGroup.transitionParams.offsetBottom; + if (currentMessagesGroup.transitionParams.backgroundChangeBounds) { + shareStartY -= getTranslationY(); + } + } + setDrawableBounds(Theme.chat_shareDrawable, shareStartX, shareStartY); Theme.chat_shareDrawable.draw(canvas); if (drwaShareGoIcon) { setDrawableBounds(Theme.chat_goIconDrawable, shareStartX + AndroidUtilities.dp(12), shareStartY + AndroidUtilities.dp(9)); @@ -8945,14 +9241,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } if (currentPosition == null) { - drawNamesLayout(canvas); + drawNamesLayout(canvas, 1f); } if (!autoPlayingMedia || !MediaController.getInstance().isPlayingMessageAndReadyToDraw(currentMessageObject)) { drawOverlays(canvas); } - if ((drawTime || !mediaBackground) && !forceNotDrawTime) { - drawTime(canvas); + if ((drawTime || !mediaBackground) && !forceNotDrawTime && !transitionParams.animateBackgroundBoundsInner) { + drawTime(canvas, 1f); } if ((controlsAlpha != 1.0f || timeAlpha != 1.0f) && currentMessageObject.type != 5) { @@ -8978,6 +9274,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate parent.invalidate(); } } + if (alphaInternal != 1f) { + canvas.restore(); + } updateSelectionTextPosition(); } @@ -8993,10 +9292,110 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.isOutOwner()) { return layoutWidth - backgroundWidth - (!mediaBackground ? 0 : AndroidUtilities.dp(9)); } else { - return AndroidUtilities.dp((isChat && isAvatarVisible ? 48 : 0) + (!mediaBackground ? 3 : 9)); + int r = AndroidUtilities.dp((isChat && isAvatarVisible ? 48 : 0) + (!mediaBackground ? 3 : 9)); + if (currentMessagesGroup != null) { + if (currentPosition.leftSpanOffset != 0) { + r += (int) Math.ceil(currentPosition.leftSpanOffset / 1000.0f * getGroupPhotosWidth()); + } + } + return r; } } + public int getBackgroundDrawableRight() { + int right = backgroundWidth - (mediaBackground ? 0 : AndroidUtilities.dp(3)); + if (!mediaBackground && drawPinnedBottom && currentMessageObject.isOutOwner()) { + right -= AndroidUtilities.dp(6); + } + return getBackgroundDrawableLeft() + right; + } + + public int getBackgroundDrawableTop() { + int additionalTop = 0; + if (currentPosition != null) { + if ((currentPosition.flags & MessageObject.POSITION_FLAG_TOP) == 0) { + additionalTop -= AndroidUtilities.dp( 3); + } + } + return additionalTop + (drawPinnedTop || drawPinnedTop && drawPinnedBottom ? 0 : AndroidUtilities.dp(1)); + } + + public int getBackgroundDrawableBottom() { + int additionalBottom = 0; + if (currentPosition != null) { + if ((currentPosition.flags & MessageObject.POSITION_FLAG_TOP) == 0) { + additionalBottom += AndroidUtilities.dp(3); + } + if ((currentPosition.flags & MessageObject.POSITION_FLAG_BOTTOM) == 0) { + additionalBottom += AndroidUtilities.dp((currentMessageObject.isOutOwner() ? 3 : 4)); + } + } + + int offsetBottom; + if (drawPinnedBottom && drawPinnedTop) { + offsetBottom = 0; + } else if (drawPinnedBottom) { + offsetBottom = AndroidUtilities.dp(1); + } else { + offsetBottom = AndroidUtilities.dp(2); + } + return getBackgroundDrawableTop() + layoutHeight - offsetBottom + additionalBottom; + } + + public void drawBackground(Canvas canvas, int left, int top, int right, int bottom, boolean pinnedTop, boolean pinnedBottom) { + if (currentMessageObject.isOutOwner()) { + if (!mediaBackground && !pinnedBottom) { + currentBackgroundDrawable = Theme.chat_msgOutDrawable; + } else { + currentBackgroundDrawable = Theme.chat_msgOutMediaDrawable; + } + } else { + + if (!mediaBackground && !pinnedTop) { + currentBackgroundDrawable = Theme.chat_msgInDrawable; + } else { + currentBackgroundDrawable = Theme.chat_msgInMediaDrawable; + } + } + + + int h = parentHeight; + if (h == 0) { + h = AndroidUtilities.displaySize.y; + if (getParent() instanceof View) { + View view = (View) getParent(); + h = view.getMeasuredHeight(); + } + } + currentBackgroundDrawable.setTop(0, h, pinnedTop, pinnedBottom); + + Drawable currentBackgroundShadowDrawable = null; + + if (currentBackgroundDrawable != null) { + currentBackgroundDrawable.setBounds(left,top,right,bottom); + currentBackgroundShadowDrawable = currentBackgroundDrawable.getShadowDrawable(); + } + if (currentBackgroundSelectedDrawable != null) { + currentBackgroundSelectedDrawable.setBounds(left,top,right,bottom); + } + if (currentBackgroundShadowDrawable != null) { + currentBackgroundShadowDrawable.setBounds(left,top,right,bottom); + } + + if (currentBackgroundShadowDrawable != null) { + currentBackgroundShadowDrawable.setAlpha((int) (getAlpha() * 255)); + currentBackgroundShadowDrawable.draw(canvas); + currentBackgroundShadowDrawable.setAlpha(255); + } + + if (currentBackgroundDrawable != null) { + currentBackgroundDrawable.setAlpha((int) (getAlpha() * 255)); + currentBackgroundDrawable.draw(canvas); + currentBackgroundDrawable.setAlpha(255); + } + } + + public boolean hasNameLayout() { return drawNameLayout && nameLayout != null || drawForwardedName && forwardedNameLayout[0] != null && forwardedNameLayout[1] != null && (currentPosition == null || currentPosition.minY == 0 && currentPosition.minX == 0) || @@ -9007,7 +9406,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate return drawNameLayout && nameLayout != null; } - public void drawNamesLayout(Canvas canvas) { + public void drawNamesLayout(Canvas canvas, float alpha) { long newAnimationTime = SystemClock.elapsedRealtime(); long dt = newAnimationTime - lastNamesAnimationTime; if (dt > 17) { @@ -9015,6 +9414,15 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } lastNamesAnimationTime = newAnimationTime; + if (currentMessageObject.deleted && currentMessagesGroup != null && currentMessagesGroup.messages.size() >= 1) { + return; + } + + if (alpha != 1f) { + rect.set(0, 0, getMaxNameWidth(), getMeasuredHeight()); + canvas.saveLayerAlpha(rect, (int) (255 * alpha), Canvas.ALL_SAVE_FLAG); + } + if (drawNameLayout && nameLayout != null) { canvas.save(); @@ -9206,6 +9614,10 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } } + + if (alpha != 1f) { + canvas.restore(); + } } public boolean hasCaptionLayout() { @@ -9285,8 +9697,21 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate return backgroundDrawable; } - public void drawCaptionLayout(Canvas canvas, boolean selectionOnly) { - if (captionLayout == null || selectionOnly && pressedLink == null) { + public Theme.MessageDrawable getCurrentBackgroundDrawable() { + return currentBackgroundDrawable; + } + + public void drawCaptionLayout(Canvas canvas, boolean selectionOnly, float alpha) { + if (transitionParams.animateReplaceCaptionLayout && transitionParams.animateChangeProgress != 1f) { + drawCaptionLayout(canvas, transitionParams.animateOutCaptionLayout, selectionOnly, alpha * (1f - transitionParams.animateChangeProgress)); + drawCaptionLayout(canvas, captionLayout, selectionOnly, alpha * transitionParams.animateChangeProgress); + } else { + drawCaptionLayout(canvas, captionLayout, selectionOnly, alpha); + } + } + + private void drawCaptionLayout(Canvas canvas, StaticLayout captionLayout, boolean selectionOnly, float alpha) { + if (captionLayout == null || selectionOnly && pressedLink == null || (currentMessageObject.deleted && currentPosition != null) || alpha == 0) { return; } if (currentMessageObject.isOutOwner()) { @@ -9297,7 +9722,43 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate Theme.chat_msgTextPaint.linkColor = Theme.getColor(Theme.key_chat_messageLinkIn); } canvas.save(); + float renderingAlpha = alpha; + if (currentMessagesGroup != null) { + renderingAlpha = currentMessagesGroup.transitionParams.captionEnterProgress * alpha; + } + if (renderingAlpha == 0) { + return; + } + + float captionY = this.captionY; + float captionX = this.captionX; + if (currentMessagesGroup != null && currentMessagesGroup.transitionParams.backgroundChangeBounds) { + if (!transitionParams.animateReplaceCaptionLayout) { + captionY -= getTranslationY(); + } + captionX += currentMessagesGroup.transitionParams.offsetLeft; + } else { + if (transitionParams.animateBackgroundBoundsInner) { + if (transitionParams.transformGroupToSingleMessage) { + captionY -= getTranslationY(); + captionX += transitionParams.deltaLeft; + } else if (transitionParams.moveCaption) { + captionX = this.captionX * transitionParams.animateChangeProgress + transitionParams.captionFromX * (1f - transitionParams.animateChangeProgress); + captionY = this.captionY * transitionParams.animateChangeProgress + transitionParams.captionFromY * (1f - transitionParams.animateChangeProgress); + } else { + captionX += transitionParams.deltaLeft; + } + } + } + + if (renderingAlpha != 1f) { + rect.set(captionX, captionY, captionX + captionLayout.getWidth(), captionY + captionLayout.getHeight()); + canvas.saveLayerAlpha(rect, (int) (255 * renderingAlpha), Canvas.ALL_SAVE_FLAG); + } + canvas.translate(captionX, captionY); + + if (pressedLink != null) { for (int b = 0; b < urlPath.size(); b++) { canvas.drawPath(urlPath.get(b), Theme.chat_urlPaint); @@ -9318,6 +9779,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate FileLog.e(e); } } + if (renderingAlpha != 1f) { + canvas.restore(); + } canvas.restore(); } @@ -9325,8 +9789,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate return !forceNotDrawTime; } - public void drawTime(Canvas canvas) { - if ((!drawTime || groupPhotoInvisible) && mediaBackground && captionLayout == null || timeLayout == null) { + public void drawTime(Canvas canvas, float alpha) { + if ((!drawTime || groupPhotoInvisible) && mediaBackground && captionLayout == null || timeLayout == null || (currentMessageObject.deleted && currentPosition != null)) { return; } if (currentMessageObject.type == MessageObject.TYPE_ROUND_VIDEO) { @@ -9346,10 +9810,22 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } } + if (alpha != 1f) { + Theme.chat_timePaint.setAlpha((int) (Theme.chat_timePaint.getAlpha() * alpha)); + } if (drawPinnedBottom) { canvas.translate(0, AndroidUtilities.dp(2)); } + float timeX = this.timeX + transitionParams.deltaRight; boolean bigRadius = false; + float layoutHeight = this.layoutHeight + transitionParams.deltaBottom; + if (currentMessagesGroup != null && currentMessagesGroup.transitionParams.backgroundChangeBounds) { + layoutHeight -= getTranslationY(); + timeX += currentMessagesGroup.transitionParams.offsetRight; + } + if (transitionParams.animateBackgroundBoundsInner) { + timeX += animationOffsetX; + } if (mediaBackground && captionLayout == null) { Paint paint; if (currentMessageObject.shouldDrawWithoutBackground()) { @@ -9358,8 +9834,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate paint = Theme.chat_timeBackgroundPaint; } int oldAlpha = paint.getAlpha(); - paint.setAlpha((int) (oldAlpha * timeAlpha)); - Theme.chat_timePaint.setAlpha((int) (255 * timeAlpha)); + paint.setAlpha((int) (oldAlpha * timeAlpha * alpha)); + Theme.chat_timePaint.setAlpha((int) (255 * timeAlpha * alpha)); int r; if (documentAttachType != DOCUMENT_ATTACH_TYPE_ROUND && documentAttachType != DOCUMENT_ATTACH_TYPE_STICKER) { @@ -9369,8 +9845,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { r = AndroidUtilities.dp(4); } - int x1 = timeX - AndroidUtilities.dp(bigRadius ? 6 : 4); - int y1 = layoutHeight - AndroidUtilities.dp(28); + float x1 = timeX - AndroidUtilities.dp(bigRadius ? 6 : 4); + float y1 = layoutHeight - AndroidUtilities.dp(28); rect.set(x1, y1, x1 + timeWidth + AndroidUtilities.dp((bigRadius ? 12 : 8) + (currentMessageObject.isOutOwner() ? 20 : 0)), y1 + AndroidUtilities.dp(17)); canvas.drawRoundRect(rect, r, r, paint); @@ -9383,16 +9859,23 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.isSending() || currentMessageObject.isEditing()) { if (!currentMessageObject.isOutOwner()) { setDrawableBounds(Theme.chat_msgMediaClockDrawable, timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)), layoutHeight - AndroidUtilities.dp(14.0f) - Theme.chat_msgMediaClockDrawable.getIntrinsicHeight()); + Theme.chat_msgMediaClockDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgMediaClockDrawable.draw(canvas); + Theme.chat_msgMediaClockDrawable.setAlpha(255); } } else if (currentMessageObject.isSendError()) { if (!currentMessageObject.isOutOwner()) { - int x = timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)); - int y = layoutHeight - AndroidUtilities.dp(26.5f); + float x = timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)); + float y = layoutHeight - AndroidUtilities.dp(26.5f); rect.set(x, y, x + AndroidUtilities.dp(14), y + AndroidUtilities.dp(14)); + oldAlpha = Theme.chat_msgErrorPaint.getAlpha(); + Theme.chat_msgErrorPaint.setAlpha((int) (oldAlpha * alpha)); canvas.drawRoundRect(rect, AndroidUtilities.dp(1), AndroidUtilities.dp(1), Theme.chat_msgErrorPaint); + Theme.chat_msgErrorPaint.setAlpha(oldAlpha); setDrawableBounds(Theme.chat_msgErrorDrawable, x + AndroidUtilities.dp(6), y + AndroidUtilities.dp(2)); + Theme.chat_msgErrorDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgErrorDrawable.draw(canvas); + Theme.chat_msgErrorDrawable.setAlpha(255); } } else if (viewsLayout != null) { Drawable viewsDrawable; @@ -9402,7 +9885,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate viewsDrawable = Theme.chat_msgMediaViewsDrawable; } oldAlpha = ((BitmapDrawable) viewsDrawable).getPaint().getAlpha(); - viewsDrawable.setAlpha((int) (timeAlpha * oldAlpha)); + viewsDrawable.setAlpha((int) (timeAlpha * oldAlpha * alpha)); setDrawableBounds(viewsDrawable, timeX, layoutHeight - AndroidUtilities.dp(10.5f) - timeLayout.getHeight()); viewsDrawable.draw(canvas); viewsDrawable.setAlpha(oldAlpha); @@ -9428,26 +9911,37 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (!currentMessageObject.isOutOwner()) { Drawable clockDrawable = isDrawSelectionBackground() ? Theme.chat_msgInSelectedClockDrawable : Theme.chat_msgInClockDrawable; setDrawableBounds(clockDrawable, timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)), layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 9.5f : 8.5f) - clockDrawable.getIntrinsicHeight()); + clockDrawable.setAlpha((int) (255 * alpha)); clockDrawable.draw(canvas); + clockDrawable.setAlpha(255); } } else if (currentMessageObject.isSendError()) { if (!currentMessageObject.isOutOwner()) { - int x = timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)); - int y = layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 21.5f : 20.5f); + float x = timeX + (currentMessageObject.scheduled ? 0 : AndroidUtilities.dp(11)); + float y = layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 21.5f : 20.5f); rect.set(x, y, x + AndroidUtilities.dp(14), y + AndroidUtilities.dp(14)); + int oldAlpha = Theme.chat_msgErrorPaint.getAlpha(); + Theme.chat_msgErrorPaint.setAlpha((int) (255 * alpha)); canvas.drawRoundRect(rect, AndroidUtilities.dp(1), AndroidUtilities.dp(1), Theme.chat_msgErrorPaint); + Theme.chat_msgErrorPaint.setAlpha(oldAlpha); setDrawableBounds(Theme.chat_msgErrorDrawable, x + AndroidUtilities.dp(6), y + AndroidUtilities.dp(2)); + Theme.chat_msgErrorDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgErrorDrawable.draw(canvas); + Theme.chat_msgErrorDrawable.setAlpha(255); } } else if (viewsLayout != null) { if (!currentMessageObject.isOutOwner()) { Drawable viewsDrawable = isDrawSelectionBackground() ? Theme.chat_msgInViewsSelectedDrawable : Theme.chat_msgInViewsDrawable; setDrawableBounds(viewsDrawable, timeX, layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 5.5f : 4.5f) - timeLayout.getHeight()); + viewsDrawable.setAlpha((int) (255 * alpha)); viewsDrawable.draw(canvas); + viewsDrawable.setAlpha(255); } else { Drawable viewsDrawable = isDrawSelectionBackground() ? Theme.chat_msgOutViewsSelectedDrawable : Theme.chat_msgOutViewsDrawable; setDrawableBounds(viewsDrawable, timeX, layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 5.5f : 4.5f) - timeLayout.getHeight()); + viewsDrawable.setAlpha((int) (255 * alpha)); viewsDrawable.draw(canvas); + viewsDrawable.setAlpha(255); } canvas.save(); @@ -9459,7 +9953,15 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate canvas.save(); canvas.translate(timeX + additionalX, layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 7.5f : 6.5f) - timeLayout.getHeight()); - timeLayout.draw(canvas); + if (transitionParams.animateEditedEnter && transitionParams.animateChangeProgress != 1f) { + int oldAlpha = Theme.chat_timePaint.getAlpha(); + Theme.chat_timePaint.setAlpha((int) (oldAlpha * transitionParams.animateChangeProgress)); + transitionParams.animateEditedLayout.draw(canvas); + Theme.chat_timePaint.setAlpha(oldAlpha); + transitionParams.animateTimeLayout.draw(canvas); + } else { + timeLayout.draw(canvas); + } canvas.restore(); } @@ -9495,17 +9997,21 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (drawClock) { if (mediaBackground && captionLayout == null) { if (currentMessageObject.shouldDrawWithoutBackground()) { - Theme.chat_msgStickerClockDrawable.setAlpha((int) (255 * timeAlpha)); + Theme.chat_msgStickerClockDrawable.setAlpha((int) (255 * timeAlpha * alpha)); setDrawableBounds(Theme.chat_msgStickerClockDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 24 : 22) - Theme.chat_msgStickerClockDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgStickerClockDrawable.getIntrinsicHeight()); Theme.chat_msgStickerClockDrawable.draw(canvas); Theme.chat_msgStickerClockDrawable.setAlpha(255); } else { setDrawableBounds(Theme.chat_msgMediaClockDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 24 : 22) - Theme.chat_msgMediaClockDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgMediaClockDrawable.getIntrinsicHeight()); + Theme.chat_msgMediaClockDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgMediaClockDrawable.draw(canvas); + Theme.chat_msgMediaClockDrawable.setAlpha(255); } } else { setDrawableBounds(Theme.chat_msgOutClockDrawable, layoutWidth - AndroidUtilities.dp(18.5f) - Theme.chat_msgOutClockDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(8.5f) - Theme.chat_msgOutClockDrawable.getIntrinsicHeight()); + Theme.chat_msgOutClockDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgOutClockDrawable.draw(canvas); + Theme.chat_msgOutClockDrawable.setAlpha(255); } } @@ -9513,10 +10019,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (drawCheck1 || drawCheck2) { if (mediaBackground && captionLayout == null) { setDrawableBounds(Theme.chat_msgBroadcastMediaDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 26 : 24) - Theme.chat_msgBroadcastMediaDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(14.0f) - Theme.chat_msgBroadcastMediaDrawable.getIntrinsicHeight()); + Theme.chat_msgBroadcastMediaDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgBroadcastMediaDrawable.draw(canvas); + Theme.chat_msgBroadcastMediaDrawable.setAlpha(255); } else { setDrawableBounds(Theme.chat_msgBroadcastDrawable, layoutWidth - AndroidUtilities.dp(20.5f) - Theme.chat_msgBroadcastDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(8.0f) - Theme.chat_msgBroadcastDrawable.getIntrinsicHeight()); + Theme.chat_msgBroadcastDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgBroadcastDrawable.draw(canvas); + Theme.chat_msgBroadcastDrawable.setAlpha(255); } } } else { @@ -9528,14 +10038,16 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { setDrawableBounds(Theme.chat_msgStickerCheckDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 23.5f : 21.5f) - Theme.chat_msgStickerCheckDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgStickerCheckDrawable.getIntrinsicHeight()); } + Theme.chat_msgStickerCheckDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgStickerCheckDrawable.draw(canvas); + Theme.chat_msgStickerCheckDrawable.setAlpha(255); } else { if (drawCheck1) { setDrawableBounds(Theme.chat_msgMediaCheckDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 28.3f : 26.3f) - Theme.chat_msgMediaCheckDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgMediaCheckDrawable.getIntrinsicHeight()); } else { setDrawableBounds(Theme.chat_msgMediaCheckDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 23.5f : 21.5f) - Theme.chat_msgMediaCheckDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgMediaCheckDrawable.getIntrinsicHeight()); } - Theme.chat_msgMediaCheckDrawable.setAlpha((int) (255 * timeAlpha)); + Theme.chat_msgMediaCheckDrawable.setAlpha((int) (255 * timeAlpha * alpha)); Theme.chat_msgMediaCheckDrawable.draw(canvas); Theme.chat_msgMediaCheckDrawable.setAlpha(255); } @@ -9548,30 +10060,36 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate drawable = isDrawSelectionBackground() ? Theme.chat_msgOutCheckSelectedDrawable : Theme.chat_msgOutCheckDrawable; setDrawableBounds(drawable, layoutWidth - AndroidUtilities.dp(18.5f) - drawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 9 : 8) - drawable.getIntrinsicHeight()); } + drawable.setAlpha((int) (255 * alpha)); drawable.draw(canvas); + drawable.setAlpha(255); } } if (drawCheck1) { if (mediaBackground && captionLayout == null) { if (currentMessageObject.shouldDrawWithoutBackground()) { setDrawableBounds(Theme.chat_msgStickerHalfCheckDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 23.5f : 21.5f) - Theme.chat_msgStickerHalfCheckDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgStickerHalfCheckDrawable.getIntrinsicHeight()); + Theme.chat_msgStickerHalfCheckDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgStickerHalfCheckDrawable.draw(canvas); + Theme.chat_msgStickerHalfCheckDrawable.setAlpha(255); } else { setDrawableBounds(Theme.chat_msgMediaHalfCheckDrawable, layoutWidth - AndroidUtilities.dp(bigRadius ? 23.5f : 21.5f) - Theme.chat_msgMediaHalfCheckDrawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(13.5f) - Theme.chat_msgMediaHalfCheckDrawable.getIntrinsicHeight()); - Theme.chat_msgMediaHalfCheckDrawable.setAlpha((int) (255 * timeAlpha)); + Theme.chat_msgMediaHalfCheckDrawable.setAlpha((int) (255 * timeAlpha * alpha)); Theme.chat_msgMediaHalfCheckDrawable.draw(canvas); Theme.chat_msgMediaHalfCheckDrawable.setAlpha(255); } } else { Drawable drawable = isDrawSelectionBackground() ? Theme.chat_msgOutHalfCheckSelectedDrawable : Theme.chat_msgOutHalfCheckDrawable; setDrawableBounds(drawable, layoutWidth - AndroidUtilities.dp(18) - drawable.getIntrinsicWidth(), layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 9 : 8) - drawable.getIntrinsicHeight()); + drawable.setAlpha((int) (255 * alpha)); drawable.draw(canvas); + drawable.setAlpha(255); } } } if (drawError) { int x; - int y; + float y; if (mediaBackground && captionLayout == null) { x = layoutWidth - AndroidUtilities.dp(34.5f); y = layoutHeight - AndroidUtilities.dp(26.5f); @@ -9580,9 +10098,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate y = layoutHeight - AndroidUtilities.dp(pinnedBottom || pinnedTop ? 22 : 21); } rect.set(x, y, x + AndroidUtilities.dp(14), y + AndroidUtilities.dp(14)); + int oldAlpha = Theme.chat_msgErrorPaint.getAlpha(); + Theme.chat_msgErrorPaint.setAlpha((int) (oldAlpha * alpha)); canvas.drawRoundRect(rect, AndroidUtilities.dp(1), AndroidUtilities.dp(1), Theme.chat_msgErrorPaint); + Theme.chat_msgErrorPaint.setAlpha(oldAlpha); setDrawableBounds(Theme.chat_msgErrorDrawable, x + AndroidUtilities.dp(6), y + AndroidUtilities.dp(2)); + Theme.chat_msgErrorDrawable.setAlpha((int) (255 * alpha)); Theme.chat_msgErrorDrawable.draw(canvas); + Theme.chat_msgErrorDrawable.setAlpha(255); } } } @@ -9613,7 +10136,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { Theme.chat_msgMediaMenuDrawable.setAlpha((int) (oldAlpha * controlsAlpha)); } - setDrawableBounds(Theme.chat_msgMediaMenuDrawable, otherX = photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(14), otherY = photoImage.getImageY() + AndroidUtilities.dp(8.1f)); + setDrawableBounds(Theme.chat_msgMediaMenuDrawable, otherX = (int) (photoImage.getImageX() + photoImage.getImageWidth() - AndroidUtilities.dp(14)), otherY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8.1f))); Theme.chat_msgMediaMenuDrawable.draw(canvas); Theme.chat_msgMediaMenuDrawable.setAlpha(oldAlpha); } @@ -9660,8 +10183,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } Theme.chat_infoPaint.setColor(Theme.getColor(Theme.key_chat_mediaInfoText)); - int x1 = photoImage.getImageX() + AndroidUtilities.dp(4); - int y1 = photoImage.getImageY() + AndroidUtilities.dp(4); + int x1 = (int) (photoImage.getImageX() + AndroidUtilities.dp(4)); + int y1 = (int) (photoImage.getImageY() + AndroidUtilities.dp(4)); int imageW; int infoW; @@ -9696,7 +10219,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate Theme.chat_infoPaint.setAlpha((int) (255 * controlsAlpha * loadingProgressAlpha)); - canvas.translate(noSoundCenterX = photoImage.getImageX() + AndroidUtilities.dp(8 + (canStreamVideo ? 30 * alpha : 0)), photoImage.getImageY() + AndroidUtilities.dp(5.5f + 0.2f * alpha)); + canvas.translate(noSoundCenterX = (int) (photoImage.getImageX() + AndroidUtilities.dp(8 + (canStreamVideo ? 30 * alpha : 0))), photoImage.getImageY() + AndroidUtilities.dp(5.5f + 0.2f * alpha)); if (infoLayout != null && (!drawLoadingProgress || drawDocTitleLayout)) { infoLayout.draw(canvas); } @@ -9790,7 +10313,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } if (currentMessageObject.messageOwner.media instanceof TLRPC.TL_messageMediaGeoLive) { - int cy = photoImage.getImageY2() + AndroidUtilities.dp(30); + int cy = (int) (photoImage.getImageY2() + AndroidUtilities.dp(30)); if (!locationExpired) { forceNotDrawTime = true; float progress = 1.0f - Math.abs(ConnectionsManager.getInstance(currentAccount).getCurrentTime() - currentMessageObject.messageOwner.date) / (float) currentMessageObject.messageOwner.media.period; @@ -9821,8 +10344,8 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate canvas.restore(); } - int cx = photoImage.getImageX() + photoImage.getImageWidth() / 2 - AndroidUtilities.dp(31); - cy = photoImage.getImageY() + photoImage.getImageHeight() / 2 - AndroidUtilities.dp(38); + int cx = (int) (photoImage.getImageX() + photoImage.getImageWidth() / 2 - AndroidUtilities.dp(31)); + cy = (int) (photoImage.getImageY() + photoImage.getImageHeight() / 2 - AndroidUtilities.dp(38)); setDrawableBounds(Theme.chat_msgAvatarLiveLocationDrawable, cx, cy); Theme.chat_msgAvatarLiveLocationDrawable.draw(canvas); @@ -10214,11 +10737,11 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { menuDrawable = isDrawSelectionBackground() ? Theme.chat_msgInMenuSelectedDrawable : Theme.chat_msgInMenuDrawable; } - setDrawableBounds(menuDrawable, otherX = photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(48), otherY = photoImage.getImageY() - AndroidUtilities.dp(2)); + setDrawableBounds(menuDrawable, otherX = (int) (photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(48)), otherY = (int) (photoImage.getImageY() - AndroidUtilities.dp(2))); menuDrawable.draw(canvas); if (drawInstantView) { - int textX = photoImage.getImageX() - AndroidUtilities.dp(2); + int textX = (int) (photoImage.getImageX() - AndroidUtilities.dp(2)); int instantY = currentBackgroundDrawable.getBounds().bottom - AndroidUtilities.dp(36 + 28); Paint backPaint = Theme.chat_instantViewRectPaint; if (currentMessageObject.isOutOwner()) { @@ -10280,7 +10803,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (drawPhotoCheckBox) { int size = AndroidUtilities.dp(21); photoCheckBox.setColor(null, null, currentMessageObject.isOutOwner() ? Theme.key_chat_outBubbleSelected : Theme.key_chat_inBubbleSelected); - photoCheckBox.setBounds(photoImage.getImageX2() - AndroidUtilities.dp(21 + 4), photoImage.getImageY() + AndroidUtilities.dp(4), size, size); + photoCheckBox.setBounds((int) photoImage.getImageX2() - AndroidUtilities.dp(21 + 4), (int) photoImage.getImageY() + AndroidUtilities.dp(4), size, size); photoCheckBox.draw(canvas); } } @@ -10351,6 +10874,9 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { this.willRemoved = false; } + if (getParent() == null && attachedToWindow) { + onDetachedFromWindow(); + } } @Override @@ -10467,7 +10993,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate replyImageReceiver.setIgnoreImageSet(true); locationImageReceiver.setIgnoreImageSet(true); - if (groupedMessages != null) { + if (groupedMessages != null && groupedMessages.messages.size() != 1) { int h = 0; for (int i = 0; i < groupedMessages.messages.size(); i++) { MessageObject o = groupedMessages.messages.get(i); @@ -10523,6 +11049,65 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } } + private float slidingOffsetX; + private float animationOffsetX; + + public Property ANIMATION_OFFSET_X = new Property(Float.class, "animationOffsetX") { + @Override + public Float get(ChatMessageCell object) { + return object.animationOffsetX; + } + + @Override + public void set(ChatMessageCell object, Float value) { + object.setAnimationOffsetX(value); + } + }; + + public void setSlidingOffset(float offsetX) { + slidingOffsetX = offsetX; + updateTranslation(); + } + + public void setAnimationOffsetX(float offsetX) { + animationOffsetX = offsetX; + updateTranslation(); + } + + private void updateTranslation() { + int checkBoxOffset = !currentMessageObject.isOutOwner() ? checkBoxTranslation : 0; + setTranslationX(slidingOffsetX + animationOffsetX + checkBoxOffset); + } + + public float getNonAnimationTranslationX(boolean update) { + if (!currentMessageObject.isOutOwner()) { + if (update && (checkBoxVisible || checkBoxAnimationInProgress)) { + Interpolator interpolator = checkBoxVisible ? CubicBezierInterpolator.EASE_OUT : CubicBezierInterpolator.EASE_IN; + checkBoxTranslation = (int) Math.ceil(interpolator.getInterpolation(checkBoxAnimationProgress) * AndroidUtilities.dp(35)); + } + return slidingOffsetX + checkBoxTranslation; + } else { + return slidingOffsetX; + } + } + + public float getSlidingOffsetX() { + return slidingOffsetX; + } + + public boolean willRemovedAfterAnimation() { + return willRemoved; + } + + public float getAnimationOffsetX() { + return animationOffsetX; + } + + @Override + public void setTranslationX(float translationX) { + super.setTranslationX(translationX); + } + private class MessageAccessibilityNodeProvider extends AccessibilityNodeProvider { private final int LINK_IDS_START = 2000; @@ -10770,7 +11355,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate info.setText(instantViewLayout.getText()); } info.addAction(AccessibilityNodeInfo.ACTION_CLICK); - int textX = photoImage.getImageX(); + int textX = (int) photoImage.getImageX(); int instantY = getMeasuredHeight() - AndroidUtilities.dp(36 + 28); int addX; if (currentMessageObject.isOutOwner()) { @@ -10796,7 +11381,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } info.addAction(AccessibilityNodeInfo.ACTION_CLICK); // } else if (drawShareButton && x >= shareStartX && x <= shareStartX + AndroidUtilities.dp(40) && y >= shareStartY && y <= shareStartY + AndroidUtilities.dp(32)) { - rect.set(shareStartX, shareStartY, shareStartX + AndroidUtilities.dp(40), shareStartY + AndroidUtilities.dp(32)); + rect.set((int) shareStartX, (int) shareStartY, (int) shareStartX + AndroidUtilities.dp(40), (int) shareStartY + AndroidUtilities.dp(32)); info.setBoundsInParent(rect); if (accessibilityVirtualViewBounds.get(virtualViewId) == null || !accessibilityVirtualViewBounds.get(virtualViewId).equals(rect)) { accessibilityVirtualViewBounds.put(virtualViewId, new Rect(rect)); @@ -10911,4 +11496,199 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate return links[id]; } } + + public void setImageCoords(float x, float y, float w, float h) { + photoImage.setImageCoords(x, y, w, h); + if (documentAttachType == DOCUMENT_ATTACH_TYPE_VIDEO || documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) { + videoButtonX = (int) (photoImage.getImageX() + AndroidUtilities.dp(8)); + videoButtonY = (int) (photoImage.getImageY() + AndroidUtilities.dp(8)); + videoRadialProgress.setProgressRect(videoButtonX, videoButtonY, videoButtonX + AndroidUtilities.dp(24), videoButtonY + AndroidUtilities.dp(24)); + + buttonX = (int) (x + (photoImage.getImageWidth() - AndroidUtilities.dp(48)) / 2.0f); + buttonY = (int) (photoImage.getImageY() + (photoImage.getImageHeight() - AndroidUtilities.dp(48)) / 2); + radialProgress.setProgressRect(buttonX, buttonY, buttonX + AndroidUtilities.dp(48), buttonY + AndroidUtilities.dp(48)); + } + } + + @Override + public float getAlpha() { + if (ALPHA_PROPERTY_WORKAROUND) { + return alphaInternal; + } + return super.getAlpha(); + } + + @Override + public void setAlpha(float alpha) { + if (ALPHA_PROPERTY_WORKAROUND) { + alphaInternal = alpha; + invalidate(); + } else { + super.setAlpha(alpha); + } + } + + public TransitionParams getTransitionParams() { + return transitionParams; + } + + public class TransitionParams { + + public float lastDrawingImageX, lastDrawingImageY, lastDrawingImageW, lastDrawingImageH; + public float lastDrawingCaptionX, lastDrawingCaptionY; + + public boolean imageChangeBoundsTransition; + public int deltaLeft; + public int deltaRight; + public int deltaBottom; + public int deltaTop; + + public float animateToImageX, animateToImageY, animateToImageW, animateToImageH; + public float captionFromX, captionFromY; + private boolean moveCaption; + + public int[] imageRoundRadius = new int[4]; + public float captionEnterProgress = 1f; + + public boolean wasDraw; + public boolean animateBackgroundBoundsInner; + public boolean ignoreAlpha; + public boolean drawPinnedBottomBackground; + public float changePinnedBottomProgress = 1f; + public int[] animateToRadius; + public boolean animateRadius; + public boolean transformGroupToSingleMessage; + public Rect lastDrawingBackgroundRect = new Rect(); + + boolean animateMessageText; + private ArrayList animateOutTextBlocks; + private ArrayList lastDrawingTextBlocks; + + private boolean animateEditedEnter; + private StaticLayout animateEditedLayout; + private StaticLayout animateTimeLayout; + private boolean lastDrawingEdited; + + boolean animateReplaceCaptionLayout; + private StaticLayout animateOutCaptionLayout; + private StaticLayout lastDrawingCaptionLayout; + + public float animateChangeProgress = 1f; + private boolean lastDrawBotButtons; + + + public void recordDrawingState() { + wasDraw = true; + lastDrawingImageX = photoImage.getImageX(); + lastDrawingImageY = photoImage.getImageY(); + lastDrawingImageW = photoImage.getImageWidth(); + lastDrawingImageH = photoImage.getImageHeight(); + int[] r = photoImage.getRoundRadius(); + System.arraycopy(r, 0, imageRoundRadius, 0, 4); + if (currentBackgroundDrawable != null) { + lastDrawingBackgroundRect.set(currentBackgroundDrawable.getBounds()); + } + lastDrawingTextBlocks = currentMessageObject.textLayoutBlocks; + lastDrawingEdited = edited; + + lastDrawingCaptionX = captionX; + lastDrawingCaptionY = captionY; + + lastDrawingCaptionLayout = captionLayout; + lastDrawBotButtons = !botButtons.isEmpty(); + } + + public boolean animateChange() { + if (!wasDraw) { + return false; + } + boolean changed = false; + + animateMessageText = false; + if (currentMessageObject.textLayoutBlocks != lastDrawingTextBlocks) { + animateMessageText = true; + animateOutTextBlocks = lastDrawingTextBlocks; + changed = true; + } + if (edited && !lastDrawingEdited && timeLayout != null) { + String editedStr = LocaleController.getString("EditedMessage", R.string.EditedMessage); + String text = timeLayout.getText().toString(); + int i = text.indexOf(editedStr); + if (i >= 0) { + animateEditedLayout = new StaticLayout(editedStr, Theme.chat_timePaint, timeTextWidth + AndroidUtilities.dp(100), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); + SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(); + spannableStringBuilder.append(editedStr); + spannableStringBuilder.append(text.substring(editedStr.length())); + spannableStringBuilder.setSpan(new EmptyStubSpan(), 0, editedStr.length(), 0); + animateTimeLayout = new StaticLayout(spannableStringBuilder, Theme.chat_timePaint, timeTextWidth + AndroidUtilities.dp(100), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); + animateEditedEnter = true; + changed = true; + } + } + + if (captionLayout != lastDrawingCaptionLayout) { + String oldCaption = lastDrawingCaptionLayout == null ? null : lastDrawingCaptionLayout.getText().toString(); + String currentCaption = captionLayout == null ? null : captionLayout.getText().toString(); + if (currentCaption != null && ((oldCaption == null && currentCaption != null) || + !oldCaption.equals(currentCaption))) { + animateReplaceCaptionLayout = true; + animateOutCaptionLayout = lastDrawingCaptionLayout; + changed = true; + } + } else { + updateCaptionLayout(); + if (lastDrawingCaptionX != captionX || lastDrawingCaptionY != captionY) { + moveCaption = true; + captionFromX = lastDrawingCaptionX; + captionFromY = lastDrawingCaptionY; + changed = true; + } + } + return changed; + } + + public void onDetach() { + wasDraw = false; + // resetAnimation(); + } + + public void resetAnimation() { + animateBackgroundBoundsInner = false; + deltaLeft = 0; + deltaRight = 0; + deltaBottom = 0; + deltaTop = 0; + if (imageChangeBoundsTransition && animateToImageW != 0 && animateToImageH != 0) { + photoImage.setImageCoords(animateToImageX, animateToImageY, animateToImageW, animateToImageH); + } + if (animateRadius) { + photoImage.setRoundRadius(animateToRadius); + } + animateToImageX = 0; + animateToImageY = 0; + animateToImageW = 0; + animateToImageH = 0; + imageChangeBoundsTransition = false; + changePinnedBottomProgress = 1f; + captionEnterProgress = 1f; + animateRadius = false; + animateChangeProgress = 1f; + animateMessageText = false; + animateOutTextBlocks = null; + animateEditedLayout = null; + animateTimeLayout = null; + animateEditedEnter = false; + animateReplaceCaptionLayout = false; + transformGroupToSingleMessage = false; + animateOutCaptionLayout = null; + moveCaption = false; + } + + public boolean supportChangeAnimation() { + if (lastDrawBotButtons || !botButtons.isEmpty()) { + return false; + } + return true; + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ContextLinkCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ContextLinkCell.java index 635ba0087..c9e951563 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ContextLinkCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ContextLinkCell.java @@ -85,6 +85,8 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F private boolean canPreviewGif; + private boolean isForceGif; + private int linkY; private StaticLayout linkLayout; @@ -95,6 +97,7 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F private StaticLayout descriptionLayout; private TLRPC.BotInlineResult inlineResult; + private TLRPC.User inlineBot; private TLRPC.Document documentAttach; private int currentDate; private TLRPC.Photo photoAttach; @@ -116,6 +119,8 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F private float scale; private static AccelerateInterpolator interpolator = new AccelerateInterpolator(0.5f); + private boolean hideLoadProgress; + private CheckBox2 checkBox; private ContextLinkCellDelegate delegate; @@ -215,7 +220,7 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F String ext = null; if (documentAttach != null) { - if (MessageObject.isGifDocument(documentAttach)) { + if (isForceGif || MessageObject.isGifDocument(documentAttach)) { currentPhotoObject = FileLoader.getClosestPhotoSizeWithSize(documentAttach.thumbs, 90); } else if (MessageObject.isStickerDocument(documentAttach) || MessageObject.isAnimatedStickerDocument(documentAttach, true)) { currentPhotoObject = FileLoader.getClosestPhotoSizeWithSize(documentAttach.thumbs, 90); @@ -236,7 +241,11 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F if (inlineResult.content instanceof TLRPC.TL_webDocument) { if (inlineResult.type != null) { if (inlineResult.type.startsWith("gif")) { - webDocument = (TLRPC.TL_webDocument) inlineResult.content; + if (inlineResult.thumb instanceof TLRPC.TL_webDocument && "video/mp4".equals(inlineResult.thumb.mime_type)) { + webDocument = (TLRPC.TL_webDocument) inlineResult.thumb; + } else { + webDocument = (TLRPC.TL_webDocument) inlineResult.content; + } documentAttachType = DOCUMENT_ATTACH_TYPE_GIF; } else if (inlineResult.type.equals("photo")) { if (inlineResult.thumb instanceof TLRPC.TL_webDocument) { @@ -315,7 +324,16 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F if (documentAttachType == DOCUMENT_ATTACH_TYPE_GIF) { if (documentAttach != null) { - linkImageView.setImage(ImageLocation.getForDocument(documentAttach), null, ImageLocation.getForDocument(currentPhotoObject, documentAttach), currentPhotoFilter, documentAttach.size, ext, parentObject, 0); + TLRPC.TL_videoSize thumb = MessageObject.getDocumentVideoThumb(documentAttach); + if (thumb != null) { + linkImageView.setImage(ImageLocation.getForDocument(thumb, documentAttach), null, ImageLocation.getForDocument(currentPhotoObject, documentAttach), currentPhotoFilter, -1, ext, parentObject, 1); + } else { + ImageLocation location = ImageLocation.getForDocument(documentAttach); + if (isForceGif) { + location.imageType = FileLoader.IMAGE_TYPE_ANIMATION; + } + linkImageView.setImage(location, null, ImageLocation.getForDocument(currentPhotoObject, documentAttach), currentPhotoFilter, documentAttach.size, ext, parentObject, 0); + } } else if (webFile != null) { linkImageView.setImage(ImageLocation.getForWebFile(webFile), null, ImageLocation.getForPhoto(currentPhotoObject, photoAttach), currentPhotoFilter, -1, ext, parentObject, 1); } else { @@ -450,9 +468,14 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F } } - public void setLink(TLRPC.BotInlineResult contextResult, boolean media, boolean divider, boolean shadow) { + public void setLink(TLRPC.BotInlineResult contextResult, TLRPC.User bot, boolean media, boolean divider, boolean shadow) { + setLink(contextResult, bot, media, divider, shadow, false); + } + + public void setLink(TLRPC.BotInlineResult contextResult, TLRPC.User bot, boolean media, boolean divider, boolean shadow, boolean forceGif) { needDivider = divider; needShadow = shadow; + inlineBot = bot; parentObject = inlineResult = contextResult; if (inlineResult != null) { documentAttach = inlineResult.document; @@ -462,11 +485,19 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F photoAttach = null; } mediaWebpage = media; + isForceGif = forceGif; setAttachType(); + if (forceGif) { + documentAttachType = DOCUMENT_ATTACH_TYPE_GIF; + } requestLayout(); updateButtonState(false, false); } + public TLRPC.User getInlineBot() { + return inlineBot; + } + public Object getParentObject() { return parentObject; } @@ -484,7 +515,9 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F documentAttach = document; photoAttach = null; mediaWebpage = true; + isForceGif = true; setAttachType(); + documentAttachType = DOCUMENT_ATTACH_TYPE_GIF; requestLayout(); updateButtonState(false, false); } @@ -703,24 +736,24 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F } else if (inlineResult != null && inlineResult.type.equals("file")) { int w = Theme.chat_inlineResultFile.getIntrinsicWidth(); int h = Theme.chat_inlineResultFile.getIntrinsicHeight(); - int x = linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2; - int y = linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2; + int x = (int) (linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2); + int y = (int) (linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2); canvas.drawRect(linkImageView.getImageX(), linkImageView.getImageY(), linkImageView.getImageX() + AndroidUtilities.dp(52), linkImageView.getImageY() + AndroidUtilities.dp(52), LetterDrawable.paint); Theme.chat_inlineResultFile.setBounds(x, y, x + w, y + h); Theme.chat_inlineResultFile.draw(canvas); } else if (inlineResult != null && (inlineResult.type.equals("audio") || inlineResult.type.equals("voice"))) { int w = Theme.chat_inlineResultAudio.getIntrinsicWidth(); int h = Theme.chat_inlineResultAudio.getIntrinsicHeight(); - int x = linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2; - int y = linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2; + int x = (int) (linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2); + int y = (int) (linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2); canvas.drawRect(linkImageView.getImageX(), linkImageView.getImageY(), linkImageView.getImageX() + AndroidUtilities.dp(52), linkImageView.getImageY() + AndroidUtilities.dp(52), LetterDrawable.paint); Theme.chat_inlineResultAudio.setBounds(x, y, x + w, y + h); Theme.chat_inlineResultAudio.draw(canvas); } else if (inlineResult != null && (inlineResult.type.equals("venue") || inlineResult.type.equals("geo"))) { int w = Theme.chat_inlineResultLocation.getIntrinsicWidth(); int h = Theme.chat_inlineResultLocation.getIntrinsicHeight(); - int x = linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2; - int y = linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2; + int x = (int) (linkImageView.getImageX() + (AndroidUtilities.dp(52) - w) / 2); + int y = (int) (linkImageView.getImageY() + (AndroidUtilities.dp(52) - h) / 2); canvas.drawRect(linkImageView.getImageX(), linkImageView.getImageY(), linkImageView.getImageX() + AndroidUtilities.dp(52), linkImageView.getImageY() + AndroidUtilities.dp(52), LetterDrawable.paint); Theme.chat_inlineResultLocation.setBounds(x, y, x + w, y + h); Theme.chat_inlineResultLocation.draw(canvas); @@ -731,8 +764,8 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F if (inlineResult != null && (inlineResult.send_message instanceof TLRPC.TL_botInlineMessageMediaGeo || inlineResult.send_message instanceof TLRPC.TL_botInlineMessageMediaVenue)) { int w = Theme.chat_inlineResultLocation.getIntrinsicWidth(); int h = Theme.chat_inlineResultLocation.getIntrinsicHeight(); - int x = linkImageView.getImageX() + (linkImageView.getImageWidth() - w) / 2; - int y = linkImageView.getImageY() + (linkImageView.getImageHeight() - h) / 2; + int x = (int) (linkImageView.getImageX() + (linkImageView.getImageWidth() - w) / 2); + int y = (int) (linkImageView.getImageY() + (linkImageView.getImageHeight() - h) / 2); canvas.drawRect(linkImageView.getImageX(), linkImageView.getImageY(), linkImageView.getImageX() + linkImageView.getImageWidth(), linkImageView.getImageY() + linkImageView.getImageHeight(), LetterDrawable.paint); Theme.chat_inlineResultLocation.setBounds(x, y, x + w, y + h); Theme.chat_inlineResultLocation.draw(canvas); @@ -818,19 +851,28 @@ public class ContextLinkCell extends FrameLayout implements DownloadController.F fileName = FileLoader.getAttachFileName(currentPhotoObject); cacheFile = FileLoader.getPathToAttach(currentPhotoObject); } else if (inlineResult.content instanceof TLRPC.TL_webDocument) { - fileName = Utilities.MD5(inlineResult.content.url) + "." + ImageLoader.getHttpUrlExtension(inlineResult.content.url, "jpg"); + fileName = Utilities.MD5(inlineResult.content.url) + "." + ImageLoader.getHttpUrlExtension(inlineResult.content.url, FileLoader.getMimeTypePart(inlineResult.content.mime_type)); cacheFile = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName); + if (documentAttachType == DOCUMENT_ATTACH_TYPE_GIF && inlineResult.thumb instanceof TLRPC.TL_webDocument && "video/mp4".equals(inlineResult.thumb.mime_type)) { + fileName = null; + } } else if (inlineResult.thumb instanceof TLRPC.TL_webDocument) { - fileName = Utilities.MD5(inlineResult.thumb.url) + "." + ImageLoader.getHttpUrlExtension(inlineResult.thumb.url, "jpg"); + fileName = Utilities.MD5(inlineResult.thumb.url) + "." + ImageLoader.getHttpUrlExtension(inlineResult.thumb.url, FileLoader.getMimeTypePart(inlineResult.thumb.mime_type)); cacheFile = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName); } } else if (documentAttach != null) { fileName = FileLoader.getAttachFileName(documentAttach); cacheFile = FileLoader.getPathToAttach(documentAttach); } + + if (documentAttach != null && documentAttachType == DOCUMENT_ATTACH_TYPE_GIF && MessageObject.getDocumentVideoThumb(documentAttach) != null) { + fileName = null; + } } if (TextUtils.isEmpty(fileName)) { + buttonState = -1; + radialProgress.setIcon(MediaActionDrawable.ICON_NONE, ifSame, false); return; } if (!cacheFile.exists()) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java index c28c447b2..8e37498f8 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java @@ -2070,12 +2070,12 @@ public class DialogCell extends BaseCell { if (user != null && isDialogCell && currentDialogFolderId == 0 && !MessagesController.isSupportUser(user) && !user.bot) { boolean isOnline = !user.self && (user.status != null && user.status.expires > ConnectionsManager.getInstance(currentAccount).getCurrentTime() || MessagesController.getInstance(currentAccount).onlinePrivacy.containsKey(user.id)); if (isOnline || onlineProgress != 0) { - int top = avatarImage.getImageY2() - AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 6 : 8); + int top = (int) (avatarImage.getImageY2() - AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 6 : 8)); int left; if (LocaleController.isRTL) { - left = avatarImage.getImageX() + AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 10 : 6); + left = (int) (avatarImage.getImageX() + AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 10 : 6)); } else { - left = avatarImage.getImageX2() - AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 10 : 6); + left = (int) (avatarImage.getImageX2() - AndroidUtilities.dp(useForceThreeLines || SharedConfig.useThreeLinesLayout ? 10 : 6)); } Theme.dialogs_onlineCirclePaint.setColor(Theme.getColor(Theme.key_windowBackgroundWhite)); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetCell2.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetCell2.java index 8f1a0956d..1627114a5 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetCell2.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetCell2.java @@ -37,9 +37,14 @@ import org.telegram.messenger.UserConfig; import org.telegram.tgnet.TLObject; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Components.BackupImageView; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.ProgressButton; +import org.telegram.ui.Components.RecyclerListView; + +import java.util.ArrayList; +import java.util.List; public class FeaturedStickerSetCell2 extends FrameLayout { @@ -87,8 +92,6 @@ public class FeaturedStickerSetCell2 extends FrameLayout { addButton = new ProgressButton(context); addButton.setText(LocaleController.getString("Add", R.string.Add)); addButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_buttonText)); - addButton.setProgressColor(Theme.getColor(Theme.key_featuredStickers_buttonProgress)); - addButton.setBackgroundRoundRect(Theme.getColor(Theme.key_featuredStickers_addButton), Theme.getColor(Theme.key_featuredStickers_addButtonPressed)); addView(addButton, LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 18, 14, 0)); delButton = new TextView(context); @@ -98,6 +101,8 @@ public class FeaturedStickerSetCell2 extends FrameLayout { delButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); delButton.setText(LocaleController.getString("StickersRemove", R.string.StickersRemove)); addView(delButton, LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 16, 14, 0)); + + updateColors(); } @Override @@ -294,4 +299,19 @@ public class FeaturedStickerSetCell2 extends FrameLayout { public BackupImageView getImageView() { return imageView; } + + public void updateColors() { + addButton.setProgressColor(Theme.getColor(Theme.key_featuredStickers_buttonProgress)); + addButton.setBackgroundRoundRect(Theme.getColor(Theme.key_featuredStickers_addButton), Theme.getColor(Theme.key_featuredStickers_addButtonPressed)); + } + + public static void createThemeDescriptions(List descriptions, RecyclerListView listView, ThemeDescription.ThemeDescriptionDelegate delegate) { + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetCell.class}, new String[]{"textView"}, null, null, null, Theme.key_windowBackgroundWhiteBlackText)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetCell.class}, new String[]{"valueTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText2)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetCell.class}, new String[]{"addButton"}, null, null, null, Theme.key_featuredStickers_buttonText)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetCell.class}, new String[]{"delButton"}, null, null, null, Theme.key_featuredStickers_removeButtonText)); + descriptions.add(new ThemeDescription(listView, 0, new Class[]{FeaturedStickerSetCell.class}, Theme.dividerPaint, null, null, Theme.key_divider)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_featuredStickers_buttonProgress)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_featuredStickers_addButtonPressed)); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetInfoCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetInfoCell.java index caec3db53..d7e18ab28 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetInfoCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/FeaturedStickerSetInfoCell.java @@ -33,12 +33,18 @@ import org.telegram.messenger.R; import org.telegram.messenger.UserConfig; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Components.ColorSpanUnderline; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.ProgressButton; +import org.telegram.ui.Components.RecyclerListView; + +import java.util.List; public class FeaturedStickerSetInfoCell extends FrameLayout { + private boolean canAddRemove; + private TextView nameTextView; private TextView infoTextView; private ProgressButton addButton; @@ -55,12 +61,23 @@ public class FeaturedStickerSetInfoCell extends FrameLayout { private int currentAccount = UserConfig.selectedAccount; private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + private int stickerSetNameSearchIndex; + private int stickerSetNameSearchLength; + + private CharSequence url; + private int urlSearchLength; + public FeaturedStickerSetInfoCell(Context context, int left) { this(context, left, false); } public FeaturedStickerSetInfoCell(Context context, int left, boolean supportRtl) { + this(context, left, supportRtl, true); + } + + public FeaturedStickerSetInfoCell(Context context, int left, boolean supportRtl, boolean canAddRemove) { super(context); + this.canAddRemove = canAddRemove; FrameLayout.LayoutParams lp; @@ -89,58 +106,65 @@ public class FeaturedStickerSetInfoCell extends FrameLayout { } addView(infoTextView, lp); - addButton = new ProgressButton(context); - addButton.setProgressColor(Theme.getColor(Theme.key_featuredStickers_buttonProgress)); - addButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_buttonText)); - addButton.setBackgroundRoundRect(Theme.getColor(Theme.key_featuredStickers_addButton), Theme.getColor(Theme.key_featuredStickers_addButtonPressed)); - addButton.setText(LocaleController.getString("Add", R.string.Add)); - if (supportRtl) { - lp = LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 16, 14, 0); - } else { - lp = LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.RIGHT, 0, 16, 14, 0); - } - addView(addButton, lp); + if (canAddRemove) { + addButton = new ProgressButton(context); + addButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_buttonText)); + addButton.setText(LocaleController.getString("Add", R.string.Add)); + if (supportRtl) { + lp = LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 16, 14, 0); + } else { + lp = LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.RIGHT, 0, 16, 14, 0); + } + addView(addButton, lp); - delButton = new TextView(context); - delButton.setGravity(Gravity.CENTER); - delButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_removeButtonText)); - delButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); - delButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - delButton.setText(LocaleController.getString("StickersRemove", R.string.StickersRemove)); - if (supportRtl) { - lp = LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 16, 14, 0); - } else { - lp = LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.RIGHT, 0, 16, 14, 0); + delButton = new TextView(context); + delButton.setGravity(Gravity.CENTER); + delButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_removeButtonText)); + delButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + delButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + delButton.setText(LocaleController.getString("StickersRemove", R.string.StickersRemove)); + if (supportRtl) { + lp = LayoutHelper.createFrameRelatively(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.END, 0, 16, 14, 0); + } else { + lp = LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 28, Gravity.TOP | Gravity.RIGHT, 0, 16, 14, 0); + } + addView(delButton, lp); } - addView(delButton, lp); setWillNotDraw(false); + updateColors(); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(60), MeasureSpec.EXACTLY)); - int width = addButton.getMeasuredWidth(); - int width2 = delButton.getMeasuredWidth(); - FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) delButton.getLayoutParams(); - if (width2 < width) { - layoutParams.rightMargin = AndroidUtilities.dp(14) + (width - width2) / 2; - } else { - layoutParams.rightMargin = AndroidUtilities.dp(14); - } + if (canAddRemove) { + int width = addButton.getMeasuredWidth(); + int width2 = delButton.getMeasuredWidth(); + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) delButton.getLayoutParams(); + if (width2 < width) { + layoutParams.rightMargin = AndroidUtilities.dp(14) + (width - width2) / 2; + } else { + layoutParams.rightMargin = AndroidUtilities.dp(14); + } - measureChildWithMargins(nameTextView, widthMeasureSpec, width, heightMeasureSpec, 0); + measureChildWithMargins(nameTextView, widthMeasureSpec, width, heightMeasureSpec, 0); + } } public void setAddOnClickListener(OnClickListener onClickListener) { - hasOnClick = true; - addButton.setOnClickListener(onClickListener); - delButton.setOnClickListener(onClickListener); + if (canAddRemove) { + hasOnClick = true; + addButton.setOnClickListener(onClickListener); + delButton.setOnClickListener(onClickListener); + } } public void setAddDrawProgress(boolean drawProgress, boolean animated) { - addButton.setDrawProgress(drawProgress, animated); + if (canAddRemove) { + addButton.setDrawProgress(drawProgress, animated); + } } public void setStickerSet(TLRPC.StickerSetCovered stickerSet, boolean unread) { @@ -160,85 +184,98 @@ public class FeaturedStickerSetInfoCell extends FrameLayout { animatorSet.cancel(); animatorSet = null; } + set = stickerSet; + stickerSetNameSearchIndex = index; + stickerSetNameSearchLength = searchLength; if (searchLength != 0) { - SpannableStringBuilder builder = new SpannableStringBuilder(stickerSet.set.title); - try { - builder.setSpan(new ForegroundColorSpan(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4)), index, index + searchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } catch (Exception ignore) { - - } - nameTextView.setText(builder); + updateStickerSetNameSearchSpan(); } else { nameTextView.setText(stickerSet.set.title); } infoTextView.setText(LocaleController.formatPluralString("Stickers", stickerSet.set.count)); isUnread = unread; - if (hasOnClick) { - addButton.setVisibility(VISIBLE); - isInstalled = forceInstalled || MediaDataController.getInstance(currentAccount).isStickerPackInstalled(stickerSet.set.id); - if (animated) { - if (isInstalled) { - delButton.setVisibility(VISIBLE); - } else { - addButton.setVisibility(VISIBLE); - } - animatorSet = new AnimatorSet(); - animatorSet.setDuration(250); - animatorSet.playTogether( - ObjectAnimator.ofFloat(delButton, View.ALPHA, isInstalled ? 1.0f : 0.0f), - ObjectAnimator.ofFloat(delButton, View.SCALE_X, isInstalled ? 1.0f : 0.0f), - ObjectAnimator.ofFloat(delButton, View.SCALE_Y, isInstalled ? 1.0f : 0.0f), - ObjectAnimator.ofFloat(addButton, View.ALPHA, isInstalled ? 0.0f : 1.0f), - ObjectAnimator.ofFloat(addButton, View.SCALE_X, isInstalled ? 0.0f : 1.0f), - ObjectAnimator.ofFloat(addButton, View.SCALE_Y, isInstalled ? 0.0f : 1.0f)); - animatorSet.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (isInstalled) { - addButton.setVisibility(INVISIBLE); - } else { - delButton.setVisibility(INVISIBLE); - } + if (canAddRemove) { + if (hasOnClick) { + addButton.setVisibility(VISIBLE); + isInstalled = forceInstalled || MediaDataController.getInstance(currentAccount).isStickerPackInstalled(stickerSet.set.id); + if (animated) { + if (isInstalled) { + delButton.setVisibility(VISIBLE); + } else { + addButton.setVisibility(VISIBLE); } - }); - animatorSet.setInterpolator(new OvershootInterpolator(1.02f)); - animatorSet.start(); - } else { - if (isInstalled) { - delButton.setVisibility(VISIBLE); - delButton.setAlpha(1.0f); - delButton.setScaleX(1.0f); - delButton.setScaleY(1.0f); - addButton.setVisibility(INVISIBLE); - addButton.setAlpha(0.0f); - addButton.setScaleX(0.0f); - addButton.setScaleY(0.0f); + animatorSet = new AnimatorSet(); + animatorSet.setDuration(250); + animatorSet.playTogether( + ObjectAnimator.ofFloat(delButton, View.ALPHA, isInstalled ? 1.0f : 0.0f), + ObjectAnimator.ofFloat(delButton, View.SCALE_X, isInstalled ? 1.0f : 0.0f), + ObjectAnimator.ofFloat(delButton, View.SCALE_Y, isInstalled ? 1.0f : 0.0f), + ObjectAnimator.ofFloat(addButton, View.ALPHA, isInstalled ? 0.0f : 1.0f), + ObjectAnimator.ofFloat(addButton, View.SCALE_X, isInstalled ? 0.0f : 1.0f), + ObjectAnimator.ofFloat(addButton, View.SCALE_Y, isInstalled ? 0.0f : 1.0f)); + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (isInstalled) { + addButton.setVisibility(INVISIBLE); + } else { + delButton.setVisibility(INVISIBLE); + } + } + }); + animatorSet.setInterpolator(new OvershootInterpolator(1.02f)); + animatorSet.start(); } else { - addButton.setVisibility(VISIBLE); - addButton.setAlpha(1.0f); - addButton.setScaleX(1.0f); - addButton.setScaleY(1.0f); - delButton.setVisibility(INVISIBLE); - delButton.setAlpha(0.0f); - delButton.setScaleX(0.0f); - delButton.setScaleY(0.0f); + if (isInstalled) { + delButton.setVisibility(VISIBLE); + delButton.setAlpha(1.0f); + delButton.setScaleX(1.0f); + delButton.setScaleY(1.0f); + addButton.setVisibility(INVISIBLE); + addButton.setAlpha(0.0f); + addButton.setScaleX(0.0f); + addButton.setScaleY(0.0f); + } else { + addButton.setVisibility(VISIBLE); + addButton.setAlpha(1.0f); + addButton.setScaleX(1.0f); + addButton.setScaleY(1.0f); + delButton.setVisibility(INVISIBLE); + delButton.setAlpha(0.0f); + delButton.setScaleX(0.0f); + delButton.setScaleY(0.0f); + } } + } else { + addButton.setVisibility(GONE); } - } else { - addButton.setVisibility(GONE); } + } - set = stickerSet; + private void updateStickerSetNameSearchSpan() { + if (stickerSetNameSearchLength != 0) { + SpannableStringBuilder builder = new SpannableStringBuilder(set.set.title); + try { + builder.setSpan(new ForegroundColorSpan(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4)), stickerSetNameSearchIndex, stickerSetNameSearchIndex + stickerSetNameSearchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } catch (Exception ignore) { + } + nameTextView.setText(builder); + } } public void setUrl(CharSequence text, int searchLength) { - if (text != null) { - SpannableStringBuilder builder = new SpannableStringBuilder(text); - try { - builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4)), 0, searchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelTrendingDescription)), searchLength, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } catch (Exception ignore) { + url = text; + urlSearchLength = searchLength; + updateUrlSearchSpan(); + } + private void updateUrlSearchSpan() { + if (url != null) { + SpannableStringBuilder builder = new SpannableStringBuilder(url); + try { + builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4)), 0, urlSearchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelTrendingDescription)), urlSearchLength, url.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } catch (Exception ignore) { } infoTextView.setText(builder); } @@ -270,4 +307,27 @@ public class FeaturedStickerSetInfoCell extends FrameLayout { canvas.drawLine(0, 0, getWidth(), 0, Theme.dividerPaint); } } + + public void updateColors() { + if (canAddRemove) { + addButton.setProgressColor(Theme.getColor(Theme.key_featuredStickers_buttonProgress)); + addButton.setBackgroundRoundRect(Theme.getColor(Theme.key_featuredStickers_addButton), Theme.getColor(Theme.key_featuredStickers_addButtonPressed)); + } + updateStickerSetNameSearchSpan(); + updateUrlSearchSpan(); + } + + public static void createThemeDescriptions(List descriptions, RecyclerListView listView, ThemeDescription.ThemeDescriptionDelegate delegate) { + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetInfoCell.class}, new String[]{"nameTextView"}, null, null, null, Theme.key_chat_emojiPanelTrendingTitle)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetInfoCell.class}, new String[]{"infoTextView"}, null, null, null, Theme.key_chat_emojiPanelTrendingDescription)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetInfoCell.class}, new String[]{"addButton"}, null, null, null, Theme.key_featuredStickers_buttonText)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{FeaturedStickerSetInfoCell.class}, new String[]{"delButton"}, null, null, null, Theme.key_featuredStickers_removeButtonText)); + descriptions.add(new ThemeDescription(listView, 0, new Class[]{FeaturedStickerSetInfoCell.class}, null, null, null, Theme.key_featuredStickers_unread)); + descriptions.add(new ThemeDescription(listView, 0, new Class[]{FeaturedStickerSetInfoCell.class}, Theme.dividerPaint, null, null, Theme.key_divider)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_featuredStickers_buttonProgress)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_featuredStickers_addButton)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_featuredStickers_addButtonPressed)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_windowBackgroundWhiteBlueText4)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_chat_emojiPanelTrendingDescription)); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/GraySectionCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/GraySectionCell.java index 563bcc4d1..095aba317 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/GraySectionCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/GraySectionCell.java @@ -17,12 +17,16 @@ import android.widget.TextView; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.LocaleController; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Components.LayoutHelper; +import org.telegram.ui.Components.RecyclerListView; + +import java.util.List; public class GraySectionCell extends FrameLayout { private TextView textView; - private TextView righTextView; + private TextView rightTextView; public GraySectionCell(Context context) { super(context); @@ -36,11 +40,11 @@ public class GraySectionCell extends FrameLayout { textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL); addView(textView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.TOP, 16, 0, 16, 0)); - righTextView = new TextView(getContext()); - righTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); - righTextView.setTextColor(Theme.getColor(Theme.key_graySectionText)); - righTextView.setGravity((LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.CENTER_VERTICAL); - addView(righTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.MATCH_PARENT, (LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.TOP, 16, 0, 16, 0)); + rightTextView = new TextView(getContext()); + rightTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + rightTextView.setTextColor(Theme.getColor(Theme.key_graySectionText)); + rightTextView.setGravity((LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.CENTER_VERTICAL); + addView(rightTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.MATCH_PARENT, (LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.TOP, 16, 0, 16, 0)); } @Override @@ -50,13 +54,19 @@ public class GraySectionCell extends FrameLayout { public void setText(String text) { textView.setText(text); - righTextView.setVisibility(GONE); + rightTextView.setVisibility(GONE); } public void setText(String left, String right, OnClickListener onClickListener) { textView.setText(left); - righTextView.setText(right); - righTextView.setOnClickListener(onClickListener); - righTextView.setVisibility(VISIBLE); + rightTextView.setText(right); + rightTextView.setOnClickListener(onClickListener); + rightTextView.setVisibility(VISIBLE); + } + + public static void createThemeDescriptions(List descriptions, RecyclerListView listView) { + descriptions.add(new ThemeDescription(listView, 0, new Class[]{GraySectionCell.class}, new String[]{"textView"}, null, null, null, Theme.key_graySectionText)); + descriptions.add(new ThemeDescription(listView, 0, new Class[]{GraySectionCell.class}, new String[]{"rightTextView"}, null, null, null, Theme.key_graySectionText)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_CELLBACKGROUNDCOLOR, new Class[]{GraySectionCell.class}, null, null, null, Theme.key_graySection)); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/GroupCreateUserCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/GroupCreateUserCell.java index ae6d9dc4f..0bcec29a4 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/GroupCreateUserCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/GroupCreateUserCell.java @@ -52,10 +52,13 @@ public class GroupCreateUserCell extends FrameLayout { private boolean drawDivider; private int padding; - public GroupCreateUserCell(Context context, boolean needCheck, int padding) { + private boolean showSelfAsSaved; + + public GroupCreateUserCell(Context context, boolean needCheck, int pad, boolean selfAsSaved) { super(context); drawDivider = false; - this.padding = padding; + padding = pad; + showSelfAsSaved = selfAsSaved; avatarDrawable = new AvatarDrawable(); avatarImageView = new BackupImageView(context); @@ -174,7 +177,11 @@ public class GroupCreateUserCell extends FrameLayout { statusTextView.setText(null); avatarImageView.setImage(null, "50_50", avatarDrawable); } else { - ((LayoutParams) nameTextView.getLayoutParams()).topMargin = AndroidUtilities.dp(10); + if (currentStatus != null && TextUtils.isEmpty(currentStatus)) { + ((LayoutParams) nameTextView.getLayoutParams()).topMargin = AndroidUtilities.dp(19); + } else { + ((LayoutParams) nameTextView.getLayoutParams()).topMargin = AndroidUtilities.dp(10); + } avatarImageView.getLayoutParams().width = avatarImageView.getLayoutParams().height = AndroidUtilities.dp(46); if (checkBox != null) { ((LayoutParams) checkBox.getLayoutParams()).topMargin = AndroidUtilities.dp(33); @@ -187,7 +194,7 @@ public class GroupCreateUserCell extends FrameLayout { if (currentObject instanceof TLRPC.User) { TLRPC.User currentUser = (TLRPC.User) currentObject; - if (UserObject.isUserSelf(currentUser)) { + if (showSelfAsSaved && UserObject.isUserSelf(currentUser)) { nameTextView.setText(LocaleController.getString("SavedMessages", R.string.SavedMessages), true); statusTextView.setText(null); avatarDrawable.setAvatarType(AvatarDrawable.AVATAR_TYPE_SAVED); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoAttachPhotoCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoAttachPhotoCell.java index 6941309ba..dea5ad69e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoAttachPhotoCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoAttachPhotoCell.java @@ -21,6 +21,7 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.os.SystemClock; +import android.text.TextUtils; import android.util.TypedValue; import android.view.Gravity; import android.view.MotionEvent; @@ -227,11 +228,22 @@ public class PhotoAttachPhotoCell extends FrameLayout { imageView.setImage(ImageLocation.getForPhoto(searchImage.photoSize, searchImage.photo), "80_80", thumb, searchImage); } else if (searchImage.thumbPath != null) { imageView.setImage(searchImage.thumbPath, null, thumb); - } else if (searchImage.thumbUrl != null && searchImage.thumbUrl.length() > 0) { - imageView.setImage(searchImage.thumbUrl, null, thumb); - } else if (MessageObject.isDocumentHasThumb(searchImage.document)) { - TLRPC.PhotoSize photoSize = FileLoader.getClosestPhotoSizeWithSize(searchImage.document.thumbs, 320); - imageView.setImage(ImageLocation.getForDocument(photoSize, searchImage.document), null, thumb, searchImage); + } else if (!TextUtils.isEmpty(searchImage.thumbUrl)) { + ImageLocation location = ImageLocation.getForPath(searchImage.thumbUrl); + if (searchImage.type == 1 && searchImage.thumbUrl.endsWith("mp4")) { + location.imageType = FileLoader.IMAGE_TYPE_ANIMATION; + } + imageView.setImage(location, null, thumb, searchImage); + } else if (searchImage.document != null) { + MessageObject.getDocumentVideoThumb(searchImage.document); + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(searchImage.document); + if (videoSize != null) { + TLRPC.PhotoSize currentPhotoObject = FileLoader.getClosestPhotoSizeWithSize(searchImage.document.thumbs, 90); + imageView.setImage(ImageLocation.getForDocument(videoSize, searchImage.document), null, ImageLocation.getForDocument(currentPhotoObject, searchImage.document), "52_52", null, -1, 1, searchImage); + } else { + TLRPC.PhotoSize photoSize = FileLoader.getClosestPhotoSizeWithSize(searchImage.document.thumbs, 320); + imageView.setImage(ImageLocation.getForDocument(photoSize, searchImage.document), null, thumb, searchImage); + } } else { imageView.setImageDrawable(thumb); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoPickerPhotoCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoPickerPhotoCell.java index 0c3f9a86a..ae6c3ee46 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoPickerPhotoCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/PhotoPickerPhotoCell.java @@ -8,18 +8,15 @@ package org.telegram.ui.Cells; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.util.TypedValue; import android.view.Gravity; import android.view.View; -import android.view.animation.DecelerateInterpolator; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; @@ -34,38 +31,51 @@ import org.telegram.messenger.R; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.Components.BackupImageView; -import org.telegram.ui.Components.CheckBox; +import org.telegram.ui.Components.CheckBox2; import org.telegram.ui.Components.LayoutHelper; -import org.telegram.ui.PhotoViewer; public class PhotoPickerPhotoCell extends FrameLayout { public BackupImageView imageView; public FrameLayout checkFrame; - public CheckBox checkBox; + public CheckBox2 checkBox; public TextView videoTextView; public FrameLayout videoInfoContainer; - private AnimatorSet animator; - private AnimatorSet animatorSet; - public int itemWidth; - private boolean zoomOnSelect; + private int itemWidth; + private int extraWidth; private Paint backgroundPaint = new Paint(); - private MediaController.PhotoEntry photoEntry; - public PhotoPickerPhotoCell(Context context, boolean zoom) { + public PhotoPickerPhotoCell(Context context) { super(context); setWillNotDraw(false); - zoomOnSelect = zoom; - imageView = new BackupImageView(context); + imageView.setRoundRadius(AndroidUtilities.dp(4)); addView(imageView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); checkFrame = new FrameLayout(context); addView(checkFrame, LayoutHelper.createFrame(42, 42, Gravity.RIGHT | Gravity.TOP)); - videoInfoContainer = new FrameLayout(context); - videoInfoContainer.setBackgroundResource(R.drawable.phototime); + videoInfoContainer = new FrameLayout(context) { + + private Path path = new Path(); + float[] radii = new float[8]; + private RectF rect = new RectF(); + private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + + @Override + protected void onDraw(Canvas canvas) { + rect.set(0, 0, getMeasuredWidth(), getMeasuredHeight()); + radii[0] = radii[1] = radii[2] = radii[3] = 0; + radii[4] = radii[5] = radii[6] = radii[7] = AndroidUtilities.dp(4); + path.reset(); + path.addRoundRect(rect, radii, Path.Direction.CW); + path.close(); + paint.setColor(0x7f000000); + canvas.drawPath(path, paint); + } + }; + videoInfoContainer.setWillNotDraw(false); videoInfoContainer.setPadding(AndroidUtilities.dp(3), 0, AndroidUtilities.dp(3), 0); addView(videoInfoContainer, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 16, Gravity.BOTTOM | Gravity.LEFT)); @@ -79,19 +89,18 @@ public class PhotoPickerPhotoCell extends FrameLayout { videoTextView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO); videoInfoContainer.addView(videoTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.CENTER_VERTICAL, 18, -0.7f, 0, 0)); - checkBox = new CheckBox(context, R.drawable.checkbig); - checkBox.setSize(zoom ? 30 : 26); - checkBox.setCheckOffset(AndroidUtilities.dp(1)); - checkBox.setDrawBackground(true); - checkBox.setColor(Theme.getColor(Theme.key_dialogFloatingButton), 0xffffffff); - addView(checkBox, LayoutHelper.createFrame(zoom ? 30 : 26, zoom ? 30 : 26, Gravity.RIGHT | Gravity.TOP, 0, 4, 4, 0)); + checkBox = new CheckBox2(context, 24); + checkBox.setDrawBackgroundAsArc(11); + checkBox.setColor(Theme.key_chat_attachCheckBoxBackground, Theme.key_chat_attachPhotoBackground, Theme.key_chat_attachCheckBoxCheck); + addView(checkBox, LayoutHelper.createFrame(26, 26, Gravity.LEFT | Gravity.TOP, 55, 4, 0, 0)); + checkBox.setVisibility(VISIBLE); setFocusable(true); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(MeasureSpec.makeMeasureSpec(itemWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(itemWidth, MeasureSpec.EXACTLY)); + super.onMeasure(MeasureSpec.makeMeasureSpec(itemWidth + extraWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(itemWidth, MeasureSpec.EXACTLY)); } @Override @@ -100,39 +109,30 @@ public class PhotoPickerPhotoCell extends FrameLayout { updateColors(); } - public void updateColors() { - checkBox.setColor(Theme.getColor(Theme.key_dialogFloatingButton), 0xffffffff); + public void setItemWidth(int width, int extra) { + itemWidth = width; + extraWidth = extra; + + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) checkFrame.getLayoutParams(); + layoutParams.rightMargin = extra; + + layoutParams = (FrameLayout.LayoutParams) imageView.getLayoutParams(); + layoutParams.rightMargin = extra; + + layoutParams = (FrameLayout.LayoutParams) videoInfoContainer.getLayoutParams(); + layoutParams.rightMargin = extra; } - public void showCheck(boolean show) { - if (animatorSet != null) { - animatorSet.cancel(); - animatorSet = null; - } - animatorSet = new AnimatorSet(); - animatorSet.setInterpolator(new DecelerateInterpolator()); - animatorSet.setDuration(180); - animatorSet.playTogether( - ObjectAnimator.ofFloat(videoInfoContainer, "alpha", show ? 1.0f : 0.0f), - ObjectAnimator.ofFloat(checkBox, "alpha", show ? 1.0f : 0.0f)); - animatorSet.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (animation.equals(animatorSet)) { - animatorSet = null; - } - } - }); - animatorSet.start(); + public void updateColors() { + checkBox.setColor(Theme.key_chat_attachCheckBoxBackground, Theme.key_chat_attachPhotoBackground, Theme.key_chat_attachCheckBoxCheck); } public void setNum(int num) { checkBox.setNum(num); } - public void setImage(MediaController.PhotoEntry entry) { - Drawable thumb = zoomOnSelect ? Theme.chat_attachEmptyDrawable : getResources().getDrawable(R.drawable.nophotos); - photoEntry = entry; + public void setImage(MediaController.PhotoEntry photoEntry) { + Drawable thumb = getResources().getDrawable(R.drawable.nophotos); if (photoEntry.thumbPath != null) { imageView.setImage(photoEntry.thumbPath, null, thumb); } else if (photoEntry.path != null) { @@ -153,7 +153,7 @@ public class PhotoPickerPhotoCell extends FrameLayout { } public void setImage(MediaController.SearchImage searchImage) { - Drawable thumb = zoomOnSelect ? Theme.chat_attachEmptyDrawable : getResources().getDrawable(R.drawable.nophotos); + Drawable thumb = getResources().getDrawable(R.drawable.nophotos); if (searchImage.thumbPhotoSize != null) { imageView.setImage(ImageLocation.getForPhoto(searchImage.thumbPhotoSize, searchImage.photo), null, thumb, searchImage); } else if (searchImage.photoSize != null) { @@ -172,50 +172,5 @@ public class PhotoPickerPhotoCell extends FrameLayout { public void setChecked(final int num, final boolean checked, final boolean animated) { checkBox.setChecked(num, checked, animated); - if (animator != null) { - animator.cancel(); - animator = null; - } - if (zoomOnSelect) { - if (animated) { - animator = new AnimatorSet(); - animator.playTogether(ObjectAnimator.ofFloat(imageView, View.SCALE_X, checked ? 0.85f : 1.0f), - ObjectAnimator.ofFloat(imageView, View.SCALE_Y, checked ? 0.85f : 1.0f)); - animator.setDuration(200); - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (animator != null && animator.equals(animation)) { - animator = null; - if (!checked) { - setBackgroundColor(0); - } - } - } - - @Override - public void onAnimationCancel(Animator animation) { - if (animator != null && animator.equals(animation)) { - animator = null; - } - } - }); - animator.start(); - } else { - imageView.setScaleX(checked ? 0.85f : 1.0f); - imageView.setScaleY(checked ? 0.85f : 1.0f); - } - } - } - - @Override - protected void onDraw(Canvas canvas) { - if (!zoomOnSelect) { - return; - } - if (checkBox.isChecked() || imageView.getScaleX() != 1.0f || !imageView.getImageReceiver().hasNotThumb() || imageView.getImageReceiver().getCurrentAlpha() != 1.0f || photoEntry != null && PhotoViewer.isShowingImage(photoEntry.path)) { - backgroundPaint.setColor(Theme.getColor(Theme.key_chat_attachPhotoBackground)); - canvas.drawRect(0, 0, imageView.getMeasuredWidth(), imageView.getMeasuredHeight(), backgroundPaint); - } } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/SharedLinkCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/SharedLinkCell.java index 4e73e3d54..a3a5bf254 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/SharedLinkCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/SharedLinkCell.java @@ -31,7 +31,6 @@ import org.telegram.messenger.LocaleController; import org.telegram.messenger.MessageObject; import org.telegram.messenger.FileLoader; import org.telegram.messenger.FileLog; -import org.telegram.messenger.browser.Browser; import org.telegram.tgnet.TLRPC; import org.telegram.ui.Components.CheckBox2; import org.telegram.ui.Components.LayoutHelper; @@ -46,10 +45,8 @@ public class SharedLinkCell extends FrameLayout { public interface SharedLinkCellDelegate { void needOpenWebView(TLRPC.WebPage webPage); - boolean canPerformActions(); - - void onLinkLongPress(final String urlFinal); + void onLinkPress(final String urlFinal, boolean longPress); } private boolean checkingForLongPress = false; @@ -75,7 +72,7 @@ public class SharedLinkCell extends FrameLayout { checkingForLongPress = false; performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); if (pressedLink >= 0) { - delegate.onLinkLongPress(links.get(pressedLink)); + delegate.onLinkPress(links.get(pressedLink), true); } MotionEvent event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_CANCEL, 0, 0, 0); onTouchEvent(event); @@ -430,7 +427,7 @@ public class SharedLinkCell extends FrameLayout { if (webPage != null && webPage.embed_url != null && webPage.embed_url.length() != 0) { delegate.needOpenWebView(webPage); } else { - Browser.openUrl(getContext(), links.get(pressedLink)); + delegate.onLinkPress(links.get(pressedLink), false); } } catch (Exception e) { FileLog.e(e); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/StickerSetNameCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/StickerSetNameCell.java index 0a13d0f08..ebe78223d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/StickerSetNameCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/StickerSetNameCell.java @@ -25,8 +25,12 @@ import android.widget.TextView; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.Emoji; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Components.ColorSpanUnderline; import org.telegram.ui.Components.LayoutHelper; +import org.telegram.ui.Components.RecyclerListView; + +import java.util.List; public class StickerSetNameCell extends FrameLayout { @@ -36,6 +40,13 @@ public class StickerSetNameCell extends FrameLayout { private boolean empty; private boolean isEmoji; + private CharSequence stickerSetName; + private int stickerSetNameSearchIndex; + private int stickerSetNameSearchLength; + + private CharSequence url; + private int urlSearchLength; + public StickerSetNameCell(Context context, boolean emoji) { this(context, emoji, false); } @@ -85,18 +96,21 @@ public class StickerSetNameCell extends FrameLayout { } public void setUrl(CharSequence text, int searchLength) { - if (text != null) { - SpannableStringBuilder builder = new SpannableStringBuilder(text); - try { - builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelStickerSetNameHighlight)), 0, searchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //TODO - builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelStickerSetName)), searchLength, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } catch (Exception ignore) { + url = text; + urlSearchLength = searchLength; + urlTextView.setVisibility(text != null ? VISIBLE : GONE); + updateUrlSearchSpan(); + } + private void updateUrlSearchSpan() { + if (url != null) { + SpannableStringBuilder builder = new SpannableStringBuilder(url); + try { + builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelStickerSetNameHighlight)), 0, urlSearchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ColorSpanUnderline(Theme.getColor(Theme.key_chat_emojiPanelStickerSetName)), urlSearchLength, url.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } catch (Exception ignore) { } urlTextView.setText(builder); - urlTextView.setVisibility(VISIBLE); - } else { - urlTextView.setVisibility(GONE); } } @@ -104,20 +118,21 @@ public class StickerSetNameCell extends FrameLayout { setText(text, resId, 0, 0); } + public void setTitleColor(int color) { + textView.setTextColor(color); + } + public void setText(CharSequence text, int resId, int index, int searchLength) { + stickerSetName = text; + stickerSetNameSearchIndex = index; + stickerSetNameSearchLength = searchLength; if (text == null) { empty = true; textView.setText(""); buttonView.setVisibility(INVISIBLE); } else { if (searchLength != 0) { - SpannableStringBuilder builder = new SpannableStringBuilder(text); - try { - builder.setSpan(new ForegroundColorSpan(Theme.getColor(Theme.key_chat_emojiPanelStickerSetNameHighlight)), index, index + searchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } catch (Exception ignore) { - - } - textView.setText(builder); + updateTextSearchSpan(); } else { textView.setText(Emoji.replaceEmoji(text, textView.getPaint().getFontMetricsInt(), AndroidUtilities.dp(14), false)); } @@ -130,6 +145,17 @@ public class StickerSetNameCell extends FrameLayout { } } + private void updateTextSearchSpan() { + if (stickerSetName != null && stickerSetNameSearchLength != 0) { + SpannableStringBuilder builder = new SpannableStringBuilder(stickerSetName); + try { + builder.setSpan(new ForegroundColorSpan(Theme.getColor(Theme.key_chat_emojiPanelStickerSetNameHighlight)), stickerSetNameSearchIndex, stickerSetNameSearchIndex + stickerSetNameSearchLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } catch (Exception ignore) { + } + textView.setText(Emoji.replaceEmoji(builder, textView.getPaint().getFontMetricsInt(), AndroidUtilities.dp(14), false)); + } + } + public void setOnIconClickListener(OnClickListener onIconClickListener) { buttonView.setOnClickListener(onIconClickListener); } @@ -156,4 +182,17 @@ public class StickerSetNameCell extends FrameLayout { } super.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec, heightUsed); } + + public void updateColors() { + updateTextSearchSpan(); + updateUrlSearchSpan(); + } + + public static void createThemeDescriptions(List descriptions, RecyclerListView listView, ThemeDescription.ThemeDescriptionDelegate delegate) { + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{StickerSetNameCell.class}, new String[]{"textView"}, null, null, null, Theme.key_chat_emojiPanelStickerSetName)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{StickerSetNameCell.class}, new String[]{"urlTextView"}, null, null, null, Theme.key_chat_emojiPanelStickerSetName)); + descriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_IMAGECOLOR, new Class[]{StickerSetNameCell.class}, new String[]{"buttonView"}, null, null, null, Theme.key_chat_emojiPanelStickerSetNameIcon)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_chat_emojiPanelStickerSetNameHighlight)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_chat_emojiPanelStickerSetName)); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/TextSelectionHelper.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/TextSelectionHelper.java index c60d67756..a2b62a1d4 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/TextSelectionHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/TextSelectionHelper.java @@ -50,6 +50,7 @@ import org.telegram.ui.Components.RecyclerListView; import java.util.ArrayList; +import static com.google.zxing.common.detector.MathUtils.distance; import static org.telegram.ui.ActionBar.FloatingToolbar.STYLE_THEME; import static org.telegram.ui.ActionBar.Theme.key_chat_inTextSelectionHighlight; @@ -408,10 +409,6 @@ public abstract class TextSelectionHelper= 0 && selectionEnd >= 0; } - float distance(int x1, int y1, int x2, int y2) { - return (float) Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); - } - private ActionBarPopupWindow popupWindow; private ActionBarPopupWindow.ActionBarPopupWindowLayout popupLayout; private TextView deleteView; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChannelAdminLogActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChannelAdminLogActivity.java index c1e1f99d3..8706c388b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChannelAdminLogActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChannelAdminLogActivity.java @@ -89,7 +89,6 @@ import org.telegram.ui.ActionBar.BottomSheet; import org.telegram.ui.ActionBar.SimpleTextView; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.ActionBar.ThemeDescription; -import org.telegram.ui.Cells.BotHelpCell; import org.telegram.ui.Cells.ChatActionCell; import org.telegram.ui.Cells.ChatLoadingCell; import org.telegram.ui.Cells.ChatMessageCell; @@ -185,6 +184,8 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio private MessageObject scrollToMessage; + private int allowAnimationIndex; + private PhotoViewer.PhotoViewerProvider provider = new PhotoViewer.EmptyPhotoViewerProvider() { @Override @@ -1737,9 +1738,8 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio @Override public void onTransitionAnimationStart(boolean isOpen, boolean backward) { if (isOpen) { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, + allowAnimationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(allowAnimationIndex, new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad/*, NotificationCenter.botInfoDidLoad*/}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); openAnimationEnded = false; } } @@ -1747,7 +1747,7 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio @Override public void onTransitionAnimationEnd(boolean isOpen, boolean backward) { if (isOpen) { - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(allowAnimationIndex); openAnimationEnded = true; } } @@ -2204,17 +2204,6 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio }); } else if (viewType == 2) { view = new ChatUnreadCell(mContext); - } else if (viewType == 3) { - view = new BotHelpCell(mContext); - ((BotHelpCell) view).setDelegate(url -> { - if (url.startsWith("@")) { - MessagesController.getInstance(currentAccount).openByUserName(url.substring(1), ChannelAdminLogActivity.this, 0); - } else if (url.startsWith("#")) { - DialogsActivity fragment = new DialogsActivity(null); - fragment.setSearchString(url); - presentFragment(fragment); - } - }); } else if (viewType == 4) { view = new ChatLoadingCell(mContext); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChannelCreateActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChannelCreateActivity.java index a3dd23a99..9a914bd0f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChannelCreateActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChannelCreateActivity.java @@ -300,7 +300,7 @@ public class ChannelCreateActivity extends BaseFragment implements NotificationC measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize > AndroidUtilities.dp(20)) { ignoreLayout = true; nameTextView.hideEmojiView(); @@ -333,7 +333,7 @@ public class ChannelCreateActivity extends BaseFragment implements NotificationC protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? nameTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index 953fffddf..dafd855cb 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -38,7 +38,6 @@ import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Typeface; import android.graphics.drawable.Drawable; -import android.media.ThumbnailUtils; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -49,6 +48,7 @@ import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.Spanned; +import android.text.StaticLayout; import android.text.TextPaint; import android.text.TextUtils; import android.text.style.CharacterStyle; @@ -84,6 +84,8 @@ import android.widget.TextView; import android.widget.Toast; import androidx.core.content.FileProvider; +import androidx.core.graphics.ColorUtils; +import androidx.recyclerview.widget.ChatListItemAnimator; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManagerFixed; import androidx.recyclerview.widget.LinearLayoutManager; @@ -191,6 +193,7 @@ import org.telegram.ui.Components.Size; import org.telegram.ui.Components.SizeNotifierFrameLayout; import org.telegram.ui.Components.StickersAlert; import org.telegram.ui.Components.TextStyleSpan; +import org.telegram.ui.Components.TrendingStickersAlert; import org.telegram.ui.Components.TypefaceSpan; import org.telegram.ui.Components.URLSpanBotCommand; import org.telegram.ui.Components.URLSpanMono; @@ -203,7 +206,6 @@ import org.telegram.ui.Components.voip.VoIPHelper; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; -import java.net.IDN; import java.net.URLDecoder; import java.util.ArrayList; import java.util.Calendar; @@ -230,6 +232,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private View progressView2; private FrameLayout bottomOverlay; protected ChatActivityEnterView chatActivityEnterView; + int chatActivityEnterViewAnimateFromTop; private View timeItem2; private ActionBarMenuItem attachItem; private ActionBarMenuItem headerItem; @@ -239,10 +242,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private ActionBarMenuSubItem addContactItem; private ClippingImageView animatingImageView; private RecyclerListView chatListView; + private ChatListItemAnimator chatListItemAniamtor; private int chatListViewClipTop; private GridLayoutManagerFixed chatLayoutManager; private ChatActivityAdapter chatAdapter; - private TextView bottomOverlayChatText; + private UnreadCounterTextView bottomOverlayChatText; private UnreadCounterTextView bottomOverlayChatText2; private RadialProgressView bottomOverlayProgress; private AnimatorSet bottomOverlayAnimation; @@ -387,6 +391,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private AnimatorSet editButtonAnimation; private AnimatorSet forwardButtonAnimation; + private int lastStableId = 10; + private boolean openSearchKeyboard; private boolean waitingForReplyMessageLoad; @@ -437,7 +443,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private boolean forceScrollToTop; private boolean scrollToTopUnReadOnResume; private long dialog_id; - private int lastLoadIndex; + private int lastLoadIndex = 1; private SparseArray[] selectedMessagesIds = new SparseArray[]{new SparseArray<>(), new SparseArray<>()}; private SparseArray[] selectedMessagesCanCopyIds = new SparseArray[]{new SparseArray<>(), new SparseArray<>()}; private SparseArray[] selectedMessagesCanStarIds = new SparseArray[]{new SparseArray<>(), new SparseArray<>()}; @@ -543,13 +549,32 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private float lastTouchY; private ChatMessageCell dummyMessageCell; - private FireworksOverlay fireworksOverlay; private boolean swipeBackEnabled = true; public static Pattern publicMsgUrlPattern; public static Pattern privateMsgUrlPattern; + private boolean waitingForSendingMessageLoad; + private ValueAnimator changeBoundAnimator; + + private int transitionAnimationIndex; + private final static int[] allowedNotificationsDuringChatListAnimations = new int[]{ + NotificationCenter.messagesRead, + NotificationCenter.messagesReadEncrypted, + NotificationCenter.messagesReadContent, + NotificationCenter.pinnedMessageDidLoad, + NotificationCenter.newDraftReceived, + NotificationCenter.updateMentionsCount, + NotificationCenter.didUpdateConnectionState, + NotificationCenter.updateInterfaces, + NotificationCenter.closeChats, + NotificationCenter.contactsDidLoad, + NotificationCenter.chatInfoCantLoad, + NotificationCenter.userInfoDidLoad, + NotificationCenter.didSetNewWallpapper, + NotificationCenter.didApplyNewTheme + }; private interface ChatActivityDelegate { void openReplyMessage(int mid); @@ -557,7 +582,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not void openSearch(String text); } - private class UnreadCounterTextView extends TextView { + private class UnreadCounterTextView extends View { private int currentCounter; private String currentCounterString; @@ -566,18 +591,102 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private RectF rect = new RectF(); private int circleWidth; + private int rippleColor; + + private StaticLayout textLayout; + private StaticLayout textLayoutOut; + private int layoutTextWidth; + private TextPaint layoutPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); + + Drawable selectableBackground; + + ValueAnimator replaceAnimator; + float replaceProgress = 1f; + boolean animatedFromBottom; + int textColor; + int panelBackgroundColor; + int counterColor; public UnreadCounterTextView(Context context) { super(context); textPaint.setTextSize(AndroidUtilities.dp(13)); textPaint.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + + layoutPaint.setTextSize(AndroidUtilities.dp(15)); + layoutPaint.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + } + + public void setText(CharSequence text, boolean animatedFromBottom) { + this.animatedFromBottom = animatedFromBottom; + textLayoutOut = textLayout; + layoutTextWidth = (int) Math.ceil(layoutPaint.measureText(text, 0, text.length())); + textLayout = new StaticLayout(text, layoutPaint, layoutTextWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true); + invalidate(); + + if (textLayoutOut != null) { + if (replaceAnimator != null) { + replaceAnimator.cancel(); + } + replaceProgress = 0; + replaceAnimator = ValueAnimator.ofFloat(0,1f); + replaceAnimator.addUpdateListener(animation -> { + replaceProgress = (float) animation.getAnimatedValue(); + invalidate(); + }); + replaceAnimator.setDuration(150); + replaceAnimator.start(); + } + + } + public void setText(CharSequence text) { + layoutTextWidth = (int) Math.ceil(layoutPaint.measureText(text, 0, text.length())); + textLayout = new StaticLayout(text, layoutPaint, layoutTextWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true); + invalidate(); } @Override - public void setTextColor(int color) { - super.setTextColor(color); - textPaint.setColor(Theme.getColor(Theme.key_chat_messagePanelBackground)); - paint.setColor(Theme.getColor(Theme.key_chat_goDownButtonCounterBackground)); + protected void drawableStateChanged() { + super.drawableStateChanged(); + if (selectableBackground != null) { + selectableBackground.setState(getDrawableState()); + } + } + + @Override + public boolean verifyDrawable(Drawable drawable) { + if (selectableBackground != null) { + return selectableBackground == drawable || super.verifyDrawable(drawable); + } + return super.verifyDrawable(drawable); + } + + @Override + public void jumpDrawablesToCurrentState() { + super.jumpDrawablesToCurrentState(); + if (selectableBackground != null) { + selectableBackground.jumpToCurrentState(); + } + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + if (textLayout != null) { + int lineWidth = (int) Math.ceil(textLayout.getLineWidth(0)); + int contentWidth = lineWidth + (circleWidth > 0 ? circleWidth + AndroidUtilities.dp(8) : 0); + contentWidth += AndroidUtilities.dp(48); + int x = (getMeasuredWidth() - contentWidth) / 2; + rect.set( + x, getMeasuredHeight() / 2f - contentWidth / 2f, + x + contentWidth, getMeasuredHeight() / 2f + contentWidth / 2f + ); + if (!rect.contains(event.getX(), event.getY())) { + setPressed(false); + return false; + } + } + } + return super.onTouchEvent(event); } public void updateCounter() { @@ -598,7 +707,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not currentCounterString = null; circleWidth = 0; } else { - currentCounterString = String.format("%d", currentCounter); + currentCounterString = AndroidUtilities.formatWholeNumber(currentCounter, 0); textWidth = (int) Math.ceil(textPaint.measureText(currentCounterString)); int newWidth = Math.max(AndroidUtilities.dp(20), AndroidUtilities.dp(12) + textWidth); if (circleWidth != newWidth) { @@ -611,16 +720,67 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override protected void onDraw(Canvas canvas) { - canvas.save(); - canvas.translate(-circleWidth / 2, 0); - super.onDraw(canvas); - canvas.restore(); + Layout layout = textLayout; + int color = Theme.getColor(Theme.key_chat_fieldOverlayText); + if (textColor != color) { + layoutPaint.setColor(textColor = color); + } + color = Theme.getColor(Theme.key_chat_messagePanelBackground); + if (panelBackgroundColor != color) { + textPaint.setColor(panelBackgroundColor = color); + } + color = Theme.getColor(Theme.key_chat_goDownButtonCounterBackground); + if (counterColor != color) { + paint.setColor(counterColor = color); + } + + if (getParent() != null) { + int contentWidth = getMeasuredWidth(); + int x = (getMeasuredWidth() - contentWidth) / 2; + if (rippleColor != Theme.getColor(Theme.key_chat_fieldOverlayText) || selectableBackground == null) { + selectableBackground = Theme.createSimpleSelectorCircleDrawable(AndroidUtilities.dp(60), 0, ColorUtils.setAlphaComponent(rippleColor = Theme.getColor(Theme.key_chat_fieldOverlayText), 26)); + selectableBackground.setCallback(this); + } + int start = (getLeft() + x) <= 0 ? x - AndroidUtilities.dp(20) : x; + int end = x + contentWidth > ((View) getParent()).getMeasuredWidth() ? x + contentWidth + AndroidUtilities.dp(20) : x + contentWidth; + selectableBackground.setBounds( + start, getMeasuredHeight() / 2 - contentWidth / 2, + end, getMeasuredHeight() / 2 + contentWidth / 2 + ); + selectableBackground.draw(canvas); + } + if (textLayout != null) { + canvas.save(); + if (replaceProgress != 1f && textLayoutOut != null) { + int oldAlpha = layoutPaint.getAlpha(); + + canvas.save(); + canvas.translate((getMeasuredWidth() - textLayoutOut.getWidth()) / 2 - circleWidth / 2, (getMeasuredHeight() - textLayout.getHeight()) / 2); + canvas.translate(0, (animatedFromBottom ? -1f : 1f) * AndroidUtilities.dp(18) * replaceProgress); + layoutPaint.setAlpha((int) (oldAlpha * (1f - replaceProgress))); + textLayoutOut.draw(canvas); + canvas.restore(); + + canvas.save(); + canvas.translate((getMeasuredWidth() - layoutTextWidth) / 2 - circleWidth / 2, (getMeasuredHeight() - textLayout.getHeight()) / 2); + canvas.translate(0, (animatedFromBottom ? 1f : -1f) * AndroidUtilities.dp(18) * (1f - replaceProgress)); + layoutPaint.setAlpha((int) (oldAlpha * (replaceProgress))); + textLayout.draw(canvas); + canvas.restore(); + + layoutPaint.setAlpha(oldAlpha); + } else { + canvas.translate((getMeasuredWidth() - layoutTextWidth) / 2 - circleWidth / 2, (getMeasuredHeight() - textLayout.getHeight()) / 2); + textLayout.draw(canvas); + } + + canvas.restore(); + } if (currentCounterString != null) { - Layout layout = getLayout(); - if (layout != null && getLineCount() > 0) { + if (layout != null) { int lineWidth = (int) Math.ceil(layout.getLineWidth(0)); - int x = (getMeasuredWidth() + (lineWidth - circleWidth)) / 2 + AndroidUtilities.dp(8); + int x = (getMeasuredWidth() - lineWidth) / 2 + lineWidth - circleWidth / 2 + AndroidUtilities.dp(6); rect.set(x, getMeasuredHeight() / 2 - AndroidUtilities.dp(10), x + circleWidth, getMeasuredHeight() / 2 + AndroidUtilities.dp(10)); canvas.drawRoundRect(rect, AndroidUtilities.dp(10), AndroidUtilities.dp(10), paint); canvas.drawText(currentCounterString, rect.centerX() - textWidth / 2.0f, rect.top + AndroidUtilities.dp(14.5f), textPaint); @@ -976,6 +1136,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not getNotificationCenter().addObserver(this, NotificationCenter.updateMentionsCount); getNotificationCenter().addObserver(this, NotificationCenter.didUpdatePollResults); getNotificationCenter().addObserver(this, NotificationCenter.chatOnlineCountDidLoad); + if (currentEncryptedChat != null) { + getNotificationCenter().addObserver(this, NotificationCenter.didVerifyMessagesStickers); + } } getNotificationCenter().addObserver(this, NotificationCenter.messagesDidLoad); NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.emojiDidLoad); @@ -1042,38 +1205,38 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } - waitingForLoad.add(lastLoadIndex); - if (startLoadFromMessageId != 0) { - startLoadFromMessageIdSaved = startLoadFromMessageId; - if (migrated_to != 0) { - mergeDialogId = migrated_to; - getMessagesController().loadMessages(mergeDialogId, loadingFromOldPosition ? 50 : (AndroidUtilities.isTablet() ? 30 : 20), startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); - } else { - getMessagesController().loadMessages(dialog_id, loadingFromOldPosition ? 50 : (AndroidUtilities.isTablet() ? 30 : 20), startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); - } - } else { - getMessagesController().loadMessages(dialog_id, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); - } - if (!inScheduleMode) { - waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, 1, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), true, lastLoadIndex++); - } - + boolean loadInfo = false; if (currentChat != null) { chatInfo = getMessagesController().getChatFull(currentChat.id); if (currentChat.megagroup && !getMessagesController().isChannelAdminsLoaded(currentChat.id)) { getMessagesController().loadChannelAdmins(currentChat.id, true); } - TLRPC.ChatFull info = getMessagesStorage().loadChatInfo(currentChat.id, null, true, false); - if (chatInfo == null) { - chatInfo = info; - } + getMessagesStorage().loadChatInfo(currentChat.id, null, true, false); if (!inScheduleMode && chatInfo != null && ChatObject.isChannel(currentChat) && chatInfo.migrated_from_chat_id != 0) { mergeDialogId = -chatInfo.migrated_from_chat_id; maxMessageId[1] = chatInfo.migrated_from_max_id; } + loadInfo = chatInfo == null; } else if (currentUser != null) { getMessagesController().loadUserInfo(currentUser, true, classGuid); + loadInfo = userInfo == null; + } + + waitingForLoad.add(lastLoadIndex); + if (startLoadFromMessageId != 0) { + startLoadFromMessageIdSaved = startLoadFromMessageId; + if (migrated_to != 0) { + mergeDialogId = migrated_to; + getMessagesController().loadMessages(mergeDialogId, 0, loadInfo, loadingFromOldPosition ? 50 : (AndroidUtilities.isTablet() ? 30 : 20), startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + } else { + getMessagesController().loadMessages(dialog_id, mergeDialogId, loadInfo, loadingFromOldPosition ? 50 : (AndroidUtilities.isTablet() ? 30 : 20), startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + } + } else { + getMessagesController().loadMessages(dialog_id, mergeDialogId, loadInfo, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + } + if (!inScheduleMode) { + waitingForLoad.add(lastLoadIndex); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 1, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), true, lastLoadIndex++); } if (!inScheduleMode) { @@ -1100,6 +1263,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not getSecretChatHelper().sendNotifyLayerMessage(currentEncryptedChat, null); } } + return true; } @@ -1180,6 +1344,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not getNotificationCenter().removeObserver(this, NotificationCenter.videoLoadingStateChanged); getNotificationCenter().removeObserver(this, NotificationCenter.scheduledMessagesUpdated); getNotificationCenter().removeObserver(this, NotificationCenter.diceStickersDidLoad); + if (currentEncryptedChat != null) { + getNotificationCenter().removeObserver(this, NotificationCenter.didVerifyMessagesStickers); + } if (!inScheduleMode && AndroidUtilities.isTablet()) { getNotificationCenter().postNotificationName(NotificationCenter.openedChatChanged, dialog_id, true); @@ -1213,6 +1380,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (textSelectionHelper != null) { textSelectionHelper.clear(); } + if (chatListItemAniamtor != null) { + chatListItemAniamtor.onDestroy(); + } } @Override @@ -1220,7 +1390,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not textSelectionHelper = new TextSelectionHelper.ChatListTextSelectionHelper(); if (chatMessageCellsCache.isEmpty()) { - for (int a = 0; a < 8; a++) { + for (int a = 0; a < 15; a++) { chatMessageCellsCache.add(new ChatMessageCell(context)); } } @@ -1267,14 +1437,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not public void onItemClick(final int id) { if (id == -1) { if (actionBar.isActionModeShowed()) { - for (int a = 1; a >= 0; a--) { - selectedMessagesIds[a].clear(); - selectedMessagesCanCopyIds[a].clear(); - selectedMessagesCanStarIds[a].clear(); - } - hideActionMode(); - updatePinnedMessageView(true); - updateVisibleRows(); + clearSelectionMode(); } else { if (!checkRecordLocked(true)) { finishFragment(); @@ -1306,14 +1469,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (str.length() != 0) { AndroidUtilities.addToClipboard(str); } - for (int a = 1; a >= 0; a--) { - selectedMessagesIds[a].clear(); - selectedMessagesCanCopyIds[a].clear(); - selectedMessagesCanStarIds[a].clear(); - } - hideActionMode(); - updatePinnedMessageView(true); - updateVisibleRows(); + clearSelectionMode(); } else if (id == delete) { if (getParentActivity() == null) { return; @@ -1407,14 +1563,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not getMediaDataController().addRecentSticker(MediaDataController.TYPE_FAVE, msg, msg.getDocument(), (int) (System.currentTimeMillis() / 1000), !hasUnfavedSelected); } } - for (int a = 1; a >= 0; a--) { - selectedMessagesIds[a].clear(); - selectedMessagesCanCopyIds[a].clear(); - selectedMessagesCanStarIds[a].clear(); - } - hideActionMode(); - updatePinnedMessageView(true); - updateVisibleRows(); + clearSelectionMode(); } else if (id == edit) { MessageObject messageObject = null; for (int a = 1; a >= 0; a--) { @@ -1772,6 +1921,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not fragmentView = new SizeNotifierFrameLayout(context, SharedConfig.smoothKeyboard, parentLayout) { int inputFieldHeight = 0; + int lastHeight; ArrayList drawTimeAfter = new ArrayList<>(); ArrayList drawNamesAfter = new ArrayList<>(); @@ -1882,7 +2032,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } else { drawLaterRoundProgressCell.drawOverlays(canvas); if (drawLaterRoundProgressCell.needDrawTime()) { - drawLaterRoundProgressCell.drawTime(canvas); + drawLaterRoundProgressCell.drawTime(canvas, drawLaterRoundProgressCell.getAlpha()); } } canvas.restore(); @@ -1902,14 +2052,17 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private void drawChildElement(Canvas canvas, float listTop, ChatMessageCell cell, int type) { canvas.save(); + float canvasOffsetX = chatListView.getLeft() + cell.getLeft(); + float canvasOffsetY = chatListView.getY() + cell.getY(); + float alpha = cell.shouldDrawAlphaLayer() ? cell.getAlpha() : 1f; canvas.clipRect(chatListView.getLeft(), listTop, chatListView.getRight(), chatListView.getY() + chatListView.getMeasuredHeight()); - canvas.translate(chatListView.getLeft() + cell.getLeft(), chatListView.getY() + cell.getY()); + canvas.translate(canvasOffsetX, canvasOffsetY); if (type == 0) { - cell.drawTime(canvas); + cell.drawTime(canvas, alpha); } else if (type == 1) { - cell.drawNamesLayout(canvas); + cell.drawNamesLayout(canvas, alpha); } else { - cell.drawCaptionLayout(canvas, (cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_LEFT) == 0); + cell.drawCaptionLayout(canvas, (cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_LEFT) == 0, alpha); } canvas.restore(); } @@ -1929,6 +2082,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not scrimGroup = null; } + boolean groupedBackgroundWasDraw = false; + int count = chatListView.getChildCount(); for (int num = 0; num < count; num++) { View child = chatListView.getChildAt(num); @@ -1944,10 +2099,28 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not group = null; cell = null; } - if (child != scrimView && (scrimGroup == null || scrimGroup != group)) { + if (child != scrimView && (scrimGroup == null || scrimGroup != group) || child.getAlpha() == 0f) { continue; } + if (!groupedBackgroundWasDraw && cell != null && scrimGroup != null) { + float x = cell.getNonAnimationTranslationX(true); + float l = (scrimGroup.transitionParams.left + x + scrimGroup.transitionParams.offsetLeft); + float t = (scrimGroup.transitionParams.top + scrimGroup.transitionParams.offsetTop + chatListView.getY()); + float r = (scrimGroup.transitionParams.right + x + scrimGroup.transitionParams.offsetRight); + float b = (scrimGroup.transitionParams.bottom + scrimGroup.transitionParams.offsetBottom + chatListView.getY()); + + if (!scrimGroup.transitionParams.backgroundChangeBounds) { + t += cell.getTranslationY(); + b += cell.getTranslationY(); + } + canvas.save(); + canvas.clipRect(0, listTop, getMeasuredWidth(), chatListView.getY() + chatListView.getHeight()); + cell.drawBackground(canvas, (int) l, (int) t, (int) r, (int) b, scrimGroup.transitionParams.pinnedTop, scrimGroup.transitionParams.pinnedBotton); + canvas.restore(); + groupedBackgroundWasDraw = true; + } + int clipLeft = 0; int clipBottom = 0; if (position != null) { @@ -1961,6 +2134,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not float viewClipRight; float viewClipTop; float viewClipBottom; + if (clipLeft != 0) { float x = chatListView.getLeft() + clipLeft + child.getTranslationX(); float y = chatListView.getTop() + child.getTop(); @@ -1983,10 +2157,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not viewClipRight = Math.min(chatListView.getRight(), chatListView.getLeft() + child.getX() + child.getMeasuredWidth()); viewClipBottom = Math.min(chatListView.getY() + chatListView.getMeasuredHeight(), chatListView.getY() + child.getY() + child.getMeasuredHeight()); } + if (viewClipTop < viewClipBottom) { - canvas.save(); + if (child.getAlpha() != 1f) { + canvas.saveLayerAlpha(viewClipLeft, viewClipTop, viewClipRight, viewClipBottom, (int) (255 * child.getAlpha()), Canvas.ALL_SAVE_FLAG); + } else { + canvas.save(); + } canvas.clipRect(viewClipLeft, viewClipTop, viewClipRight, viewClipBottom); - canvas.translate(chatListView.getLeft() + child.getLeft(), chatListView.getY() + child.getTop()); + canvas.translate(chatListView.getLeft() + child.getX(), chatListView.getY() + child.getY()); child.draw(canvas); canvas.restore(); } @@ -2005,6 +2184,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } + int size = drawTimeAfter.size(); if (size > 0) { for (int a = 0; a < size; a++) { @@ -2065,6 +2245,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not heightSize -= actionBarHeight; } + if (lastHeight != allHeight && ! SharedConfig.smoothKeyboard) { + measureKeyboardHeight(); + } int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { @@ -2117,7 +2300,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not child.measure(contentWidthSpec, contentHeightSpec); } else if (child == instantCameraView || child == overlayView) { int contentWidthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); - int contentHeightSpec = MeasureSpec.makeMeasureSpec(allHeight - inputFieldHeight + AndroidUtilities.dp(3), MeasureSpec.EXACTLY); + int h = allHeight; + if (SharedConfig.smoothKeyboard) { + h -= chatActivityEnterView.getEmojiPadding(); + } + int contentHeightSpec = MeasureSpec.makeMeasureSpec(h - inputFieldHeight + AndroidUtilities.dp(3), MeasureSpec.EXACTLY); child.measure(contentWidthSpec, contentHeightSpec); } else if (child == emptyViewContainer) { int contentWidthSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY); @@ -2332,7 +2519,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private void setNonNoveTranslation(int y) { contentView.setTranslationY(y); actionBar.setTranslationY(0); - // instantCameraView.setTranslationY(instantCameraView.getBottom() - chatListView.getBottom() + chatListView.getTranslationY()); + contentView.setBackgroundTranslation(0); if (pinnedMessageView != null) { pinnedMessageView.setTranslationY(0); @@ -2344,6 +2531,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not fragmentLocationContextView.setTranslationY(0); } topChatPanelView.setTranslationY(0); + instantCameraView.onPanTranslationUpdate(0); } @Override @@ -2354,7 +2542,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (chatAttachAlert != null && chatAttachAlert.isShowing() || chatActivityEnterView.isPopupShowing()) { setNonNoveTranslation(y); } else { - // instantCameraView.setTranslationY(instantCameraView.getBottom() - chatListView.getBottom() + chatListView.getTranslationY()); actionBar.setTranslationY(y); contentView.setBackgroundTranslation(y); if (pinnedMessageView != null) { @@ -2367,6 +2554,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not fragmentLocationContextView.setTranslationY(y); } topChatPanelView.setTranslationY(y); + instantCameraView.onPanTranslationUpdate(y); } } }; @@ -2449,15 +2637,31 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private float replyButtonProgress; private long lastReplyButtonAnimationTime; + private boolean ignoreLayout; + int lastH = 0; @Override - protected void onMeasure(int widthSpec, int heightSpec) { - super.onMeasure(widthSpec, heightSpec); - if (lastH != getMeasuredHeight()) { - chatScrollHelper.cancel(); + public void requestLayout() { + if (ignoreLayout) { + return; } - lastH = getMeasuredHeight(); + super.requestLayout(); + } + + @Override + protected void onMeasure(int widthSpec, int heightSpec) { + int height = MeasureSpec.getSize(heightSpec); + if (lastH != height) { + ignoreLayout = true; + if (chatListItemAniamtor != null) { + chatListItemAniamtor.endAnimations(); + } + chatScrollHelper.cancel(); + ignoreLayout = false; + lastH = height; + } + super.onMeasure(widthSpec, heightSpec); } @Override @@ -2468,20 +2672,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not hideHints(false); } forceScrollToTop = false; - if (chatAdapter.isBot) { - int childCount = getChildCount(); - for (int a = 0; a < childCount; a++) { - View child = getChildAt(a); - if (child instanceof BotHelpCell) { - int height = b - t; - int top = height / 2 - child.getMeasuredHeight() / 2; - if (child.getTop() > top) { - child.layout(0, top, r - l, top + child.getMeasuredHeight()); - } - break; - } - } - } if (textSelectionHelper != null && textSelectionHelper.isSelectionMode()) { textSelectionHelper.invalidate(); } @@ -2500,7 +2690,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } ChatMessageCell cell = (ChatMessageCell) child; if (cell.getCurrentMessagesGroup() == group) { - cell.setTranslationX(dx); + cell.setSlidingOffset(dx); cell.invalidate(); } } @@ -2518,7 +2708,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public boolean onInterceptTouchEvent(MotionEvent e) { textSelectionHelper.checkSelectionCancel(e); - if (animationRunning) { + if (isScrollAnimationRunning()) { return false; } boolean result = super.onInterceptTouchEvent(e); @@ -2533,7 +2723,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (slidingView == null) { return; } - float translationX = slidingView.getTranslationX(); + float translationX = slidingView.getNonAnimationTranslationX(false); long newTime = System.currentTimeMillis(); long dt = Math.min(17, newTime - lastReplyButtonAnimationTime); lastReplyButtonAnimationTime = newTime; @@ -2572,7 +2762,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } Theme.chat_shareDrawable.setAlpha(alpha); Theme.chat_replyIconDrawable.setAlpha(alpha); - float x = getMeasuredWidth() + slidingView.getTranslationX() / 2; + float x = getMeasuredWidth() + slidingView.getNonAnimationTranslationX(false) / 2; float y = slidingView.getTop() + slidingView.getMeasuredHeight() / 2; if (!Theme.isCustomTheme() || Theme.hasThemeKey(Theme.key_chat_shareBackground)) { Theme.chat_shareDrawable.setColorFilter(Theme.getShareColorFilter(Theme.getColor(Theme.key_chat_shareBackground), false)); @@ -2639,7 +2829,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } else { wasTrackingVibrate = false; } - slidingView.setTranslationX(dx); + slidingView.setSlidingOffset(dx); MessageObject messageObject = slidingView.getMessageObject(); if (messageObject.isRoundVideo() || messageObject.isVideo()) { updateTextureViewPosition(false); @@ -2648,10 +2838,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not invalidate(); } } else if (slidingView != null && (e == null || e.getPointerId(0) == startedTrackingPointerId && (e.getAction() == MotionEvent.ACTION_CANCEL || e.getAction() == MotionEvent.ACTION_UP || e.getAction() == MotionEvent.ACTION_POINTER_UP))) { - if (e != null && e.getAction() != MotionEvent.ACTION_CANCEL && Math.abs(slidingView.getTranslationX()) >= AndroidUtilities.dp(50)) { + if (e != null && e.getAction() != MotionEvent.ACTION_CANCEL && Math.abs(slidingView.getNonAnimationTranslationX(false)) >= AndroidUtilities.dp(50)) { showFieldPanelForReply(slidingView.getMessageObject()); } - endTrackingX = slidingView.getTranslationX(); + endTrackingX = slidingView.getSlidingOffsetX(); if (endTrackingX == 0) { slidingView = null; } @@ -2667,7 +2857,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public boolean onTouchEvent(MotionEvent e) { textSelectionHelper.checkSelectionCancel(e); - if (animationRunning) { + if (isScrollAnimationRunning()) { return false; } boolean result = super.onTouchEvent(e); @@ -2711,7 +2901,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not public void onDraw(Canvas c) { super.onDraw(c); if (slidingView != null) { - float translationX = slidingView.getTranslationX(); + float translationX = slidingView.getSlidingOffsetX(); if (!maybeStartTrackingSlidingView && !startedTrackingSlidingView && endTrackingX != 0 && translationX != 0) { long newTime = System.currentTimeMillis(); long dt = newTime - lastTrackingAnimationTime; @@ -2725,7 +2915,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not endTrackingX = 0; } setGroupTranslationX(slidingView, translationX); - slidingView.setTranslationX(translationX); + slidingView.setSlidingOffset(translationX); MessageObject messageObject = slidingView.getMessageObject(); if (messageObject.isRoundVideo() || messageObject.isVideo()) { updateTextureViewPosition(false); @@ -2739,19 +2929,34 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not drawReplyButton(c); } - if (chatListView.animationRunning) { + if (chatListView.isScrollAnimationRunning()) { updateTextureViewPosition(false); } } + + ArrayList drawingGroups = new ArrayList<>(10); + @Override protected void dispatchDraw(Canvas canvas) { drawLaterRoundProgressCell = null; MessageObject.GroupedMessages lastDrawnGroup = null; int count = getChildCount(); + for (int a = 0; a < count; a++) { View child = getChildAt(a); - if (child instanceof ChatMessageCell) { + if (chatAdapter.isBot && child instanceof BotHelpCell) { + BotHelpCell botCell = (BotHelpCell) child; + int top = getMeasuredHeight() / 2 - child.getMeasuredHeight() / 2; + if (!botCell.animating()) { + if (child.getTop() > top) { + child.setTranslationY(top - child.getTop()); + } else { + child.setTranslationY(0); + } + } + break; + } else if (child instanceof ChatMessageCell) { ChatMessageCell cell = (ChatMessageCell) child; MessageObject.GroupedMessages group = cell.getCurrentMessagesGroup(); if (group != null && group == lastDrawnGroup) { @@ -2814,6 +3019,107 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } + + MessageObject.GroupedMessages scrimGroup = null; + if (scrimView instanceof ChatMessageCell) { + scrimGroup = ((ChatMessageCell) scrimView).getCurrentMessagesGroup(); + } + for (int k = 0; k < 3; k++) { + drawingGroups.clear(); + if (k == 2 && !chatListView.isScrollAnimationRunning()) { + continue; + } + for (int i = 0; i < count; i++) { + View child = chatListView.getChildAt(i); + if (child instanceof ChatMessageCell) { + ChatMessageCell cell = (ChatMessageCell) child; + if (chatListView.isScrollAnimationRunning()) { + if (child.getY() > chatListView.getHeight() || child.getY() + child.getHeight() < 0) { + continue; + } + } else { + if (child.getTop() > chatListView.getHeight() || child.getTop() + child.getHeight() < 0) { + continue; + } + } + MessageObject.GroupedMessages group = cell.getCurrentMessagesGroup(); + if (group == null || (k == 0 && group.messages.size() == 1) || (k == 1 && !group.transitionParams.drawBackgroundForDeletedItems)) { + continue; + } + if ((k == 0 && cell.getMessageObject().deleted) || (k == 1 && !cell.getMessageObject().deleted)) { + continue; + } + if ((k == 2 && !cell.willRemovedAfterAnimation()) || (k != 2 && cell.willRemovedAfterAnimation())) { + continue; + } + + if (!drawingGroups.contains(group)) { + group.transitionParams.left = 0; + group.transitionParams.top = 0; + group.transitionParams.right = 0; + group.transitionParams.bottom = 0; + + group.transitionParams.pinnedBotton = false; + group.transitionParams.pinnedTop = false; + group.transitionParams.cell = cell; + drawingGroups.add(group); + } + + if ((cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_TOP) != 0) { + group.transitionParams.pinnedTop = cell.isPinnedTop(); + } + if ((cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_BOTTOM) != 0) { + group.transitionParams.pinnedBotton = cell.isPinnedBottom(); + } + + + int left = (cell.getLeft() + cell.getBackgroundDrawableLeft()); + int right = (cell.getLeft() + cell.getBackgroundDrawableRight()); + int top = (cell.getTop() + cell.getBackgroundDrawableTop()); + int bottom = (cell.getTop() + cell.getBackgroundDrawableBottom()); + + if (cell.willRemovedAfterAnimation()) { + group.transitionParams.cell = cell; + } + + if (group.transitionParams.top == 0 || top < group.transitionParams.top) { + group.transitionParams.top = top; + } + if (group.transitionParams.bottom == 0 || bottom > group.transitionParams.bottom) { + group.transitionParams.bottom = bottom; + } + if (group.transitionParams.left == 0 || left < group.transitionParams.left) { + group.transitionParams.left = left; + } + if (group.transitionParams.right == 0 || right > group.transitionParams.right) { + group.transitionParams.right = right; + } + } + } + + for (int i = 0; i < drawingGroups.size(); i++) { + MessageObject.GroupedMessages group = drawingGroups.get(i); + if (group == scrimGroup) { + group.transitionParams.cell = null; + continue; + } + float x = group.transitionParams.cell.getNonAnimationTranslationX(true); + float l = (group.transitionParams.left + x + group.transitionParams.offsetLeft); + float t = (group.transitionParams.top + group.transitionParams.offsetTop); + float r = (group.transitionParams.right + x + group.transitionParams.offsetRight); + float b = (group.transitionParams.bottom + group.transitionParams.offsetBottom); + + if (!group.transitionParams.backgroundChangeBounds) { + t += group.transitionParams.cell.getTranslationY(); + b += group.transitionParams.cell.getTranslationY(); + } + + group.transitionParams.cell.drawBackground(canvas, (int) l, (int) t, (int) r, (int) b, group.transitionParams.pinnedTop, group.transitionParams.pinnedBotton); + group.transitionParams.cell = null; + group.transitionParams.drawCaptionLayout = group.hasCaption; + } + } + super.dispatchDraw(canvas); } @@ -2828,10 +3134,12 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not skipDraw = true; } + MessageObject.GroupedMessages group = null; + if (child instanceof ChatMessageCell) { cell = (ChatMessageCell) child; MessageObject.GroupedMessagePosition position = cell.getCurrentPosition(); - MessageObject.GroupedMessages group = cell.getCurrentMessagesGroup(); + group = cell.getCurrentMessagesGroup(); if (position != null) { if (position.pw != position.spanSize && position.spanSize == 1000 && position.siblingHeights == null && group.hasSibling) { clipLeft = cell.getBackgroundDrawableLeft(); @@ -2860,7 +3168,26 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } boolean result; if (!skipDraw) { + boolean clipToGroupBounds = group != null && group.transitionParams.backgroundChangeBounds; + if (clipToGroupBounds) { + canvas.save(); + float x = cell.getNonAnimationTranslationX(true); + float l = (group.transitionParams.left + x + group.transitionParams.offsetLeft); + float t = (group.transitionParams.top + group.transitionParams.offsetTop); + float r = (group.transitionParams.right + x + group.transitionParams.offsetRight); + float b = (group.transitionParams.bottom + group.transitionParams.offsetBottom); + + canvas.clipRect( + l + AndroidUtilities.dp(4), + t + AndroidUtilities.dp(4), + r - AndroidUtilities.dp(4), + b - AndroidUtilities.dp(4) + ); + } result = super.drawChild(canvas, child, drawingTime); + if (clipToGroupBounds) { + canvas.restore(); + } } else { result = false; } @@ -2894,8 +3221,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not for (int a = 0; a < size; a++) { cell = drawTimeAfter.get(a); canvas.save(); - canvas.translate(cell.getLeft() + cell.getTranslationX(), cell.getY()); - cell.drawTime(canvas); + canvas.translate(cell.getLeft() + cell.getNonAnimationTranslationX(false), cell.getY()); + cell.drawTime(canvas, cell.shouldDrawAlphaLayer() ? cell.getAlpha() : 1f); canvas.restore(); } drawTimeAfter.clear(); @@ -2904,9 +3231,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (size > 0) { for (int a = 0; a < size; a++) { cell = drawNamesAfter.get(a); + float canvasOffsetX = cell.getLeft() + cell.getNonAnimationTranslationX(false); + float canvasOffsetY = cell.getY(); + float alpha = cell.shouldDrawAlphaLayer() ? cell.getAlpha() : 1f; + canvas.save(); - canvas.translate(cell.getLeft() + cell.getTranslationX(), cell.getY()); - cell.drawNamesLayout(canvas); + canvas.translate(canvasOffsetX, canvasOffsetY); + cell.drawNamesLayout(canvas, alpha); canvas.restore(); } drawNamesAfter.clear(); @@ -2915,12 +3246,33 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (size > 0) { for (int a = 0; a < size; a++) { cell = drawCaptionAfter.get(a); - if (cell.getCurrentPosition() == null) { - continue; + boolean selectionOnly = false; + if (cell.getCurrentPosition() != null) { + selectionOnly = (cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_LEFT) == 0; } + float alpha = cell.shouldDrawAlphaLayer() ? cell.getAlpha() : 1f; + float canvasOffsetX = cell.getLeft() + cell.getNonAnimationTranslationX(false); + float canvasOffsetY = cell.getY(); canvas.save(); - canvas.translate(cell.getLeft() + cell.getTranslationX(), cell.getY()); - cell.drawCaptionLayout(canvas, (cell.getCurrentPosition().flags & MessageObject.POSITION_FLAG_LEFT) == 0); + MessageObject.GroupedMessages groupedMessages = cell.getCurrentMessagesGroup(); + if (groupedMessages != null && groupedMessages.transitionParams.backgroundChangeBounds) { + float x = cell.getNonAnimationTranslationX(true); + float l = (groupedMessages.transitionParams.left + x + groupedMessages.transitionParams.offsetLeft); + float t = (groupedMessages.transitionParams.top + groupedMessages.transitionParams.offsetTop); + float r = (groupedMessages.transitionParams.right + x + groupedMessages.transitionParams.offsetRight); + float b = (groupedMessages.transitionParams.bottom + groupedMessages.transitionParams.offsetBottom); + + if (!groupedMessages.transitionParams.backgroundChangeBounds) { + t += cell.getTranslationY(); + b += cell.getTranslationY(); + } + canvas.clipRect( + l + AndroidUtilities.dp(8), t + AndroidUtilities.dp(8), + r - AndroidUtilities.dp(8), b - AndroidUtilities.dp(8) + ); + } + canvas.translate(canvasOffsetX, canvasOffsetY); + cell.drawCaptionLayout(canvas, selectionOnly, alpha); canvas.restore(); } drawCaptionAfter.clear(); @@ -2936,37 +3288,63 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ChatMessageCell chatMessageCell = (ChatMessageCell) child; MessageObject.GroupedMessagePosition position = chatMessageCell.getCurrentPosition(); - if (position != null) { - if (position.last || position.minX == 0 && position.minY == 0) { + if (position != null || chatMessageCell.getTransitionParams().animateBackgroundBoundsInner) { + if (position == null || (position.last || position.minX == 0 && position.minY == 0)) { if (num == count - 1) { + float alpha = chatMessageCell.shouldDrawAlphaLayer() ? chatMessageCell.getAlpha() : 1f; + float canvasOffsetX = chatMessageCell.getLeft() + chatMessageCell.getNonAnimationTranslationX(false); + float canvasOffsetY = chatMessageCell.getTop(); canvas.save(); - canvas.translate(chatMessageCell.getLeft() + chatMessageCell.getTranslationX(), chatMessageCell.getTop()); - if (position.last) { - chatMessageCell.drawTime(canvas); + canvas.translate(canvasOffsetX, canvasOffsetY); + if (position == null || position.last) { + chatMessageCell.drawTime(canvas, alpha); } - if (position.minX == 0 && position.minY == 0) { - chatMessageCell.drawNamesLayout(canvas); + if (position == null || (position.minX == 0 && position.minY == 0)) { + chatMessageCell.drawNamesLayout(canvas, alpha); } canvas.restore(); } else { - if (position.last) { + if (position == null || position.last) { drawTimeAfter.add(chatMessageCell); } - if (position.minX == 0 && position.minY == 0 && chatMessageCell.hasNameLayout()) { + if ((position == null || (position.minX == 0 && position.minY == 0)) && chatMessageCell.hasNameLayout()) { drawNamesAfter.add(chatMessageCell); } } } - if (num == count - 1) { - canvas.save(); - canvas.translate(chatMessageCell.getLeft() + chatMessageCell.getTranslationX(), chatMessageCell.getTop()); - if (chatMessageCell.hasCaptionLayout() && (position.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0) { - chatMessageCell.drawCaptionLayout(canvas, (position.flags & MessageObject.POSITION_FLAG_LEFT) == 0); - } - canvas.restore(); - } else { - if (chatMessageCell.hasCaptionLayout() && (position.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0) { - drawCaptionAfter.add(chatMessageCell); + if (position != null || chatMessageCell.getTransitionParams().transformGroupToSingleMessage) { + if (num == count - 1) { + float alpha = chatMessageCell.shouldDrawAlphaLayer() ? chatMessageCell.getAlpha() : 1f; + float canvasOffsetX = chatMessageCell.getLeft() + chatMessageCell.getNonAnimationTranslationX(false); + float canvasOffsetY = chatMessageCell.getTop(); + canvas.save(); + MessageObject.GroupedMessages groupedMessages = chatMessageCell.getCurrentMessagesGroup(); + if (groupedMessages != null && groupedMessages.transitionParams.backgroundChangeBounds) { + float x = chatMessageCell.getNonAnimationTranslationX(true); + float l = (groupedMessages.transitionParams.left + x + groupedMessages.transitionParams.offsetLeft); + float t = (groupedMessages.transitionParams.top + groupedMessages.transitionParams.offsetTop); + float r = (groupedMessages.transitionParams.right + x + groupedMessages.transitionParams.offsetRight); + float b = (groupedMessages.transitionParams.bottom + groupedMessages.transitionParams.offsetBottom); + + if (groupedMessages.transitionParams.backgroundChangeBounds) { + t -= chatMessageCell.getTranslationY(); + b -= chatMessageCell.getTranslationY(); + } + canvas.clipRect( + l + AndroidUtilities.dp(8), t + AndroidUtilities.dp(8), + r - AndroidUtilities.dp(8), b - AndroidUtilities.dp(8) + ); + } + canvas.translate(canvasOffsetX, canvasOffsetY); + if (position == null || (position.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0) { + boolean selectionOnly = position != null && (position.flags & MessageObject.POSITION_FLAG_LEFT) == 0; + chatMessageCell.drawCaptionLayout(canvas, selectionOnly, alpha); + } + canvas.restore(); + } else { + if (position == null || (position.flags & MessageObject.POSITION_FLAG_BOTTOM) != 0) { + drawCaptionAfter.add(chatMessageCell); + } } } } @@ -2985,12 +3363,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ImageReceiver imageReceiver = chatMessageCell.getAvatarImage(); if (imageReceiver != null) { MessageObject.GroupedMessages groupedMessages = getValidGroupedMessage(message); + if (chatMessageCell.getMessageObject().deleted) { + if (child.getTranslationY() != 0) { + canvas.restore(); + } + return result; + } - int top = child.getTop(); + boolean replaceAnimation = chatListView.isScrollAnimationRunning() || (groupedMessages != null && groupedMessages.transitionParams.backgroundChangeBounds); + int top = replaceAnimation ? child.getTop() : (int) child.getY(); if (chatMessageCell.isPinnedBottom()) { - int p; - if (chatMessageCell.willRemoved) { + if (chatMessageCell.willRemovedAfterAnimation()) { p = chatScrollHelper.positionToOldView.indexOfValue(child); if (p >= 0) { p = chatScrollHelper.positionToOldView.keyAt(p); @@ -3020,7 +3404,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } else { nextPosition = p - 1; } - if (chatMessageCell.willRemoved) { + if (chatMessageCell.willRemovedAfterAnimation()) { View view = chatScrollHelper.positionToOldView.get(nextPosition); if (view != null) { if (child.getTranslationY() != 0) { @@ -3039,56 +3423,69 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } - float tx = chatMessageCell.getTranslationX(); - int y = child.getTop() + chatMessageCell.getLayoutHeight(); + float tx = chatMessageCell.getSlidingOffsetX() + chatMessageCell.getCheckBoxTranslation(); + + + int y = (int) ((replaceAnimation ? child.getTop() : child.getY()) + chatMessageCell.getLayoutHeight()); int maxY = chatListView.getMeasuredHeight() - chatListView.getPaddingBottom(); if (y > maxY) { y = maxY; } - if (chatMessageCell.willRemoved) { - if (chatMessageCell.isPinnedTop()) { - View view = chatMessageCell; - int p = chatScrollHelper.positionToOldView.indexOfValue(view); + + if (!replaceAnimation && child.getTranslationY() != 0) { + canvas.restore(); + } + if (chatMessageCell.isPinnedTop()) { + int p; + if (chatMessageCell.willRemovedAfterAnimation()) { + p = chatScrollHelper.positionToOldView.indexOfValue(child); if (p >= 0) { p = chatScrollHelper.positionToOldView.keyAt(p); } - if (p >= 0) { - int tries = 0; - while (true) { - if (tries >= 20) { + } else { + ViewHolder holder = chatListView.getChildViewHolder(child); + p = holder.getAdapterPosition(); + } + if (p >= 0) { + int tries = 0; + while (true) { + if (tries >= 20) { + break; + } + tries++; + + int prevPosition; + if (groupedMessages != null && position != null) { + int idx = groupedMessages.posArray.indexOf(position); + if (idx < 0) { break; } - tries++; - int prevPosition; - if (groupedMessages != null && position != null) { - int idx = groupedMessages.posArray.indexOf(position); - if (idx < 0) { - break; - } - int size = groupedMessages.posArray.size(); - if ((position.flags & MessageObject.POSITION_FLAG_TOP) != 0) { - prevPosition = p + idx + 1; - } else { - prevPosition = p + 1; - for (int a = idx - 1; a >= 0; a--) { - if (groupedMessages.posArray.get(a).maxY < position.minY) { - break; - } else { - prevPosition++; - } - } - } + int size = groupedMessages.posArray.size(); + if ((position.flags & MessageObject.POSITION_FLAG_TOP) != 0) { + prevPosition = p + idx + 1; } else { prevPosition = p + 1; + for (int a = idx - 1; a >= 0; a--) { + if (groupedMessages.posArray.get(a).maxY < position.minY) { + break; + } else { + prevPosition++; + } + } } - view = chatScrollHelper.positionToOldView.get(prevPosition); + } else { + prevPosition = p + 1; + } + if (chatMessageCell.willRemovedAfterAnimation()) { + View view = chatScrollHelper.positionToOldView.get(prevPosition); if (view != null) { - p = prevPosition; - top = (int) view.getY(); + top = view.getTop(); if (view instanceof ChatMessageCell) { cell = (ChatMessageCell) view; if (!cell.isPinnedTop()) { break; + } else { + p = prevPosition; } } else { break; @@ -3096,52 +3493,16 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } else { break; } - } - } - } - } else { - if (chatMessageCell.isPinnedTop()) { - ViewHolder holder = chatListView.getChildViewHolder(child); - if (holder != null) { - int tries = 0; - while (true) { - if (tries >= 20) { - break; - } - tries++; - int p = holder.getAdapterPosition(); - int prevPosition; - if (groupedMessages != null && position != null) { - int idx = groupedMessages.posArray.indexOf(position); - if (idx < 0) { - break; - } - int size = groupedMessages.posArray.size(); - if ((position.flags & MessageObject.POSITION_FLAG_TOP) != 0) { - prevPosition = p + idx + 1; - } else { - prevPosition = p + 1; - for (int a = idx - 1; a >= 0; a--) { - if (groupedMessages.posArray.get(a).maxY < position.minY) { - break; - } else { - prevPosition++; - } - } - } - } else { - prevPosition = p + 1; - } - holder = chatListView.findViewHolderForAdapterPosition(prevPosition); + } else { + ViewHolder holder = chatListView.findViewHolderForAdapterPosition(prevPosition); if (holder != null) { - top = (int) holder.itemView.getY(); + top = holder.itemView.getTop(); if (holder.itemView instanceof ChatMessageCell) { cell = (ChatMessageCell) holder.itemView; - if (y - AndroidUtilities.dp(48) < holder.itemView.getBottom()) { - //tx = Math.min(cell.getTranslationX(), tx); - } if (!cell.isPinnedTop()) { break; + } else { + p = prevPosition; } } else { break; @@ -3160,11 +3521,25 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not canvas.save(); canvas.translate(tx, 0); } + if (chatMessageCell.getCurrentMessagesGroup() != null) { + if (chatMessageCell.getCurrentMessagesGroup().transitionParams.backgroundChangeBounds) { + y -= chatMessageCell.getTranslationY(); + } + } imageReceiver.setImageY(y - AndroidUtilities.dp(44)); + if (cell.shouldDrawAlphaLayer()) { + imageReceiver.setAlpha(cell.getAlpha()); + } else { + imageReceiver.setAlpha(1f); + } imageReceiver.draw(canvas); if (tx != 0) { canvas.restore(); } + + if (!replaceAnimation && child.getTranslationY() != 0) { + canvas.save(); + } } } @@ -3199,6 +3574,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (currentEncryptedChat != null && Build.VERSION.SDK_INT >= 19) { chatListView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); } + chatListView.setNestedScrollingEnabled(false); chatListView.setInstantClick(true); chatListView.setDisableHighlightState(true); chatListView.setTag(1); @@ -3206,13 +3582,68 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not chatListView.setAdapter(chatAdapter = new ChatActivityAdapter(context)); chatListView.setClipToPadding(false); chatListView.setPadding(0, AndroidUtilities.dp(4), 0, AndroidUtilities.dp(3)); - chatListView.setItemAnimator(null); - chatListView.setLayoutAnimation(null); + if (MessagesController.getGlobalMainSettings().getBoolean("view_animations", true)) { + chatListItemAniamtor = new ChatListItemAnimator(this, chatListView) { + + int index = -1; + Runnable finishRunnable; + + @Override + public void onAnimationStart() { + if (index == -1) { + index = getNotificationCenter().setAnimationInProgress(index, allowedNotificationsDuringChatListAnimations); + } + if (finishRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(finishRunnable); + finishRunnable = null; + } + if (BuildVars.LOGS_ENABLED) { + FileLog.d("chatItemAnimator disable notifications"); + } + } + + @Override + protected void onAllAnimationsDone() { + super.onAllAnimationsDone(); + if (finishRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(finishRunnable); + } + AndroidUtilities.runOnUIThread(finishRunnable = () -> { + if (index != -1) { + getNotificationCenter().onAnimationFinish(index); + index = -1; + } + if (BuildVars.LOGS_ENABLED) { + FileLog.d("chatItemAnimator enable notifications"); + } + }); + } + + + @Override + public void endAnimations() { + super.endAnimations(); + if (finishRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(finishRunnable); + } + AndroidUtilities.runOnUIThread(finishRunnable = () -> { + if (index != -1) { + getNotificationCenter().onAnimationFinish(index); + index = -1; + } + if (BuildVars.LOGS_ENABLED) { + FileLog.d("chatItemAnimator enable notifications"); + } + }); + } + }; + chatListItemAniamtor.setSupportsChangeAnimations(false); + } chatLayoutManager = new GridLayoutManagerFixed(context, 1000, LinearLayoutManager.VERTICAL, true) { @Override public boolean supportsPredictiveItemAnimations() { - return false; + return true; } @Override @@ -3230,6 +3661,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return false; } + @Override protected boolean hasSiblingChild(int position) { if (position >= chatAdapter.messagesStartRow && position < chatAdapter.messagesEndRow) { @@ -3334,6 +3766,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } chatListView.setOverScrollMode(RecyclerView.OVER_SCROLL_ALWAYS); textSelectionHelper.stopScrolling(); + updateVisibleRows(); } else { if (newState == RecyclerView.SCROLL_STATE_SETTLING) { wasManualScroll = true; @@ -4107,7 +4540,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not int[] size = MessageObject.getInlineResultWidthAndHeight(result); EmbedBottomSheet.show(getParentActivity(), result.title != null ? result.title : "", result.description, result.content.url, result.content.url, size[0], size[1]); } else { - Browser.openUrl(getParentActivity(), result.content.url); + if (AndroidUtilities.shouldShowUrlInAlert(result.content.url)) { + AlertsCreator.showOpenUrlAlert(ChatActivity.this, result.content.url, true, true, true); + } else { + Browser.openUrl(getParentActivity(), result.content.url); + } } } })); @@ -4399,6 +4836,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not bottomMessagesActionContainer.setOnTouchListener((v, event) -> true); chatActivityEnterView = new ChatActivityEnterView(getParentActivity(), contentView, this, true) { + + int lastContentViewHeight; + @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (getAlpha() != 1.0f) { @@ -4422,12 +4862,73 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } return super.dispatchTouchEvent(ev); } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + int t = getBackgroundTop(); + if (chatActivityEnterViewAnimateFromTop != 0 && t != chatActivityEnterViewAnimateFromTop && lastContentViewHeight == contentView.getMeasuredHeight()) { + if (changeBoundAnimator != null) { + changeBoundAnimator.cancel(); + } + int dy = chatActivityEnterViewAnimateFromTop - t; + animatedTop = dy; + chatListView.setTranslationY(dy); + if (topView != null && topView.getVisibility() == View.VISIBLE) { + topView.setTranslationY(animatedTop + (1f - topViewEnterProgress) * topView.getLayoutParams().height); + if (topLineView != null) { + topLineView.setTranslationY(animatedTop); + } + } + + contentView.setClipChildren(false); + + changeBoundAnimator = ValueAnimator.ofFloat(1f, 0); + changeBoundAnimator.addUpdateListener(a -> { + int v = (int) (dy * (float) a.getAnimatedValue()); + animatedTop = v; + if (topView != null && topView.getVisibility() == View.VISIBLE) { + topView.setTranslationY(animatedTop + (1f - topViewEnterProgress) * topView.getLayoutParams().height); + if (topLineView != null) { + topLineView.setTranslationY(animatedTop); + } + } else { + chatListView.setTranslationY(v); + } + invalidate(); + }); + changeBoundAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + animatedTop = 0; + if (topView != null && topView.getVisibility() == View.VISIBLE) { + topView.setTranslationY(animatedTop + (1f - topViewEnterProgress) * topView.getLayoutParams().height); + if (topLineView != null) { + topLineView.setTranslationY(animatedTop); + } + } else { + chatListView.setTranslationY(0); + } + contentView.setClipChildren(true); + changeBoundAnimator = null; + } + }); + changeBoundAnimator.setDuration(200); + changeBoundAnimator.setStartDelay(20); + changeBoundAnimator.setInterpolator(CubicBezierInterpolator.DEFAULT); + if (!waitingForSendingMessageLoad) { + changeBoundAnimator.start(); + } + } + lastContentViewHeight = contentView.getMeasuredHeight(); + chatActivityEnterViewAnimateFromTop = 0; + } }; chatActivityEnterView.setDelegate(new ChatActivityEnterView.ChatActivityEnterViewDelegate() { @Override public void onMessageSend(CharSequence message, boolean notify, int scheduleDate) { - if (!inScheduleMode) { - moveScrollToLastMessage(); + if (chatListItemAniamtor != null) { + chatActivityEnterViewAnimateFromTop = chatActivityEnterView.getBackgroundTop(); } if (mentionsAdapter != null) { mentionsAdapter.addHashtagsFromMessage(message); @@ -4444,7 +4945,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } updateScheduledInterface(false); } - hideFieldPanel(notify, scheduleDate, false); + hideFieldPanel(notify, scheduleDate, true); } @Override @@ -4574,10 +5075,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void onMessageEditEnd(boolean loading) { + if (chatListItemAniamtor != null) { + chatActivityEnterViewAnimateFromTop = chatActivityEnterView.getBackgroundTop(); + } if (!loading) { mentionsAdapter.setNeedBotContext(currentEncryptedChat == null || AndroidUtilities.getPeerLayerVersion(currentEncryptedChat.layer) >= 46); if (editingMessageObject != null) { - hideFieldPanel(false); + AndroidUtilities.runOnUIThread(() -> hideFieldPanel(true), 30); + } chatActivityEnterView.setAllowStickersAndGifs(currentEncryptedChat == null || AndroidUtilities.getPeerLayerVersion(currentEncryptedChat.layer) >= 23, currentEncryptedChat == null || AndroidUtilities.getPeerLayerVersion(currentEncryptedChat.layer) >= 46); if (editingMessageObjectReqId != 0) { @@ -4615,6 +5120,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not allowContextBotPanel = !chatActivityEnterView.isPopupShowing(); checkContextBotPanel(); + chatActivityEnterViewAnimateFromTop = 0; } @Override @@ -4640,7 +5146,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (state == 0) { instantCameraView.showCamera(); chatListView.stopScroll(); - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); } else if (state == 1 || state == 3 || state == 4) { instantCameraView.send(state, notify, scheduleDate); } else if (state == 2 || state == 5) { @@ -4707,10 +5213,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void bottomPanelTranslationYChanged(float translation) { chatListView.setTranslationY(translation); -// instantCameraView.setTranslationY(translation); -// instantCameraView.onPanTranslationUpdate((int) translation); chatActivityEnterView.setTranslationY(translation); } + + @Override + public void prepareMessageSending() { + waitingForSendingMessageLoad = true; + } }); chatActivityEnterView.setDialogId(dialog_id, currentAccount); if (chatInfo != null) { @@ -4954,7 +5463,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not searchUpButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_actionBarActionModeDefaultSelector), 1)); searchContainer.addView(searchUpButton, LayoutHelper.createFrame(48, 48, Gravity.RIGHT | Gravity.TOP, 0, 0, 48, 0)); searchUpButton.setOnClickListener(view -> { - if (chatListView.animationRunning) { + if (chatListView.isScrollAnimationRunning()) { return; } getMediaDataController().searchMessagesInChat(null, dialog_id, mergeDialogId, classGuid, 1, searchingUserMessages); @@ -4974,7 +5483,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not searchDownButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_actionBarActionModeDefaultSelector), 1)); searchContainer.addView(searchDownButton, LayoutHelper.createFrame(48, 48, Gravity.RIGHT | Gravity.TOP, 0, 0, 0, 0)); searchDownButton.setOnClickListener(view -> { - if (chatListView.animationRunning) { + if (chatListView.isScrollAnimationRunning()) { return; } getMediaDataController().searchMessagesInChat(null, dialog_id, mergeDialogId, classGuid, 2, searchingUserMessages); @@ -5111,16 +5620,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } }; bottomOverlayChat.setWillNotDraw(false); - bottomOverlayChat.setPadding(0, AndroidUtilities.dp(3), 0, 0); + bottomOverlayChat.setPadding(0, AndroidUtilities.dp(1.5f), 0, 0); bottomOverlayChat.setVisibility(View.INVISIBLE); + bottomOverlayChat.setClipChildren(false); contentView.addView(bottomOverlayChat, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 51, Gravity.BOTTOM)); - bottomOverlayChatText = new TextView(context); - bottomOverlayChatText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15); - bottomOverlayChatText.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - bottomOverlayChatText.setTextColor(Theme.getColor(Theme.key_chat_fieldOverlayText)); - bottomOverlayChatText.setGravity(Gravity.CENTER); - bottomOverlayChat.addView(bottomOverlayChatText, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + bottomOverlayChatText = new UnreadCounterTextView(context); + bottomOverlayChat.addView(bottomOverlayChatText, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, 0, 0, 1.5f, 0, 0)); bottomOverlayChatText.setOnClickListener(view -> { if (getParentActivity() == null) { return; @@ -5178,12 +5684,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not }); bottomOverlayChatText2 = new UnreadCounterTextView(context); - bottomOverlayChatText2.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15); - bottomOverlayChatText2.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - bottomOverlayChatText2.setTextColor(Theme.getColor(Theme.key_chat_fieldOverlayText)); - bottomOverlayChatText2.setGravity(Gravity.CENTER); bottomOverlayChatText2.setVisibility(View.GONE); - bottomOverlayChat.addView(bottomOverlayChatText2, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + bottomOverlayChat.addView(bottomOverlayChatText2, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, 0, 0, 1.5f, 0, 0)); bottomOverlayChatText2.setOnClickListener(v -> { if (chatInfo == null) { return; @@ -5264,7 +5766,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not contentView.addView(slowModeHint, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP, 19, 0, 19, 0)); } - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); if (loading && messages.isEmpty()) { progressView.setVisibility(chatAdapter.botInfoRow == -1 ? View.VISIBLE : View.INVISIBLE); chatListView.setEmptyView(null); @@ -5301,7 +5803,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not swipeBackEnabled = !isSelected; if (isSelected) { if (slidingView != null) { - slidingView.setTranslationX(0); + slidingView.setSlidingOffset(0); slidingView = null; } maybeStartTrackingSlidingView = false; @@ -5328,6 +5830,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return fragmentView; } + private TextureView createTextureView(boolean add) { if (parentLayout == null) { return null; @@ -5677,7 +6180,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not waitingForLoad.add(lastLoadIndex); postponedScrollMessageId = 0; postponedScrollIsCanceled = false; - getMessagesController().loadMessages(dialog_id, 30, 0, date, true, 0, classGuid, 4, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 30, 0, date, true, 0, classGuid, 4, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); floatingDateView.setAlpha(0.0f); floatingDateView.setTag(null); } @@ -5718,7 +6221,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (chatAttachAlert.isShowing()) { AndroidUtilities.requestAdjustResize(getParentActivity(), classGuid); if (chatActivityEnterView.getVisibility() == View.VISIBLE && fragmentView != null) { - fragmentView.requestLayout(); + // fragmentView.requestLayout(); } } super.dismissInternal(); @@ -5751,15 +6254,16 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MediaController.PhotoEntry photoEntry = (MediaController.PhotoEntry) selectedPhotos.get(selectedPhotosOrder.get(a)); SendMessagesHelper.SendingMediaInfo info = new SendMessagesHelper.SendingMediaInfo(); - if (photoEntry.imagePath != null) { + if (!photoEntry.isVideo && photoEntry.imagePath != null) { info.path = photoEntry.imagePath; } else if (photoEntry.path != null) { info.path = photoEntry.path; } + info.thumbPath = photoEntry.thumbPath; info.isVideo = photoEntry.isVideo; info.caption = photoEntry.caption != null ? photoEntry.caption.toString() : null; info.entities = photoEntry.entities; - info.masks = !photoEntry.stickers.isEmpty() ? new ArrayList<>(photoEntry.stickers) : null; + info.masks = photoEntry.stickers; info.ttl = photoEntry.ttl; info.videoEditedInfo = photoEntry.editedInfo; info.canDeleteAfter = photoEntry.canDeleteAfter; @@ -5812,6 +6316,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not AndroidUtilities.setAdjustResizeToNothing(getParentActivity(), classGuid); fragmentView.requestLayout(); } + + @Override + public void doOnIdle(Runnable runnable) { + if (chatListItemAniamtor != null && chatListItemAniamtor.isRunning()) { + chatListItemAniamtor.runOnAnimationEnd(runnable); + } else { + runnable.run(); + } + } }); } } @@ -6125,7 +6638,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return; } - voiceHintTextView.setText(video ? LocaleController.getString("HoldToVideo", R.string.HoldToVideo) : LocaleController.getString("HoldToAudio", R.string.HoldToAudio)); + if (chatActivityEnterView.hasRecordVideo()) { + voiceHintTextView.setText(video ? LocaleController.getString("HoldToVideo", R.string.HoldToVideo) : LocaleController.getString("HoldToAudio", R.string.HoldToAudio)); + } else { + voiceHintTextView.setText(LocaleController.getString("HoldToAudioOnly", R.string.HoldToAudioOnly)); + } if (voiceHintHideRunnable != null) { if (voiceHintAnimation != null) { @@ -6407,6 +6924,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } private void showGifHint() { + if (chatActivityEnterView == null || chatActivityEnterView.getVisibility() != View.VISIBLE) { + return; + } SharedPreferences preferences = MessagesController.getGlobalMainSettings(); if (preferences.getBoolean("gifhint", false)) { return; @@ -6734,6 +7254,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return chatActivityEnterView; } + public boolean isKeyboardVisible() { + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : contentView.getKeyboardHeight(); + return keyboardSize > AndroidUtilities.dp(20); + } + private void checkScrollForLoad(boolean scroll) { if (chatLayoutManager == null || paused) { return; @@ -6752,24 +7277,24 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not loading = true; waitingForLoad.add(lastLoadIndex); if (messagesByDays.size() != 0) { - getMessagesController().loadMessages(dialog_id, 50, maxMessageId[0], 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 50, maxMessageId[0], 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } else { - getMessagesController().loadMessages(dialog_id, 50, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 50, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } } else if (mergeDialogId != 0 && !endReached[1]) { loading = true; waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(mergeDialogId, 50, maxMessageId[1], 0, !cacheEndReached[1], minDate[1], classGuid, 0, 0, false, inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(mergeDialogId, 0, false, 50, maxMessageId[1], 0, !cacheEndReached[1], minDate[1], classGuid, 0, 0, false, inScheduleMode, lastLoadIndex++); } } if (visibleItemCount > 0 && !loadingForward && firstVisibleItem <= 10) { if (mergeDialogId != 0 && !forwardEndReached[1]) { waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(mergeDialogId, 50, minMessageId[1], 0, true, maxDate[1], classGuid, 1, 0, false, inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(mergeDialogId, 0, false, 50, minMessageId[1], 0, true, maxDate[1], classGuid, 1, 0, false, inScheduleMode, lastLoadIndex++); loadingForward = true; } else if (!forwardEndReached[0]) { waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, 50, minMessageId[0], 0, true, maxDate[0], classGuid, 1, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 50, minMessageId[0], 0, true, maxDate[0], classGuid, 1, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); loadingForward = true; } } @@ -6920,7 +7445,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not boolean hasNoGifs = false; for (int a = 0; a < photos.size(); a++) { SendMessagesHelper.SendingMediaInfo info = photos.get(a); - if (info.inlineResult == null) { + if (info.inlineResult == null && info.videoEditedInfo == null) { hasNoGifs = true; break; } @@ -6930,7 +7455,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } for (int a = 0; a < photos.size(); a++) { SendMessagesHelper.SendingMediaInfo info = photos.get(a); - if (info.inlineResult != null) { + if (info.inlineResult != null && info.videoEditedInfo == null) { SendMessagesHelper.prepareSendingBotContextResult(getAccountInstance(), info.inlineResult, info.params, dialog_id, replyingMessageObject, notify, scheduleDate); photos.remove(a); a--; @@ -7128,6 +7653,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (arrayList == null || arrayList.isEmpty()) { return; } + if ((scheduleDate != 0) == inScheduleMode) { + waitingForSendingMessageLoad = true; + } if (!fromMyName) { AlertsCreator.showSendMediaAlert(getSendMessagesHelper().sendMessage(arrayList, dialog_id, notify, scheduleDate), this); } else { @@ -7535,7 +8063,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not forwardMessages(messagesToForward, false, notify, scheduleDate != 0 && scheduleDate != 0x7ffffffe ? scheduleDate + 1 : scheduleDate); } chatActivityEnterView.setForceShowSendButton(false, false); - chatActivityEnterView.hideTopView(animated); + if (!waitingForSendingMessageLoad) { + chatActivityEnterView.hideTopView(animated); + } chatActivityEnterView.setReplyingMessageObject(null); chatActivityEnterView.setEditingMessageObject(null, false); topViewWasVisible = 0; @@ -7549,6 +8079,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private void moveScrollToLastMessage() { if (chatListView != null && !messages.isEmpty()) { chatLayoutManager.scrollToPositionWithOffset(0, 0); + chatListView.stopScroll(); } } @@ -7604,7 +8135,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } private void scrollToLastMessage(boolean pagedown) { - if (chatListView.animationRunning) { + if (chatListView.isScrollAnimationRunning()) { return; } chatScrollHelper.setScrollDirection(RecyclerAnimationScrollHelper.SCROLL_DIRECTION_DOWN); @@ -7618,42 +8149,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not int h = 0; int maxH = (int) (chatListView.getMeasuredHeight() * 1.5f); int i = chatLayoutManager.findFirstVisibleItemPosition() - 1; - View firstView = chatLayoutManager.findViewByPosition(i + 1); - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); - if (dummyMessageCell == null) { - dummyMessageCell = new ChatMessageCell(getParentActivity()); - } - - dummyMessageCell.isChat = currentChat != null || UserObject.isUserSelf(currentUser); - dummyMessageCell.isBot = currentUser != null && currentUser.bot; - dummyMessageCell.isMegagroup = ChatObject.isChannel(currentChat) && currentChat.megagroup; - - while (h < maxH) { - if (i < chatAdapter.messagesStartRow || i > chatAdapter.messagesEndRow) break; - MessageObject messageObject = messages.get(i - chatAdapter.messagesStartRow); - MessageObject.GroupedMessages groupedMessages = groupedMessagesMap.get(messageObject.getGroupId()); - h += dummyMessageCell.computeHeight(messageObject, groupedMessages); - i--; - } - - if (h > maxH) { - chatScrollHelperCallback.scrollTo = null; - chatScrollHelper.scrollToPosition(0, 0, true, true); - } else { - MessageObject messageObject = messages.size() > 0 ? messages.get(0) : null; - if (messageObject != null && messageObject.getApproximateHeight() > chatListView.getMeasuredHeight() / 2) { - chatScrollHelperCallback.scrollTo = null; - chatScrollHelper.scrollToPosition(0, 0, true, true); - } else { - if (firstView != null) { - chatListView.smoothScrollBy(0, h + firstView.getBottom() - chatListView.getMeasuredHeight() + AndroidUtilities.dp(20)); - chatListView.setOverScrollMode(RecyclerListView.OVER_SCROLL_NEVER); - } else { - chatLayoutManager.scrollToPositionWithOffset(0, 0); - } - } - } + chatScrollHelperCallback.scrollTo = null; + chatScrollHelper.scrollToPosition(0, 0, true, true); } } else { if (pagedown) { @@ -7673,7 +8172,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, 30, 0, 0, true, 0, classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 30, 0, 0, true, 0, classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } } @@ -7707,8 +8206,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not videoPlayerContainer.setTag(R.id.parent_tag, imageReceiver); if (layoutParams.width != imageReceiver.getImageWidth() || layoutParams.height != imageReceiver.getImageHeight()) { aspectRatioFrameLayout.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL); - layoutParams.width = imageReceiver.getImageWidth(); - layoutParams.height = imageReceiver.getImageHeight(); + layoutParams.width = (int) imageReceiver.getImageWidth(); + layoutParams.height = (int) imageReceiver.getImageHeight(); videoPlayerContainer.setLayoutParams(layoutParams); } videoTextureView.setScaleX(1f); @@ -7750,7 +8249,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } - private void updateMessagesVisiblePart(boolean inLayout) { + public void updateMessagesVisiblePart(boolean inLayout) { if (chatListView == null) { return; } @@ -7837,13 +8336,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } minChild = view; } - if (view instanceof ChatActionCell && messageObject.isDateObject) { - if (view.getAlpha() != 1.0f) { - view.setAlpha(1.0f); - } - if (position < minPositionDateHolder) { - minPositionDateHolder = position; - minDateChild = view; + if (chatListItemAniamtor == null || !chatListItemAniamtor.isRunning()) { + if (view instanceof ChatActionCell && messageObject.isDateObject) { + if (view.getAlpha() != 1.0f) { + view.setAlpha(1.0f); + } + if (position < minPositionDateHolder) { + minPositionDateHolder = position; + minDateChild = view; + } } } } @@ -7857,7 +8358,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } else { videoPlayerContainer.setTranslationY(-AndroidUtilities.roundMessageSize - 100); fragmentView.invalidate(); - if ((messageObject.isRoundVideo() || messageObject.isVideo()) && messageObject.eventId == 0 && checkTextureViewPosition && !chatListView.animationRunning) { + if ((messageObject.isRoundVideo() || messageObject.isVideo()) && messageObject.eventId == 0 && checkTextureViewPosition && !chatListView.isScrollAnimationRunning()) { MediaController.getInstance().setCurrentVideoVisible(false); } } @@ -7866,7 +8367,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MediaController.getInstance().setCurrentVideoVisible(true); } } - if (minMessageChild != null) { + if (minMessageChild != null && (chatListItemAniamtor == null || !chatListItemAniamtor.isRunning())) { MessageObject messageObject; if (minMessageChild instanceof ChatMessageCell) { messageObject = ((ChatMessageCell) minMessageChild).getMessageObject(); @@ -8061,7 +8562,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private AlertDialog progressDialog; public void scrollToMessageId(int id, int fromMessageId, boolean select, int loadIndex, boolean forceScroll) { - if (chatListView.animationRunning || getParentActivity() == null) { + if (chatListView.isScrollAnimationRunning() || (chatListItemAniamtor != null && chatListItemAniamtor.isRunning()) || getParentActivity() == null) { return; } @@ -8110,7 +8611,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not highlightMessageId = id; } - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); int position = chatAdapter.messagesStartRow + messages.indexOf(object); updateVisibleRows(); @@ -8251,7 +8752,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not waitingForLoad.add(lastLoadIndex); postponedScrollToLastMessageQueryIndex = lastLoadIndex; postponedScrollMessageId = id; - getMessagesController().loadMessages(loadIndex == 0 ? dialog_id : mergeDialogId, AndroidUtilities.isTablet() ? 30 : 20, startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(loadIndex == 0 ? dialog_id : mergeDialogId, 0, false, AndroidUtilities.isTablet() ? 30 : 20, startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); //emptyViewContainer.setVisibility(View.INVISIBLE); } else { View child = chatListView.getChildAt(0); @@ -9076,7 +9577,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not public void openVideoEditor(String videoPath, String caption) { if (getParentActivity() != null) { - final Bitmap thumb = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); + final Bitmap thumb = SendMessagesHelper.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); PhotoViewer.getInstance().setParentActivity(getParentActivity()); final ArrayList cameraPhoto = new ArrayList<>(); MediaController.PhotoEntry entry = new MediaController.PhotoEntry(0, 0, 0, videoPath, 0, true, 0, 0, 0); @@ -9254,12 +9755,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (id == NotificationCenter.messagesDidLoad) { int guid = (Integer) args[10]; if (guid == classGuid) { - setItemAnimationsEnabled(false); - if (!openAnimationEnded) { - getNotificationCenter().setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, + int queryLoadIndex = (Integer) args[11]; + boolean doNotRemoveLoadIndex; + if (queryLoadIndex < 0) { + doNotRemoveLoadIndex = true; + queryLoadIndex = -queryLoadIndex; + } else { + doNotRemoveLoadIndex = false; + } + if (!doNotRemoveLoadIndex && !openAnimationEnded) { + getNotificationCenter().updateAllowedNotifications(transitionAnimationIndex, new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, NotificationCenter.closeChats, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog/*, NotificationCenter.botInfoDidLoad*/}); } - int queryLoadIndex = (Integer) args[11]; int index = waitingForLoad.indexOf(queryLoadIndex); int currentUserId = getUserConfig().getClientUserId(); boolean schedule = (Boolean) args[14]; @@ -9270,10 +9777,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (inScheduleMode && schedule && !isCache) { waitingForReplyMessageLoad = true; waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } return; - } else { + } else if (!doNotRemoveLoadIndex) { waitingForLoad.remove(index); } ArrayList messArr = (ArrayList) args[2]; @@ -9354,7 +9861,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (load_type == 0 && isCache && messArr.size() < count) { postponedScrollToLastMessageQueryIndex = lastLoadIndex; waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, count, 0, 0, false, 0, classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, count, 0, 0, false, 0, classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); return; } @@ -9396,6 +9903,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } + if (chatListItemAniamtor != null) { + chatListItemAniamtor.setShouldAnimateEnterFromBottom(false); + } + int unread_to_load = 0; if (fnid != 0) { last_message_id = (Integer) args[5]; @@ -9502,6 +10013,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (messagesDict[loadIndex].indexOfKey(messageId) >= 0) { continue; } + if (currentEncryptedChat != null && obj.messageOwner.stickerVerified == 0) { + getMediaDataController().verifyAnimatedStickerMessage(obj.messageOwner); + } addToPolls(obj, null); if (isSecretChat()) { checkSecretMessageForLocation(obj); @@ -9578,6 +10092,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not dateObj.type = 10; dateObj.contentType = 1; dateObj.isDateObject = true; + dateObj.stableId = lastStableId++; if (load_type == 1) { messages.add(0, dateObj); } else { @@ -9633,6 +10148,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not newRowsCount++; dayArray.add(obj); + obj.stableId = lastStableId++; if (load_type == 1) { messages.add(0, obj); } else { @@ -9667,6 +10183,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MessageObject dateObj = new MessageObject(currentAccount, dateMsg, false); dateObj.type = 6; dateObj.contentType = 2; + dateObj.stableId = lastStableId++; messages.add(messages.size() - 1, dateObj); unreadMessageObject = dateObj; scrollToMessage = unreadMessageObject; @@ -9699,6 +10216,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MessageObject dateObj = new MessageObject(currentAccount, dateMsg, false); dateObj.type = 6; dateObj.contentType = 2; + dateObj.stableId = lastStableId++; if (load_type == 1) { messages.add(1, dateObj); } else { @@ -9837,12 +10355,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } else { if (newRowsCount != 0) { - boolean end = false; - if (endReached[loadIndex] && (loadIndex == 0 && mergeDialogId == 0 || loadIndex == 1)) { - end = true; - chatAdapter.notifyItemRangeChanged(chatAdapter.loadingUpRow - 1, 2); - chatAdapter.updateRows(); - } int firstVisPos = chatLayoutManager.findFirstVisibleItemPosition(); int lastVisPos = chatLayoutManager.findLastVisibleItemPosition(); int top = 0; @@ -9857,11 +10369,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } - - if (newRowsCount - (end ? 1 : 0) > 0) { - int insertStart = chatAdapter.messagesEndRow;/* (chatAdapter.isBot ? 2 : 1) + (end ? 0 : 1); TODO check with bot*/ - chatAdapter.notifyItemChanged(chatAdapter.loadingUpRow); - chatAdapter.notifyItemRangeInserted(insertStart, newRowsCount - (end ? 1 : 0)); + int insertStart = chatAdapter.messagesEndRow; + int loadingUpRow = chatAdapter.loadingUpRow; + chatAdapter.updateRowsInternal(); + if (loadingUpRow != -1 && chatAdapter.loadingUpRow == -1) { + chatAdapter.notifyItemRemoved(loadingUpRow); + } + if (newRowsCount > 0) { + chatAdapter.notifyItemChanged(insertStart - 1); + chatAdapter.notifyItemRangeInserted(insertStart, newRowsCount); } if (!postponedScroll && scrollToMessageObject != null) { int scrollToIndex = messages.indexOf(scrollToMessageObject); @@ -9869,8 +10385,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not chatLayoutManager.scrollToPositionWithOffset(chatAdapter.messagesStartRow + scrollToIndex, top); } } - } else if (endReached[loadIndex] && (loadIndex == 0 && mergeDialogId == 0 || loadIndex == 1)) { + } else if (chatAdapter.loadingUpRow != -1 && endReached[loadIndex] && (loadIndex == 0 && mergeDialogId == 0 || loadIndex == 1)) { chatAdapter.notifyItemRemoved(chatAdapter.loadingUpRow); + } else { + chatAdapter.notifyDataSetChanged(); } } @@ -9901,6 +10419,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MessageObject messageObject = groupedMessages.messages.get(groupedMessages.messages.size() - 1); int idx = messages.indexOf(messageObject); if (idx >= 0) { + if (chatListItemAniamtor != null) { + chatListItemAniamtor.groupWillChanged(groupedMessages); + } chatAdapter.notifyItemRangeChanged(idx + chatAdapter.messagesStartRow, groupedMessages.messages.size()); } } @@ -9929,14 +10450,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } if (newRowsCount == 0 && mergeDialogId != 0 && loadIndex == 0) { - getNotificationCenter().setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, + getNotificationCenter().updateAllowedNotifications(transitionAnimationIndex, new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog/*, NotificationCenter.botInfoDidLoad*/}); } if (showDateAfter) { showFloatingDateView(false); } checkScrollForLoad(false); - setItemAnimationsEnabled(true); if (postponedScroll) { chatAdapter.notifyDataSetChanged(); @@ -10107,6 +10627,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } + if (chatListItemAniamtor != null) { + chatListItemAniamtor.setShouldAnimateEnterFromBottom(true); + } + boolean notifiedSearch = false; LongSparseArray scheduledGroupReplacement = null; for (int a = 0; a < arr.size(); a++) { @@ -10202,6 +10726,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not for (int a = 0; a < arr.size(); a++) { MessageObject obj = arr.get(a); int messageId = obj.getId(); + + if (obj.isOut() && waitingForSendingMessageLoad) { + waitingForSendingMessageLoad = false; + chatActivityEnterView.hideTopView(true); + if (changeBoundAnimator != null) { + changeBoundAnimator.start(); + } + } + if (!inScheduleMode && currentUser != null && (currentUser.bot && obj.isOut() || currentUser.id == currentUserId)) { obj.setIsRead(); } @@ -10453,6 +10986,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not dateObj.type = 10; dateObj.contentType = 1; dateObj.isDateObject = true; + dateObj.stableId = lastStableId++; messages.add(placeToPaste, dateObj); if (chatAdapter != null) { chatAdapter.notifyItemInserted(placeToPaste); @@ -10474,6 +11008,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not MessageObject dateObj = new MessageObject(currentAccount, dateMsg, false); dateObj.type = 6; dateObj.contentType = 2; + dateObj.stableId = lastStableId++; messages.add(0, dateObj); if (chatAdapter != null) { chatAdapter.notifyItemInserted(0); @@ -10498,11 +11033,19 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } + obj.stableId = lastStableId++; messages.add(placeToPaste, obj); if (chatAdapter != null) { chatAdapter.notifyItemChanged(placeToPaste); chatAdapter.notifyItemInserted(placeToPaste); } + if (obj.isOut() && waitingForSendingMessageLoad) { + waitingForSendingMessageLoad = false; + chatActivityEnterView.hideTopView(true); + if (changeBoundAnimator != null) { + changeBoundAnimator.start(); + } + } if (!obj.isOut() && obj.messageOwner.mentioned && obj.isContentUnread()) { newMentionsCount++; } @@ -10744,7 +11287,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not maxDate[0] = maxDate[1] = Integer.MIN_VALUE; minDate[0] = minDate[1] = 0; waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, 30, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 30, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); loading = true; } else { if (botButtons != null) { @@ -10772,6 +11315,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return; } ArrayList markAsDeletedMessages = (ArrayList) args[0]; + ArrayList removedIndexes = new ArrayList<>(); + int channelId = (Integer) args[1]; int loadIndex = 0; if (ChatObject.isChannel(currentChat)) { @@ -10787,6 +11332,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } boolean updated = false; LongSparseArray newGroups = null; + LongSparseArray newGroupsSizes = null; int size = markAsDeletedMessages.size(); boolean updatedSelected = false; boolean updatedSelectedLast = false; @@ -10805,6 +11351,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not updatePinnedMessageView(true); } if (obj != null) { + obj.deleted = true; if (editingMessageObject == obj) { hideFieldPanel(true); } @@ -10820,13 +11367,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not addToSelectedMessages(obj, false, updatedSelectedLast = (a == size - 1)); } MessageObject removed = messages.remove(index); + removedIndexes.add(chatAdapter.messagesStartRow + index); if (removed.getGroupId() != 0) { MessageObject.GroupedMessages groupedMessages = groupedMessagesMap.get(removed.getGroupId()); if (groupedMessages != null) { if (newGroups == null) { newGroups = new LongSparseArray<>(); + newGroupsSizes = new LongSparseArray<>(); } newGroups.put(groupedMessages.groupId, groupedMessages); + if (newGroupsSizes.get(groupedMessages.groupId) == null) { + newGroupsSizes.put(groupedMessages.groupId, groupedMessages.messages.size()); + } groupedMessages.messages.remove(obj); } } @@ -10838,6 +11390,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not messagesByDays.remove(obj.dateKey); if (index >= 0 && index < messages.size()) { messages.remove(index); + removedIndexes.add(chatAdapter.messagesStartRow + index); } } } @@ -10854,6 +11407,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (newGroups != null) { for (int a = 0; a < newGroups.size(); a++) { MessageObject.GroupedMessages groupedMessages = newGroups.valueAt(a); + if (chatListItemAniamtor != null) { + if (groupedMessages.messages.size() == 1) { + chatListItemAniamtor.groupWillTransformToSingleMessage(groupedMessages); + } else { + chatListItemAniamtor.groupWillChanged(groupedMessages); + } + } + if (groupedMessages.messages.isEmpty()) { groupedMessagesMap.remove(groupedMessages.groupId); } else { @@ -10862,7 +11423,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not int index = messages.indexOf(messageObject); if (index >= 0) { if (chatAdapter != null) { - chatAdapter.notifyItemRangeChanged(index + chatAdapter.messagesStartRow, groupedMessages.messages.size()); + chatAdapter.notifyItemRangeChanged(index + chatAdapter.messagesStartRow, newGroupsSizes.get(groupedMessages.groupId)); } } } @@ -10886,7 +11447,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not maxDate[0] = maxDate[1] = Integer.MIN_VALUE; minDate[0] = minDate[1] = 0; waitingForLoad.add(lastLoadIndex); - getMessagesController().loadMessages(dialog_id, 30, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, 30, 0, 0, !cacheEndReached[0], minDate[0], classGuid, 0, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); loading = true; } else { if (botButtons != null) { @@ -10906,31 +11467,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } if (chatAdapter != null) { if (updated) { - int count = chatListView.getChildCount(); - int position = -1; - int bottom = 0; + int count = removedIndexes.size(); for (int a = 0; a < count; a++) { - View child = chatListView.getChildAt(a); - MessageObject messageObject = null; - if (child instanceof ChatMessageCell) { - messageObject = ((ChatMessageCell) child).getMessageObject(); - } else if (child instanceof ChatActionCell) { - messageObject = ((ChatActionCell) child).getMessageObject(); - } - if (messageObject != null) { - int idx = messages.indexOf(messageObject); - if (idx < 0) { - continue; - } - position = chatAdapter.messagesStartRow + idx; - bottom = child.getBottom(); - break; - } - } - chatAdapter.notifyDataSetChanged(); - if (position != -1) { - chatLayoutManager.scrollToPositionWithOffset(position, chatListView.getMeasuredHeight() - bottom - chatListView.getPaddingBottom()); + chatAdapter.notifyItemRemoved(removedIndexes.get(a)); } + updateVisibleRows(); } else { first_unread_id = 0; last_message_id = 0; @@ -10953,6 +11494,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not Integer msgId = (Integer) args[0]; MessageObject obj = messagesDict[0].get(msgId); if (obj != null) { + if (obj.shouldRemoveVideoEditedInfo) { + obj.videoEditedInfo = null; + obj.shouldRemoveVideoEditedInfo = false; + } Integer newMsgId = (Integer) args[1]; if (!newMsgId.equals(msgId) && messagesDict[0].indexOfKey(newMsgId) >= 0) { MessageObject removed = messagesDict[0].get(msgId); @@ -11483,6 +12028,19 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not chatAdapter.updateRowWithMessageObject(messageObject, true); } } + } else if (id == NotificationCenter.didVerifyMessagesStickers) { + ArrayList messages = (ArrayList) args[0]; + for (int a = 0, N = messages.size(); a < N; a++) { + TLRPC.Message message = messages.get(a); + MessageObject existMessageObject = messagesDict[0].get(message.id); + if (existMessageObject != null) { + existMessageObject.messageOwner.stickerVerified = message.stickerVerified; + existMessageObject.setType(); + if (chatAdapter != null) { + chatAdapter.updateRowWithMessageObject(existMessageObject, false); + } + } + } } else if (id == NotificationCenter.updateMessageMedia) { TLRPC.Message message = (TLRPC.Message) args[0]; MessageObject existMessageObject = messagesDict[0].get(message.id); @@ -11639,7 +12197,15 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } botInfo.put(info.user_id, info); if (chatAdapter != null) { - chatAdapter.notifyItemChanged(chatAdapter.botInfoRow); + int prevRow = chatAdapter.botInfoRow; + chatAdapter.updateRowsInternal(); + if (prevRow == -1 && chatAdapter.botInfoRow != -1) { + chatAdapter.notifyItemInserted(chatAdapter.botInfoRow); + } else if (prevRow != -1 && chatAdapter.botInfoRow == -1) { + chatAdapter.notifyItemRemoved(prevRow); + } else if (prevRow != -1 && chatAdapter.botInfoRow != -1) { + chatAdapter.notifyItemChanged(chatAdapter.botInfoRow); + } } if (mentionsAdapter != null && (!ChatObject.isChannel(currentChat) || currentChat != null && currentChat.megagroup)) { mentionsAdapter.setBotInfo(botInfo); @@ -11957,9 +12523,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (startLoadFromMessageIdSaved != 0) { startLoadFromMessageId = startLoadFromMessageIdSaved; startLoadFromMessageIdSaved = 0; - getMessagesController().loadMessages(dialog_id, AndroidUtilities.isTablet() ? 30 : 20, startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, AndroidUtilities.isTablet() ? 30 : 20, startLoadFromMessageId, 0, true, 0, classGuid, 3, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } else { - getMessagesController().loadMessages(dialog_id, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); + getMessagesController().loadMessages(dialog_id, mergeDialogId, false, AndroidUtilities.isTablet() ? 30 : 20, 0, 0, true, 0, classGuid, 2, 0, ChatObject.isChannel(currentChat), inScheduleMode, lastLoadIndex++); } } else { if (progressView != null) { @@ -12098,6 +12664,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } if (messageObject.type >= 0) { + messageObject.stableId = old.stableId; messages.set(index, messageObject); if (chatAdapter != null) { chatAdapter.updateRowAtPosition(chatAdapter.messagesStartRow + index); @@ -12133,6 +12700,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (index >= 0) { if (chatAdapter != null) { chatAdapter.notifyItemRangeChanged(index + chatAdapter.messagesStartRow, groupedMessages.messages.size()); + if (chatListItemAniamtor != null) { + chatListItemAniamtor.groupWillChanged(groupedMessages); + } } } } @@ -12280,28 +12850,33 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void onTransitionAnimationStart(boolean isOpen, boolean backward) { + int[] alowedNotifications = null; if (isOpen) { - getNotificationCenter().setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, - NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog/*, NotificationCenter.botInfoDidLoad*/}); + alowedNotifications = new int[]{ + NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, NotificationCenter.pinnedMessageDidLoad, + NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog/*, NotificationCenter.botInfoDidLoad*/ + }; openAnimationEnded = false; if (!backward) { openAnimationStartTime = SystemClock.elapsedRealtime(); } } else { if (UserObject.isUserSelf(currentUser)) { - getNotificationCenter().setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, - NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog, NotificationCenter.mediaDidLoad}); + alowedNotifications = new int[]{ + NotificationCenter.chatInfoDidLoad, NotificationCenter.dialogsNeedReload, NotificationCenter.scheduledMessagesUpdated, + NotificationCenter.closeChats, NotificationCenter.messagesDidLoad, NotificationCenter.botKeyboardDidLoad, NotificationCenter.userInfoDidLoad, NotificationCenter.needDeleteDialog, NotificationCenter.mediaDidLoad + }; } if (chatActivityEnterView != null) { chatActivityEnterView.onBeginHide(); } } - getNotificationCenter().setAnimationInProgress(true); + transitionAnimationIndex = getNotificationCenter().setAnimationInProgress(transitionAnimationIndex, alowedNotifications); } @Override public void onTransitionAnimationEnd(boolean isOpen, boolean backward) { - getNotificationCenter().setAnimationInProgress(false); + getNotificationCenter().onAnimationFinish(transitionAnimationIndex); if (isOpen) { openAnimationEnded = true; if (Build.VERSION.SDK_INT >= 21) { @@ -12465,9 +13040,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } else { if (!getMessagesController().isDialogMuted(dialog_id)) { - bottomOverlayChatText.setText(LocaleController.getString("ChannelMute", R.string.ChannelMute)); + bottomOverlayChatText.setText(LocaleController.getString("ChannelMute", R.string.ChannelMute), false); } else { - bottomOverlayChatText.setText(LocaleController.getString("ChannelUnmute", R.string.ChannelUnmute)); + bottomOverlayChatText.setText(LocaleController.getString("ChannelUnmute", R.string.ChannelUnmute), true); } showBottomOverlayProgress(false, bottomOverlayProgress.getTag() != null); } @@ -13061,7 +13636,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not firstVisPos = RecyclerView.NO_POSITION; } if (firstVisPos != RecyclerView.NO_POSITION && scrollToMessageObject != null) { - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); int index = messages.indexOf(scrollToMessageObject); if (index >= 0) { chatLayoutManager.scrollToPositionWithOffset(chatAdapter.messagesStartRow + index, top); @@ -13593,7 +14168,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ChatMessageCell messageCell = (ChatMessageCell) child; MessageObject messageObject = messageCell.getMessageObject(); boolean isRoundVideo = messageObject.isRoundVideo(); - if (!messageObject.isVideo() && !isRoundVideo) { + if ((!messageObject.isVideo() && !isRoundVideo) || messageObject.videoEditedInfo != null) { continue; } ImageReceiver imageReceiver = messageCell.getPhotoImage(); @@ -13601,8 +14176,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (animation == null) { continue; } - int top = child.getTop() + imageReceiver.getImageY(); - int bottom = top + imageReceiver.getImageHeight(); + float top = child.getTop() + imageReceiver.getImageY(); + float bottom = top + imageReceiver.getImageHeight(); if (bottom < 0 || top > chatListView.getMeasuredHeight()) { continue; } @@ -14336,7 +14911,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } int totalHeight = contentView.getHeight(); int height = popupLayout.getMeasuredHeight(); - int keyboardHeight = contentView.getKeyboardHeight(); + int keyboardHeight = contentView.measureKeyboardHeight(); if (keyboardHeight > AndroidUtilities.dp(20)) { totalHeight += keyboardHeight; } @@ -14502,7 +15077,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private void restartSticker(ChatMessageCell cell) { MessageObject message = cell.getMessageObject(); TLRPC.Document document = message.getDocument(); - if (message.isAnimatedEmoji() || MessageObject.isAnimatedStickerDocument(document, currentEncryptedChat == null) && !SharedConfig.loopStickers) { + if (message.isAnimatedEmoji() || MessageObject.isAnimatedStickerDocument(document, currentEncryptedChat == null || message.isOut()) && !SharedConfig.loopStickers) { ImageReceiver imageReceiver = cell.getPhotoImage(); RLottieDrawable drawable = imageReceiver.getLottieAnimation(); if (drawable != null) { @@ -15078,6 +15653,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } hideActionMode(); updatePinnedMessageView(true); + updateVisibleRows(); } if (dids.size() > 1 || dids.get(0) == getUserConfig().getClientUserId() || message != null) { @@ -15192,6 +15768,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not updateVisibleRows(); } + public void onListItemAniamtorTick() { + updateMessagesVisiblePart(false); + if (scrimView != null) { + fragmentView.invalidate(); + } + } + private void updateVisibleRows() { if (chatListView == null) { return; @@ -15225,7 +15808,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (actionBar.isActionModeShowed()) { cell.setCheckBoxVisible(true, true); int idx = messageObject.getDialogId() == dialog_id ? 0 : 1; - if (messageObject == editingMessageObject || selectedMessagesIds[idx].indexOfKey(messageObject.getId()) >= 0) { + if (selectedMessagesIds[idx].indexOfKey(messageObject.getId()) >= 0) { setCellSelectionBackground(messageObject, cell, idx, true); selected = true; } else { @@ -15239,7 +15822,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not cell.setChecked(false, false, true); } - cell.setMessageObject(cell.getMessageObject(), cell.getCurrentMessagesGroup(), cell.isPinnedBottom(), cell.isPinnedTop()); + if (!cell.getMessageObject().deleted) { + cell.setMessageObject(cell.getMessageObject(), cell.getCurrentMessagesGroup(), cell.isPinnedBottom(), cell.isPinnedTop()); + } if (cell != scrimView) { cell.setCheckPressed(!disableSelection, disableSelection && selected); } @@ -15257,7 +15842,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not cell.setMessageObject(cell.getMessageObject()); } } - chatListView.invalidate(); if (lastVisibleItem != RecyclerView.NO_POSITION) { chatLayoutManager.scrollToPositionWithOffset(lastVisibleItem, top); } @@ -15373,6 +15957,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return inScheduleMode; } + public long getInlineReturn() { + return inlineReturn; + } + public TLRPC.User getCurrentUser() { return currentUser; } @@ -15465,42 +16053,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } - public void showOpenUrlAlert(String url, boolean punycode, boolean ask) { - if (Browser.isInternalUrl(url, null) || !ask) { - Browser.openUrl(getParentActivity(), url, inlineReturn == 0); - } else { - if (getParentActivity() == null) { - return; - } - String urlFinal; - if (punycode) { - try { - Uri uri = Uri.parse(url); - String host = IDN.toASCII(uri.getHost(), IDN.ALLOW_UNASSIGNED); - urlFinal = uri.getScheme() + "://" + host + uri.getPath(); - } catch (Exception e) { - FileLog.e(e); - urlFinal = url; - } - } else { - urlFinal = url; - } - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setTitle(LocaleController.getString("OpenUrlTitle", R.string.OpenUrlTitle)); - String format = LocaleController.getString("OpenUrlAlert2", R.string.OpenUrlAlert2); - int index = format.indexOf("%"); - SpannableStringBuilder stringBuilder = new SpannableStringBuilder(String.format(format, urlFinal)); - if (index >= 0) { - stringBuilder.setSpan(new URLSpan(urlFinal), index, index + urlFinal.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - } - builder.setMessage(stringBuilder); - builder.setMessageTextViewClickable(false); - builder.setPositiveButton(LocaleController.getString("Open", R.string.Open), (dialogInterface, i) -> Browser.openUrl(getParentActivity(), url, inlineReturn == 0)); - builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); - showDialog(builder.create()); - } - } - public void showRequestUrlAlert(final TLRPC.TL_urlAuthResultRequest request, TLRPC.TL_messages_requestUrlAuth buttonReq, String url) { if (getParentActivity() == null) { return; @@ -15638,13 +16190,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not messageCell.setChecked(true, groupedMessages == null, animated); } - private void setItemAnimationsEnabled(boolean enabled) { - /*if (chatListView == null) { - return; - } - chatListView.setItemAnimator(enabled ? itemAnimator : null);*/ - } - private void openClickableLink(String str) { if (str.startsWith("@")) { String username = str.substring(1).toLowerCase(); @@ -15681,7 +16226,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not presentFragment(fragment); } } else { - Browser.openUrl(getParentActivity(), str); + if (AndroidUtilities.shouldShowUrlInAlert(str)) { + AlertsCreator.showOpenUrlAlert(ChatActivity.this, str, true, true, true); + } else { + Browser.openUrl(getParentActivity(), str); + } } } @@ -15699,22 +16248,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } else if (url instanceof URLSpanNoUnderline) { String str = ((URLSpanNoUnderline) url).getURL(); - if (isClickableLink(str)) { - if (longPress) { - BottomSheet.Builder builder = new BottomSheet.Builder(getParentActivity()); - builder.setTitle(str); - builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { - if (which == 0) { - openClickableLink(str); - } else if (which == 1) { - AndroidUtilities.addToClipboard(str); - } - }); - showDialog(builder.create()); - } else { - openClickableLink(str); - } - } else if (messageObject != null && str.startsWith("/")) { + if (messageObject != null && str.startsWith("/")) { if (URLSpanBotCommand.enabled) { chatActivityEnterView.setCommand(messageObject, str, longPress, currentChat != null && currentChat.megagroup); if (!longPress && chatActivityEnterView.getFieldText() == null) { @@ -15805,6 +16339,21 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not progressDialog[0].setOnCancelListener(dialog -> getConnectionsManager().cancelRequest(requestId, true)); showDialog(progressDialog[0]); }, 500); + } else { + if (longPress) { + BottomSheet.Builder builder = new BottomSheet.Builder(getParentActivity()); + builder.setTitle(str); + builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { + if (which == 0) { + openClickableLink(str); + } else if (which == 1) { + AndroidUtilities.addToClipboard(str); + } + }); + showDialog(builder.create()); + } else { + openClickableLink(str); + } } } else { final String urlFinal = ((URLSpan) url).getURL(); @@ -15813,7 +16362,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not builder.setTitle(urlFinal); builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { if (which == 0) { - Browser.openUrl(getParentActivity(), urlFinal, inlineReturn == 0, false); + if (AndroidUtilities.shouldShowUrlInAlert(urlFinal)) { + AlertsCreator.showOpenUrlAlert(ChatActivity.this, urlFinal, true, true, false); + } else { + Browser.openUrl(getParentActivity(), urlFinal, inlineReturn == 0, false); + } } else if (which == 1) { String url1 = urlFinal; if (url1.startsWith("mailto:")) { @@ -15829,7 +16382,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not boolean punycode = false; if (url instanceof URLSpanReplacement && (urlFinal == null || !urlFinal.startsWith("mailto:")) || (punycode = AndroidUtilities.shouldShowUrlInAlert(urlFinal))) { if (!openLinkInternally(urlFinal, messageObject != null ? messageObject.getId() : 0)) { - showOpenUrlAlert(urlFinal, punycode, true); + AlertsCreator.showOpenUrlAlert(ChatActivity.this, urlFinal, punycode, true); } } else if (url instanceof URLSpan) { if (messageObject != null && messageObject.messageOwner.media instanceof TLRPC.TL_messageMediaWebPage && messageObject.messageOwner.media.webpage != null && messageObject.messageOwner.media.webpage.cached_page != null) { @@ -15938,15 +16491,31 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private int botInfoRow = -1; private int loadingUpRow; private int loadingDownRow; - public int messagesStartRow; + private int messagesStartRow; private int messagesEndRow; public ChatActivityAdapter(Context context) { mContext = context; isBot = currentUser != null && currentUser.bot; + setHasStableIds(true); } - public void updateRows() { + public void updateRowsSafe() { + int prevRowCount = rowCount; + int prevBotInfoRow = botInfoRow; + int prevLoadingUpRow = loadingUpRow; + int prevLoadingDownRow = loadingDownRow; + int prevMessagesStartRow = messagesStartRow; + int prevMessagesEndRow = messagesEndRow; + updateRowsInternal(); + if (prevRowCount != rowCount || prevBotInfoRow != botInfoRow || + prevLoadingUpRow != loadingUpRow || prevLoadingDownRow != loadingDownRow || + prevMessagesStartRow != messagesStartRow || prevMessagesEndRow != messagesEndRow) { + notifyDataSetChanged(); + } + } + + private void updateRowsInternal() { rowCount = 0; if (!messages.isEmpty()) { if (!forwardEndReached[0] || mergeDialogId != 0 && !forwardEndReached[1]) { @@ -15958,7 +16527,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not rowCount += messages.size(); messagesEndRow = rowCount; - if (currentUser != null && currentUser.bot && !inScheduleMode) { + if (currentUser != null && currentUser.bot && !inScheduleMode && botInfo.size() > 0 && botInfo.get(currentUser.id).description != null) { botInfoRow = rowCount++; } else { botInfoRow = -1; @@ -15989,8 +16558,17 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } @Override - public long getItemId(int i) { - return RecyclerListView.NO_ID; + public long getItemId(int position) { + if (position >= messagesStartRow && position < messagesEndRow) { + return messages.get(position - messagesStartRow).stableId; + } else if (position == botInfoRow) { + return 1; + } else if (position == loadingUpRow) { + return 2; + } else if (position == loadingDownRow) { + return 3; + } + return 4; } @Override @@ -16527,6 +17105,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (chatActivityEnterView.getFieldText() == null) { hideFieldPanel(false); } + } else if (AndroidUtilities.shouldShowUrlInAlert(url)) { + AlertsCreator.showOpenUrlAlert(ChatActivity.this, url, true, true, true); + } else { + Browser.openUrl(getParentActivity(), url); } }); } else if (viewType == 4) { @@ -16627,82 +17209,88 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not int index; if ((index = animatingMessageObjects.indexOf(message)) != -1) { animatingMessageObjects.remove(index); - messageCell.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { - @Override - public boolean onPreDraw() { - PipRoundVideoView pipRoundVideoView = PipRoundVideoView.getInstance(); - if (pipRoundVideoView != null) { - pipRoundVideoView.showTemporary(true); - } + if (instantCameraView.getTextureView() != null) { + messageCell.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + @Override + public boolean onPreDraw() { - messageCell.getViewTreeObserver().removeOnPreDrawListener(this); - ImageReceiver imageReceiver = messageCell.getPhotoImage(); - int w = imageReceiver.getImageWidth(); - org.telegram.ui.Components.Rect rect = instantCameraView.getCameraRect(); - float scale = w / rect.width; - int[] position = new int[2]; - messageCell.setAlpha(0.0f); - messageCell.setTimeAlpha(0.0f); - messageCell.getLocationOnScreen(position); - position[0] += imageReceiver.getImageX(); - position[1] += imageReceiver.getImageY(); - final View cameraContainer = instantCameraView.getCameraContainer(); - cameraContainer.setPivotX(0.0f); - cameraContainer.setPivotY(0.0f); - AnimatorSet animatorSet = new AnimatorSet(); - - instantCameraView.cancelBlur(); - - animatorSet.playTogether( - ObjectAnimator.ofFloat(cameraContainer, View.SCALE_X, scale), - ObjectAnimator.ofFloat(cameraContainer, View.SCALE_Y, scale), - ObjectAnimator.ofFloat(cameraContainer, View.TRANSLATION_X, position[0] - rect.x), - ObjectAnimator.ofFloat(cameraContainer, View.TRANSLATION_Y, position[1] - rect.y), - ObjectAnimator.ofFloat(instantCameraView.getSwitchButtonView(), View.ALPHA, 0.0f), - ObjectAnimator.ofInt(instantCameraView.getPaint(), AnimationProperties.PAINT_ALPHA, 0), - ObjectAnimator.ofFloat(instantCameraView.getMuteImageView(), View.ALPHA, 0.0f) - ); - animatorSet.setStartDelay(120); - animatorSet.setDuration(180); - animatorSet.setInterpolator(new DecelerateInterpolator()); - animatorSet.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - messageCell.setAlpha(1.0f); - - Property ALPHA = new AnimationProperties.FloatProperty("alpha") { - @Override - public void setValue(ChatMessageCell object, float value) { - object.setTimeAlpha(value); - } - - @Override - public Float get(ChatMessageCell object) { - return object.getTimeAlpha(); - } - }; - - AnimatorSet animatorSet = new AnimatorSet(); - animatorSet.playTogether( - ObjectAnimator.ofFloat(cameraContainer, View.ALPHA, 0.0f), - ObjectAnimator.ofFloat(messageCell, ALPHA, 1.0f) - ); - animatorSet.setDuration(100); - animatorSet.setInterpolator(new DecelerateInterpolator()); - animatorSet.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - instantCameraView.hideCamera(true); - instantCameraView.setVisibility(View.INVISIBLE); - } - }); - animatorSet.start(); + PipRoundVideoView pipRoundVideoView = PipRoundVideoView.getInstance(); + if (pipRoundVideoView != null) { + pipRoundVideoView.showTemporary(true); } - }); - animatorSet.start(); - return true; - } - }); + + messageCell.getViewTreeObserver().removeOnPreDrawListener(this); + ImageReceiver imageReceiver = messageCell.getPhotoImage(); + float w = imageReceiver.getImageWidth(); + org.telegram.ui.Components.Rect rect = instantCameraView.getCameraRect(); + float scale = w / rect.width; + int[] position = new int[2]; + messageCell.getTransitionParams().ignoreAlpha = true; + messageCell.setAlpha(0.0f); + messageCell.setTimeAlpha(0.0f); + messageCell.getLocationOnScreen(position); + position[0] += imageReceiver.getImageX() - messageCell.getAnimationOffsetX(); + position[1] += imageReceiver.getImageY() - messageCell.getTranslationY(); + final InstantCameraView.InstantViewCameraContainer cameraContainer = instantCameraView.getCameraContainer(); + cameraContainer.setPivotX(0.0f); + cameraContainer.setPivotY(0.0f); + AnimatorSet animatorSet = new AnimatorSet(); + + cameraContainer.setImageReceiver(imageReceiver); + + instantCameraView.cancelBlur(); + + animatorSet.playTogether( + ObjectAnimator.ofFloat(cameraContainer, View.SCALE_X, scale), + ObjectAnimator.ofFloat(cameraContainer, View.SCALE_Y, scale), + ObjectAnimator.ofFloat(cameraContainer, View.TRANSLATION_X, position[0] - rect.x), + ObjectAnimator.ofFloat(cameraContainer, View.TRANSLATION_Y, position[1] - rect.y), + ObjectAnimator.ofFloat(instantCameraView.getSwitchButtonView(), View.ALPHA, 0.0f), + ObjectAnimator.ofInt(instantCameraView.getPaint(), AnimationProperties.PAINT_ALPHA, 0), + ObjectAnimator.ofFloat(instantCameraView.getMuteImageView(), View.ALPHA, 0.0f) + ); + animatorSet.setStartDelay(120); + animatorSet.setDuration(180); + animatorSet.setInterpolator(new DecelerateInterpolator()); + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + messageCell.setAlpha(1.0f); + messageCell.getTransitionParams().ignoreAlpha = false; + Property ALPHA = new AnimationProperties.FloatProperty("alpha") { + @Override + public void setValue(ChatMessageCell object, float value) { + object.setTimeAlpha(value); + } + + @Override + public Float get(ChatMessageCell object) { + return object.getTimeAlpha(); + } + }; + + AnimatorSet animatorSet = new AnimatorSet(); + animatorSet.playTogether( + ObjectAnimator.ofFloat(cameraContainer, View.ALPHA, 0.0f), + ObjectAnimator.ofFloat(messageCell, ALPHA, 1.0f) + ); + animatorSet.setDuration(100); + animatorSet.setInterpolator(new DecelerateInterpolator()); + animatorSet.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + instantCameraView.hideCamera(true); + instantCameraView.setVisibility(View.INVISIBLE); + } + }); + animatorSet.start(); + } + }); + animatorSet.start(); + return true; + } + }); + } } } else if (view instanceof ChatActionCell) { ChatActionCell actionCell = (ChatActionCell) view; @@ -16742,9 +17330,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not boolean disableSelection = false; if (actionBar.isActionModeShowed()) { messageCell.setCheckBoxVisible(true, false); - MessageObject messageObject = chatActivityEnterView != null ? chatActivityEnterView.getEditingMessageObject() : null; int idx = message.getDialogId() == dialog_id ? 0 : 1; - if (messageObject == message || selectedMessagesIds[idx].indexOfKey(message.getId()) >= 0) { + if (selectedMessagesIds[idx].indexOfKey(message.getId()) >= 0) { setCellSelectionBackground(message, messageCell, idx, false); selected = true; } else { @@ -16872,7 +17459,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyDataSetChanged() { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify data set changed"); + } + chatListView.setItemAnimator(null); + updateRowsInternal(); try { super.notifyDataSetChanged(); } catch (Exception e) { @@ -16882,7 +17473,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemChanged(int position) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item changed " + position); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemChanged(position); } catch (Exception e) { @@ -16892,7 +17489,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemRangeChanged(int positionStart, int itemCount) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item range changed " + positionStart + ":" + itemCount); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemRangeChanged(positionStart, itemCount); } catch (Exception e) { @@ -16902,7 +17505,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemInserted(int position) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item inserted " + position); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemInserted(position); } catch (Exception e) { @@ -16912,7 +17521,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemMoved(int fromPosition, int toPosition) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item moved" + fromPosition + ":" + toPosition); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemMoved(fromPosition, toPosition); } catch (Exception e) { @@ -16922,7 +17537,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemRangeInserted(int positionStart, int itemCount) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item range inserted" + positionStart + ":" + itemCount); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); if (positionStart == 1 && itemCount > 0) { int lastPosition = positionStart + itemCount; if (lastPosition >= messagesStartRow && lastPosition < messagesEndRow) { @@ -16942,7 +17563,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemRemoved(int position) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item removed " + position); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemRemoved(position); } catch (Exception e) { @@ -16952,7 +17579,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not @Override public void notifyItemRangeRemoved(int positionStart, int itemCount) { - updateRows(); + if (BuildVars.LOGS_ENABLED) { + FileLog.d("notify item range removed" + positionStart + ":" + itemCount); + } + if (chatListView.getItemAnimator() != chatListItemAniamtor) { + chatListView.setItemAnimator(chatListItemAniamtor); + } + updateRowsInternal(); try { super.notifyItemRangeRemoved(positionStart, itemCount); } catch (Exception e) { @@ -17020,24 +17653,24 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return false; } -// @Override -// protected void onPanTranslationUpdate(int y) { -// super.onPanTranslationUpdate(y); -// if (instantCameraView != null) { -// instantCameraView.onPanTranslationUpdate(chatActivityEnterView.isPopupShowing() ? y : chatActivityEnterView.); -// } -// } - public class ChatScrollCallback extends RecyclerAnimationScrollHelper.AnimationCallback { private MessageObject scrollTo; private int lastItemOffset; private boolean lastBottom; + int animationIndex; + + @Override + public void onStartAnimation() { + super.onStartAnimation(); + animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, allowedNotificationsDuringChatListAnimations); + } + @Override public void onEndAnimation() { if (scrollTo != null) { - chatAdapter.updateRows(); + chatAdapter.updateRowsSafe(); int lastItemPosition = chatAdapter.messagesStartRow + messages.indexOf(scrollTo); if (lastItemPosition >= 0) { chatLayoutManager.scrollToPositionWithOffset(lastItemPosition, lastItemOffset, lastBottom); @@ -17046,6 +17679,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not scrollTo = null; checkTextureViewPosition = true; chatListView.getOnScrollListener().onScrolled(chatListView, 0, chatScrollHelper.getScrollDirection() == RecyclerAnimationScrollHelper.SCROLL_DIRECTION_DOWN ? 1 : -1); + + getNotificationCenter().onAnimationFinish(animationIndex); + updateVisibleRows(); } } @@ -17434,6 +18070,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not themeDescriptions.add(new ThemeDescription(chatActivityEnterView != null ? chatActivityEnterView.getEmojiView() : chatActivityEnterView, 0, new Class[]{EmojiView.class}, null, null, null, selectedBackgroundDelegate, Theme.key_chat_emojiPanelStickerSetNameHighlight)); themeDescriptions.add(new ThemeDescription(chatActivityEnterView != null ? chatActivityEnterView.getEmojiView() : chatActivityEnterView, 0, new Class[]{EmojiView.class}, null, null, null, selectedBackgroundDelegate, Theme.key_chat_emojiPanelStickerPackSelectorLine)); + if (chatActivityEnterView != null) { + final TrendingStickersAlert trendingStickersAlert = chatActivityEnterView.getTrendingStickersAlert(); + if (trendingStickersAlert != null) { + themeDescriptions.addAll(trendingStickersAlert.getThemeDescriptions()); + } + } + for (int a = 0; a < 2; a++) { UndoView v = a == 0 ? undoView : topUndoView; themeDescriptions.add(new ThemeDescription(v, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, Theme.key_undo_background)); @@ -17497,8 +18140,12 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not themeDescriptions.add(new ThemeDescription(forwardButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, Theme.key_actionBarActionModeDefaultSelector)); themeDescriptions.add(new ThemeDescription(bottomOverlayText, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_chat_secretChatStatusText)); - themeDescriptions.add(new ThemeDescription(bottomOverlayChatText, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_chat_fieldOverlayText)); - themeDescriptions.add(new ThemeDescription(bottomOverlayChatText2, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_chat_fieldOverlayText)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText, 0, null, null, null, null, Theme.key_chat_fieldOverlayText)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText2, 0, null, null, null, null, Theme.key_chat_fieldOverlayText)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText, 0, null, null, null, null, Theme.key_chat_goDownButtonCounterBackground)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText2, 0, null, null, null, null, Theme.key_chat_goDownButtonCounterBackground)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText, 0, null, null, null, null, Theme.key_chat_messagePanelBackground)); + themeDescriptions.add(new ThemeDescription(bottomOverlayChatText2, 0, null, null, null, null, Theme.key_chat_messagePanelBackground)); themeDescriptions.add(new ThemeDescription(bottomOverlayProgress, 0, null, null, null, null, Theme.key_chat_fieldOverlayText)); themeDescriptions.add(new ThemeDescription(bigEmptyView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_chat_serviceText)); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatEditActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatEditActivity.java index cf8986230..ef4e53faf 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatEditActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatEditActivity.java @@ -244,7 +244,7 @@ public class ChatEditActivity extends BaseFragment implements ImageUpdater.Image measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize > AndroidUtilities.dp(20)) { ignoreLayout = true; nameTextView.hideEmojiView(); @@ -277,7 +277,7 @@ public class ChatEditActivity extends BaseFragment implements ImageUpdater.Image protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? nameTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatRightsEditActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatRightsEditActivity.java index a502228f9..4c4bc354c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatRightsEditActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatRightsEditActivity.java @@ -640,7 +640,7 @@ public class ChatRightsEditActivity extends BaseFragment { } builder.setMessage(AndroidUtilities.replaceTags(LocaleController.formatString("EditAdminTransferReadyAlertText", R.string.EditAdminTransferReadyAlertText, currentChat.title, UserObject.getFirstName(currentUser)))); builder.setPositiveButton(LocaleController.getString("EditAdminTransferChangeOwner", R.string.EditAdminTransferChangeOwner), (dialogInterface, i) -> { - TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(0); + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); fragment.setDelegate(password -> initTransfer(password, fragment)); presentFragment(fragment); }); @@ -715,7 +715,7 @@ public class ChatRightsEditActivity extends BaseFragment { } if ("PASSWORD_MISSING".equals(error.text)) { - builder.setPositiveButton(LocaleController.getString("EditAdminTransferSetPassword", R.string.EditAdminTransferSetPassword), (dialogInterface, i) -> presentFragment(new TwoStepVerificationActivity(0))); + builder.setPositiveButton(LocaleController.getString("EditAdminTransferSetPassword", R.string.EditAdminTransferSetPassword), (dialogInterface, i) -> presentFragment(new TwoStepVerificationSetupActivity(TwoStepVerificationSetupActivity.TYPE_INTRO, null))); builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); } else { messageTextView = new TextView(getParentActivity()); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java index 46156d45d..5ecfb8c0f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java @@ -17,6 +17,7 @@ import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.Bundle; import android.os.Vibrator; import android.text.Html; @@ -82,6 +83,7 @@ import org.telegram.ui.ReportOtherActivity; import org.telegram.ui.ThemePreviewActivity; import org.telegram.ui.TooManyCommunitiesActivity; +import java.net.IDN; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -449,7 +451,7 @@ public class AlertsCreator { } public static AlertDialog.Builder createSimpleAlert(Context context, final String title, final String text) { - if (text == null) { + if (context == null || text == null) { return null; } AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -804,6 +806,47 @@ public class AlertsCreator { } } + public static void showOpenUrlAlert(BaseFragment fragment, String url, boolean punycode, boolean ask) { + showOpenUrlAlert(fragment, url, punycode, true, ask); + } + + public static void showOpenUrlAlert(BaseFragment fragment, String url, boolean punycode, boolean tryTelegraph, boolean ask) { + if (fragment == null || fragment.getParentActivity() == null) { + return; + } + long inlineReturn = (fragment instanceof ChatActivity) ? ((ChatActivity) fragment).getInlineReturn() : 0; + if (Browser.isInternalUrl(url, null) || !ask) { + Browser.openUrl(fragment.getParentActivity(), url, inlineReturn == 0, tryTelegraph); + } else { + String urlFinal; + if (punycode) { + try { + Uri uri = Uri.parse(url); + String host = IDN.toASCII(uri.getHost(), IDN.ALLOW_UNASSIGNED); + urlFinal = uri.getScheme() + "://" + host + uri.getPath(); + } catch (Exception e) { + FileLog.e(e); + urlFinal = url; + } + } else { + urlFinal = url; + } + AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity()); + builder.setTitle(LocaleController.getString("OpenUrlTitle", R.string.OpenUrlTitle)); + String format = LocaleController.getString("OpenUrlAlert2", R.string.OpenUrlAlert2); + int index = format.indexOf("%"); + SpannableStringBuilder stringBuilder = new SpannableStringBuilder(String.format(format, urlFinal)); + if (index >= 0) { + stringBuilder.setSpan(new URLSpan(urlFinal), index, index + urlFinal.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + builder.setMessage(stringBuilder); + builder.setMessageTextViewClickable(false); + builder.setPositiveButton(LocaleController.getString("Open", R.string.Open), (dialogInterface, i) -> Browser.openUrl(fragment.getParentActivity(), url, inlineReturn == 0, tryTelegraph)); + builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); + fragment.showDialog(builder.create()); + } + } + public static AlertDialog createSupportAlert(BaseFragment fragment) { if (fragment == null || fragment.getParentActivity() == null) { return null; @@ -1044,7 +1087,11 @@ public class AlertsCreator { } if (second) { - messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.getString("DeleteAllMessagesAlert", R.string.DeleteAllMessagesAlert))); + if (UserObject.isUserSelf(user)) { + messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.getString("DeleteAllMessagesSavedAlert", R.string.DeleteAllMessagesSavedAlert))); + } else { + messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.getString("DeleteAllMessagesAlert", R.string.DeleteAllMessagesAlert))); + } } else { if (clear) { if (user != null) { @@ -1085,7 +1132,7 @@ public class AlertsCreator { if (user.id == selfUserId) { messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.getString("AreYouSureDeleteThisChatSavedMessages", R.string.AreYouSureDeleteThisChatSavedMessages))); } else { - if (user.bot) { + if (user.bot && !user.support) { messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.formatString("AreYouSureDeleteThisChatWithBot", R.string.AreYouSureDeleteThisChatWithBot, UserObject.getUserName(user)))); } else { messageTextView.setText(AndroidUtilities.replaceTags(LocaleController.formatString("AreYouSureDeleteThisChatWithUser", R.string.AreYouSureDeleteThisChatWithUser, UserObject.getUserName(user)))); @@ -1140,17 +1187,22 @@ public class AlertsCreator { } } builder.setPositiveButton(actionText, (dialogInterface, i) -> { - if (user != null && !clearingCache && !second && deleteForAll[0]) { - MessagesStorage.getInstance(fragment.getCurrentAccount()).getMessagesCount(user.id, (count) -> { - if (count >= 50) { - createClearOrDeleteDialogAlert(fragment, clear, admin, true, chat, user, secret, onProcessRunnable); - } else { - if (onProcessRunnable != null) { - onProcessRunnable.run(deleteForAll[0]); + if (!clearingCache && !second) { + if (UserObject.isUserSelf(user)) { + createClearOrDeleteDialogAlert(fragment, clear, admin, true, chat, user, secret, onProcessRunnable); + return; + } else if (user != null && deleteForAll[0]) { + MessagesStorage.getInstance(fragment.getCurrentAccount()).getMessagesCount(user.id, (count) -> { + if (count >= 50) { + createClearOrDeleteDialogAlert(fragment, clear, admin, true, chat, user, secret, onProcessRunnable); + } else { + if (onProcessRunnable != null) { + onProcessRunnable.run(deleteForAll[0]); + } } - } - }); - return; + }); + return; + } } if (onProcessRunnable != null) { onProcessRunnable.run(second || deleteForAll[0]); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/AnimatedFileDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/AnimatedFileDrawable.java index 94c140577..c23a26164 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/AnimatedFileDrawable.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/AnimatedFileDrawable.java @@ -42,7 +42,7 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { private static native long createDecoder(String src, int[] params, int account, long streamFileSize, Object readCallback, boolean preview); private static native void destroyDecoder(long ptr); private static native void stopDecoder(long ptr); - private static native int getVideoFrame(long ptr, Bitmap bitmap, int[] params, int stride, boolean preview); + private static native int getVideoFrame(long ptr, Bitmap bitmap, int[] params, int stride, boolean preview, float startTimeSeconds, float endTimeSeconds); private static native void seekToMs(long ptr, long ms, boolean precise); private static native void prepareToSeek(long ptr); private static native void getVideoInfo(int sdkVersion, String src, int[] params); @@ -108,6 +108,9 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { private volatile boolean isRecycled; public volatile long nativePtr; private DispatchQueue decodeQueue; + private float startTime; + private float endTime; + private View parentView; private View secondParentView; @@ -115,6 +118,7 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { private AnimatedFileDrawableStream stream; private boolean useSharedQueue; + private boolean invalidatePath = true; private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2, new ThreadPoolExecutor.DiscardPolicy()); @@ -189,7 +193,7 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { nextRenderingBitmapTime = backgroundBitmapTime; nextRenderingShader = backgroundShader; if (metaData[3] < lastTimeStamp) { - lastTimeStamp = 0; + lastTimeStamp = startTime > 0 ? (int) (startTime * 1000) : 0; } if (metaData[3] - lastTimeStamp != 0) { invalidateAfter = metaData[3] - lastTimeStamp; @@ -247,7 +251,7 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { } if (backgroundBitmap != null) { lastFrameDecodeTime = System.currentTimeMillis(); - if (getVideoFrame(nativePtr, backgroundBitmap, metaData, backgroundBitmap.getRowBytes(), false) == 0) { + if (getVideoFrame(nativePtr, backgroundBitmap, metaData, backgroundBitmap.getRowBytes(), false, startTime, endTime) == 0) { AndroidUtilities.runOnUIThread(uiRunnableNoFrame); return; } @@ -306,7 +310,7 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { if (backgroundBitmap == null) { backgroundBitmap = Bitmap.createBitmap(metaData[0], metaData[1], Bitmap.Config.ARGB_8888); } - int result = getVideoFrame(nativePtr, backgroundBitmap, metaData, backgroundBitmap.getRowBytes(), true); + int result = getVideoFrame(nativePtr, backgroundBitmap, metaData, backgroundBitmap.getRowBytes(), true, 0, 0); return result != 0 ? backgroundBitmap : null; } @@ -571,13 +575,16 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { shaderMatrix.preScale(scaleX, scaleY); renderingShader.setLocalMatrix(shaderMatrix); - for (int a = 0; a < roundRadius.length; a++) { - radii[a * 2] = roundRadius[a]; - radii[a * 2 + 1] = roundRadius[a]; + if (invalidatePath) { + invalidatePath = false; + for (int a = 0; a < roundRadius.length; a++) { + radii[a * 2] = roundRadius[a]; + radii[a * 2 + 1] = roundRadius[a]; + } + roundPath.reset(); + roundPath.addRoundRect(actualDrawRect, radii, Path.Direction.CW); + roundPath.close(); } - roundPath.reset(); - roundPath.addRoundRect(actualDrawRect, radii, Path.Direction.CW); - roundPath.close(); canvas.drawPath(roundPath, paint); } else { canvas.translate(dstRect.left, dstRect.top); @@ -642,7 +649,12 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { } public void setActualDrawRect(float x, float y, float width, float height) { - actualDrawRect.set(x, y, x + width, y + height); + float bottom = y + height; + float right = x + width; + if (actualDrawRect.left != x || actualDrawRect.top != y || actualDrawRect.right != right || actualDrawRect.bottom != bottom) { + actualDrawRect.set(x, y, right, bottom); + invalidatePath = true; + } } public void setRoundRadius(int[] value) { @@ -652,8 +664,13 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { } System.arraycopy(roundRadius, 0, roundRadiusBackup, 0, roundRadiusBackup.length); } - System.arraycopy(value, 0, roundRadius, 0, roundRadius.length); + boolean changed = false; + for (int i = 0; i < 4; i++) { + changed = value[i] != roundRadius[i]; + roundRadius[i] = value[i]; + } getPaint().setFlags(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG); + invalidatePath = changed; } private boolean hasRoundRadius() { @@ -688,4 +705,16 @@ public class AnimatedFileDrawable extends BitmapDrawable implements Animatable { public static void getVideoInfo(String src, int[] params) { getVideoInfo(Build.VERSION.SDK_INT, src, params); } + + public void setStartEndTime(long startTime, long endTime) { + this.startTime = startTime / 1000f; + this.endTime = endTime / 1000f; + if (getCurrentProgressMs() < startTime) { + seekTo(startTime, true); + } + } + + public long getStartTime() { + return (long) (startTime * 1000); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/AudioVisualizerDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/AudioVisualizerDrawable.java new file mode 100644 index 000000000..3cd542687 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/AudioVisualizerDrawable.java @@ -0,0 +1,194 @@ +package org.telegram.ui.Components; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.view.View; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.Cells.ChatMessageCell; + +import java.util.Random; + +public class AudioVisualizerDrawable { + + private final CircleBezierDrawable[] drawables; + + private final int[] tmpWaveform = new int[3]; + private final float[] animateTo = new float[8]; + private final float[] current = new float[8]; + private final float[] dt = new float[8]; + + private float idleScale; + private boolean idleScaleInc; + + private final Paint p1; + + private View parentView; + private final Random random = new Random(); + + public float IDLE_RADIUS = AndroidUtilities.dp(6) * 0.33f; + public float WAVE_RADIUS = AndroidUtilities.dp(12) * 0.36f; + public float ANIMATION_DURATION = 120; + public int ALPHA = 61; + + + public AudioVisualizerDrawable() { + drawables = new CircleBezierDrawable[2]; + for (int i = 0; i < 2; i++) { + CircleBezierDrawable drawable = drawables[i] = new CircleBezierDrawable(6); + drawable.idleStateDiff = 0; + drawable.radius = AndroidUtilities.dp(24); + drawable.radiusDiff = 0; + drawable.randomK = 1f; + } + p1 = new Paint(Paint.ANTI_ALIAS_FLAG); + } + + final int MAX_SAMPLE_SUM = 6; + private float[] lastAmplitude = new float[MAX_SAMPLE_SUM]; + private int lastAmplitudeCount; + private int lastAmplitudePointer; + + + public void setWaveform(boolean playing, boolean animate, float[] waveform) { + if (!playing && !animate) { + for (int i = 0; i < 8; i++) { + animateTo[i] = current[i] = 0; + } + return; + } + + boolean idleState = waveform != null && waveform[6] == 0; + float amplitude = waveform == null ? 0 : waveform[6]; + + if (waveform != null && amplitude > 0.4) { + lastAmplitude[lastAmplitudePointer] = amplitude; + lastAmplitudePointer++; + if (lastAmplitudePointer > MAX_SAMPLE_SUM - 1) { + lastAmplitudePointer = 0; + } + lastAmplitudeCount++; + } else { + lastAmplitudeCount = 0; + } + + if (idleState) { + for (int i = 0; i < 6; i++) { + waveform[i] = ((random.nextInt() % 500) / 1000f); + } + } + float duration = idleState ? ANIMATION_DURATION * 2 : ANIMATION_DURATION; + if (lastAmplitudeCount > MAX_SAMPLE_SUM) { + float a = 0; + for (int i = 0; i < MAX_SAMPLE_SUM; i++) { + a += lastAmplitude[i]; + } + a /= (float) MAX_SAMPLE_SUM; + if (a > 0.52f) { + duration -= ANIMATION_DURATION * (a - 0.40f); + } + } + for (int i = 0; i < 7; i++) { + if (waveform == null) { + animateTo[i] = 0; + } else { + animateTo[i] = waveform[i]; + } + if (parentView == null) { + current[i] = animateTo[i]; + } else if (i == 6) { + dt[i] = (animateTo[i] - current[i]) / (ANIMATION_DURATION + 80); + } else { + dt[i] = (animateTo[i] - current[i]) / duration; + } + } + + animateTo[7] = playing ? 1f : 0f; + dt[7] = (animateTo[7] - current[7]) / 120; + } + + float rotation; + + public void draw(Canvas canvas, float cx, float cy, boolean outOwner) { + if (outOwner) { + p1.setColor(Theme.getColor(Theme.key_chat_outLoader)); + p1.setAlpha(ALPHA); + } else { + p1.setColor(Theme.getColor(Theme.key_chat_inLoader)); + p1.setAlpha(ALPHA); + } + for (int i = 0; i < 8; i++) { + if (animateTo[i] != current[i]) { + current[i] += dt[i] * 16; + if ((dt[i] > 0 && current[i] > animateTo[i]) || (dt[i] < 0 && current[i] < animateTo[i])) { + current[i] = animateTo[i]; + } + parentView.invalidate(); + } + } + + if (idleScaleInc) { + idleScale += 0.02f; + if (idleScale > 1f) { + idleScaleInc = false; + idleScale = 1f; + } + } else { + idleScale -= 0.02f; + if (idleScale < 0) { + idleScaleInc = true; + idleScale = 0; + } + } + + float enterProgress = current[7]; + float radiusProgress = current[6] * current[0]; + // float idleProgress = radiusProgress > 0.4f ? 0 : (1f - radiusProgress / 0.4f); + + for (int i = 0; i < 3; i++) { + tmpWaveform[i] = (int) (current[i] * WAVE_RADIUS); + } + + //drawables[0].idleStateDiff = enterProgress * idleProgress * IDLE_AMPLITUDE; + //drawables[1].idleStateDiff = enterProgress * idleProgress * IDLE_AMPLITUDE; + + drawables[0].setAdditionals(tmpWaveform); + + for (int i = 0; i < 3; i++) { + tmpWaveform[i] = (int) (current[i + 3] * WAVE_RADIUS); + } + drawables[1].setAdditionals(tmpWaveform); + float radius = AndroidUtilities.dp(22) + + AndroidUtilities.dp(4) * radiusProgress + + IDLE_RADIUS * enterProgress; + + if (radius > AndroidUtilities.dp(26)) { + radius = AndroidUtilities.dp(26); + } + drawables[0].radius = drawables[1].radius = radius; + + canvas.save(); + rotation += 0.6; + canvas.rotate(rotation, cx, cy); + canvas.save(); + float s = 1f + 0.04f * idleScale; + canvas.scale(s, s, cx, cy); + drawables[0].draw(cx, cy, canvas, p1); + canvas.restore(); + + canvas.rotate(60, cx, cy); + s = 1f + 0.04f * (1f - idleScale); + canvas.scale(s, s, cx, cy); + drawables[1].draw(cx, cy, canvas, p1); + canvas.restore(); + } + + public void setParentView(ChatMessageCell parentView) { + this.parentView = parentView; + } + + public View getParentView() { + return parentView; + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/BiometricPromtHelper.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/BiometricPromtHelper.java deleted file mode 100644 index 39d733362..000000000 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/BiometricPromtHelper.java +++ /dev/null @@ -1,427 +0,0 @@ -package org.telegram.ui.Components; - -import android.app.Activity; -import android.app.KeyguardManager; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.graphics.drawable.AnimatedVectorDrawable; -import android.graphics.drawable.Drawable; -import android.hardware.biometrics.BiometricManager; -import android.hardware.biometrics.BiometricPrompt; -import android.hardware.fingerprint.FingerprintManager; -import android.os.Build; -import android.os.CancellationSignal; -import android.provider.Settings; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.View; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import org.telegram.messenger.AndroidUtilities; -import org.telegram.messenger.ApplicationLoader; -import org.telegram.messenger.FileLog; -import org.telegram.messenger.LocaleController; -import org.telegram.messenger.R; -import org.telegram.ui.ActionBar.AlertDialog; -import org.telegram.ui.ActionBar.BaseFragment; -import org.telegram.ui.ActionBar.BottomSheet; -import org.telegram.ui.ActionBar.Theme; - -import javax.crypto.Cipher; - -public class BiometricPromtHelper { - - private BaseFragment parentFragment; - private CancellationSignal cancellationSignal; - private BottomSheet bottomSheet; - private ImageView iconImageView; - private Button negativeButton; - private TextView errorTextView; - - private int currentState; - - private static final int STATE_IDLE = 0; - private static final int STATE_AUTHENTICATING = 1; - private static final int STATE_ERROR = 2; - private static final int STATE_PENDING_CONFIRMATION = 3; - private static final int STATE_AUTHENTICATED = 4; - - private Runnable resetRunnable = this::handleResetMessage; - - public interface ContinueCallback { - void run(boolean useBiometric); - } - - public interface CipherCallback { - void run(Cipher cipher); - } - - public BiometricPromtHelper(BaseFragment fragment) { - parentFragment = fragment; - } - - public void promtWithCipher(Cipher cipher, String text, CipherCallback callback) { - promtWithCipher(cipher, text, callback, shouldUseFingerprintForCrypto()); - } - - private void promtWithCipher(Cipher cipher, String text, CipherCallback callback, boolean forceFingerprint) { - if (cipher == null || callback == null || parentFragment == null || parentFragment.getParentActivity() == null) { - return; - } - Activity activity = parentFragment.getParentActivity(); - if (Build.VERSION.SDK_INT >= 28 && !forceFingerprint) { - cancellationSignal = new CancellationSignal(); - BiometricPrompt.Builder builder = new BiometricPrompt.Builder(activity); - builder.setTitle(LocaleController.getString("Wallet", R.string.Wallet)); - builder.setDescription(text); - builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), activity.getMainExecutor(), (dialog, which) -> { - }); - builder.build().authenticate(new BiometricPrompt.CryptoObject(cipher), cancellationSignal, activity.getMainExecutor(), new BiometricPrompt.AuthenticationCallback() { - @Override - public void onAuthenticationError(int errorCode, CharSequence errString) { - if (errorCode == BiometricPrompt.BIOMETRIC_ERROR_LOCKOUT) { - AlertsCreator.showSimpleAlert(parentFragment, LocaleController.getString("Wallet", R.string.Wallet), LocaleController.getString("WalletBiometricTooManyAttempts", R.string.WalletBiometricTooManyAttempts)); - } else if (errorCode == BiometricPrompt.BIOMETRIC_ERROR_NO_BIOMETRICS) { - promtWithCipher(cipher, text, callback, true); - } - } - - @Override - public void onAuthenticationHelp(int helpCode, CharSequence helpString) { - - } - - @Override - public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) { - callback.run(result.getCryptoObject().getCipher()); - } - - @Override - public void onAuthenticationFailed() { - - } - }); - } else if (Build.VERSION.SDK_INT >= 23) { - cancellationSignal = new CancellationSignal(); - - Context context = parentFragment.getParentActivity(); - BottomSheet.Builder builder = new BottomSheet.Builder(context); - builder.setUseFullWidth(false); - builder.setApplyTopPadding(false); - builder.setApplyBottomPadding(false); - - LinearLayout linearLayout = new LinearLayout(context); - linearLayout.setOrientation(LinearLayout.VERTICAL); - linearLayout.setLayoutParams(LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.TOP | Gravity.LEFT, 0, 4, 4, 4)); - builder.setCustomView(linearLayout); - - TextView titleTextView = new TextView(context); - titleTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - titleTextView.setGravity(Gravity.CENTER_HORIZONTAL); - titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20); - titleTextView.setTextColor(Theme.getColor(Theme.key_dialogTextBlack)); - titleTextView.setText(LocaleController.getString("Wallet", R.string.Wallet)); - linearLayout.addView(titleTextView, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, 24, 24, 24, 0)); - - TextView descriptionTextView = new TextView(context); - descriptionTextView.setGravity(Gravity.CENTER_HORIZONTAL); - descriptionTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); - descriptionTextView.setTextColor(Theme.getColor(Theme.key_dialogTextBlack)); - descriptionTextView.setText(text); - descriptionTextView.setPadding(0, AndroidUtilities.dp(8), 0, 0); - linearLayout.addView(descriptionTextView, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, 24, 0, 24, 0)); - - iconImageView = new ImageView(context); - iconImageView.setScaleType(ImageView.ScaleType.FIT_XY); - linearLayout.addView(iconImageView, LayoutHelper.createLinear(64, 64, Gravity.CENTER_HORIZONTAL, 0, 48, 0, 0)); - - errorTextView = new TextView(context); - errorTextView.setGravity(Gravity.CENTER_HORIZONTAL); - errorTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12); - errorTextView.setTextColor(Theme.getColor(Theme.key_dialogTextGray2)); - errorTextView.setText(LocaleController.getString("Wallet", R.string.Wallet)); - errorTextView.setPadding(0, AndroidUtilities.dp(16), 0, AndroidUtilities.dp(24)); - linearLayout.addView(errorTextView, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, 24, 0, 24, 0)); - - negativeButton = new Button(context); - negativeButton.setGravity(Gravity.CENTER); - negativeButton.setTextColor(Theme.getColor(Theme.key_dialogButton)); - negativeButton.setText(LocaleController.getString("Cancel", R.string.Cancel)); - negativeButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - negativeButton.setSingleLine(true); - negativeButton.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0); - negativeButton.setBackgroundDrawable(Theme.getRoundRectSelectorDrawable(Theme.getColor(Theme.key_dialogButton))); - linearLayout.addView(negativeButton, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, 36, 14, 42, 0, 14)); - negativeButton.setOnClickListener(v -> builder.getDismissRunnable().run()); - - parentFragment.showDialog(bottomSheet = builder.create(), dialog -> { - if (cancellationSignal != null) { - cancellationSignal.cancel(); - cancellationSignal = null; - } - bottomSheet = null; - }); - - FingerprintManager fingerprintManager = getFingerprintManagerOrNull(); - if (fingerprintManager != null) { - fingerprintManager.authenticate(new FingerprintManager.CryptoObject(cipher), cancellationSignal, 0, new FingerprintManager.AuthenticationCallback() { - @Override - public void onAuthenticationError(int errorCode, CharSequence errString) { - if (errorCode == FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED) { - bottomSheet.dismiss(); - } else { - updateState(STATE_ERROR); - showTemporaryMessage(errString); - } - } - - @Override - public void onAuthenticationHelp(int helpCode, CharSequence helpString) { - updateState(STATE_ERROR); - showTemporaryMessage(helpString); - } - - @Override - public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) { - builder.getDismissRunnable().run(); - callback.run(result.getCryptoObject().getCipher()); - } - - @Override - public void onAuthenticationFailed() { - updateState(STATE_ERROR); - showTemporaryMessage(LocaleController.getString("WalletTouchFingerprintNotRecognized", R.string.WalletTouchFingerprintNotRecognized)); - } - }, null); - } - - updateState(STATE_AUTHENTICATING); - errorTextView.setText(LocaleController.getString("WalletTouchFingerprint", R.string.WalletTouchFingerprint)); - errorTextView.setVisibility(View.VISIBLE); - } - } - - private void updateState(int newState) { - if (newState == STATE_PENDING_CONFIRMATION) { - AndroidUtilities.cancelRunOnUIThread(resetRunnable); - errorTextView.setVisibility(View.INVISIBLE); - } else if (newState == STATE_AUTHENTICATED) { - negativeButton.setVisibility(View.GONE); - errorTextView.setVisibility(View.INVISIBLE); - } - - updateIcon(currentState, newState); - currentState = newState; - } - - private void showTemporaryMessage(CharSequence message) { - AndroidUtilities.cancelRunOnUIThread(resetRunnable); - errorTextView.setText(message); - errorTextView.setTextColor(Theme.getColor(Theme.key_dialogTextRed2)); - errorTextView.setContentDescription(message); - AndroidUtilities.runOnUIThread(resetRunnable, 2000); - } - - private void handleResetMessage() { - if (errorTextView == null) { - return; - } - updateState(STATE_AUTHENTICATING); - errorTextView.setText(LocaleController.getString("WalletTouchFingerprint", R.string.WalletTouchFingerprint)); - errorTextView.setTextColor(Theme.getColor(Theme.key_dialogButton)); - } - - private void updateIcon(int lastState, int newState) { - if (Build.VERSION.SDK_INT < 21) { - return; - } - final Drawable icon = getAnimationForTransition(lastState, newState); - if (icon == null) { - return; - } - - final AnimatedVectorDrawable animation = icon instanceof AnimatedVectorDrawable ? (AnimatedVectorDrawable) icon : null; - - iconImageView.setImageDrawable(icon); - - if (animation != null && shouldAnimateForTransition(lastState, newState)) { - animation.start(); - } - } - - private boolean shouldAnimateForTransition(int oldState, int newState) { - if (newState == STATE_ERROR) { - return true; - } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATING) { - return true; - } else if (oldState == STATE_AUTHENTICATING && newState == STATE_AUTHENTICATED) { - return false; - } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATED) { - return false; - } else if (newState == STATE_AUTHENTICATING) { - return false; - } - return false; - } - - private Drawable getAnimationForTransition(int oldState, int newState) { - if (parentFragment == null || parentFragment.getParentActivity() == null || Build.VERSION.SDK_INT < 21) { - return null; - } - int iconRes; - if (newState == STATE_ERROR) { - iconRes = R.drawable.fingerprint_dialog_fp_to_error; - } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATING) { - iconRes = R.drawable.fingerprint_dialog_error_to_fp; - } else if (oldState == STATE_AUTHENTICATING && newState == STATE_AUTHENTICATED) { - iconRes = R.drawable.fingerprint_dialog_fp_to_error; - } else if (oldState == STATE_ERROR && newState == STATE_AUTHENTICATED) { - iconRes = R.drawable.fingerprint_dialog_fp_to_error; - } else if (newState == STATE_AUTHENTICATING) { - iconRes = R.drawable.fingerprint_dialog_fp_to_error; - } else { - return null; - } - return parentFragment.getParentActivity().getDrawable(iconRes); - } - - public void onPause() { - if (bottomSheet != null) { - bottomSheet.dismiss(); - bottomSheet = null; - } - if (cancellationSignal != null) { - cancellationSignal.cancel(); - cancellationSignal = null; - } - } - - public void cancelPromt() { - cancellationSignal.cancel(); - cancellationSignal = null; - } - - private static FingerprintManager getFingerprintManagerOrNull() { - if (Build.VERSION.SDK_INT == 23) { - return ApplicationLoader.applicationContext.getSystemService(FingerprintManager.class); - } else if (Build.VERSION.SDK_INT > 23 && ApplicationLoader.applicationContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) { - return ApplicationLoader.applicationContext.getSystemService(FingerprintManager.class); - } else { - return null; - } - } - - public static boolean hasBiometricEnrolled() { - if (Build.VERSION.SDK_INT >= 29 && !shouldUseFingerprintForCrypto()) { - BiometricManager biometricManager = ApplicationLoader.applicationContext.getSystemService(android.hardware.biometrics.BiometricManager.class); - return biometricManager.canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS; - } else if (Build.VERSION.SDK_INT >= 23) { - FingerprintManager fingerprintManager = getFingerprintManagerOrNull(); - return fingerprintManager != null && fingerprintManager.isHardwareDetected() && fingerprintManager.hasEnrolledFingerprints(); - } - return false; - } - - public static boolean canAddBiometric() { - if (Build.VERSION.SDK_INT >= 29 && !shouldUseFingerprintForCrypto()) { - BiometricManager biometricManager = ApplicationLoader.applicationContext.getSystemService(android.hardware.biometrics.BiometricManager.class); - return biometricManager.canAuthenticate() != BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE; - } - return hasFingerprintHardware(); - } - - public static boolean hasFingerprintHardware() { - if (Build.VERSION.SDK_INT >= 23) { - FingerprintManager fingerprintManager = getFingerprintManagerOrNull(); - return fingerprintManager != null && fingerprintManager.isHardwareDetected(); - } - return false; - } - - public static boolean hasLockscreenProtected() { - if (Build.VERSION.SDK_INT >= 23) { - KeyguardManager keyguardManager = (KeyguardManager) ApplicationLoader.applicationContext.getSystemService(Context.KEYGUARD_SERVICE); - return keyguardManager.isDeviceSecure(); - } - return false; - } - - public static void askForBiometric(BaseFragment fragment, ContinueCallback callback, String continueButton) { - if (fragment == null || fragment.getParentActivity() == null || callback == null) { - return; - } - boolean hasBiometric = hasBiometricEnrolled(); - if (hasBiometric || Build.VERSION.SDK_INT < 23 || hasLockscreenProtected() && !hasFingerprintHardware()) { - callback.run(hasBiometric); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity()); - builder.setTitle(LocaleController.getString("WalletSecurityAlertTitle", R.string.WalletSecurityAlertTitle)); - boolean biometricOnly; - if (hasLockscreenProtected()) { - builder.setMessage(LocaleController.getString("WalletSecurityAlertTextBiometric", R.string.WalletSecurityAlertTextBiometric)); - biometricOnly = true; - } else if (hasFingerprintHardware()) { - builder.setMessage(LocaleController.getString("WalletSecurityAlertTextLockscreenBiometric", R.string.WalletSecurityAlertTextLockscreenBiometric)); - biometricOnly = false; - } else { - builder.setMessage(LocaleController.getString("WalletSecurityAlertTextLockscreen", R.string.WalletSecurityAlertTextLockscreen)); - biometricOnly = false; - } - builder.setPositiveButton(LocaleController.getString("WalletSecurityAlertSetup", R.string.WalletSecurityAlertSetup), (dialog, which) -> { - try { - if (biometricOnly && Build.VERSION.SDK_INT >= 28) { - fragment.getParentActivity().startActivity(new Intent(Settings.ACTION_FINGERPRINT_ENROLL)); - } else { - fragment.getParentActivity().startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS)); - } - } catch (Exception e) { - FileLog.e(e); - } - }); - builder.setNegativeButton(continueButton, (dialog, which) -> callback.run(false)); - fragment.showDialog(builder.create()); - } - } - - final static String[] badBiometricModels = new String[]{ - "SM-G95", - "SM-G96", - "SM-G97", - "SM-N95", - "SM-N96", - "SM-N97", - "SM-A20" - }; - - final static String[] hideBiometricModels = new String[]{ - "SM-G97", - "SM-N97" - }; - - private static boolean shouldHideBiometric() { - return isModelInList(Build.MODEL, hideBiometricModels); - } - - private static boolean shouldUseFingerprintForCrypto() { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P || Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) { - return false; - } - return isModelInList(Build.MODEL, badBiometricModels); - } - - private static boolean isModelInList(String deviceModel, String[] list) { - if (deviceModel == null) { - return false; - } - for (int a = 0; a < list.length; a++) { - if (deviceModel.startsWith(list[a])) { - return true; - } - } - return false; - } -} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/BlurBehindDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/BlurBehindDrawable.java index 4bdb728af..3f5d61bc7 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/BlurBehindDrawable.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/BlurBehindDrawable.java @@ -12,7 +12,6 @@ import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.DispatchQueue; import org.telegram.messenger.FileLog; import org.telegram.messenger.Utilities; -import org.telegram.ui.ActionBar.BackDrawable; import org.telegram.ui.ActionBar.Theme; import static android.graphics.Canvas.ALL_SAVE_FLAG; @@ -134,11 +133,11 @@ public class BlurBehindDrawable { blurCanvas[i].scale(1f / DOWN_SCALE, 1f / DOWN_SCALE, 0, 0); Drawable backDrawable = behindView.getBackground(); if (backDrawable == null) { - backDrawable = Theme.getCachedWallpaperNonBlocking();; + backDrawable = Theme.getCachedWallpaperNonBlocking(); } behindView.setTag(TAG_DRAWING_AS_BACKGROUND, i); if (i == STATIC_CONTENT) { - blurCanvas[i].translate(0,-panTranslationY); + blurCanvas[i].translate(0, -panTranslationY); behindView.draw(blurCanvas[i]); } @@ -225,14 +224,16 @@ public class BlurBehindDrawable { blurBackgroundTask.canceled = true; blurBackgroundTask = new BlurBackgroundTask(); - for (int i = 0; i < 2; i ++) { + for (int i = 0; i < 2; i++) { int lastH = parentView.getMeasuredHeight(); int lastW = parentView.getMeasuredWidth(); toolbarH = AndroidUtilities.statusBarHeight + AndroidUtilities.dp(100); int h = i == 0 ? toolbarH : lastH; if (bitmap[i].getHeight() != h || bitmap[i].getWidth() != parentView.getMeasuredWidth()) { - queue.cleanupQueue(); + if (queue != null) { + queue.cleanupQueue(); + } blurredBitmapTmp[i] = Bitmap.createBitmap((int) (lastW / DOWN_SCALE), (int) (h / DOWN_SCALE), Bitmap.Config.ARGB_8888); blurCanvas[i] = new Canvas(blurredBitmapTmp[i]); @@ -245,11 +246,11 @@ public class BlurBehindDrawable { blurCanvas[i].scale(1f / DOWN_SCALE, 1f / DOWN_SCALE, 0, 0); Drawable backDrawable = behindView.getBackground(); if (backDrawable == null) { - backDrawable = Theme.getCachedWallpaperNonBlocking();; + backDrawable = Theme.getCachedWallpaperNonBlocking(); } behindView.setTag(TAG_DRAWING_AS_BACKGROUND, i); if (i == STATIC_CONTENT) { - blurCanvas[i].translate(0,-panTranslationY); + blurCanvas[i].translate(0, -panTranslationY); behindView.draw(blurCanvas[i]); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java index 427d79d22..b717ef1c6 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java @@ -48,7 +48,6 @@ import android.text.StaticLayout; import android.text.TextPaint; import android.text.TextWatcher; import android.text.style.ImageSpan; -import android.text.style.ReplacementSpan; import android.util.Property; import android.util.TypedValue; import android.view.ActionMode; @@ -130,9 +129,6 @@ import java.util.Locale; public class ChatActivityEnterView extends FrameLayout implements NotificationCenter.NotificationCenterDelegate, SizeNotifierFrameLayout.SizeNotifierFrameLayoutDelegate, StickersAlert.StickersAlertDelegate { - private float circleAlpha1 = 0.4f; - private float circleAlpha2 = 0.3f; - public interface ChatActivityEnterViewDelegate { void onMessageSend(CharSequence message, boolean notify, int scheduleDate); void needSendTyping(); @@ -166,6 +162,9 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe void onAudioVideoInterfaceUpdated(); default void bottomPanelTranslationYChanged(float translation) { + } + default void prepareMessageSending() { + } } @@ -297,8 +296,8 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe private ImageView doneButtonImage; private AnimatorSet doneButtonAnimation; private ContextProgressView doneButtonProgress; - private View topView; - private View topLineView; + protected View topView; + protected View topLineView; private BotKeyboardView botKeyboardView; private ImageView notifyButton; private ImageView scheduledButton; @@ -310,6 +309,9 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe private MediaActionDrawable playPauseDrawable; private int searchingType; private Runnable focusRunnable; + protected float topViewEnterProgress; + protected int animatedTop; + private ValueAnimator currentTopViewAnimation; private boolean destroyed; @@ -373,21 +375,24 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe private TLRPC.WebPage messageWebPage; private boolean messageWebPageSearch = true; private ChatActivityEnterViewDelegate delegate; + private TrendingStickersAlert trendingStickersAlert; private TLRPC.TL_document audioToSend; private String audioToSendPath; private MessageObject audioToSendMessageObject; private VideoEditedInfo videoToSendMessageObject; - private boolean topViewShowed; + protected boolean topViewShowed; + private boolean needShowTopView; private boolean allowShowTopView; - private AnimatorSet currentTopViewAnimation; + private MessageObject pendingMessageObject; private TLRPC.KeyboardButton pendingLocationButton; private boolean configAnimationsEnabled; + private boolean waitingForKeyboardOpen; private boolean wasSendTyping; private Runnable openKeyboardRunnable = new Runnable() { @@ -757,6 +762,8 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe private float wavesEnterAnimation = 0f; private boolean showWaves = true; + private Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); + public RecordCircle(Context context) { super(context); micDrawable = getResources().getDrawable(R.drawable.input_mic_pressed).mutate(); @@ -1222,7 +1229,6 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe path.lineTo(0, 0); path.lineTo(AndroidUtilities.dpf2(5), AndroidUtilities.dpf2(4)); - Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); p.setColor(Color.WHITE); p.setAlpha(alphaInt); p.setStyle(Paint.Style.STROKE); @@ -1771,8 +1777,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe float radiusDiff = AndroidUtilities.dp(10) + AndroidUtilities.dp(50) * WAVE_ANGLE * animateToAmplitude; - circleBezierDrawable.idleStateDiff = idleRadius * - (1f - waveAmplitude); + circleBezierDrawable.idleStateDiff = idleRadius * (1f - waveAmplitude); float kDiff = 0.35f * waveAmplitude * waveDif; circleBezierDrawable.radiusDiff = radiusDiff * kDiff; @@ -1921,7 +1926,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe public InputConnection onCreateInputConnection(EditorInfo editorInfo) { final InputConnection ic = super.onCreateInputConnection(editorInfo); try { - EditorInfoCompat.setContentMimeTypes(editorInfo, new String[]{"image/gif", "image/*", "image/jpg", "image/png"}); + EditorInfoCompat.setContentMimeTypes(editorInfo, new String[]{"image/gif", "image/*", "image/jpg", "image/png", "image/webp"}); final InputConnectionCompat.OnCommitContentListener callback = (inputContentInfo, flags, opts) -> { if (BuildCompat.isAtLeastNMR1() && (flags & InputConnectionCompat.INPUT_CONTENT_GRANT_READ_URI_PERMISSION) != 0) { @@ -2819,11 +2824,19 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe animatorSet.start(); } + public int getBackgroundTop() { + int t = getTop(); + if (topView != null && topView.getVisibility() == View.VISIBLE) { + t += topView.getLayoutParams().height; + } + return t; + } + @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { if (child == topView) { canvas.save(); - canvas.clipRect(0, 0, getMeasuredWidth(), child.getLayoutParams().height + AndroidUtilities.dp(2)); + canvas.clipRect(0, animatedTop, getMeasuredWidth(), animatedTop + child.getLayoutParams().height + AndroidUtilities.dp(2)); } boolean result = super.drawChild(canvas, child, drawingTime); if (child == topView) { @@ -2834,8 +2847,12 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe @Override protected void onDraw(Canvas canvas) { - int top = topView != null && topView.getVisibility() == VISIBLE ? (int) topView.getTranslationY() : 0; + int top = animatedTop; + if (topView != null && topView.getVisibility() == View.VISIBLE) { + top += (1f - topViewEnterProgress) * topView.getLayoutParams().height; + } int bottom = top + Theme.chat_composeShadowDrawable.getIntrinsicHeight(); + Theme.chat_composeShadowDrawable.setBounds(0, top, getMeasuredWidth(), bottom); Theme.chat_composeShadowDrawable.draw(canvas); canvas.drawRect(0, bottom, getWidth(), getHeight(), Theme.chat_composeBackgroundPaint); @@ -3095,6 +3112,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe topView = view; topView.setVisibility(GONE); + topViewEnterProgress = 0f; topView.setTranslationY(height); addView(topView, 0, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, height, Gravity.TOP | Gravity.LEFT, 0, 2, 0, 0)); needShowTopView = false; @@ -3129,6 +3147,17 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe emojiView.switchToGifRecent(); } + private final ValueAnimator.AnimatorUpdateListener topViewUpdateListener = animation -> { + if (topView != null) { + float v = (float) animation.getAnimatedValue(); + topViewEnterProgress = v; + topView.setTranslationY(animatedTop + (1f - v) * topView.getLayoutParams().height); + topLineView.setAlpha(v); + topLineView.setTranslationY(animatedTop); + } + }; + + public void showTopView(boolean animated, final boolean openKeyboard) { if (topView == null || topViewShowed || getVisibility() != VISIBLE) { if (recordedAudioPanel.getVisibility() != VISIBLE && (!forceShowSendButton || openKeyboard)) { @@ -3147,10 +3176,8 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe } resizeForTopView(true); if (animated) { - currentTopViewAnimation = new AnimatorSet(); - currentTopViewAnimation.playTogether( - ObjectAnimator.ofFloat(topView, View.TRANSLATION_Y, 0), - ObjectAnimator.ofFloat(topLineView, View.ALPHA, 1.0f)); + currentTopViewAnimation = ValueAnimator.ofFloat(topViewEnterProgress, 1f); + currentTopViewAnimation.addUpdateListener(topViewUpdateListener); currentTopViewAnimation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { @@ -3163,6 +3190,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe currentTopViewAnimation.setInterpolator(CubicBezierInterpolator.DEFAULT); currentTopViewAnimation.start(); } else { + topViewEnterProgress = 1f; topView.setTranslationY(0); topLineView.setAlpha(1.0f); } @@ -3264,10 +3292,8 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe currentTopViewAnimation = null; } if (animated) { - currentTopViewAnimation = new AnimatorSet(); - currentTopViewAnimation.playTogether( - ObjectAnimator.ofFloat(topView, View.TRANSLATION_Y, topView.getLayoutParams().height), - ObjectAnimator.ofFloat(topLineView, View.ALPHA, 0.0f)); + currentTopViewAnimation = ValueAnimator.ofFloat(topViewEnterProgress, 0); + currentTopViewAnimation.addUpdateListener(topViewUpdateListener); currentTopViewAnimation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { @@ -3286,10 +3312,12 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe } } }); - currentTopViewAnimation.setDuration(200); + currentTopViewAnimation.setDuration(220); + currentTopViewAnimation.setStartDelay(50); currentTopViewAnimation.setInterpolator(CubicBezierInterpolator.DEFAULT); currentTopViewAnimation.start(); } else { + topViewEnterProgress = 0f; topView.setVisibility(GONE); topLineView.setVisibility(GONE); topLineView.setAlpha(0.0f); @@ -3320,6 +3348,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe topLineView.setVisibility(GONE); topLineView.setAlpha(0.0f); resizeForTopView(false); + topViewEnterProgress = 0f; topView.setTranslationY(topView.getLayoutParams().height); } } @@ -3331,6 +3360,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe topLineView.setVisibility(VISIBLE); topLineView.setAlpha(1.0f); resizeForTopView(true); + topViewEnterProgress = 1f; topView.setTranslationY(0); } } @@ -3824,6 +3854,9 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe boolean supportsNewEntities = supportsSendingNewEntities(); int maxLength = accountInstance.getMessagesController().maxMessageLength; if (text.length() != 0) { + if (delegate != null && parentFragment != null && (scheduleDate != 0) == parentFragment.isInScheduleMode()) { + delegate.prepareMessageSending(); + } int count = (int) Math.ceil(text.length() / (float) maxLength); for (int a = 0; a < count; a++) { CharSequence[] message = new CharSequence[]{text.subSequence(a * maxLength, Math.min((a + 1) * maxLength, text.length()))}; @@ -4453,8 +4486,6 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe @Override public void onAnimationEnd(Animator animation) { if (animation.equals(runningAnimation)) { - sendButton.setVisibility(GONE); - cancelBotButton.setVisibility(GONE); setSlowModeButtonVisible(false); runningAnimation = null; runningAnimationType = 0; @@ -5379,6 +5410,10 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe return emojiView; } + public TrendingStickersAlert getTrendingStickersAlert() { + return trendingStickersAlert; + } + public void updateColors() { if (emojiView != null) { emojiView.updateColors(); @@ -5741,7 +5776,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe if (button instanceof TLRPC.TL_keyboardButton) { SendMessagesHelper.getInstance(currentAccount).sendMessage(button.text, dialog_id, replyMessageObject, null, false, null, null, null, true, 0); } else if (button instanceof TLRPC.TL_keyboardButtonUrl) { - parentFragment.showOpenUrlAlert(button.url, false, true); + AlertsCreator.showOpenUrlAlert(parentFragment, button.url, false, true); } else if (button instanceof TLRPC.TL_keyboardButtonRequestPhone) { parentFragment.shareMyContact(2, messageObject); } else if (button instanceof TLRPC.TL_keyboardButtonRequestPoll) { @@ -5852,8 +5887,6 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe emojiView.setVisibility(GONE); emojiView.setDelegate(new EmojiView.EmojiViewDelegate() { - private TrendingStickersAlert trendingStickersAlert; - @Override public boolean onBackspace() { if (messageEditText.length() == 0) { @@ -5954,6 +5987,7 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe HashMap params = new HashMap<>(); params.put("id", result.id); params.put("query_id", "" + result.query_id); + params.put("force_gif", "1"); SendMessagesHelper.prepareSendingBotContextResult(accountInstance, result, params, dialog_id, replyingMessageObject, notify, scheduleDate); @@ -6068,7 +6102,9 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe @Override public void dismiss() { super.dismiss(); - trendingStickersAlert = null; + if (trendingStickersAlert == this) { + trendingStickersAlert = null; + } } }; trendingStickersAlert.show(); @@ -6437,6 +6473,17 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe emojiButtonAnimation.setDuration(150); emojiButtonAnimation.start(); } + onEmojiIconChanged(nextIcon); + } + + protected void onEmojiIconChanged(int currentIcon) { + if (currentIcon == 3 && emojiView == null) { + MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_IMAGE, true, true, false); + final ArrayList gifSearchEmojies = MessagesController.getInstance(currentAccount).gifSearchEmojies; + for (int i = 0, N = Math.min(10, gifSearchEmojies.size()); i < N; i++) { + Emoji.preloadEmoji(gifSearchEmojies.get(i)); + } + } } public void hidePopup(boolean byBackButton) { @@ -7507,17 +7554,4 @@ public class ChatActivityEnterView extends FrameLayout implements NotificationCe stoppedInternal = false; } } - - private static class EmptyStubSpan extends ReplacementSpan { - - @Override - public int getSize(@NonNull Paint paint, CharSequence text, int start, int end, @Nullable Paint.FontMetricsInt fm) { - return (int) paint.measureText(text, start, end); - } - - @Override - public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, @NonNull Paint paint) { - - } - } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java index 00f8d5657..87abc4477 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java @@ -94,6 +94,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N void didSelectBot(TLRPC.User user); void onCameraOpened(); void needEnterComment(); + void doOnIdle(Runnable runnable); } public float translationProgress; @@ -570,7 +571,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N ignoreLayout = false; } int availableHeight = totalHeight - getPaddingTop(); - int keyboardSize = useSmoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = useSmoothKeyboard ? 0 : measureKeyboardHeight(); if (!AndroidUtilities.isInMultiwindow && keyboardSize <= AndroidUtilities.dp(20)) { availableHeight -= commentTextView.getEmojiPadding(); } @@ -611,7 +612,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N setMeasuredDimension(widthSize, heightSize); widthSize -= backgroundPaddingLeft * 2; - int keyboardSize = useSmoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = useSmoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { if (!AndroidUtilities.isInMultiwindow) { heightSize -= commentTextView.getEmojiPadding(); @@ -660,7 +661,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N setSystemGestureExclusionRects(exclusionRects); } - int keyboardSize = useSmoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = useSmoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? commentTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); @@ -968,10 +969,11 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N } else { info.searchImage = searchImage; } - + info.thumbPath = searchImage.thumbPath; + info.videoEditedInfo = searchImage.editedInfo; info.caption = searchImage.caption != null ? searchImage.caption.toString() : null; info.entities = searchImage.entities; - info.masks = !searchImage.stickers.isEmpty() ? new ArrayList<>(searchImage.stickers) : null; + info.masks = searchImage.stickers; info.ttl = searchImage.ttl; if (searchImage.inlineResult != null && searchImage.type == 1) { info.inlineResult = searchImage.inlineResult; @@ -1338,6 +1340,10 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N public void show() { super.show(); buttonPressed = false; + if (baseFragment instanceof ChatActivity) { + ChatActivity chatActivity = (ChatActivity) baseFragment; + calcMandatoryInsets = chatActivity.isKeyboardVisible(); + } } public void setEditingMessageObject(MessageObject messageObject) { @@ -1898,7 +1904,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N return; } int newOffset = layout.getCurrentItemTop(); - FileLog.d(layout + " offset = " + newOffset); if (newOffset == Integer.MAX_VALUE) { return; } @@ -2145,7 +2150,6 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N @Override public void onOpenAnimationEnd() { - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); MediaController.AlbumEntry albumEntry; if (baseFragment instanceof ChatActivity) { albumEntry = MediaController.allMediaAlbumEntry; @@ -2327,6 +2331,10 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N @Override public void dismissInternal() { + delegate.doOnIdle(this::removeFromRoot); + } + + private void removeFromRoot() { if (containerView != null) { containerView.setVisibility(View.INVISIBLE); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertAudioLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertAudioLayout.java index 4ae5b5886..87bb05285 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertAudioLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertAudioLayout.java @@ -336,7 +336,7 @@ public class ChatAttachAlertAudioLayout extends ChatAttachAlert.AttachAlertLayou @Override void onPreMeasure(int availableWidth, int availableHeight) { int padding; - if (parentAlert.sizeNotifierFrameLayout.getKeyboardHeight() > AndroidUtilities.dp(20)) { + if (parentAlert.sizeNotifierFrameLayout.measureKeyboardHeight() > AndroidUtilities.dp(20)) { padding = AndroidUtilities.dp(8); parentAlert.setAllowNestedScroll(false); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertContactsLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertContactsLayout.java index 9936b8f35..3507085ef 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertContactsLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertContactsLayout.java @@ -420,7 +420,7 @@ public class ChatAttachAlertContactsLayout extends ChatAttachAlert.AttachAlertLa @Override void onPreMeasure(int availableWidth, int availableHeight) { int padding; - if (parentAlert.sizeNotifierFrameLayout.getKeyboardHeight() > AndroidUtilities.dp(20)) { + if (parentAlert.sizeNotifierFrameLayout.measureKeyboardHeight() > AndroidUtilities.dp(20)) { padding = AndroidUtilities.dp(8); parentAlert.setAllowNestedScroll(false); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertDocumentLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertDocumentLayout.java index 45a45c867..78c01e16b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertDocumentLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertDocumentLayout.java @@ -460,7 +460,7 @@ public class ChatAttachAlertDocumentLayout extends ChatAttachAlert.AttachAlertLa @Override void onPreMeasure(int availableWidth, int availableHeight) { int padding; - if (parentAlert.actionBar.isSearchFieldVisible() || parentAlert.sizeNotifierFrameLayout.getKeyboardHeight() > AndroidUtilities.dp(20)) { + if (parentAlert.actionBar.isSearchFieldVisible() || parentAlert.sizeNotifierFrameLayout.measureKeyboardHeight() > AndroidUtilities.dp(20)) { padding = AndroidUtilities.dp(56); parentAlert.setAllowNestedScroll(false); } else { @@ -578,18 +578,17 @@ public class ChatAttachAlertDocumentLayout extends ChatAttachAlert.AttachAlertLa media.add(info); if (object instanceof MediaController.PhotoEntry) { MediaController.PhotoEntry photoEntry = (MediaController.PhotoEntry) object; - if (photoEntry.isVideo) { - info.path = photoEntry.path; - info.videoEditedInfo = photoEntry.editedInfo; - } else if (photoEntry.imagePath != null) { + if (photoEntry.imagePath != null) { info.path = photoEntry.imagePath; - } else if (photoEntry.path != null) { + } else { info.path = photoEntry.path; } + info.thumbPath = photoEntry.thumbPath; + info.videoEditedInfo = photoEntry.editedInfo; info.isVideo = photoEntry.isVideo; info.caption = photoEntry.caption != null ? photoEntry.caption.toString() : null; info.entities = photoEntry.entities; - info.masks = !photoEntry.stickers.isEmpty() ? new ArrayList<>(photoEntry.stickers) : null; + info.masks = photoEntry.stickers; info.ttl = photoEntry.ttl; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertLocationLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertLocationLayout.java index 42c8b5b10..da203aa4b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertLocationLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertLocationLayout.java @@ -1026,7 +1026,7 @@ public class ChatAttachAlertLocationLayout extends ChatAttachAlert.AttachAlertLa @Override void onPreMeasure(int availableWidth, int availableHeight) { int padding; - if (parentAlert.actionBar.isSearchFieldVisible() || parentAlert.sizeNotifierFrameLayout.getKeyboardHeight() > AndroidUtilities.dp(20)) { + if (parentAlert.actionBar.isSearchFieldVisible() || parentAlert.sizeNotifierFrameLayout.measureKeyboardHeight() > AndroidUtilities.dp(20)) { padding = mapHeight - overScrollHeight; parentAlert.setAllowNestedScroll(false); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPhotoLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPhotoLayout.java index 55a9c2bcf..82b914eba 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPhotoLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPhotoLayout.java @@ -17,7 +17,6 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.hardware.Camera; import android.media.MediaMetadataRetriever; -import android.media.ThumbnailUtils; import android.net.Uri; import android.os.Build; import android.provider.MediaStore; @@ -49,6 +48,7 @@ import org.telegram.messenger.MediaController; import org.telegram.messenger.MessageObject; import org.telegram.messenger.NotificationCenter; import org.telegram.messenger.R; +import org.telegram.messenger.SendMessagesHelper; import org.telegram.messenger.SharedConfig; import org.telegram.messenger.Utilities; import org.telegram.messenger.VideoEditedInfo; @@ -1835,7 +1835,7 @@ public class ChatAttachAlertPhotoLayout extends ChatAttachAlert.AttachAlertLayou FileLog.e(e); } } - final Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); + final Bitmap bitmap = SendMessagesHelper.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); String fileName = Integer.MIN_VALUE + "_" + SharedConfig.getLastLocalId() + ".jpg"; final File cacheFile = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName); try { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPollLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPollLayout.java index 63b7cffb2..ea81a0713 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPollLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlertPollLayout.java @@ -479,7 +479,7 @@ public class ChatAttachAlertPollLayout extends ChatAttachAlert.AttachAlertLayout @Override void onPreMeasure(int availableWidth, int availableHeight) { int padding; - if (parentAlert.sizeNotifierFrameLayout.getKeyboardHeight() > AndroidUtilities.dp(20)) { + if (parentAlert.sizeNotifierFrameLayout.measureKeyboardHeight() > AndroidUtilities.dp(20)) { padding = AndroidUtilities.dp(52); parentAlert.setAllowNestedScroll(false); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/CheckBoxBase.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/CheckBoxBase.java index 7fba13e69..cad339b3a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/CheckBoxBase.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/CheckBoxBase.java @@ -243,7 +243,7 @@ public class CheckBoxBase { drawBitmap.eraseColor(0); float rad = AndroidUtilities.dp(size / 2); float outerRad = rad; - if (drawBackgroundAsArc != 0) { + if (drawBackgroundAsArc != 0 && drawBackgroundAsArc != 11) { outerRad -= AndroidUtilities.dp(0.2f); } @@ -291,7 +291,7 @@ public class CheckBoxBase { } paint.setColor(Theme.getColor(checkColorKey)); if (drawBackgroundAsArc != 7 && drawBackgroundAsArc != 8 && drawBackgroundAsArc != 9 && drawBackgroundAsArc != 10) { - if (drawBackgroundAsArc == 0) { + if (drawBackgroundAsArc == 0 || drawBackgroundAsArc == 11) { canvas.drawCircle(cx, cy, rad, backgroundPaint); } else { rect.set(cx - outerRad, cy - outerRad, cx + outerRad, cy + outerRad); @@ -330,7 +330,7 @@ public class CheckBoxBase { if (drawBackgroundAsArc == 9) { paint.setColor(Theme.getColor(background2ColorKey)); - } else if (drawBackgroundAsArc == 6 || drawBackgroundAsArc == 7 || drawBackgroundAsArc == 10 || !drawUnchecked && backgroundColorKey != null) { + } else if (drawBackgroundAsArc == 11 || drawBackgroundAsArc == 6 || drawBackgroundAsArc == 7 || drawBackgroundAsArc == 10 || !drawUnchecked && backgroundColorKey != null) { paint.setColor(Theme.getColor(backgroundColorKey)); } else { paint.setColor(Theme.getColor(enabled ? Theme.key_checkbox : Theme.key_checkboxDisabled)); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/CircleBezierDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/CircleBezierDrawable.java index c4de18b98..5bc0ec60e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/CircleBezierDrawable.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/CircleBezierDrawable.java @@ -18,15 +18,15 @@ public class CircleBezierDrawable { float globalRotate = 0f; public float idleStateDiff = 0f; - float radius; - float radiusDiff; - float cubicBezierK = 1f; + public float radius; + public float radiusDiff; + public float cubicBezierK = 1f; final Random random = new Random(); float[] randomAdditionals; - float randomK; + public float randomK; public CircleBezierDrawable(int n) { N = n; @@ -41,7 +41,14 @@ public class CircleBezierDrawable { } } - protected void draw(float cX, float cY, Canvas canvas, Paint paint) { + public void setAdditionals(int[] additionals) { + for (int i = 0; i < N; i += 2) { + randomAdditionals[i] = additionals[i / 2]; + randomAdditionals[i + 1] = 0; + } + } + + public void draw(float cX, float cY, Canvas canvas, Paint paint) { float r1 = radius - idleStateDiff / 2f - radiusDiff / 2f; float r2 = radius + radiusDiff / 2 + idleStateDiff / 2f; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Crop/CropView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Crop/CropView.java index e3a902e37..bedb7a5b3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Crop/CropView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Crop/CropView.java @@ -3,8 +3,10 @@ package org.telegram.ui.Components.Crop; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; @@ -18,9 +20,20 @@ import android.widget.FrameLayout; import android.widget.ImageView; import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.FileLoader; +import org.telegram.messenger.FileLog; +import org.telegram.messenger.ImageLoader; import org.telegram.messenger.LocaleController; +import org.telegram.messenger.MediaController; import org.telegram.messenger.R; +import org.telegram.messenger.SharedConfig; +import org.telegram.messenger.VideoEditedInfo; import org.telegram.ui.ActionBar.AlertDialog; +import org.telegram.ui.Components.PaintingOverlay; + +import java.io.File; +import java.io.FileOutputStream; +import java.util.ArrayList; import static android.graphics.Paint.FILTER_BITMAP_FLAG; @@ -34,6 +47,8 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen private CropAreaView areaView; private ImageView imageView; private Matrix presentationMatrix; + private Matrix overlayMatrix; + private PaintingOverlay paintingOverlay; private RectF previousAreaRect; private RectF initialAreaRect; @@ -151,6 +166,10 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen return orientation + baseRotation; } + private float getOrientationOnly() { + return orientation; + } + private float getBaseRotation() { return baseRotation; } @@ -207,6 +226,7 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen previousAreaRect = new RectF(); initialAreaRect = new RectF(); presentationMatrix = new Matrix(); + overlayMatrix = new Matrix(); tempRect = new CropRectangle(); tempMatrix = new Matrix(); animating = false; @@ -229,6 +249,18 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen addView(areaView); } + @Override + protected boolean drawChild(Canvas canvas, View child, long drawingTime) { + boolean result = super.drawChild(canvas, child, drawingTime); + if (child == imageView && paintingOverlay != null) { + canvas.save(); + canvas.setMatrix(overlayMatrix); + paintingOverlay.draw(canvas); + canvas.restore(); + } + return result; + } + public boolean isReady() { return !detector.isScaling() && !detector.isDragging() && !areaView.isDragging(); } @@ -246,8 +278,9 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen areaView.setActualRect(ratio); } - public void setBitmap(Bitmap b, int rotation, boolean fform, boolean same) { + public void setBitmap(Bitmap b, int rotation, boolean fform, boolean same, PaintingOverlay overlay) { freeform = fform; + paintingOverlay = overlay; if (b == null) { bitmap = null; state = null; @@ -329,8 +362,18 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen presentationMatrix.postRotate(state.getOrientation()); state.getConcatMatrix(presentationMatrix); presentationMatrix.postTranslate(areaView.getCropCenterX(), areaView.getCropCenterY()); - imageView.setImageMatrix(presentationMatrix); + + overlayMatrix.reset(); + if (state.getBaseRotation() == 90 || state.getBaseRotation() == 270) { + overlayMatrix.postTranslate(-state.getHeight() / 2, -state.getWidth() / 2); + } else { + overlayMatrix.postTranslate(-state.getWidth() / 2, -state.getHeight() / 2); + } + overlayMatrix.postRotate(state.getOrientationOnly()); + state.getConcatMatrix(overlayMatrix); + overlayMatrix.postTranslate(areaView.getCropCenterX(), areaView.getCropCenterY()); + invalidate(); } private void fillAreaView(RectF targetRect, boolean allowZoomOut) { @@ -435,7 +478,7 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen return w; } - private class CropRectangle { + private static class CropRectangle { float[] coords = new float[8]; CropRectangle() { @@ -726,7 +769,71 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen fitContentInBounds(true, true, false); } - public Bitmap getResult() { + @SuppressLint("WrongThread") + private void editBitmap(String path, Bitmap b, Canvas canvas, Bitmap canvasBitmap, Bitmap.CompressFormat format, float scale, ArrayList entities, boolean clear) { + try { + if (clear) { + canvasBitmap.eraseColor(0); + } + if (b == null) { + b = BitmapFactory.decodeFile(path); + } + float sc = Math.max(b.getWidth(), b.getHeight()) / (float) Math.max(bitmap.getWidth(), bitmap.getHeight()); + Matrix matrix = new Matrix(); + matrix.postTranslate(-b.getWidth() / 2, -b.getHeight() / 2); + matrix.postScale(1.0f / sc, 1.0f / sc); + matrix.postRotate(state.getOrientationOnly()); + state.getConcatMatrix(matrix); + matrix.postScale(scale, scale); + matrix.postTranslate(canvasBitmap.getWidth() / 2, canvasBitmap.getHeight() / 2); + canvas.drawBitmap(b, matrix, new Paint(FILTER_BITMAP_FLAG)); + FileOutputStream stream = new FileOutputStream(new File(path)); + canvasBitmap.compress(format, 83, stream); + stream.close(); + + if (entities != null && !entities.isEmpty()) { + float[] point = new float[4]; + float newScale = 1.0f / sc * scale * state.scale; + for (int a = 0, N = entities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = entities.get(a); + + point[0] = entity.x * b.getWidth() + entity.viewWidth * entity.scale / 2; + point[1] = entity.y * b.getHeight() + entity.viewHeight * entity.scale / 2; + point[2] = entity.textViewX * b.getWidth(); + point[3] = entity.textViewY * b.getHeight(); + matrix.mapPoints(point); + + float widthScale = b.getWidth() / (float) canvasBitmap.getWidth(); + newScale *= widthScale; + if (entity.type == 0) { + entity.viewWidth = entity.viewHeight = canvasBitmap.getWidth() / 2; + } else if (entity.type == 1) { + entity.fontSize = canvasBitmap.getWidth() / 9; + } + entity.scale *= newScale; + + entity.x = (point[0] - entity.viewWidth * entity.scale / 2) / canvasBitmap.getWidth(); + entity.y = (point[1] - entity.viewHeight * entity.scale / 2) / canvasBitmap.getHeight(); + entity.textViewX = point[2] / canvasBitmap.getWidth(); + entity.textViewY = point[3] / canvasBitmap.getHeight(); + + entity.width = entity.viewWidth * entity.scale / canvasBitmap.getWidth(); + entity.height = entity.viewHeight * entity.scale / canvasBitmap.getHeight(); + + entity.textViewWidth = entity.viewWidth / (float) canvasBitmap.getWidth(); + entity.textViewHeight = entity.viewHeight / (float) canvasBitmap.getHeight(); + + entity.rotation -= (state.getRotation() + state.getOrientationOnly()) * (Math.PI / 180); + } + } + + b.recycle(); + } catch (Throwable e) { + FileLog.e(e); + } + } + + public Bitmap getResult(MediaController.MediaEditState editState) { if (state == null || !state.hasChanges() && state.getBaseRotation() < EPSILON && freeform) { return bitmap; } @@ -738,20 +845,35 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen float w = scaleWidthToMaxSize(cropRect, sizeRect); int width = (int) Math.ceil(w); int height = (int) (Math.ceil(width / areaView.getAspectRatio())); + float scale = width / areaView.getCropWidth(); Bitmap resultBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Matrix matrix = new Matrix(); matrix.postTranslate(-state.getWidth() / 2, -state.getHeight() / 2); - matrix.postRotate(state.getOrientation()); state.getConcatMatrix(matrix); - - float scale = width / areaView.getCropWidth(); matrix.postScale(scale, scale); matrix.postTranslate(width / 2, height / 2); - new Canvas(resultBitmap).drawBitmap(bitmap, matrix, new Paint(FILTER_BITMAP_FLAG)); + Canvas canvas = new Canvas(resultBitmap); + + if (editState.paintPath != null) { + editBitmap(editState.paintPath, null, canvas, resultBitmap, Bitmap.CompressFormat.PNG, scale, null, false); + if (!editState.paintPath.equals(editState.fullPaintPath)) { + editBitmap(editState.fullPaintPath, null, canvas, resultBitmap, Bitmap.CompressFormat.PNG, scale, editState.mediaEntities, true); + } + } + if (editState.filterPath != null) { + if (editState.croppedPath == null) { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + editState.croppedPath = f.getAbsolutePath(); + } + Bitmap b = ImageLoader.loadBitmap(editState.getPath(), null, bitmap.getWidth(), bitmap.getHeight(), true); + editBitmap(editState.croppedPath, b, canvas, resultBitmap, Bitmap.CompressFormat.JPEG, scale, null, false); + } + + canvas.drawBitmap(bitmap, matrix, new Paint(FILTER_BITMAP_FLAG)); return resultBitmap; } @@ -768,6 +890,9 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen } public void showAspectRatioDialog() { + if (state == null) { + return; + } if (areaView.getLockAspectRatio() > 0) { areaView.setLockedAspectRatio(0); @@ -844,6 +969,9 @@ public class CropView extends FrameLayout implements CropAreaView.AreaViewListen public void updateLayout() { float w = areaView.getCropWidth(); + if (w == 0) { + return; + } if (state != null) { areaView.calculateRect(initialAreaRect, state.getWidth() / state.getHeight()); areaView.setActualRect(areaView.getAspectRatio()); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/DialogsItemAnimator.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/DialogsItemAnimator.java index f49c9c109..14d749e32 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/DialogsItemAnimator.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/DialogsItemAnimator.java @@ -110,7 +110,7 @@ public class DialogsItemAnimator extends SimpleItemAnimator { mPendingMoves.clear(); Runnable mover = () -> { for (MoveInfo moveInfo : moves) { - animateMoveImpl(moveInfo.holder, moveInfo.fromX, moveInfo.fromY, moveInfo.toX, moveInfo.toY); + animateMoveImpl(moveInfo.holder, null, moveInfo.fromX, moveInfo.fromY, moveInfo.toX, moveInfo.toY); } moves.clear(); mMovesList.remove(moves); @@ -148,7 +148,7 @@ public class DialogsItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateRemove(final ViewHolder holder) { + public boolean animateRemove(final ViewHolder holder, ItemHolderInfo info) { resetAnimation(holder); mPendingRemovals.add(holder); return true; @@ -288,7 +288,7 @@ public class DialogsItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateMove(final ViewHolder holder, int fromX, int fromY, + public boolean animateMove(final ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { final View view = holder.itemView; fromX += (int) holder.itemView.getTranslationX(); @@ -325,7 +325,7 @@ public class DialogsItemAnimator extends SimpleItemAnimator { } } - void animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) { + void animateMoveImpl(final ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { final View view = holder.itemView; final int deltaX = toX - fromX; final int deltaY = toY - fromY; @@ -383,7 +383,7 @@ public class DialogsItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateChange(ViewHolder oldHolder, ViewHolder newHolder, int fromX, int fromY, int toX, int toY) { + public boolean animateChange(ViewHolder oldHolder, ViewHolder newHolder,ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { if (oldHolder.itemView instanceof DialogCell) { resetAnimation(oldHolder); resetAnimation(newHolder); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/EmojiView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/EmojiView.java index 1cb554c09..90445ea00 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/EmojiView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/EmojiView.java @@ -29,8 +29,14 @@ import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.ShapeDrawable; import android.os.Build; +import androidx.annotation.IntDef; +import androidx.annotation.MainThread; +import androidx.annotation.NonNull; +import androidx.core.view.ViewCompat; import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearSmoothScroller; import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import android.text.Editable; @@ -75,6 +81,7 @@ import org.telegram.messenger.R; import org.telegram.messenger.UserConfig; import org.telegram.messenger.browser.Browser; import org.telegram.tgnet.ConnectionsManager; +import org.telegram.tgnet.RequestDelegate; import org.telegram.tgnet.TLObject; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.AlertDialog; @@ -88,10 +95,14 @@ import org.telegram.ui.Cells.StickerSetGroupInfoCell; import org.telegram.ui.Cells.StickerSetNameCell; import org.telegram.ui.ContentPreviewViewer; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import java.util.List; +import java.util.Map; public class EmojiView extends FrameLayout implements NotificationCenter.NotificationCenterDelegate { @@ -120,19 +131,24 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific private EmojiSearchAdapter emojiSearchAdapter; private SearchField emojiSearchField; private AnimatorSet emojiTabShadowAnimator; - private int emojiMinusDy; private boolean firstEmojiAttach = true; private boolean needEmojiSearch; private int hasRecentEmoji = -1; private FrameLayout gifContainer; private RecyclerListView gifGridView; - private ExtendedGridLayoutManager gifLayoutManager; - private GifSearchAdapter gifSearchAdapter; + private GifLayoutManager gifLayoutManager; + private GifAdapter gifSearchAdapter; + private GifSearchPreloader gifSearchPreloader = new GifSearchPreloader(); + private final Map gifCache = new HashMap<>(); private RecyclerListView.OnItemClickListener gifOnItemClickListener; private GifAdapter gifAdapter; private SearchField gifSearchField; + private ScrollSlidingTabStrip gifTabs; private boolean firstGifAttach = true; + private int gifRecentTabNum = -2; + private int gifTrendingTabNum = -2; + private int gifFirstEmojiTabNum = -2; private FrameLayout stickersContainer; private StickersGridAdapter stickersGridAdapter; @@ -150,11 +166,23 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific private TextView mediaBanTooltip; private DragListener dragListener; + private final int[] tabsMinusDy = new int[3]; + private ObjectAnimator[] tabsYAnimators = new ObjectAnimator[3]; + + @IntDef({Type.STICKERS, Type.EMOJIS, Type.GIFS}) + @Retention(RetentionPolicy.SOURCE) + private @interface Type { + int STICKERS = 0; + int EMOJIS = 1; + int GIFS = 2; + } + private String[] lastSearchKeyboardLanguage; private Drawable[] tabIcons; private Drawable[] emojiIcons; private Drawable[] stickerIcons; + private Drawable[] gifIcons; private String[] emojiTitles; private int searchFieldHeight; @@ -325,20 +353,17 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } @Override - public void sendGif(Object gif, boolean notify, int scheduleDate) { + public void sendGif(Object gif, Object parent, boolean notify, int scheduleDate) { if (gifGridView.getAdapter() == gifAdapter) { - delegate.onGifSelected(null, gif, "gif", notify, scheduleDate); + delegate.onGifSelected(null, gif, parent, notify, scheduleDate); } else if (gifGridView.getAdapter() == gifSearchAdapter) { - delegate.onGifSelected(null, gif, gifSearchAdapter.bot, notify, scheduleDate); + delegate.onGifSelected(null, gif, parent, notify, scheduleDate); } } @Override public void gifAddedOrDeleted() { - recentGifs = MediaDataController.getInstance(currentAccount).getRecentGifs(); - if (gifAdapter != null) { - gifAdapter.notifyDataSetChanged(); - } + updateRecentGifs(); } @Override @@ -521,6 +546,199 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } + private class TypedScrollListener extends RecyclerListView.OnScrollListener { + + @Type + private final int type; + + private boolean smoothScrolling; + + public TypedScrollListener(@Type int type) { + this.type = type; + } + + @Override + public void onScrollStateChanged(RecyclerView recyclerView, int newState) { + if (recyclerView.getLayoutManager().isSmoothScrolling()) { + smoothScrolling = true; + return; + } + if (newState == RecyclerListView.SCROLL_STATE_IDLE) { + if (!smoothScrolling) { + animateTabsY(type); + } + smoothScrolling = false; + } else { + if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { + final SearchField searchField = getSearchFieldForType(type); + if (searchField != null) { + searchField.hideKeyboard(); + } + smoothScrolling = false; + } + if (!smoothScrolling) { + stopAnimatingTabsY(type); + } + } + } + + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + checkScroll(type); + checkTabsY(type, dy); + checkSearchFieldScroll(); + if (!smoothScrolling) { + checkBottomTabScroll(dy); + } + } + + private void checkSearchFieldScroll() { + switch (type) { + case Type.STICKERS: + checkStickersSearchFieldScroll(false); + break; + case Type.EMOJIS: + checkEmojiSearchFieldScroll(false); + break; + case Type.GIFS: + checkGifSearchFieldScroll(false); + break; + } + } + } + + private class DraggableScrollSlidingTabStrip extends ScrollSlidingTabStrip { + + private final int touchSlop; + + private boolean startedScroll; + private float lastX; + private float lastTranslateX; + private boolean first = true; + private float downX, downY; + private boolean draggingVertically, draggingHorizontally; + private VelocityTracker vTracker; + + public DraggableScrollSlidingTabStrip(Context context) { + super(context); + touchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (getParent() != null) { + getParent().requestDisallowInterceptTouchEvent(true); + } + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + draggingVertically = draggingHorizontally = false; + downX = ev.getRawX(); + downY = ev.getRawY(); + } else { + if (!draggingVertically && !draggingHorizontally && dragListener != null) { + if (Math.abs(ev.getRawY() - downY) >= touchSlop) { + draggingVertically = true; + downY = ev.getRawY(); + dragListener.onDragStart(); + if (startedScroll) { + pager.endFakeDrag(); + startedScroll = false; + } + return true; + } + } + } + return super.onInterceptTouchEvent(ev); + } + + @Override + public boolean onTouchEvent(MotionEvent ev) { + if (first) { + first = false; + lastX = ev.getX(); + } + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + draggingVertically = draggingHorizontally = false; + downX = ev.getRawX(); + downY = ev.getRawY(); + } else { + if (!draggingVertically && !draggingHorizontally && dragListener != null) { + if (Math.abs(ev.getRawX() - downX) >= touchSlop) { + draggingHorizontally = true; + } else if (Math.abs(ev.getRawY() - downY) >= touchSlop) { + draggingVertically = true; + downY = ev.getRawY(); + dragListener.onDragStart(); + if (startedScroll) { + pager.endFakeDrag(); + startedScroll = false; + } + } + } + } + if (draggingVertically) { + if (vTracker == null) { + vTracker = VelocityTracker.obtain(); + } + vTracker.addMovement(ev); + if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_CANCEL) { + vTracker.computeCurrentVelocity(1000); + float velocity = vTracker.getYVelocity(); + vTracker.recycle(); + vTracker = null; + if (ev.getAction() == MotionEvent.ACTION_UP) { + dragListener.onDragEnd(velocity); + } else { + dragListener.onDragCancel(); + } + first = true; + draggingVertically = draggingHorizontally = false; + } else { + dragListener.onDrag(Math.round(ev.getRawY() - downY)); + } + return true; + } + float newTranslationX = getTranslationX(); + if (getScrollX() == 0 && newTranslationX == 0) { + if (!startedScroll && lastX - ev.getX() < 0) { + if (pager.beginFakeDrag()) { + startedScroll = true; + lastTranslateX = getTranslationX(); + } + } else if (startedScroll && lastX - ev.getX() > 0) { + if (pager.isFakeDragging()) { + pager.endFakeDrag(); + startedScroll = false; + } + } + } + if (startedScroll) { + int dx = (int) (ev.getX() - lastX + newTranslationX - lastTranslateX); + try { + //pager.fakeDragBy(dx); + lastTranslateX = newTranslationX; + } catch (Exception e) { + try { + pager.endFakeDrag(); + } catch (Exception ignore) { + + } + startedScroll = false; + FileLog.e(e); + } + } + lastX = ev.getX(); + if (ev.getAction() == MotionEvent.ACTION_CANCEL || ev.getAction() == MotionEvent.ACTION_UP) { + first = true; + draggingVertically = draggingHorizontally = false; + if (startedScroll) { + pager.endFakeDrag(); + startedScroll = false; + } + } + return startedScroll || super.onTouchEvent(ev); + } + } + private class ImageViewEmoji extends ImageView { private boolean isRecent; @@ -802,6 +1020,11 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific }) }; + gifIcons = new Drawable[]{ + Theme.createEmojiIconSelectorDrawable(context, R.drawable.stickers_recent, Theme.getColor(Theme.key_chat_emojiBottomPanelIcon), Theme.getColor(Theme.key_chat_emojiPanelIconSelected)), + Theme.createEmojiIconSelectorDrawable(context, R.drawable.stickers_gifs_trending, Theme.getColor(Theme.key_chat_emojiBottomPanelIcon), Theme.getColor(Theme.key_chat_emojiPanelIconSelected)), + }; + emojiTitles = new String[]{ LocaleController.getString("Emoji1", R.string.Emoji1), LocaleController.getString("Emoji2", R.string.Emoji2), @@ -974,14 +1197,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific emojiGridView.setAdapter(emojiAdapter = new EmojiGridAdapter()); emojiSearchAdapter = new EmojiSearchAdapter(); emojiContainer.addView(emojiGridView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); - emojiGridView.setOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrollStateChanged(RecyclerView recyclerView, int newState) { - if (newState == RecyclerView.SCROLL_STATE_DRAGGING && emojiSearchField != null) { - emojiSearchField.hideKeyboard(); - } - } - + emojiGridView.setOnScrollListener(new TypedScrollListener(Type.EMOJIS) { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { int position = emojiLayoutManager.findFirstVisibleItemPosition(); @@ -1000,9 +1216,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } emojiTabs.onPageScrolled(tab, 0); } - checkEmojiTabY(recyclerView, dy); - checkEmojiSearchFieldScroll(false); - checkBottomTabScroll(dy); + super.onScrolled(recyclerView, dx, dy); } }); emojiGridView.setOnItemClickListener(new RecyclerListView.OnItemClickListener() { @@ -1111,7 +1325,15 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } }); - emojiTabs = new ScrollSlidingTabStrip(context); + emojiTabs = new ScrollSlidingTabStrip(context) { + @Override + public void setTranslationY(float translationY) { + super.setTranslationY(translationY); + if (emojiTabsShadow != null) { + emojiTabsShadow.setTranslationY(translationY); + } + } + }; if (needSearch) { emojiSearchField = new SearchField(context, 1); emojiContainer.addView(emojiSearchField, new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.getShadowHeight())); @@ -1164,6 +1386,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific gifGridView = new RecyclerListView(context) { private boolean ignoreLayout; + private boolean wasMeasured; @Override public boolean onInterceptTouchEvent(MotionEvent event) { @@ -1171,11 +1394,22 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific return super.onInterceptTouchEvent(event) || result; } + @Override + protected void onMeasure(int widthSpec, int heightSpec) { + super.onMeasure(widthSpec, heightSpec); + if (!wasMeasured) { + gifAdapter.notifyDataSetChanged(); + wasMeasured = true; + } + } + @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { if (firstGifAttach && gifAdapter.getItemCount() > 1) { ignoreLayout = true; gifLayoutManager.scrollToPositionWithOffset(1, 0); + gifSearchField.setVisibility(VISIBLE); + gifTabs.onPageScrolled(0, 0); firstGifAttach = false; ignoreLayout = false; } @@ -1192,112 +1426,33 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } }; gifGridView.setClipToPadding(false); - gifGridView.setLayoutManager(gifLayoutManager = new ExtendedGridLayoutManager(context, 100) { - - private Size size = new Size(); - - @Override - protected Size getSizeForItem(int i) { - TLRPC.Document document; - ArrayList attributes; - if (gifGridView.getAdapter() == gifAdapter) { - document = recentGifs.get(i); - attributes = document.attributes; - } else if (!gifSearchAdapter.results.isEmpty()) { - TLRPC.BotInlineResult result = gifSearchAdapter.results.get(i); - document = result.document; - if (document != null) { - attributes = document.attributes; - } else if (result.content != null) { - attributes = result.content.attributes; - } else if (result.thumb != null) { - attributes = result.thumb.attributes; - } else { - attributes = null; - } - } else { - document = null; - attributes = null; - } - size.width = size.height = 100; - if (document != null) { - TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(document.thumbs, 90); - if (thumb != null && thumb.w != 0 && thumb.h != 0) { - size.width = thumb.w; - size.height = thumb.h; - } - } - if (attributes != null) { - for (int b = 0; b < attributes.size(); b++) { - TLRPC.DocumentAttribute attribute = attributes.get(b); - if (attribute instanceof TLRPC.TL_documentAttributeImageSize || attribute instanceof TLRPC.TL_documentAttributeVideo) { - size.width = attribute.w; - size.height = attribute.h; - break; - } - } - } - return size; - } - - @Override - protected int getFlowItemCount() { - if (gifGridView.getAdapter() == gifSearchAdapter && gifSearchAdapter.results.isEmpty()) { - return 0; - } - return getItemCount() - 1; - } - }); - gifLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { - @Override - public int getSpanSize(int position) { - if (position == 0 || gifGridView.getAdapter() == gifSearchAdapter && gifSearchAdapter.results.isEmpty()) { - return gifLayoutManager.getSpanCount(); - } - return gifLayoutManager.getSpanSizeForItem(position - 1); - } - }); + gifGridView.setLayoutManager(gifLayoutManager = new GifLayoutManager(context)); gifGridView.addItemDecoration(new RecyclerView.ItemDecoration() { @Override public void getItemOffsets(android.graphics.Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { int position = parent.getChildAdapterPosition(view); + + if (gifGridView.getAdapter() == gifAdapter && position == gifAdapter.trendingSectionItem) { + outRect.set(0, 0, 0, 0); + return; + } + if (position != 0) { outRect.left = 0; outRect.bottom = 0; - if (!gifLayoutManager.isFirstRow(position - 1)) { - outRect.top = AndroidUtilities.dp(2); - } else { - outRect.top = 0; - } + outRect.top = AndroidUtilities.dp(2); outRect.right = gifLayoutManager.isLastInRow(position - 1) ? 0 : AndroidUtilities.dp(2); } else { - outRect.left = 0; - outRect.top = 0; - outRect.bottom = 0; - outRect.right = 0; + outRect.set(0, 0, 0, 0); } } }); - gifGridView.setPadding(0, 0, 0, AndroidUtilities.dp(44)); + gifGridView.setPadding(0, AndroidUtilities.dp(48 + 4), 0, AndroidUtilities.dp(44)); gifGridView.setOverScrollMode(RecyclerListView.OVER_SCROLL_NEVER); - gifGridView.setAdapter(gifAdapter = new GifAdapter(context)); - gifSearchAdapter = new GifSearchAdapter(context); - gifGridView.setOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrollStateChanged(RecyclerView recyclerView, int newState) { - if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { - gifSearchField.hideKeyboard(); - } - } - - @Override - public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - //checkEmojiTabY(recyclerView, dy); - checkGifSearchFieldScroll(false); - checkBottomTabScroll(dy); - } - }); - + ((SimpleItemAnimator) gifGridView.getItemAnimator()).setSupportsChangeAnimations(false); + gifGridView.setAdapter(gifAdapter = new GifAdapter(context, true)); + gifSearchAdapter = new GifAdapter(context); + gifGridView.setOnScrollListener(new TypedScrollListener(Type.GIFS)); gifGridView.setOnTouchListener((v, event) -> ContentPreviewViewer.getInstance().onTouch(event, gifGridView, 0, gifOnItemClickListener, contentPreviewViewerDelegate)); gifOnItemClickListener = (view, position) -> { if (delegate == null) { @@ -1305,19 +1460,27 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } position--; if (gifGridView.getAdapter() == gifAdapter) { - if (position < 0 || position >= recentGifs.size()) { + if (position < 0) { return; } - delegate.onGifSelected(view, recentGifs.get(position), "gif", true, 0); + if (position < gifAdapter.recentItemsCount) { + delegate.onGifSelected(view, recentGifs.get(position), "gif", true, 0); + } else { + int resultPos = position; + if (gifAdapter.recentItemsCount > 0) { + resultPos -= gifAdapter.recentItemsCount; + resultPos--; // trending section item + } + if (resultPos >= 0 && resultPos < gifAdapter.results.size()) { + delegate.onGifSelected(view, gifAdapter.results.get(resultPos), gifAdapter.bot, true, 0); + } + } } else if (gifGridView.getAdapter() == gifSearchAdapter) { if (position < 0 || position >= gifSearchAdapter.results.size()) { return; } delegate.onGifSelected(view, gifSearchAdapter.results.get(position), gifSearchAdapter.bot, true, 0); - recentGifs = MediaDataController.getInstance(currentAccount).getRecentGifs(); - if (gifAdapter != null) { - gifAdapter.notifyDataSetChanged(); - } + updateRecentGifs(); } }; @@ -1325,7 +1488,51 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific gifContainer.addView(gifGridView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); gifSearchField = new SearchField(context, 2); + gifSearchField.setVisibility(INVISIBLE); gifContainer.addView(gifSearchField, new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.getShadowHeight())); + + gifTabs = new DraggableScrollSlidingTabStrip(context); + gifTabs.setType(ScrollSlidingTabStrip.Type.TAB); + gifTabs.setUnderlineHeight(AndroidUtilities.getShadowHeight()); + gifTabs.setIndicatorColor(Theme.getColor(Theme.key_chat_emojiPanelStickerPackSelectorLine)); + gifTabs.setUnderlineColor(Theme.getColor(Theme.key_chat_emojiPanelShadowLine)); + gifTabs.setBackgroundColor(Theme.getColor(Theme.key_chat_emojiPanelBackground)); + gifContainer.addView(gifTabs, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.TOP)); + updateGifTabs(); + + gifTabs.setDelegate(page -> { + if (page == gifTrendingTabNum && gifAdapter.results.isEmpty()) { + return; + } + gifGridView.stopScroll(); + gifTabs.onPageScrolled(page, 0); + if (page == gifRecentTabNum || page == gifTrendingTabNum) { + gifSearchField.searchEditText.setText(""); + if (page == gifTrendingTabNum && gifAdapter.trendingSectionItem >= 1) { + gifLayoutManager.scrollToPositionWithOffset(gifAdapter.trendingSectionItem, -AndroidUtilities.dp(4)); + } else { + gifLayoutManager.scrollToPositionWithOffset(delegate != null && delegate.isExpanded() ? 0 : 1, 0); + } + if (page == gifTrendingTabNum) { + final ArrayList gifSearchEmojies = MessagesController.getInstance(currentAccount).gifSearchEmojies; + if (!gifSearchEmojies.isEmpty()) { + gifSearchPreloader.preload(gifSearchEmojies.get(0)); + } + } + } else { + final ArrayList gifSearchEmojies = MessagesController.getInstance(currentAccount).gifSearchEmojies; + gifSearchAdapter.searchEmoji(gifSearchEmojies.get(page - gifFirstEmojiTabNum)); + if (page - gifFirstEmojiTabNum > 0) { + gifSearchPreloader.preload(gifSearchEmojies.get(page - gifFirstEmojiTabNum - 1)); + } + if (page - gifFirstEmojiTabNum < gifSearchEmojies.size() - 1) { + gifSearchPreloader.preload(gifSearchEmojies.get(page - gifFirstEmojiTabNum + 1)); + } + } + resetTabsY(Type.GIFS); + }); + + gifAdapter.loadTrendingGifs(); } stickersContainer = new FrameLayout(context); @@ -1423,135 +1630,10 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific stickersGridView.setGlowColor(Theme.getColor(Theme.key_chat_emojiPanelBackground)); stickersContainer.addView(stickersGridView); - stickersTab = new ScrollSlidingTabStrip(context) { - - boolean startedScroll; - float lastX; - float lastTranslateX; - boolean first = true; - final int touchslop = ViewConfiguration.get(getContext()).getScaledTouchSlop(); - float downX, downY; - boolean draggingVertically, draggingHorizontally; - VelocityTracker vTracker; - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - if (getParent() != null) { - getParent().requestDisallowInterceptTouchEvent(true); - } - if (ev.getAction() == MotionEvent.ACTION_DOWN) { - draggingVertically = draggingHorizontally = false; - downX = ev.getRawX(); - downY = ev.getRawY(); - } else { - if (!draggingVertically && !draggingHorizontally && dragListener != null) { - if (Math.abs(ev.getRawY() - downY) >= touchslop) { - draggingVertically = true; - downY = ev.getRawY(); - dragListener.onDragStart(); - if (startedScroll) { - pager.endFakeDrag(); - startedScroll = false; - } - return true; - } - } - } - return super.onInterceptTouchEvent(ev); - } - - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (first) { - first = false; - lastX = ev.getX(); - } - if (ev.getAction() == MotionEvent.ACTION_DOWN) { - draggingVertically = draggingHorizontally = false; - downX = ev.getRawX(); - downY = ev.getRawY(); - } else { - if (!draggingVertically && !draggingHorizontally && dragListener != null) { - if (Math.abs(ev.getRawX() - downX) >= touchslop) { - draggingHorizontally = true; - } else if (Math.abs(ev.getRawY() - downY) >= touchslop) { - draggingVertically = true; - downY = ev.getRawY(); - dragListener.onDragStart(); - if (startedScroll) { - pager.endFakeDrag(); - startedScroll = false; - } - } - } - } - if (draggingVertically) { - if (vTracker == null) { - vTracker = VelocityTracker.obtain(); - } - vTracker.addMovement(ev); - if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_CANCEL) { - vTracker.computeCurrentVelocity(1000); - float velocity = vTracker.getYVelocity(); - vTracker.recycle(); - vTracker = null; - if (ev.getAction() == MotionEvent.ACTION_UP) { - dragListener.onDragEnd(velocity); - } else { - dragListener.onDragCancel(); - } - first = true; - draggingVertically = draggingHorizontally = false; - } else { - dragListener.onDrag(Math.round(ev.getRawY() - downY)); - } - return true; - } - float newTranslationX = stickersTab.getTranslationX(); - if (stickersTab.getScrollX() == 0 && newTranslationX == 0) { - if (!startedScroll && lastX - ev.getX() < 0) { - if (pager.beginFakeDrag()) { - startedScroll = true; - lastTranslateX = stickersTab.getTranslationX(); - } - } else if (startedScroll && lastX - ev.getX() > 0) { - if (pager.isFakeDragging()) { - pager.endFakeDrag(); - startedScroll = false; - } - } - } - if (startedScroll) { - int dx = (int) (ev.getX() - lastX + newTranslationX - lastTranslateX); - try { - //pager.fakeDragBy(dx); - lastTranslateX = newTranslationX; - } catch (Exception e) { - try { - pager.endFakeDrag(); - } catch (Exception ignore) { - - } - startedScroll = false; - FileLog.e(e); - } - } - lastX = ev.getX(); - if (ev.getAction() == MotionEvent.ACTION_CANCEL || ev.getAction() == MotionEvent.ACTION_UP) { - first = true; - draggingVertically = draggingHorizontally = false; - if (startedScroll) { - pager.endFakeDrag(); - startedScroll = false; - } - } - return startedScroll || super.onTouchEvent(ev); - } - }; - stickersSearchField = new SearchField(context, 0); stickersContainer.addView(stickersSearchField, new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.getShadowHeight())); + stickersTab = new DraggableScrollSlidingTabStrip(context); stickersTab.setType(ScrollSlidingTabStrip.Type.TAB); stickersTab.setUnderlineHeight(AndroidUtilities.getShadowHeight()); stickersTab.setIndicatorColor(Theme.getColor(Theme.key_chat_emojiPanelStickerPackSelectorLine)); @@ -1594,19 +1676,39 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific public void setLastSearchKeyboardLanguage(String[] language) { lastSearchKeyboardLanguage = language; } + + @Override + public boolean canSendSticker() { + return true; + } + + @Override + public void onStickerSelected(TLRPC.Document sticker, Object parent, boolean clearsInputField, boolean notify, int scheduleDate) { + delegate.onStickerSelected(null, sticker, parent, notify, scheduleDate); + } + + @Override + public boolean canSchedule() { + return delegate.canSchedule(); + } + + @Override + public boolean isInScheduleMode() { + return delegate.isInScheduleMode(); + } }; this.delegate.showTrendingStickersAlert(new TrendingStickersLayout(context, trendingDelegate, primaryInstallingStickerSets, installingStickerSets, removingStickerSets)); return; } else if (page == recentTabBum) { stickersGridView.stopScroll(); stickersLayoutManager.scrollToPositionWithOffset(stickersGridAdapter.getPositionForPack("recent"), 0); - checkStickersTabY(null, 0); + resetTabsY(Type.STICKERS); stickersTab.onPageScrolled(recentTabBum, recentTabBum > 0 ? recentTabBum : stickersTabOffset); return; } else if (page == favTabBum) { stickersGridView.stopScroll(); stickersLayoutManager.scrollToPositionWithOffset(stickersGridAdapter.getPositionForPack("fav"), 0); - checkStickersTabY(null, 0); + resetTabsY(Type.STICKERS); stickersTab.onPageScrolled(favTabBum, favTabBum > 0 ? favTabBum : stickersTabOffset); return; } @@ -1621,26 +1723,11 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific firstStickersAttach = false; stickersGridView.stopScroll(); stickersLayoutManager.scrollToPositionWithOffset(stickersGridAdapter.getPositionForPack(stickerSets.get(index)), 0); - checkStickersTabY(null, 0); - checkScroll(); + resetTabsY(Type.STICKERS); + checkScroll(Type.STICKERS); }); - stickersGridView.setOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrollStateChanged(RecyclerView recyclerView, int newState) { - if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { - stickersSearchField.hideKeyboard(); - } - } - - @Override - public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - checkScroll(); - checkStickersTabY(recyclerView, dy); - checkStickersSearchFieldScroll(false); - checkBottomTabScroll(dy); - } - }); + stickersGridView.setOnScrollListener(new TypedScrollListener(Type.STICKERS)); } pager = new ViewPager(context) { @@ -1998,29 +2085,13 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } public void showSearchField(boolean show) { - GridLayoutManager layoutManager; - ScrollSlidingTabStrip tabStrip; for (int a = 0; a < 3; a++) { - if (a == 0) { - layoutManager = emojiLayoutManager; - tabStrip = emojiTabs; - } else if (a == 1) { - layoutManager = gifLayoutManager; - tabStrip = null; - } else { - layoutManager = stickersLayoutManager; - tabStrip = stickersTab; - } - if (layoutManager == null) { - continue; - } + final GridLayoutManager layoutManager = getLayoutManagerForType(a); int position = layoutManager.findFirstVisibleItemPosition(); if (show) { if (position == 1 || position == 2) { layoutManager.scrollToPosition(0); - if (tabStrip != null) { - tabStrip.setTranslationY(0); - } + resetTabsY(a); } } else { if (position == 0) { @@ -2064,7 +2135,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } else if (a == 1) { currentField = gifSearchField; gridView = gifGridView; - tabStrip = null; + tabStrip = gifTabs; layoutManager = gifLayoutManager; } else { currentField = stickersSearchField; @@ -2076,7 +2147,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific continue; } - if (currentField != gifSearchField && searchField == currentField && delegate != null && delegate.isExpanded()) { + if (searchField == currentField && delegate != null && delegate.isExpanded()) { searchAnimation = new AnimatorSet(); if (tabStrip != null) { searchAnimation.playTogether( @@ -2097,7 +2168,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific gridView.setTranslationY(0); if (gridView == stickersGridView) { gridView.setPadding(0, AndroidUtilities.dp(4), 0, 0); - } else if (gridView == emojiGridView) { + } else if (gridView == emojiGridView || gridView == gifGridView) { gridView.setPadding(0, 0, 0, 0); } searchAnimation = null; @@ -2119,9 +2190,17 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } if (gridView == stickersGridView) { gridView.setPadding(0, AndroidUtilities.dp(4), 0, 0); - } else if (gridView == emojiGridView) { + } else if (gridView == emojiGridView || gridView == gifGridView) { gridView.setPadding(0, 0, 0, 0); } + if (gridView == gifGridView) { + if (gifSearchAdapter.showTrendingWhenSearchEmpty = gifAdapter.results.size() > 0) { + gifSearchAdapter.search(""); + if (gifGridView.getAdapter() != gifSearchAdapter) { + gifGridView.setAdapter(gifSearchAdapter); + } + } + } layoutManager.scrollToPositionWithOffset(0, 0); } } @@ -2174,6 +2253,10 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } + if (gifSearchAdapter != null) { + gifSearchAdapter.showTrendingWhenSearchEmpty = false; + } + for (int a = 0; a < 3; a++) { SearchField currentField; RecyclerListView gridView; @@ -2189,7 +2272,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific currentField = gifSearchField; gridView = gifGridView; layoutManager = gifLayoutManager; - tabStrip = null; + tabStrip = gifTabs; } else { currentField = stickersSearchField; gridView = stickersGridView; @@ -2221,7 +2304,6 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific @Override public void onAnimationEnd(Animator animation) { if (animation.equals(searchAnimation)) { - int pos = layoutManager.findFirstVisibleItemPosition(); int firstVisPos = layoutManager.findFirstVisibleItemPosition(); int top = 0; if (firstVisPos != RecyclerView.NO_POSITION) { @@ -2231,15 +2313,13 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific gridView.setTranslationY(0); if (gridView == stickersGridView) { gridView.setPadding(0, AndroidUtilities.dp(48 + 4), 0, AndroidUtilities.dp(44)); + } else if (gridView == gifGridView) { + gridView.setPadding(0, AndroidUtilities.dp(48 + 4), 0, AndroidUtilities.dp(44)); } else if (gridView == emojiGridView) { gridView.setPadding(0, AndroidUtilities.dp(38), 0, AndroidUtilities.dp(44)); } - if (gridView == gifGridView) { - layoutManager.scrollToPositionWithOffset(1, 0); - } else { - if (firstVisPos != RecyclerView.NO_POSITION) { - layoutManager.scrollToPositionWithOffset(firstVisPos, top - gridView.getPaddingTop()); - } + if (firstVisPos != RecyclerView.NO_POSITION) { + layoutManager.scrollToPositionWithOffset(firstVisPos, top - gridView.getPaddingTop()); } searchAnimation = null; } @@ -2254,16 +2334,18 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific }); searchAnimation.start(); } else { - layoutManager.scrollToPositionWithOffset(1, 0); currentField.setTranslationY(AndroidUtilities.dp(48) - searchFieldHeight); if (tabStrip != null) { tabStrip.setTranslationY(0); } if (gridView == stickersGridView) { gridView.setPadding(0, AndroidUtilities.dp(48 + 4), 0, AndroidUtilities.dp(44)); + } else if (gridView == gifGridView) { + gridView.setPadding(0, AndroidUtilities.dp(48 + 4), 0, AndroidUtilities.dp(44)); } else if (gridView == emojiGridView) { gridView.setPadding(0, AndroidUtilities.dp(38), 0, AndroidUtilities.dp(44)); } + layoutManager.scrollToPositionWithOffset(1, 0); } } if (!animated) { @@ -2410,30 +2492,145 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } - private void checkStickersTabY(View list, int dy) { - if (list == null) { - stickersTab.setTranslationY(stickersMinusDy = 0); - return; - } - if (list.getVisibility() != VISIBLE) { + private void checkTabsY(@Type int type, int dy) { + if (type == Type.EMOJIS) { + checkEmojiTabY(emojiGridView, dy); return; } if (delegate != null && delegate.isSearchOpened()) { return; } - if (dy > 0 && stickersGridView != null && stickersGridView.getVisibility() == VISIBLE) { - RecyclerView.ViewHolder holder = stickersGridView.findViewHolderForAdapterPosition(0); - if (holder != null && holder.itemView.getTop() + searchFieldHeight >= stickersGridView.getPaddingTop()) { + final RecyclerListView listView = getListViewForType(type); + if (dy > 0 && listView != null && listView.getVisibility() == VISIBLE) { + RecyclerView.ViewHolder holder = listView.findViewHolderForAdapterPosition(0); + if (holder != null && holder.itemView.getTop() + searchFieldHeight >= listView.getPaddingTop()) { return; } } - stickersMinusDy -= dy; - if (stickersMinusDy > 0) { - stickersMinusDy = 0; - } else if (stickersMinusDy < -AndroidUtilities.dp(48 * 6)) { - stickersMinusDy = -AndroidUtilities.dp(48 * 6); + tabsMinusDy[type] -= dy; + if (tabsMinusDy[type] > 0) { + tabsMinusDy[type] = 0; + } else if (tabsMinusDy[type] < -AndroidUtilities.dp(48 * 6)) { + tabsMinusDy[type] = -AndroidUtilities.dp(48 * 6); + } + getTabsForType(type).setTranslationY(Math.max(-AndroidUtilities.dp(48), tabsMinusDy[type])); + } + + private void resetTabsY(@Type int type) { + if (delegate != null && delegate.isSearchOpened()) { + return; + } + getTabsForType(type).setTranslationY(tabsMinusDy[type] = 0); + } + + private void animateTabsY(@Type int type) { + if (delegate != null && delegate.isSearchOpened()) { + return; + } + final float tabsHeight = AndroidUtilities.dpf2(type == Type.EMOJIS ? 38 : 48); + final float fraction = tabsMinusDy[type] / -tabsHeight; + if (fraction <= 0f || fraction >= 1f) { + animateSearchField(type); + return; + } + final ScrollSlidingTabStrip tabStrip = getTabsForType(type); + final int endValue = fraction > 0.5f ? (int) -Math.ceil(tabsHeight) : 0; + if (fraction > 0.5f) { + animateSearchField(type, false, endValue); + } + if (type == Type.EMOJIS) { + checkEmojiShadow(endValue); + } + if (tabsYAnimators[type] == null) { + tabsYAnimators[type] = ObjectAnimator.ofFloat(tabStrip, View.TRANSLATION_Y, tabStrip.getTranslationY(), endValue); + tabsYAnimators[type].addUpdateListener(a -> tabsMinusDy[type] = (int) (float) a.getAnimatedValue()); + tabsYAnimators[type].setDuration(200); + } else { + tabsYAnimators[type].setFloatValues(tabStrip.getTranslationY(), endValue); + } + tabsYAnimators[type].start(); + } + + private void stopAnimatingTabsY(@Type int type) { + if (tabsYAnimators[type] != null && tabsYAnimators[type].isRunning()) { + tabsYAnimators[type].cancel(); + } + } + + private void animateSearchField(@Type int type) { + final RecyclerListView listView = getListViewForType(type); + final int tabsHeight = AndroidUtilities.dp(type == Type.EMOJIS ? 38 : 48); + final RecyclerView.ViewHolder holder = listView.findViewHolderForAdapterPosition(0); + if (holder != null) { + final float fraction = (holder.itemView.getBottom() - (tabsHeight + tabsMinusDy[type])) / (float) searchFieldHeight; + if (fraction > 0f || fraction < 1f) { + animateSearchField(type, fraction > 0.5f, tabsMinusDy[type]); + } + } + } + + private void animateSearchField(@Type int type, boolean visible, int tabsMinusDy) { + if (getListViewForType(type).findViewHolderForAdapterPosition(0) == null) { + return; + } + final LinearSmoothScroller smoothScroller = new LinearSmoothScroller(getContext()) { + @Override + protected int getVerticalSnapPreference() { + return LinearSmoothScroller.SNAP_TO_START; + } + + @Override + protected int calculateTimeForDeceleration(int dx) { + return super.calculateTimeForDeceleration(dx) * 16; + } + + @Override + public int calculateDtToFit(int viewStart, int viewEnd, int boxStart, int boxEnd, int snapPreference) { + return super.calculateDtToFit(viewStart, viewEnd, boxStart, boxEnd, snapPreference) + tabsMinusDy; + } + }; + smoothScroller.setTargetPosition(visible ? 0 : 1); + getLayoutManagerForType(type).startSmoothScroll(smoothScroller); + } + + private ScrollSlidingTabStrip getTabsForType(@Type int type) { + switch (type) { + case Type.STICKERS: return stickersTab; + case Type.EMOJIS: return emojiTabs; + case Type.GIFS: return gifTabs; + default: + throw new IllegalArgumentException("Unexpected argument: " + type); + } + } + + private RecyclerListView getListViewForType(@Type int type) { + switch (type) { + case Type.STICKERS: return stickersGridView; + case Type.EMOJIS: return emojiGridView; + case Type.GIFS: return gifGridView; + default: + throw new IllegalArgumentException("Unexpected argument: " + type); + } + } + + private GridLayoutManager getLayoutManagerForType(@Type int type) { + switch (type) { + case Type.STICKERS: return stickersLayoutManager; + case Type.EMOJIS: return emojiLayoutManager; + case Type.GIFS: return gifLayoutManager; + default: + throw new IllegalArgumentException("Unexpected argument: " + type); + } + } + + private SearchField getSearchFieldForType(@Type int type) { + switch (type) { + case Type.STICKERS: return stickersSearchField; + case Type.EMOJIS: return emojiSearchField; + case Type.GIFS: return gifSearchField; + default: + throw new IllegalArgumentException("Unexpected argument: " + type); } - stickersTab.setTranslationY(Math.max(-AndroidUtilities.dp(48), stickersMinusDy)); } private void checkEmojiSearchFieldScroll(boolean isLayout) { @@ -2457,13 +2654,21 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific emojiSearchField.setTranslationY(-searchFieldHeight); } emojiSearchField.showShadow(false, !isLayout); - showEmojiShadow(holder == null || holder.itemView.getTop() < AndroidUtilities.dp(38) - searchFieldHeight + emojiTabs.getTranslationY(), !isLayout); + checkEmojiShadow(Math.round(emojiTabs.getTranslationY())); + } + + private void checkEmojiShadow(int tabsTranslationY) { + if (tabsYAnimators[Type.EMOJIS] != null && tabsYAnimators[Type.EMOJIS].isRunning()) { + return; + } + final RecyclerView.ViewHolder holder = emojiGridView.findViewHolderForAdapterPosition(0); + final int translatedBottom = AndroidUtilities.dp(38) + tabsTranslationY; + showEmojiShadow(translatedBottom > 0 && (holder == null || holder.itemView.getBottom() < translatedBottom), !isLayout); } private void checkEmojiTabY(View list, int dy) { if (list == null) { - emojiTabs.setTranslationY(emojiMinusDy = 0); - emojiTabsShadow.setTranslationY(emojiMinusDy); + emojiTabs.setTranslationY(tabsMinusDy[Type.EMOJIS] = 0); return; } if (list.getVisibility() != VISIBLE) { @@ -2478,21 +2683,23 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific return; } } - emojiMinusDy -= dy; - if (emojiMinusDy > 0) { - emojiMinusDy = 0; - } else if (emojiMinusDy < -AndroidUtilities.dp(48 * 6)) { - emojiMinusDy = -AndroidUtilities.dp(48 * 6); + tabsMinusDy[Type.EMOJIS] -= dy; + if (tabsMinusDy[Type.EMOJIS] > 0) { + tabsMinusDy[Type.EMOJIS] = 0; + } else if (tabsMinusDy[Type.EMOJIS] < -AndroidUtilities.dp(48 * 6)) { + tabsMinusDy[Type.EMOJIS] = -AndroidUtilities.dp(48 * 6); } - emojiTabs.setTranslationY(Math.max(-AndroidUtilities.dp(38), emojiMinusDy)); - emojiTabsShadow.setTranslationY(emojiTabs.getTranslationY()); + emojiTabs.setTranslationY(Math.max(-AndroidUtilities.dp(38), tabsMinusDy[Type.EMOJIS])); } private void checkGifSearchFieldScroll(boolean isLayout) { - if (gifGridView != null && gifGridView.getAdapter() == gifSearchAdapter && !gifSearchAdapter.searchEndReached && gifSearchAdapter.reqId == 0 && !gifSearchAdapter.results.isEmpty()) { - int position = gifLayoutManager.findLastVisibleItemPosition(); - if (position != RecyclerView.NO_POSITION && position > gifLayoutManager.getItemCount() - 5) { - gifSearchAdapter.search(gifSearchAdapter.lastSearchImageString, gifSearchAdapter.nextSearchOffset, true); + if (gifGridView != null && gifGridView.getAdapter() instanceof GifAdapter) { + final GifAdapter adapter = (GifAdapter) gifGridView.getAdapter(); + if (!adapter.searchEndReached && adapter.reqId == 0 && !adapter.results.isEmpty()) { + int position = gifLayoutManager.findLastVisibleItemPosition(); + if (position != RecyclerView.NO_POSITION && position > gifLayoutManager.getItemCount() - 5) { + adapter.search(adapter.lastSearchImageString, adapter.nextSearchOffset, true, adapter.lastSearchIsEmoji, adapter.lastSearchIsEmoji); + } } } if (delegate != null && delegate.isSearchOpened()) { @@ -2516,23 +2723,38 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific gifSearchField.showShadow(false, !isLayout); } - private void checkScroll() { - int firstVisibleItem = stickersLayoutManager.findFirstVisibleItemPosition(); - if (firstVisibleItem == RecyclerView.NO_POSITION) { - return; + private void scrollGifsToTop() { + gifLayoutManager.scrollToPositionWithOffset(delegate != null && delegate.isExpanded() ? 0 : 1, 0); + resetTabsY(Type.GIFS); + } + + private void checkScroll(@Type int type) { + if (type == Type.STICKERS) { + int firstVisibleItem = stickersLayoutManager.findFirstVisibleItemPosition(); + if (firstVisibleItem == RecyclerView.NO_POSITION) { + return; + } + if (stickersGridView == null) { + return; + } + int firstTab; + if (favTabBum > 0) { + firstTab = favTabBum; + } else if (recentTabBum > 0) { + firstTab = recentTabBum; + } else { + firstTab = stickersTabOffset; + } + stickersTab.onPageScrolled(stickersGridAdapter.getTabForPosition(firstVisibleItem), firstTab); + } else if (type == Type.GIFS) { + if (gifGridView.getAdapter() == gifAdapter && gifAdapter.trendingSectionItem >= 0 && gifTrendingTabNum >= 0 && gifRecentTabNum >= 0) { + int firstVisibleItem = gifLayoutManager.findFirstVisibleItemPosition(); + if (firstVisibleItem == RecyclerView.NO_POSITION) { + return; + } + gifTabs.onPageScrolled(firstVisibleItem >= gifAdapter.trendingSectionItem ? gifTrendingTabNum : gifRecentTabNum, 0); + } } - if (stickersGridView == null) { - return; - } - int firstTab; - if (favTabBum > 0) { - firstTab = favTabBum; - } else if (recentTabBum > 0) { - firstTab = recentTabBum; - } else { - firstTab = stickersTabOffset; - } - stickersTab.onPageScrolled(stickersGridAdapter.getTabForPosition(firstVisibleItem), firstTab); } private void saveNewPage() { @@ -2631,7 +2853,6 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific stickersTab.beginUpdate(getParent() != null && getVisibility() == VISIBLE && (installingStickerSets.size() != 0 || removingStickerSets.size() != 0)); final MediaDataController mediaDataController = MediaDataController.getInstance(currentAccount); - boolean hasStickers = false; if (!mediaDataController.getFeaturedStickerSets().isEmpty()) { final int id = mediaDataController.getUnreadStickerSets().isEmpty() ? 2 : 3; @@ -2645,14 +2866,12 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific favTabBum = stickersTabOffset; stickersTabOffset++; stickersTab.addIconTab(1, stickerIcons[1]).setContentDescription(LocaleController.getString("FavoriteStickers", R.string.FavoriteStickers)); - hasStickers = true; } if (!recentStickers.isEmpty()) { recentTabBum = stickersTabOffset; stickersTabOffset++; stickersTab.addIconTab(0, stickerIcons[0]).setContentDescription(LocaleController.getString("RecentStickers", R.string.RecentStickers)); - hasStickers = true; } stickerSets.clear(); @@ -2686,7 +2905,6 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific continue; } stickerSets.add(pack); - hasStickers = true; } if (info != null) { long hiddenStickerSetId = MessagesController.getEmojiSettings(currentAccount).getLong("group_hide_stickers_" + info.id, -1); @@ -2731,7 +2949,6 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific a--; } else { stickersTab.addStickerTab(chat); - hasStickers = true; } } else { TLRPC.TL_messages_stickerSet stickerSet = stickerSets.get(a); @@ -2743,7 +2960,6 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific thumb = document; } stickersTab.addStickerTab(thumb, document, stickerSet).setContentDescription(stickerSet.set.title + ", " + LocaleController.getString("AccDescrStickerSet", R.string.AccDescrStickerSet)); - hasStickers = true; } } stickersTab.commitUpdate(); @@ -2772,6 +2988,54 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } + private void updateGifTabs() { + final int lastPosition = gifTabs.getCurrentPosition(); + + final boolean wasRecentTabSelected = lastPosition == gifRecentTabNum; + final boolean hadRecent = gifRecentTabNum >= 0; + final boolean hasRecent = !recentGifs.isEmpty(); + + gifTabs.beginUpdate(false); + + int gifTabsCount = 0; + gifRecentTabNum = -2; + gifTrendingTabNum = -2; + gifFirstEmojiTabNum = -2; + + if (hasRecent) { + gifRecentTabNum = gifTabsCount++; + gifTabs.addIconTab(0, gifIcons[0]); + } + + gifTrendingTabNum = gifTabsCount++; + gifTabs.addIconTab(1, gifIcons[1]); + + gifFirstEmojiTabNum = gifTabsCount; + final int hPadding = AndroidUtilities.dp(13); + final int vPadding = AndroidUtilities.dp(11); + final List gifSearchEmojies = MessagesController.getInstance(currentAccount).gifSearchEmojies; + for (int i = 0, N = gifSearchEmojies.size(); i < N; i++) { + final Emoji.EmojiDrawable emojiDrawable = Emoji.getEmojiDrawable(gifSearchEmojies.get(i)); + if (emojiDrawable != null) { + gifTabsCount++; + gifTabs.addIconTab(3 + i, emojiDrawable).setPadding(hPadding, vPadding, hPadding, vPadding); + } + } + + gifTabs.commitUpdate(); + gifTabs.updateTabStyles(); + + if (wasRecentTabSelected && !hasRecent) { + gifTabs.selectTab(gifTrendingTabNum); + } else if (ViewCompat.isLaidOut(gifTabs)) { + if (hasRecent && !hadRecent) { + gifTabs.onPageScrolled(lastPosition + 1, 0); + } else if (!hasRecent && hadRecent) { + gifTabs.onPageScrolled(lastPosition - 1, 0); + } + } + } + public void addRecentSticker(TLRPC.Document document) { if (document == null) { return; @@ -2792,10 +3056,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific return; } boolean wasEmpty = recentGifs.isEmpty(); - recentGifs = MediaDataController.getInstance(currentAccount).getRecentGifs(); - if (gifAdapter != null) { - gifAdapter.notifyDataSetChanged(); - } + updateRecentGifs(); if (wasEmpty) { updateStickerTabs(); } @@ -2865,6 +3126,11 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific stickersTab.setUnderlineColor(Theme.getColor(Theme.key_chat_emojiPanelShadowLine)); stickersTab.setBackgroundColor(Theme.getColor(Theme.key_chat_emojiPanelBackground)); } + if (gifTabs != null) { + gifTabs.setIndicatorColor(Theme.getColor(Theme.key_chat_emojiPanelStickerPackSelectorLine)); + gifTabs.setUnderlineColor(Theme.getColor(Theme.key_chat_emojiPanelShadowLine)); + gifTabs.setBackgroundColor(Theme.getColor(Theme.key_chat_emojiPanelBackground)); + } if (backspaceButton != null) { backspaceButton.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelBackspace), PorterDuff.Mode.MULTIPLY)); if (emojiSearchField == null) { @@ -2885,6 +3151,11 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific ((ShapeDrawable) mediaBanTooltip.getBackground()).getPaint().setColor(Theme.getColor(Theme.key_chat_gifSaveHintBackground)); mediaBanTooltip.setTextColor(Theme.getColor(Theme.key_chat_gifSaveHintText)); } + if (gifSearchAdapter != null) { + gifSearchAdapter.progressEmptyView.imageView.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelEmptyText), PorterDuff.Mode.MULTIPLY)); + gifSearchAdapter.progressEmptyView.textView.setTextColor(Theme.getColor(Theme.key_chat_emojiPanelEmptyText)); + gifSearchAdapter.progressEmptyView.progressView.setProgressColor(Theme.getColor(Theme.key_progressCircle)); + } for (int a = 0; a < tabIcons.length; a++) { Theme.setEmojiDrawableColor(tabIcons[a], Theme.getColor(Theme.key_chat_emojiBottomPanelIcon), false); @@ -2898,6 +3169,10 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific Theme.setEmojiDrawableColor(stickerIcons[a], Theme.getColor(Theme.key_chat_emojiPanelIcon), false); Theme.setEmojiDrawableColor(stickerIcons[a], Theme.getColor(Theme.key_chat_emojiPanelIconSelected), true); } + for (int a = 0; a < gifIcons.length; a++) { + Theme.setEmojiDrawableColor(gifIcons[a], Theme.getColor(Theme.key_chat_emojiPanelIcon), false); + Theme.setEmojiDrawableColor(gifIcons[a], Theme.getColor(Theme.key_chat_emojiPanelIconSelected), true); + } } @Override @@ -3016,10 +3291,10 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific pager.setCurrentItem(2, false); } if (stickersTab != null) { - if (recentTabBum >= 0) { - stickersTab.selectTab(recentTabBum); - } else if (favTabBum >= 0) { + if (favTabBum >= 0) { stickersTab.selectTab(favTabBum); + } else if (recentTabBum >= 0) { + stickersTab.selectTab(recentTabBum); } else { stickersTab.selectTab(stickersTabOffset); } @@ -3030,6 +3305,9 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific if (pager.getCurrentItem() != 1) { pager.setCurrentItem(1, false); } + if (gifTabs != null) { + gifTabs.selectTab(0); + } } } @@ -3098,10 +3376,7 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific private void checkDocuments(boolean isGif) { if (isGif) { - recentGifs = MediaDataController.getInstance(currentAccount).getRecentGifs(); - if (gifAdapter != null) { - gifAdapter.notifyDataSetChanged(); - } + updateRecentGifs(); } else { int previousCount = recentStickers.size(); int previousCount2 = favouriteStickers.size(); @@ -3127,6 +3402,17 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } + private void updateRecentGifs() { + final boolean wasEmpty = recentGifs.isEmpty(); + recentGifs = MediaDataController.getInstance(currentAccount).getRecentGifs(); + if (gifTabs != null && wasEmpty && !recentGifs.isEmpty() || !wasEmpty && recentGifs.isEmpty()) { + updateGifTabs(); + } + if (gifAdapter != null) { + gifAdapter.notifyDataSetChanged(); + } + } + public void setStickersBanned(boolean value, int chatId) { if (typeTabs == null) { return; @@ -3307,6 +3593,9 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific if (pickerView != null) { pickerView.invalidate(); } + if (gifTabs != null) { + gifTabs.invalidateTabs(); + } } else if (id == NotificationCenter.newEmojiSuggestionsAvailable) { if (emojiGridView != null && needEmojiSearch && (emojiSearchField.progressDrawable.isAnimating() || emojiGridView.getAdapter() == emojiSearchAdapter) && !TextUtils.isEmpty(emojiSearchAdapter.lastSearchEmojiString)) { emojiSearchAdapter.search(emojiSearchAdapter.lastSearchEmojiString); @@ -4008,11 +4297,419 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } + private class GifAdapter extends RecyclerListView.SelectionAdapter { + private final Context context; + private final boolean withRecent; + private final GifProgressEmptyView progressEmptyView; + private final int maxRecentRowsCount; + + private int reqId; + private TLRPC.User bot; + private String nextSearchOffset; + private boolean searchEndReached; + private boolean lastSearchIsEmoji; + private String lastSearchImageString; + private ArrayList results = new ArrayList<>(); + private HashMap resultsMap = new HashMap<>(); + + private Runnable searchRunnable; + private boolean searchingUser; + + private int itemsCount; + private int recentItemsCount; + private int trendingSectionItem = -1; + private int firstResultItem = -1; + + private boolean showTrendingWhenSearchEmpty; + + public GifAdapter(Context context) { + this(context, false, 0); + } + + public GifAdapter(Context context, boolean withRecent) { + this(context, withRecent, withRecent ? Integer.MAX_VALUE : 0); + } + + public GifAdapter(Context context, boolean withRecent, int maxRecentRowsCount) { + this.context = context; + this.withRecent = withRecent; + this.maxRecentRowsCount = maxRecentRowsCount; + this.progressEmptyView = withRecent ? null : new GifProgressEmptyView(context); + } + + @Override + public boolean isEnabled(RecyclerView.ViewHolder holder) { + return false; + } + + @Override + public int getItemCount() { + return itemsCount; + } + + @Override + public int getItemViewType(int position) { + if (position == 0) { + return 1; // search field + } else if (withRecent && position == trendingSectionItem) { + return 2; // trending section + } else if (!withRecent && results.isEmpty()) { + return 3; // progress empty view + } + return 0; // gif + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view; + switch (viewType) { + case 0: + ContextLinkCell cell = new ContextLinkCell(context); + cell.setContentDescription(LocaleController.getString("AttachGif", R.string.AttachGif)); + cell.setCanPreviewGif(true); + view = cell; + break; + case 1: + view = new View(getContext()); + view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight)); + break; + case 2: + final StickerSetNameCell cell1 = new StickerSetNameCell(context, false); + cell1.setText(LocaleController.getString("FeaturedGifs", R.string.FeaturedGifs), 0); + view = cell1; + final RecyclerView.LayoutParams lp = new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT); + lp.topMargin = AndroidUtilities.dp(2.5f); + lp.bottomMargin = AndroidUtilities.dp(5.5f); + view.setLayoutParams(lp); + break; + case 3: + default: + view = progressEmptyView; + view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT)); + break; + } + return new RecyclerListView.Holder(view); + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + switch (holder.getItemViewType()) { + case 0: { + ContextLinkCell cell = (ContextLinkCell) holder.itemView; + if (firstResultItem >= 0 && position >= firstResultItem) { + cell.setLink(results.get(position - firstResultItem), bot, true, false, false, true); + } else { + cell.setGif(recentGifs.get(position - 1), false); + } + break; + } + } + } + + @Override + public void notifyDataSetChanged() { + updateRecentItemsCount(); + updateItems(); + super.notifyDataSetChanged(); + } + + private void updateItems() { + trendingSectionItem = -1; + firstResultItem = -1; + + itemsCount = 1; // search field + + if (withRecent) { + itemsCount += recentItemsCount; + } + + if (!results.isEmpty()) { + if (withRecent && recentItemsCount > 0) { + trendingSectionItem = itemsCount++; + } + firstResultItem = itemsCount; + itemsCount += results.size(); + } else if (!withRecent) { + itemsCount++; // progress empty view + } + } + + private void updateRecentItemsCount() { + if (!withRecent || maxRecentRowsCount == 0) { + return; + } + + if (maxRecentRowsCount == Integer.MAX_VALUE) { + recentItemsCount = recentGifs.size(); + return; + } + + if (gifGridView.getMeasuredWidth() == 0) { + return; + } + + final int listWidth = gifGridView.getMeasuredWidth(); + final int spanCount = gifLayoutManager.getSpanCount(); + final int preferredRowSize = AndroidUtilities.dp(100); + + int rowCount = 0; + int spanLeft = spanCount; + int currentItemsInRow = 0; + recentItemsCount = 0; + + for (int i = 0, N = recentGifs.size(); i < N; i++) { + final Size size = gifLayoutManager.fixSize(gifLayoutManager.getSizeForItem(recentGifs.get(i))); + int requiredSpan = Math.min(spanCount, (int) Math.floor(spanCount * (size.width / size.height * preferredRowSize / listWidth))); + if (spanLeft < requiredSpan) { // move to a new row + recentItemsCount += currentItemsInRow; + if (++rowCount == maxRecentRowsCount) { + break; + } + currentItemsInRow = 0; + spanLeft = spanCount; + } + currentItemsInRow++; + spanLeft -= requiredSpan; + } + + if (rowCount < maxRecentRowsCount) { + recentItemsCount += currentItemsInRow; + } + } + + public void loadTrendingGifs() { + search("", "", true, true, true); + } + + private void searchBotUser() { + if (searchingUser) { + return; + } + searchingUser = true; + TLRPC.TL_contacts_resolveUsername req = new TLRPC.TL_contacts_resolveUsername(); + req.username = MessagesController.getInstance(currentAccount).gifSearchBot; + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> { + if (response != null) { + AndroidUtilities.runOnUIThread(() -> { + TLRPC.TL_contacts_resolvedPeer res = (TLRPC.TL_contacts_resolvedPeer) response; + MessagesController.getInstance(currentAccount).putUsers(res.users, false); + MessagesController.getInstance(currentAccount).putChats(res.chats, false); + MessagesStorage.getInstance(currentAccount).putUsersAndChats(res.users, res.chats, true, true); + String str = lastSearchImageString; + lastSearchImageString = null; + search(str, "", false); + }); + } + }); + } + + public void search(String text) { + if (withRecent) { + return; + } + if (reqId != 0) { + if (reqId >= 0) { + ConnectionsManager.getInstance(currentAccount).cancelRequest(reqId, true); + } + reqId = 0; + } + lastSearchIsEmoji = false; + if (progressEmptyView != null) { + progressEmptyView.setLoadingState(false); + } + if (searchRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(searchRunnable); + } + if (TextUtils.isEmpty(text)) { + lastSearchImageString = null; + if (showTrendingWhenSearchEmpty) { + loadTrendingGifs(); + } else { + final int page = gifTabs.getCurrentPosition(); + if (page == gifRecentTabNum || page == gifTrendingTabNum) { + if (gifGridView.getAdapter() != gifAdapter) { + gifGridView.setAdapter(gifAdapter); + } + } else { + searchEmoji(MessagesController.getInstance(currentAccount).gifSearchEmojies.get(page - gifFirstEmojiTabNum)); + } + } + return; + } else { + lastSearchImageString = text.toLowerCase(); + } + if (!TextUtils.isEmpty(lastSearchImageString)) { + AndroidUtilities.runOnUIThread(searchRunnable = new Runnable() { + @Override + public void run() { + search(text, "", true); + } + }, 300); + } + } + + public void searchEmoji(String emoji) { + if (lastSearchIsEmoji && TextUtils.equals(lastSearchImageString, emoji)) { + gifLayoutManager.scrollToPositionWithOffset(1, 0); + return; + } + search(emoji, "", true, true, true); + } + + protected void search(final String query, final String offset, boolean searchUser) { + search(query, offset, searchUser, false, false); + } + + protected void search(final String query, final String offset, boolean searchUser, boolean isEmoji, boolean cache) { + if (reqId != 0) { + if (reqId >= 0) { + ConnectionsManager.getInstance(currentAccount).cancelRequest(reqId, true); + } + reqId = 0; + } + + lastSearchImageString = query; + lastSearchIsEmoji = isEmoji; + + if (progressEmptyView != null) { + progressEmptyView.setLoadingState(isEmoji); + } + + TLObject object = MessagesController.getInstance(currentAccount).getUserOrChat(MessagesController.getInstance(currentAccount).gifSearchBot); + if (!(object instanceof TLRPC.User)) { + if (searchUser) { + searchBotUser(); + if (!withRecent) { + gifSearchField.progressDrawable.startAnimation(); + } + } + return; + } + if (!withRecent && TextUtils.isEmpty(offset)) { + gifSearchField.progressDrawable.startAnimation(); + } + + bot = (TLRPC.User) object; + final String key = "gif_search_" + query + "_" + offset; + final RequestDelegate requestDelegate = (response, error) -> AndroidUtilities.runOnUIThread(() -> processResponse(query, offset, searchUser, isEmoji, cache, key, response)); + + if (!cache && !withRecent && isEmoji && TextUtils.isEmpty(offset)) { + results.clear(); + resultsMap.clear(); + if (gifGridView.getAdapter() != this) { + gifGridView.setAdapter(this); + } + notifyDataSetChanged(); + scrollGifsToTop(); + } + + if (cache && gifCache.containsKey(key)) { + processResponse(query, offset, searchUser, isEmoji, true, key, gifCache.get(key)); + return; + } + + if (gifSearchPreloader.isLoading(key)) { + return; + } + + if (cache) { + reqId = -1; + MessagesStorage.getInstance(currentAccount).getBotCache(key, requestDelegate); + } else { + TLRPC.TL_messages_getInlineBotResults req = new TLRPC.TL_messages_getInlineBotResults(); + req.query = query == null ? "" : query; + req.bot = MessagesController.getInstance(currentAccount).getInputUser(bot); + req.offset = offset; + req.peer = new TLRPC.TL_inputPeerEmpty(); + reqId = ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors); + } + } + + @MainThread + private void processResponse(final String query, final String offset, boolean searchUser, boolean isEmoji, boolean cache, String key, TLObject response) { + if (!query.equals(lastSearchImageString)) { + return; + } + reqId = 0; + if (cache && (!(response instanceof TLRPC.messages_BotResults) || ((TLRPC.messages_BotResults) response).results.isEmpty())) { + search(query, offset, searchUser, isEmoji, false); + return; + } + + if (!withRecent) { + if (TextUtils.isEmpty(offset)) { + results.clear(); + resultsMap.clear(); + gifSearchField.progressDrawable.stopAnimation(); + } + } + + if (response instanceof TLRPC.messages_BotResults) { + int addedCount = 0; + int oldCount = results.size(); + TLRPC.messages_BotResults res = (TLRPC.messages_BotResults) response; + if (!gifCache.containsKey(key)) { + gifCache.put(key, res); + } + if (!cache && res.cache_time != 0) { + MessagesStorage.getInstance(currentAccount).saveBotCache(key, res); + } + nextSearchOffset = res.next_offset; + for (int a = 0; a < res.results.size(); a++) { + TLRPC.BotInlineResult result = res.results.get(a); + if (resultsMap.containsKey(result.id)) { + continue; + } + result.query_id = res.query_id; + results.add(result); + resultsMap.put(result.id, result); + addedCount++; + } + searchEndReached = oldCount == results.size() || TextUtils.isEmpty(nextSearchOffset); + if (addedCount != 0) { + if (!isEmoji || oldCount != 0) { + updateItems(); + if (withRecent) { + if (oldCount != 0) { + notifyItemChanged(recentItemsCount + 1 + oldCount); + notifyItemRangeInserted(recentItemsCount + 1 + oldCount + 1, addedCount); + } else { + notifyItemRangeInserted(recentItemsCount + 1, addedCount + 1); + } + } else { + if (oldCount != 0) { + notifyItemChanged(oldCount); + } + notifyItemRangeInserted(oldCount + 1, addedCount); + } + } else { + notifyDataSetChanged(); + } + } else if (results.isEmpty()) { + notifyDataSetChanged(); + } + } else { + notifyDataSetChanged(); + } + + if (!withRecent) { + if (gifGridView.getAdapter() != this) { + gifGridView.setAdapter(this); + } + if (isEmoji && !TextUtils.isEmpty(query) && TextUtils.isEmpty(offset)) { + scrollGifsToTop(); + } + } + } + } + + private class GifSavedAdapter extends RecyclerListView.SelectionAdapter { + private Context mContext; - public GifAdapter(Context context) { + public GifSavedAdapter(Context context) { mContext = context; } @@ -4087,224 +4784,208 @@ public class EmojiView extends FrameLayout implements NotificationCenter.Notific } } - private class GifSearchAdapter extends RecyclerListView.SelectionAdapter { + private class GifSearchPreloader { - private Context mContext; - private int reqId; - private String lastSearchImageString; - private String nextSearchOffset; - private boolean searchingUser; - private boolean searchEndReached; - private ArrayList results = new ArrayList<>(); - private HashMap resultsMap = new HashMap<>(); - private Runnable searchRunnable; - private TLRPC.User bot; + private final List loadingKeys = new ArrayList<>(); - public GifSearchAdapter(Context context) { - mContext = context; + public boolean isLoading(String key) { + return loadingKeys.contains(key); } - @Override - public boolean isEnabled(RecyclerView.ViewHolder holder) { - return false; + public void preload(final String query) { + preload(query, "", true); } - @Override - public int getItemCount() { - return (results.isEmpty() ? 1 : results.size()) + 1; - } + private void preload(final String query, final String offset, boolean cache) { + final String key = "gif_search_" + query + "_" + offset; - @Override - public int getItemViewType(int position) { - if (position == 0) { - return 1; - } else if (results.isEmpty()) { - return 2; - } - return 0; - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view; - switch (viewType) { - case 0: - ContextLinkCell cell = new ContextLinkCell(mContext); - cell.setContentDescription(LocaleController.getString("AttachGif", R.string.AttachGif)); - cell.setCanPreviewGif(true); - view = cell; - break; - case 1: - view = new View(getContext()); - view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight)); - break; - case 2: - default: - FrameLayout frameLayout = new FrameLayout(getContext()) { - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - int height = gifGridView.getMeasuredHeight(); - super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec((int) ((height - searchFieldHeight - AndroidUtilities.dp(8)) / 3 * 1.7f), MeasureSpec.EXACTLY)); - } - }; - - ImageView imageView = new ImageView(getContext()); - imageView.setScaleType(ImageView.ScaleType.CENTER); - imageView.setImageResource(R.drawable.gif_empty); - imageView.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelEmptyText), PorterDuff.Mode.MULTIPLY)); - frameLayout.addView(imageView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 59)); - - TextView textView = new TextView(getContext()); - textView.setText(LocaleController.getString("NoGIFsFound", R.string.NoGIFsFound)); - textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); - textView.setTextColor(Theme.getColor(Theme.key_chat_emojiPanelEmptyText)); - frameLayout.addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 9)); - - view = frameLayout; - view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT)); - break; - } - return new RecyclerListView.Holder(view); - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - switch (holder.getItemViewType()) { - case 0: { - TLRPC.BotInlineResult result = results.get(position - 1); - - ContextLinkCell cell = (ContextLinkCell) holder.itemView; - cell.setLink(result, true, false, false); - break; - } - } - } - - public void search(String text) { - if (reqId != 0) { - ConnectionsManager.getInstance(currentAccount).cancelRequest(reqId, true); - reqId = 0; - } - if (TextUtils.isEmpty(text)) { - lastSearchImageString = null; - if (gifGridView.getAdapter() != gifAdapter) { - gifGridView.setAdapter(gifAdapter); - } - notifyDataSetChanged(); - } else { - lastSearchImageString = text.toLowerCase(); - } - if (searchRunnable != null) { - AndroidUtilities.cancelRunOnUIThread(searchRunnable); - } - if (!TextUtils.isEmpty(lastSearchImageString)) { - AndroidUtilities.runOnUIThread(searchRunnable = new Runnable() { - @Override - public void run() { - search(text, "", true); - } - }, 300); - } - } - - private void searchBotUser() { - if (searchingUser) { + if (cache && gifCache.containsKey(key)) { return; } - searchingUser = true; - TLRPC.TL_contacts_resolveUsername req = new TLRPC.TL_contacts_resolveUsername(); - req.username = MessagesController.getInstance(currentAccount).gifSearchBot; - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> { - if (response != null) { - AndroidUtilities.runOnUIThread(() -> { - TLRPC.TL_contacts_resolvedPeer res = (TLRPC.TL_contacts_resolvedPeer) response; - MessagesController.getInstance(currentAccount).putUsers(res.users, false); - MessagesController.getInstance(currentAccount).putChats(res.chats, false); - MessagesStorage.getInstance(currentAccount).putUsersAndChats(res.users, res.chats, true, true); - String str = lastSearchImageString; - lastSearchImageString = null; - search(str, "", false); - }); + + final RequestDelegate requestDelegate = (response, error) -> AndroidUtilities.runOnUIThread(() -> processResponse(query, offset, cache, key, response)); + + if (cache) { + loadingKeys.add(key); + MessagesStorage.getInstance(currentAccount).getBotCache(key, requestDelegate); + } else { + final MessagesController messagesController = MessagesController.getInstance(currentAccount); + final TLObject gifSearchBot = messagesController.getUserOrChat(messagesController.gifSearchBot); + if (!(gifSearchBot instanceof TLRPC.User)) { + return; + } + loadingKeys.add(key); + TLRPC.TL_messages_getInlineBotResults req = new TLRPC.TL_messages_getInlineBotResults(); + req.query = query == null ? "" : query; + req.bot = messagesController.getInputUser((TLRPC.User) gifSearchBot); + req.offset = offset; + req.peer = new TLRPC.TL_inputPeerEmpty(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors); + } + } + + private void processResponse(final String query, final String offset, boolean cache, String key, TLObject response) { + loadingKeys.remove(key); + + if (gifSearchAdapter.lastSearchIsEmoji && gifSearchAdapter.lastSearchImageString.equals(query)) { + gifSearchAdapter.processResponse(query, offset, false, true, cache, key, response); + } else { + if (cache && (!(response instanceof TLRPC.messages_BotResults) || ((TLRPC.messages_BotResults) response).results.isEmpty())) { + preload(query, offset, false); + } else if (response instanceof TLRPC.messages_BotResults && !gifCache.containsKey(key)) { + gifCache.put(key, (TLRPC.messages_BotResults) response); + } + } + } + } + + private class GifLayoutManager extends ExtendedGridLayoutManager { + + private Size size = new Size(); + + public GifLayoutManager(Context context) { + super(context, 100, true); + setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { + @Override + public int getSpanSize(int position) { + if (position == 0 || gifGridView.getAdapter() == gifSearchAdapter && gifSearchAdapter.results.isEmpty()) { + return getSpanCount(); + } + return getSpanSizeForItem(position - 1); } }); } - private void search(final String query, final String offset, boolean searchUser) { - if (reqId != 0) { - ConnectionsManager.getInstance(currentAccount).cancelRequest(reqId, true); - reqId = 0; - } - - lastSearchImageString = query; - - TLObject object = MessagesController.getInstance(currentAccount).getUserOrChat(MessagesController.getInstance(currentAccount).gifSearchBot); - if (!(object instanceof TLRPC.User)) { - if (searchUser) { - searchBotUser(); - gifSearchField.progressDrawable.startAnimation(); - } - return; - } - if (TextUtils.isEmpty(offset)) { - gifSearchField.progressDrawable.startAnimation(); - } - - bot = (TLRPC.User) object; - - TLRPC.TL_messages_getInlineBotResults req = new TLRPC.TL_messages_getInlineBotResults(); - req.query = query == null ? "" : query; - req.bot = MessagesController.getInstance(currentAccount).getInputUser(bot); - req.offset = offset; - req.peer = new TLRPC.TL_inputPeerEmpty(); - - reqId = ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> { - AndroidUtilities.runOnUIThread(() -> { - if (req.query.equals(lastSearchImageString)) { - if (gifGridView.getAdapter() != gifSearchAdapter) { - gifGridView.setAdapter(gifSearchAdapter); - } - if (TextUtils.isEmpty(offset)) { - results.clear(); - resultsMap.clear(); - gifSearchField.progressDrawable.stopAnimation(); - } - - reqId = 0; - if (response instanceof TLRPC.messages_BotResults) { - int addedCount = 0; - int oldCount = results.size(); - TLRPC.messages_BotResults res = (TLRPC.messages_BotResults) response; - nextSearchOffset = res.next_offset; - for (int a = 0; a < res.results.size(); a++) { - TLRPC.BotInlineResult result = res.results.get(a); - if (resultsMap.containsKey(result.id)) { - continue; - } - result.query_id = res.query_id; - results.add(result); - resultsMap.put(result.id, result); - addedCount++; - } - searchEndReached = oldCount == results.size() || TextUtils.isEmpty(nextSearchOffset); - if (addedCount != 0) { - if (oldCount != 0) { - notifyItemChanged(oldCount); - } - notifyItemRangeInserted(oldCount + 1, addedCount); - } else if (results.isEmpty()) { - notifyDataSetChanged(); - } - } else { - notifyDataSetChanged(); - } + @Override + protected Size getSizeForItem(int i) { + TLRPC.Document document; + ArrayList attributes; + if (gifGridView.getAdapter() == gifAdapter) { + if (i > gifAdapter.recentItemsCount) { + TLRPC.BotInlineResult result = gifAdapter.results.get(i - gifAdapter.recentItemsCount - 1); + document = result.document; + if (document != null) { + attributes = document.attributes; + } else if (result.content != null) { + attributes = result.content.attributes; + } else if (result.thumb != null) { + attributes = result.thumb.attributes; + } else { + attributes = null; } - }); - }, ConnectionsManager.RequestFlagFailOnServerErrors); + } else if (i == gifAdapter.recentItemsCount) { + return null; + } else { + document = recentGifs.get(i); + attributes = document.attributes; + } + } else if (!gifSearchAdapter.results.isEmpty()) { + TLRPC.BotInlineResult result = gifSearchAdapter.results.get(i); + document = result.document; + if (document != null) { + attributes = document.attributes; + } else if (result.content != null) { + attributes = result.content.attributes; + } else if (result.thumb != null) { + attributes = result.thumb.attributes; + } else { + attributes = null; + } + } else { + document = null; + attributes = null; + } + return getSizeForItem(document, attributes); } @Override - public void notifyDataSetChanged() { - super.notifyDataSetChanged(); + protected int getFlowItemCount() { + if (gifGridView.getAdapter() == gifSearchAdapter && gifSearchAdapter.results.isEmpty()) { + return 0; + } + return getItemCount() - 1; + } + + public Size getSizeForItem(TLRPC.Document document) { + return getSizeForItem(document, document.attributes); + } + + public Size getSizeForItem(TLRPC.Document document, List attributes) { + size.width = size.height = 100; + if (document != null) { + TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(document.thumbs, 90); + if (thumb != null && thumb.w != 0 && thumb.h != 0) { + size.width = thumb.w; + size.height = thumb.h; + } + } + if (attributes != null) { + for (int b = 0; b < attributes.size(); b++) { + TLRPC.DocumentAttribute attribute = attributes.get(b); + if (attribute instanceof TLRPC.TL_documentAttributeImageSize || attribute instanceof TLRPC.TL_documentAttributeVideo) { + size.width = attribute.w; + size.height = attribute.h; + break; + } + } + } + return size; + } + } + + private class GifProgressEmptyView extends FrameLayout { + + private final ImageView imageView; + private final TextView textView; + private final RadialProgressView progressView; + + private boolean loadingState; + + public GifProgressEmptyView(@NonNull Context context) { + super(context); + + imageView = new ImageView(getContext()); + imageView.setScaleType(ImageView.ScaleType.CENTER); + imageView.setImageResource(R.drawable.gif_empty); + imageView.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_emojiPanelEmptyText), PorterDuff.Mode.MULTIPLY)); + addView(imageView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 59)); + + textView = new TextView(getContext()); + textView.setText(LocaleController.getString("NoGIFsFound", R.string.NoGIFsFound)); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); + textView.setTextColor(Theme.getColor(Theme.key_chat_emojiPanelEmptyText)); + addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 9)); + + progressView = new RadialProgressView(context); + progressView.setVisibility(GONE); + progressView.setProgressColor(Theme.getColor(Theme.key_progressCircle)); + addView(progressView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER)); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int height = gifGridView.getMeasuredHeight(); + + if (!loadingState) { + height = (int) ((height - searchFieldHeight - AndroidUtilities.dp(8)) / 3 * 1.7f); + } else { + height -= AndroidUtilities.dp(48 + 44); + } + + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + } + + public boolean isLoadingState() { + return loadingState; + } + + public void setLoadingState(boolean loadingState) { + if (this.loadingState != loadingState) { + this.loadingState = loadingState; + imageView.setVisibility(loadingState ? GONE : VISIBLE); + textView.setVisibility(loadingState ? GONE : VISIBLE); + progressView.setVisibility(loadingState ? VISIBLE : GONE); + } } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/EmptyStubSpan.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/EmptyStubSpan.java new file mode 100644 index 000000000..309b83015 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/EmptyStubSpan.java @@ -0,0 +1,21 @@ +package org.telegram.ui.Components; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.text.style.ReplacementSpan; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +public class EmptyStubSpan extends ReplacementSpan { + + @Override + public int getSize(@NonNull Paint paint, CharSequence text, int start, int end, @Nullable Paint.FontMetricsInt fm) { + return (int) paint.measureText(text, start, end); + } + + @Override + public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, @NonNull Paint paint) { + + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ExtendedGridLayoutManager.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ExtendedGridLayoutManager.java index 5d20d3eeb..4a3ae4490 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ExtendedGridLayoutManager.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ExtendedGridLayoutManager.java @@ -17,6 +17,8 @@ import androidx.recyclerview.widget.GridLayoutManager; public class ExtendedGridLayoutManager extends GridLayoutManager { + private final boolean lastRowFullWidth; + private SparseIntArray itemSpans = new SparseIntArray(); private SparseIntArray itemsToRow = new SparseIntArray(); private int firstRowMax; @@ -24,7 +26,12 @@ public class ExtendedGridLayoutManager extends GridLayoutManager { private int calculatedWidth; public ExtendedGridLayoutManager(Context context, int spanCount) { + this(context, spanCount, false); + } + + public ExtendedGridLayoutManager(Context context, int spanCount, boolean lastRowFullWidth) { super(context, spanCount); + this.lastRowFullWidth = lastRowFullWidth; } @Override @@ -40,17 +47,29 @@ public class ExtendedGridLayoutManager extends GridLayoutManager { itemsToRow.clear(); rowsCount = 0; firstRowMax = 0; - - int preferredRowSize = AndroidUtilities.dp(100); - int itemsCount = getFlowItemCount(); - int spanCount = getSpanCount(); + + final int itemsCount = getFlowItemCount(); + if (itemsCount == 0) { + return; + } + + final int preferredRowSize = AndroidUtilities.dp(100); + final int spanCount = getSpanCount(); + int spanLeft = spanCount; int currentItemsInRow = 0; int currentItemsSpanAmount = 0; - for (int a = 0; a < itemsCount; a++) { - Size size = sizeForItem(a); - int requiredSpan = Math.min(spanCount, (int) Math.floor(spanCount * (size.width / size.height * preferredRowSize / viewPortAvailableSize))); - boolean moveToNewRow = spanLeft < requiredSpan || requiredSpan > 33 && spanLeft < requiredSpan - 15; + for (int a = 0, N = itemsCount + (lastRowFullWidth ? 1 : 0); a < N; a++) { + Size size = a < itemsCount ? sizeForItem(a) : null; + int requiredSpan; + boolean moveToNewRow; + if (size == null) { + moveToNewRow = currentItemsInRow != 0; + requiredSpan = spanCount; + } else { + requiredSpan = Math.min(spanCount, (int) Math.floor(spanCount * (size.width / size.height * preferredRowSize / viewPortAvailableSize))); + moveToNewRow = spanLeft 33 && spanLeft < requiredSpan - 15; + } if (moveToNewRow) { if (spanLeft != 0) { int spanPerItem = spanLeft / currentItemsInRow; @@ -64,6 +83,9 @@ public class ExtendedGridLayoutManager extends GridLayoutManager { } itemsToRow.put(a - 1, rowsCount); } + if (a == itemsCount) { + break; + } rowsCount++; currentItemsSpanAmount = 0; currentItemsInRow = 0; @@ -76,7 +98,7 @@ public class ExtendedGridLayoutManager extends GridLayoutManager { if (rowsCount == 0) { firstRowMax = Math.max(firstRowMax, a); } - if (a == itemsCount - 1) { + if (a == itemsCount - 1 && !lastRowFullWidth) { itemsToRow.put(a, rowsCount); } currentItemsSpanAmount += requiredSpan; @@ -85,13 +107,17 @@ public class ExtendedGridLayoutManager extends GridLayoutManager { itemSpans.put(a, requiredSpan); } - if (itemsCount != 0) { - rowsCount++; - } + rowsCount++; } private Size sizeForItem(int i) { - Size size = getSizeForItem(i); + return fixSize(getSizeForItem(i)); + } + + protected Size fixSize(Size size) { + if (size == null) { + return null; + } if (size.width == 0) { size.width = 100; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/FadingTextViewLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/FadingTextViewLayout.java new file mode 100644 index 000000000..968f5107d --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/FadingTextViewLayout.java @@ -0,0 +1,193 @@ +package org.telegram.ui.Components; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ValueAnimator; +import android.content.Context; +import android.graphics.Color; +import android.graphics.Point; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; +import android.widget.FrameLayout; +import android.widget.TextView; + +import androidx.core.view.ViewCompat; + +import java.util.ArrayList; +import java.util.List; + +public class FadingTextViewLayout extends FrameLayout { + + private final ValueAnimator animator; + + private CharSequence text; + private TextView foregroundView; + private TextView currentView; + private TextView nextView; + + public FadingTextViewLayout(Context context) { + this(context, false); + } + + public FadingTextViewLayout(Context context, boolean hasStaticChars) { + super(context); + for (int i = 0; i < 2 + (hasStaticChars ? 1 : 0); i++) { + final TextView textView = new TextView(context); + onTextViewCreated(textView); + addView(textView); + if (i == 0) { + currentView = textView; + } else { + textView.setVisibility(GONE); + if (i == 1) { + textView.setAlpha(0f); + nextView = textView; + } else { + foregroundView = textView; + } + } + } + animator = ValueAnimator.ofFloat(0f, 1f); + animator.setDuration(200); + animator.setInterpolator(null); + animator.addUpdateListener(a -> { + final float fraction = a.getAnimatedFraction(); + currentView.setAlpha(CubicBezierInterpolator.DEFAULT.getInterpolation(fraction)); + nextView.setAlpha(CubicBezierInterpolator.DEFAULT.getInterpolation(1f - fraction)); + }); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + currentView.setLayerType(LAYER_TYPE_NONE, null); + nextView.setLayerType(LAYER_TYPE_NONE, null); + nextView.setVisibility(GONE); + if (foregroundView != null) { + currentView.setText(text); // remove spans + foregroundView.setVisibility(GONE); + } + } + + @Override + public void onAnimationStart(Animator animation) { + currentView.setLayerType(LAYER_TYPE_HARDWARE, null); + nextView.setLayerType(LAYER_TYPE_HARDWARE, null); + if (ViewCompat.isAttachedToWindow(currentView)) { + currentView.buildLayer(); + } + if (ViewCompat.isAttachedToWindow(nextView)) { + nextView.buildLayer(); + } + } + }); + } + + public void setText(CharSequence text) { + setText(text, true, true); + } + + public void setText(CharSequence text, boolean animated) { + setText(text, animated, true); + } + + public void setText(CharSequence text, boolean animated, boolean dontAnimateUnchangedStaticChars) { + if (!TextUtils.equals(text, currentView.getText())) { + if (animator != null) { + animator.end(); + } + this.text = text; + if (animated) { + if (dontAnimateUnchangedStaticChars && foregroundView != null) { + final int staticCharsCount = getStaticCharsCount(); + + if (staticCharsCount > 0) { + final CharSequence currentText = currentView.getText(); + final int length = Math.min(staticCharsCount, Math.min(text.length(), currentText.length())); + + final List points = new ArrayList<>(); + + int startIndex = -1; + for (int i = 0; i < length; i++) { + final char c = currentText.charAt(i); + if (text.charAt(i) == c) { + if (startIndex >= 0) { + points.add(new Point(startIndex, i)); + startIndex = -1; + } + } else if (startIndex == -1) { + startIndex = i; + } + } + + if (startIndex == 0) { + // no unchanged static chars + } else if (startIndex > 0) { + points.add(new Point(startIndex, length)); + } else { // fully the same + points.add(new Point(length, 0)); + } + + if (!points.isEmpty()) { + final SpannableString foregroundText = new SpannableString(text.subSequence(0, length)); + final SpannableString currentSpannableText = new SpannableString(currentText); + final SpannableString spannableText = new SpannableString(text); + + int lastIndex = 0; + for (int i = 0, N = points.size(); i < N; i++) { + final Point point = points.get(i); + if (point.y > point.x) { + foregroundText.setSpan(new ForegroundColorSpan(Color.TRANSPARENT), point.x, point.y, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + } + if (point.x > lastIndex) { + currentSpannableText.setSpan(new ForegroundColorSpan(Color.TRANSPARENT), lastIndex, point.x, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + spannableText.setSpan(new ForegroundColorSpan(Color.TRANSPARENT), lastIndex, point.x, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + } + lastIndex = point.y; + } + + foregroundView.setVisibility(VISIBLE); + foregroundView.setText(foregroundText); + + currentView.setText(currentSpannableText); + text = spannableText; + } + } + } + nextView.setVisibility(VISIBLE); + nextView.setText(text); + showNext(); + } else { + currentView.setText(text); + } + } + } + + public CharSequence getText() { + return text; + } + + public TextView getCurrentView() { + return currentView; + } + + public TextView getNextView() { + return nextView; + } + + private void showNext() { + final TextView prevView = currentView; + currentView = nextView; + nextView = prevView; + animator.start(); + } + + protected void onTextViewCreated(TextView textView) { + textView.setSingleLine(true); + textView.setMaxLines(1); + } + + protected int getStaticCharsCount() { + return 0; + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterGLThread.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterGLThread.java new file mode 100644 index 000000000..2b6da1f49 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterGLThread.java @@ -0,0 +1,414 @@ +package org.telegram.ui.Components; + +import android.graphics.Bitmap; +import android.graphics.SurfaceTexture; +import android.opengl.GLES11Ext; +import android.opengl.GLES20; +import android.opengl.GLUtils; +import android.os.Looper; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.BuildVars; +import org.telegram.messenger.DispatchQueue; +import org.telegram.messenger.FileLog; + +import java.nio.ByteBuffer; +import java.util.concurrent.CountDownLatch; + +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; +import javax.microedition.khronos.egl.EGLSurface; +import javax.microedition.khronos.opengles.GL10; + +public class FilterGLThread extends DispatchQueue { + + private static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; + private static final int EGL_OPENGL_ES2_BIT = 4; + private SurfaceTexture surfaceTexture; + private EGL10 egl10; + private EGLDisplay eglDisplay; + private EGLContext eglContext; + private EGLSurface eglSurface; + private boolean initied; + + private volatile int surfaceWidth; + private volatile int surfaceHeight; + + private Bitmap currentBitmap; + private int orientation; + + private SurfaceTexture videoSurfaceTexture; + private boolean updateSurface; + private float[] videoTextureMatrix = new float[16]; + private int[] videoTexture = new int[1]; + private boolean videoFrameAvailable; + + private FilterShaders filterShaders; + + private int simpleShaderProgram; + private int simplePositionHandle; + private int simpleInputTexCoordHandle; + private int simpleSourceImageHandle; + + private boolean blurred; + private int renderBufferWidth; + private int renderBufferHeight; + private int videoWidth; + private int videoHeight; + + private boolean renderDataSet; + + private long lastRenderCallTime; + + public interface FilterGLThreadVideoDelegate { + void onVideoSurfaceCreated(SurfaceTexture surfaceTexture); + } + + private FilterGLThreadVideoDelegate videoDelegate; + + public FilterGLThread(SurfaceTexture surface, Bitmap bitmap, int bitmapOrientation) { + super("PhotoFilterGLThread", false); + surfaceTexture = surface; + currentBitmap = bitmap; + orientation = bitmapOrientation; + filterShaders = new FilterShaders(false); + start(); + } + + public FilterGLThread(SurfaceTexture surface, FilterGLThreadVideoDelegate filterGLThreadVideoDelegate) { + super("VideoFilterGLThread", false); + surfaceTexture = surface; + videoDelegate = filterGLThreadVideoDelegate; + filterShaders = new FilterShaders(true); + start(); + } + + public void setFilterGLThreadDelegate(FilterShaders.FilterShadersDelegate filterShadersDelegate) { + postRunnable(() -> filterShaders.setDelegate(filterShadersDelegate)); + } + + private boolean initGL() { + egl10 = (EGL10) EGLContext.getEGL(); + + eglDisplay = egl10.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); + if (eglDisplay == EGL10.EGL_NO_DISPLAY) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglGetDisplay failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } + + int[] version = new int[2]; + if (!egl10.eglInitialize(eglDisplay, version)) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglInitialize failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } + + int[] configsCount = new int[1]; + EGLConfig[] configs = new EGLConfig[1]; + int[] configSpec = new int[] { + EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, + EGL10.EGL_RED_SIZE, 8, + EGL10.EGL_GREEN_SIZE, 8, + EGL10.EGL_BLUE_SIZE, 8, + EGL10.EGL_ALPHA_SIZE, 8, + EGL10.EGL_DEPTH_SIZE, 0, + EGL10.EGL_STENCIL_SIZE, 0, + EGL10.EGL_NONE + }; + EGLConfig eglConfig; + if (!egl10.eglChooseConfig(eglDisplay, configSpec, configs, 1, configsCount)) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglChooseConfig failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } else if (configsCount[0] > 0) { + eglConfig = configs[0]; + } else { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglConfig not initialized"); + } + finish(); + return false; + } + + int[] attrib_list = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE }; + eglContext = egl10.eglCreateContext(eglDisplay, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list); + if (eglContext == null) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglCreateContext failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } + + if (surfaceTexture instanceof SurfaceTexture) { + eglSurface = egl10.eglCreateWindowSurface(eglDisplay, eglConfig, surfaceTexture, null); + } else { + finish(); + return false; + } + + if (eglSurface == null || eglSurface == EGL10.EGL_NO_SURFACE) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("createWindowSurface failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } + if (!egl10.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext)) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglMakeCurrent failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + finish(); + return false; + } + + int vertexShader = FilterShaders.loadShader(GLES20.GL_VERTEX_SHADER, FilterShaders.simpleVertexShaderCode); + int fragmentShader = FilterShaders.loadShader(GLES20.GL_FRAGMENT_SHADER, FilterShaders.simpleFragmentShaderCode); + if (vertexShader != 0 && fragmentShader != 0) { + simpleShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(simpleShaderProgram, vertexShader); + GLES20.glAttachShader(simpleShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(simpleShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(simpleShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(simpleShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(simpleShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(simpleShaderProgram); + simpleShaderProgram = 0; + } else { + simplePositionHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "position"); + simpleInputTexCoordHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "inputTexCoord"); + simpleSourceImageHandle = GLES20.glGetUniformLocation(simpleShaderProgram, "sourceImage"); + } + } else { + return false; + } + + int w; + int h; + if (currentBitmap != null) { + w = currentBitmap.getWidth(); + h = currentBitmap.getHeight(); + } else { + w = videoWidth; + h = videoHeight; + } + + if (videoDelegate != null) { + GLES20.glGenTextures(1, videoTexture, 0); + + android.opengl.Matrix.setIdentityM(videoTextureMatrix, 0); + videoSurfaceTexture = new SurfaceTexture(videoTexture[0]); + videoSurfaceTexture.setOnFrameAvailableListener(surfaceTexture -> requestRender(false, true, true)); + + GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, videoTexture[0]); + GLES20.glTexParameterf(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameterf(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST); + GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + + AndroidUtilities.runOnUIThread(() -> videoDelegate.onVideoSurfaceCreated(videoSurfaceTexture)); + } + + if (!filterShaders.create()) { + finish(); + return false; + } + + if (w != 0 && h != 0) { + filterShaders.setRenderData(currentBitmap, orientation, videoTexture[0], w, h); + renderDataSet = true; + renderBufferWidth = filterShaders.getRenderBufferWidth(); + renderBufferHeight = filterShaders.getRenderBufferHeight(); + } + + return true; + } + + public void setVideoSize(int width, int height) { + postRunnable(() -> { + if (videoWidth == width && videoHeight == height) { + return; + } + videoWidth = width; + videoHeight = height; + if (videoWidth > 1280 || videoHeight > 1280) { + videoWidth /= 2; + videoHeight /= 2; + } + renderDataSet = false; + }); + } + + public void finish() { + currentBitmap = null; + if (eglSurface != null) { + egl10.eglMakeCurrent(eglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); + egl10.eglDestroySurface(eglDisplay, eglSurface); + eglSurface = null; + } + if (eglContext != null) { + egl10.eglDestroyContext(eglDisplay, eglContext); + eglContext = null; + } + if (eglDisplay != null) { + egl10.eglTerminate(eglDisplay); + eglDisplay = null; + } + if (surfaceTexture != null) { + surfaceTexture.release(); + } + } + + private Runnable drawRunnable = new Runnable() { + @Override + public void run() { + if (!initied) { + return; + } + + if (!eglContext.equals(egl10.eglGetCurrentContext()) || !eglSurface.equals(egl10.eglGetCurrentSurface(EGL10.EGL_DRAW))) { + if (!egl10.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext)) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e("eglMakeCurrent failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); + } + return; + } + } + + if (updateSurface) { + videoSurfaceTexture.updateTexImage(); + videoSurfaceTexture.getTransformMatrix(videoTextureMatrix); + if (videoWidth == 0 || videoHeight == 0) { + videoWidth = surfaceWidth; + videoHeight = surfaceHeight; + if (videoWidth > 1280 || videoHeight > 1280) { + videoWidth /= 2; + videoHeight /= 2; + } + } + if (!renderDataSet && videoWidth != 0 && videoHeight != 0) { + filterShaders.setRenderData(currentBitmap, orientation, videoTexture[0], videoWidth, videoHeight); + renderDataSet = true; + renderBufferWidth = filterShaders.getRenderBufferWidth(); + renderBufferHeight = filterShaders.getRenderBufferHeight(); + } + updateSurface = false; + filterShaders.onVideoFrameUpdate(videoTextureMatrix); + videoFrameAvailable = true; + } + + if (!renderDataSet) { + return; + } + + if (videoDelegate == null || videoFrameAvailable) { + GLES20.glViewport(0, 0, renderBufferWidth, renderBufferHeight); + filterShaders.drawEnhancePass(); + if (videoDelegate == null) { + filterShaders.drawSharpenPass(); + } + filterShaders.drawCustomParamsPass(); + blurred = filterShaders.drawBlurPass(); + } + + GLES20.glViewport(0, 0, surfaceWidth, surfaceHeight); + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + + GLES20.glUseProgram(simpleShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, filterShaders.getRenderTexture(blurred ? 0 : 1)); + + GLES20.glUniform1i(simpleSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(simpleInputTexCoordHandle); + GLES20.glVertexAttribPointer(simpleInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, filterShaders.getTextureBuffer()); + GLES20.glEnableVertexAttribArray(simplePositionHandle); + GLES20.glVertexAttribPointer(simplePositionHandle, 2, GLES20.GL_FLOAT, false, 8, filterShaders.getVertexBuffer()); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + egl10.eglSwapBuffers(eglDisplay, eglSurface); + } + }; + + private Bitmap getRenderBufferBitmap() { + ByteBuffer buffer = ByteBuffer.allocateDirect(renderBufferWidth * renderBufferHeight * 4); + GLES20.glReadPixels(0, 0, renderBufferWidth, renderBufferHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); + Bitmap bitmap = Bitmap.createBitmap(renderBufferWidth, renderBufferHeight, Bitmap.Config.ARGB_8888); + bitmap.copyPixelsFromBuffer(buffer); + return bitmap; + } + + public Bitmap getTexture() { + if (!initied) { + return null; + } + final CountDownLatch countDownLatch = new CountDownLatch(1); + final Bitmap[] object = new Bitmap[1]; + try { + postRunnable(() -> { + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, filterShaders.getRenderFrameBuffer()); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, filterShaders.getRenderTexture(blurred ? 0 : 1), 0); + GLES20.glClear(0); + object[0] = getRenderBufferBitmap(); + countDownLatch.countDown(); + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + GLES20.glClear(0); + }); + countDownLatch.await(); + } catch (Exception e) { + FileLog.e(e); + } + return object[0]; + } + + public void shutdown() { + postRunnable(() -> { + finish(); + Looper looper = Looper.myLooper(); + if (looper != null) { + looper.quit(); + } + }); + } + + public void setSurfaceTextureSize(int width, int height) { + surfaceWidth = width; + surfaceHeight = height; + } + + @Override + public void run() { + initied = initGL(); + super.run(); + } + + public void requestRender(final boolean updateBlur) { + requestRender(updateBlur, false, false); + } + + public void requestRender(final boolean updateBlur, final boolean force, boolean surface) { + postRunnable(() -> { + if (updateBlur) { + filterShaders.requestUpdateBlurTexture(); + } + if (surface) { + updateSurface = true; + } + long newTime = System.currentTimeMillis(); + if (force || Math.abs(lastRenderCallTime - newTime) > 30) { + lastRenderCallTime = newTime; + drawRunnable.run(); + } + }); + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterShaders.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterShaders.java new file mode 100644 index 000000000..6adc464e1 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/FilterShaders.java @@ -0,0 +1,1403 @@ +package org.telegram.ui.Components; + +import android.graphics.Bitmap; +import android.graphics.Matrix; +import android.opengl.GLES11Ext; +import android.opengl.GLES20; +import android.opengl.GLUtils; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.BuildVars; +import org.telegram.messenger.FileLog; +import org.telegram.messenger.MediaController; +import org.telegram.messenger.Utilities; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; + +import javax.microedition.khronos.opengles.GL10; + +public class FilterShaders { + + private static final String radialBlurFragmentShaderCode = + "varying highp vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "uniform sampler2D inputImageTexture2;" + + "uniform lowp float excludeSize;" + + "uniform lowp vec2 excludePoint;" + + "uniform lowp float excludeBlurSize;" + + "uniform highp float aspectRatio;" + + "void main() {" + + "lowp vec4 sharpImageColor = texture2D(sourceImage, texCoord);" + + "lowp vec4 blurredImageColor = texture2D(inputImageTexture2, texCoord);" + + "highp vec2 texCoordToUse = vec2(texCoord.x, (texCoord.y * aspectRatio + 0.5 - 0.5 * aspectRatio));" + + "highp float distanceFromCenter = distance(excludePoint, texCoordToUse);" + + "gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeSize - excludeBlurSize, excludeSize, distanceFromCenter));" + + "}"; + + private static final String linearBlurFragmentShaderCode = + "varying highp vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "uniform sampler2D inputImageTexture2;" + + "uniform lowp float excludeSize;" + + "uniform lowp vec2 excludePoint;" + + "uniform lowp float excludeBlurSize;" + + "uniform highp float angle;" + + "uniform highp float aspectRatio;" + + "void main() {" + + "lowp vec4 sharpImageColor = texture2D(sourceImage, texCoord);" + + "lowp vec4 blurredImageColor = texture2D(inputImageTexture2, texCoord);" + + "highp vec2 texCoordToUse = vec2(texCoord.x, (texCoord.y * aspectRatio + 0.5 - 0.5 * aspectRatio));" + + "highp float distanceFromCenter = abs((texCoordToUse.x - excludePoint.x) * aspectRatio * cos(angle) + (texCoordToUse.y - excludePoint.y) * sin(angle));" + + "gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeSize - excludeBlurSize, excludeSize, distanceFromCenter));" + + "}"; + + private static final String blurVertexShaderCode = + "attribute vec4 position;" + + "attribute vec4 inputTexCoord;" + + "uniform highp float texelWidthOffset;" + + "uniform highp float texelHeightOffset;" + + "varying vec2 blurCoordinates[9];" + + "void main() {" + + "gl_Position = position;" + + "vec2 singleStepOffset = vec2(texelWidthOffset, texelHeightOffset);" + + "blurCoordinates[0] = inputTexCoord.xy;" + + "blurCoordinates[1] = inputTexCoord.xy + singleStepOffset * 1.458430;" + + "blurCoordinates[2] = inputTexCoord.xy - singleStepOffset * 1.458430;" + + "blurCoordinates[3] = inputTexCoord.xy + singleStepOffset * 3.403985;" + + "blurCoordinates[4] = inputTexCoord.xy - singleStepOffset * 3.403985;" + + "blurCoordinates[5] = inputTexCoord.xy + singleStepOffset * 5.351806;" + + "blurCoordinates[6] = inputTexCoord.xy - singleStepOffset * 5.351806;" + + "blurCoordinates[7] = inputTexCoord.xy + singleStepOffset * 7.302940;" + + "blurCoordinates[8] = inputTexCoord.xy - singleStepOffset * 7.302940;" + + "}"; + + private static final String blurFragmentShaderCode = + "uniform sampler2D sourceImage;" + + "varying highp vec2 blurCoordinates[9];" + + "void main() {" + + "lowp vec4 sum = vec4(0.0);" + + "sum += texture2D(sourceImage, blurCoordinates[0]) * 0.133571;" + + "sum += texture2D(sourceImage, blurCoordinates[1]) * 0.233308;" + + "sum += texture2D(sourceImage, blurCoordinates[2]) * 0.233308;" + + "sum += texture2D(sourceImage, blurCoordinates[3]) * 0.135928;" + + "sum += texture2D(sourceImage, blurCoordinates[4]) * 0.135928;" + + "sum += texture2D(sourceImage, blurCoordinates[5]) * 0.051383;" + + "sum += texture2D(sourceImage, blurCoordinates[6]) * 0.051383;" + + "sum += texture2D(sourceImage, blurCoordinates[7]) * 0.012595;" + + "sum += texture2D(sourceImage, blurCoordinates[8]) * 0.012595;" + + "gl_FragColor = sum;" + + "}"; + + private static final String simpleVertexVideoShaderCode = + "attribute vec4 position;" + + "uniform mat4 videoMatrix;" + + "attribute vec4 inputTexCoord;" + + "varying vec2 texCoord;" + + "void main() {" + + "gl_Position = position;" + + "texCoord = vec2(videoMatrix * inputTexCoord).xy;" + + "}"; + + private static final String rgbToHsvFragmentVideoShaderCode = + "#extension GL_OES_EGL_image_external : require\n" + + "precision highp float;" + + "varying vec2 texCoord;" + + "uniform samplerExternalOES sourceImage;" + + "vec3 rgb_to_hsv(vec3 c) {" + + "vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);" + + "vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);" + + "vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);" + + "float d = q.x - min(q.w, q.y);" + + "float e = 1.0e-10;" + + "return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);" + + "}" + + "void main() {" + + "vec4 texel = texture2D(sourceImage, texCoord);" + + "gl_FragColor = vec4(rgb_to_hsv(texel.rgb), texel.a);" + + "}"; + + private static final String rgbToHsvFragmentShaderCode = + "precision highp float;" + + "varying vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "vec3 rgb_to_hsv(vec3 c) {" + + "vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);" + + "vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);" + + "vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);" + + "float d = q.x - min(q.w, q.y);" + + "float e = 1.0e-10;" + + "return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);" + + "}" + + "void main() {" + + "vec4 texel = texture2D(sourceImage, texCoord);" + + "gl_FragColor = vec4(rgb_to_hsv(texel.rgb), texel.a);" + + "}"; + + private static final String enhanceFragmentShaderCode = + "precision highp float;" + + "varying vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "uniform sampler2D inputImageTexture2;" + + "uniform float intensity;" + + "float enhance(float value) {" + + "const vec2 offset = vec2(0.001953125, 0.03125);" + + "value = value + offset.x;" + + "vec2 coord = (clamp(texCoord, 0.125, 1.0 - 0.125001) - 0.125) * 4.0;" + + "vec2 frac = fract(coord);" + + "coord = floor(coord);" + + "float p00 = float(coord.y * 4.0 + coord.x) * 0.0625 + offset.y;" + + "float p01 = float(coord.y * 4.0 + coord.x + 1.0) * 0.0625 + offset.y;" + + "float p10 = float((coord.y + 1.0) * 4.0 + coord.x) * 0.0625 + offset.y;" + + "float p11 = float((coord.y + 1.0) * 4.0 + coord.x + 1.0) * 0.0625 + offset.y;" + + "vec3 c00 = texture2D(inputImageTexture2, vec2(value, p00)).rgb;" + + "vec3 c01 = texture2D(inputImageTexture2, vec2(value, p01)).rgb;" + + "vec3 c10 = texture2D(inputImageTexture2, vec2(value, p10)).rgb;" + + "vec3 c11 = texture2D(inputImageTexture2, vec2(value, p11)).rgb;" + + "float c1 = ((c00.r - c00.g) / (c00.b - c00.g));" + + "float c2 = ((c01.r - c01.g) / (c01.b - c01.g));" + + "float c3 = ((c10.r - c10.g) / (c10.b - c10.g));" + + "float c4 = ((c11.r - c11.g) / (c11.b - c11.g));" + + "float c1_2 = mix(c1, c2, frac.x);" + + "float c3_4 = mix(c3, c4, frac.x);" + + "return mix(c1_2, c3_4, frac.y);" + + "}" + + "vec3 hsv_to_rgb(vec3 c) {" + + "vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);" + + "vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);" + + "return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);" + + "}" + + "void main() {" + + "vec4 texel = texture2D(sourceImage, texCoord);" + + "vec4 hsv = texel;" + + "hsv.y = min(1.0, hsv.y * 1.2);" + + "hsv.z = min(1.0, enhance(hsv.z) * 1.1);" + + "gl_FragColor = vec4(hsv_to_rgb(mix(texel.xyz, hsv.xyz, intensity)), texel.w);" + + "}"; + + public static final String simpleVertexShaderCode = + "attribute vec4 position;" + + "attribute vec2 inputTexCoord;" + + "varying vec2 texCoord;" + + "void main() {" + + "gl_Position = position;" + + "texCoord = inputTexCoord;" + + "}"; + + public static final String simpleFragmentShaderCode = + "varying highp vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "void main() {" + + "gl_FragColor = texture2D(sourceImage, texCoord);" + + "}"; + + private static final String sharpenVertexShaderCode = + "attribute vec4 position;" + + "attribute vec2 inputTexCoord;" + + "varying vec2 texCoord;" + + + "uniform highp float inputWidth;" + + "uniform highp float inputHeight;" + + "varying vec2 leftTexCoord;" + + "varying vec2 rightTexCoord;" + + "varying vec2 topTexCoord;" + + "varying vec2 bottomTexCoord;" + + + "void main() {" + + "gl_Position = position;" + + "texCoord = inputTexCoord;" + + "highp vec2 widthStep = vec2(1.0 / inputWidth, 0.0);" + + "highp vec2 heightStep = vec2(0.0, 1.0 / inputHeight);" + + "leftTexCoord = inputTexCoord - widthStep;" + + "rightTexCoord = inputTexCoord + widthStep;" + + "topTexCoord = inputTexCoord + heightStep;" + + "bottomTexCoord = inputTexCoord - heightStep;" + + "}"; + + private static final String sharpenFragmentShaderCode = + "precision highp float;" + + "varying vec2 texCoord;" + + "varying vec2 leftTexCoord;" + + "varying vec2 rightTexCoord;" + + "varying vec2 topTexCoord;" + + "varying vec2 bottomTexCoord;" + + "uniform sampler2D sourceImage;" + + "uniform float sharpen;" + + + "void main() {" + + "vec4 result = texture2D(sourceImage, texCoord);" + + + "vec3 leftTextureColor = texture2D(sourceImage, leftTexCoord).rgb;" + + "vec3 rightTextureColor = texture2D(sourceImage, rightTexCoord).rgb;" + + "vec3 topTextureColor = texture2D(sourceImage, topTexCoord).rgb;" + + "vec3 bottomTextureColor = texture2D(sourceImage, bottomTexCoord).rgb;" + + "result.rgb = result.rgb * (1.0 + 4.0 * sharpen) - (leftTextureColor + rightTextureColor + topTextureColor + bottomTextureColor) * sharpen;" + + + "gl_FragColor = result;" + + "}"; + + private static final String toolsFragmentShaderCode = + "varying highp vec2 texCoord;" + + "uniform sampler2D sourceImage;" + + "uniform highp float width;" + + "uniform highp float height;" + + "uniform sampler2D curvesImage;" + + "uniform lowp float skipTone;" + + "uniform lowp float shadows;" + + "const mediump vec3 hsLuminanceWeighting = vec3(0.3, 0.3, 0.3);" + + "uniform lowp float highlights;" + + "uniform lowp float contrast;" + + "uniform lowp float fadeAmount;" + + "const mediump vec3 satLuminanceWeighting = vec3(0.2126, 0.7152, 0.0722);" + + "uniform lowp float saturation;" + + "uniform lowp float shadowsTintIntensity;" + + "uniform lowp float highlightsTintIntensity;" + + "uniform lowp vec3 shadowsTintColor;" + + "uniform lowp vec3 highlightsTintColor;" + + "uniform lowp float exposure;" + + "uniform lowp float warmth;" + + "uniform lowp float grain;" + + "const lowp float permTexUnit = 1.0 / 256.0;" + + "const lowp float permTexUnitHalf = 0.5 / 256.0;" + + "const lowp float grainsize = 2.3;" + + "uniform lowp float vignette;" + + "highp float getLuma(highp vec3 rgbP) {" + + "return (0.299 * rgbP.r) + (0.587 * rgbP.g) + (0.114 * rgbP.b);" + + "}" + + "lowp vec3 rgbToHsv(lowp vec3 c) {" + + "highp vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);" + + "highp vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);" + + "highp vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);" + + "highp float d = q.x - min(q.w, q.y);" + + "highp float e = 1.0e-10;" + + "return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);" + + "}" + + "lowp vec3 hsvToRgb(lowp vec3 c) {" + + "highp vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);" + + "highp vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);" + + "return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);" + + "}" + + "highp vec3 rgbToHsl(highp vec3 color) {" + + "highp vec3 hsl;" + + "highp float fmin = min(min(color.r, color.g), color.b);" + + "highp float fmax = max(max(color.r, color.g), color.b);" + + "highp float delta = fmax - fmin;" + + "hsl.z = (fmax + fmin) / 2.0;" + + "if (delta == 0.0) {" + + "hsl.x = 0.0;" + + "hsl.y = 0.0;" + + "} else {" + + "if (hsl.z < 0.5) {" + + "hsl.y = delta / (fmax + fmin);" + + "} else {" + + "hsl.y = delta / (2.0 - fmax - fmin);" + + "}" + + "highp float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;" + + "highp float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;" + + "highp float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;" + + "if (color.r == fmax) {" + + "hsl.x = deltaB - deltaG;" + + "} else if (color.g == fmax) {" + + "hsl.x = (1.0 / 3.0) + deltaR - deltaB;" + + "} else if (color.b == fmax) {" + + "hsl.x = (2.0 / 3.0) + deltaG - deltaR;" + + "}" + + "if (hsl.x < 0.0) {" + + "hsl.x += 1.0;" + + "} else if (hsl.x > 1.0) {" + + "hsl.x -= 1.0;" + + "}" + + "}" + + "return hsl;" + + "}" + + "highp float hueToRgb(highp float f1, highp float f2, highp float hue) {" + + "if (hue < 0.0) {" + + "hue += 1.0;" + + "} else if (hue > 1.0) {" + + "hue -= 1.0;" + + "}" + + "highp float res;" + + "if ((6.0 * hue) < 1.0) {" + + "res = f1 + (f2 - f1) * 6.0 * hue;" + + "} else if ((2.0 * hue) < 1.0) {" + + "res = f2;" + + "} else if ((3.0 * hue) < 2.0) {" + + "res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0;" + + "} else {" + + "res = f1;" + + "} return res;" + + "}" + + "highp vec3 hslToRgb(highp vec3 hsl) {" + + "if (hsl.y == 0.0) {" + + "return vec3(hsl.z);" + + "} else {" + + "highp float f2;" + + "if (hsl.z < 0.5) {" + + "f2 = hsl.z * (1.0 + hsl.y);" + + "} else {" + + "f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z);" + + "}" + + "highp float f1 = 2.0 * hsl.z - f2;" + + "return vec3(hueToRgb(f1, f2, hsl.x + (1.0/3.0)), hueToRgb(f1, f2, hsl.x), hueToRgb(f1, f2, hsl.x - (1.0/3.0)));" + + "}" + + "}" + + "highp vec3 rgbToYuv(highp vec3 inP) {" + + "highp float luma = getLuma(inP);" + + "return vec3(luma, (1.0 / 1.772) * (inP.b - luma), (1.0 / 1.402) * (inP.r - luma));" + + "}" + + "lowp vec3 yuvToRgb(highp vec3 inP) {" + + "return vec3(1.402 * inP.b + inP.r, (inP.r - (0.299 * 1.402 / 0.587) * inP.b - (0.114 * 1.772 / 0.587) * inP.g), 1.772 * inP.g + inP.r);" + + "}" + + "lowp float easeInOutSigmoid(lowp float value, lowp float strength) {" + + "if (value > 0.5) {" + + "return 1.0 - pow(2.0 - 2.0 * value, 1.0 / (1.0 - strength)) * 0.5;" + + "} else {" + + "return pow(2.0 * value, 1.0 / (1.0 - strength)) * 0.5;" + + "}" + + "}" + + "lowp vec3 applyLuminanceCurve(lowp vec3 pixel) {" + + "highp float index = floor(clamp(pixel.z / (1.0 / 200.0), 0.0, 199.0));" + + "pixel.y = mix(0.0, pixel.y, smoothstep(0.0, 0.1, pixel.z) * (1.0 - smoothstep(0.8, 1.0, pixel.z)));" + + "pixel.z = texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).a;" + + "return pixel;" + + "}" + + "lowp vec3 applyRGBCurve(lowp vec3 pixel) {" + + "highp float index = floor(clamp(pixel.r / (1.0 / 200.0), 0.0, 199.0));" + + "pixel.r = texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).r;" + + "index = floor(clamp(pixel.g / (1.0 / 200.0), 0.0, 199.0));" + + "pixel.g = clamp(texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).g, 0.0, 1.0);" + + "index = floor(clamp(pixel.b / (1.0 / 200.0), 0.0, 199.0));" + + "pixel.b = clamp(texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).b, 0.0, 1.0);" + + "return pixel;" + + "}" + + "highp vec3 fadeAdjust(highp vec3 color, highp float fadeVal) {" + + "return (color * (1.0 - fadeVal)) + ((color + (vec3(-0.9772) * pow(vec3(color), vec3(3.0)) + vec3(1.708) * pow(vec3(color), vec3(2.0)) + vec3(-0.1603) * vec3(color) + vec3(0.2878) - color * vec3(0.9))) * fadeVal);" + + "}" + + "lowp vec3 tintRaiseShadowsCurve(lowp vec3 color) {" + + "return vec3(-0.003671) * pow(color, vec3(3.0)) + vec3(0.3842) * pow(color, vec3(2.0)) + vec3(0.3764) * color + vec3(0.2515);" + + "}" + + "lowp vec3 tintShadows(lowp vec3 texel, lowp vec3 tintColor, lowp float tintAmount) {" + + "return clamp(mix(texel, mix(texel, tintRaiseShadowsCurve(texel), tintColor), tintAmount), 0.0, 1.0);" + + "} " + + "lowp vec3 tintHighlights(lowp vec3 texel, lowp vec3 tintColor, lowp float tintAmount) {" + + "return clamp(mix(texel, mix(texel, vec3(1.0) - tintRaiseShadowsCurve(vec3(1.0) - texel), (vec3(1.0) - tintColor)), tintAmount), 0.0, 1.0);" + + "}" + + "highp vec4 rnm(in highp vec2 tc) {" + + "highp float noise = sin(dot(tc, vec2(12.9898, 78.233))) * 43758.5453;" + + "return vec4(fract(noise), fract(noise * 1.2154), fract(noise * 1.3453), fract(noise * 1.3647)) * 2.0 - 1.0;" + + "}" + + "highp float fade(in highp float t) {" + + "return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);" + + "}" + + "highp float pnoise3D(in highp vec3 p) {" + + "highp vec3 pi = permTexUnit * floor(p) + permTexUnitHalf;" + + "highp vec3 pf = fract(p);" + + "highp float perm = rnm(pi.xy).a;" + + "highp float n000 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf);" + + "highp float n001 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(0.0, 0.0, 1.0));" + + "perm = rnm(pi.xy + vec2(0.0, permTexUnit)).a;" + + "highp float n010 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(0.0, 1.0, 0.0));" + + "highp float n011 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(0.0, 1.0, 1.0));" + + "perm = rnm(pi.xy + vec2(permTexUnit, 0.0)).a;" + + "highp float n100 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(1.0, 0.0, 0.0));" + + "highp float n101 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(1.0, 0.0, 1.0));" + + "perm = rnm(pi.xy + vec2(permTexUnit, permTexUnit)).a;" + + "highp float n110 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(1.0, 1.0, 0.0));" + + "highp float n111 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(1.0, 1.0, 1.0));" + + "highp vec4 n_x = mix(vec4(n000, n001, n010, n011), vec4(n100, n101, n110, n111), fade(pf.x));" + + "highp vec2 n_xy = mix(n_x.xy, n_x.zw, fade(pf.y));" + + "return mix(n_xy.x, n_xy.y, fade(pf.z));" + + "}" + + "lowp vec2 coordRot(in lowp vec2 tc, in lowp float angle) {" + + "return vec2(((tc.x * 2.0 - 1.0) * cos(angle) - (tc.y * 2.0 - 1.0) * sin(angle)) * 0.5 + 0.5, ((tc.y * 2.0 - 1.0) * cos(angle) + (tc.x * 2.0 - 1.0) * sin(angle)) * 0.5 + 0.5);" + + "}" + + "void main() {" + + "lowp vec4 source = texture2D(sourceImage, texCoord);" + + "lowp vec4 result = source;" + + "const lowp float toolEpsilon = 0.005;" + + "if (skipTone < toolEpsilon) {" + + "result = vec4(applyRGBCurve(hslToRgb(applyLuminanceCurve(rgbToHsl(result.rgb)))), result.a);" + + "}" + + "mediump float hsLuminance = dot(result.rgb, hsLuminanceWeighting);" + + "mediump float shadow = clamp((pow(hsLuminance, 1.0 / shadows) + (-0.76) * pow(hsLuminance, 2.0 / shadows)) - hsLuminance, 0.0, 1.0);" + + "mediump float highlight = clamp((1.0 - (pow(1.0 - hsLuminance, 1.0 / (2.0 - highlights)) + (-0.8) * pow(1.0 - hsLuminance, 2.0 / (2.0 - highlights)))) - hsLuminance, -1.0, 0.0);" + + "lowp vec3 hsresult = vec3(0.0, 0.0, 0.0) + ((hsLuminance + shadow + highlight) - 0.0) * ((result.rgb - vec3(0.0, 0.0, 0.0)) / (hsLuminance - 0.0));" + + "mediump float contrastedLuminance = ((hsLuminance - 0.5) * 1.5) + 0.5;" + + "mediump float whiteInterp = contrastedLuminance * contrastedLuminance * contrastedLuminance;" + + "mediump float whiteTarget = clamp(highlights, 1.0, 2.0) - 1.0;" + + "hsresult = mix(hsresult, vec3(1.0), whiteInterp * whiteTarget);" + + "mediump float invContrastedLuminance = 1.0 - contrastedLuminance;" + + "mediump float blackInterp = invContrastedLuminance * invContrastedLuminance * invContrastedLuminance;" + + "mediump float blackTarget = 1.0 - clamp(shadows, 0.0, 1.0);" + + "hsresult = mix(hsresult, vec3(0.0), blackInterp * blackTarget);" + + "result = vec4(hsresult.rgb, result.a);" + + "result = vec4(clamp(((result.rgb - vec3(0.5)) * contrast + vec3(0.5)), 0.0, 1.0), result.a);" + + "if (abs(fadeAmount) > toolEpsilon) {" + + "result.rgb = fadeAdjust(result.rgb, fadeAmount);" + + "}" + + "lowp float satLuminance = dot(result.rgb, satLuminanceWeighting);" + + "lowp vec3 greyScaleColor = vec3(satLuminance);" + + "result = vec4(clamp(mix(greyScaleColor, result.rgb, saturation), 0.0, 1.0), result.a);" + + "if (abs(shadowsTintIntensity) > toolEpsilon) {" + + "result.rgb = tintShadows(result.rgb, shadowsTintColor, shadowsTintIntensity * 2.0);" + + "}" + + "if (abs(highlightsTintIntensity) > toolEpsilon) {" + + "result.rgb = tintHighlights(result.rgb, highlightsTintColor, highlightsTintIntensity * 2.0);" + + "}" + + "if (abs(exposure) > toolEpsilon) {" + + "mediump float mag = exposure * 1.045;" + + "mediump float exppower = 1.0 + abs(mag);" + + "if (mag < 0.0) {" + + "exppower = 1.0 / exppower;" + + "}" + + "result.r = 1.0 - pow((1.0 - result.r), exppower);" + + "result.g = 1.0 - pow((1.0 - result.g), exppower);" + + "result.b = 1.0 - pow((1.0 - result.b), exppower);" + + "}" + + "if (abs(warmth) > toolEpsilon) {" + + "highp vec3 yuvVec;" + + "if (warmth > 0.0 ) {" + + "yuvVec = vec3(0.1765, -0.1255, 0.0902);" + + "} else {" + + "yuvVec = -vec3(0.0588, 0.1569, -0.1255);" + + "}" + + "highp vec3 yuvColor = rgbToYuv(result.rgb);" + + "highp float luma = yuvColor.r;" + + "highp float curveScale = sin(luma * 3.14159);" + + "yuvColor += 0.375 * warmth * curveScale * yuvVec;" + + "result.rgb = yuvToRgb(yuvColor);" + + "}" + + "if (abs(grain) > toolEpsilon) {" + + "highp vec3 rotOffset = vec3(1.425, 3.892, 5.835);" + + "highp vec2 rotCoordsR = coordRot(texCoord, rotOffset.x);" + + "highp vec3 noise = vec3(pnoise3D(vec3(rotCoordsR * vec2(width / grainsize, height / grainsize),0.0)));" + + "lowp vec3 lumcoeff = vec3(0.299,0.587,0.114);" + + "lowp float luminance = dot(result.rgb, lumcoeff);" + + "lowp float lum = smoothstep(0.2, 0.0, luminance);" + + "lum += luminance;" + + "noise = mix(noise,vec3(0.0),pow(lum,4.0));" + + "result.rgb = result.rgb + noise * grain;" + + "}" + + "if (abs(vignette) > toolEpsilon) {" + + "const lowp float midpoint = 0.7;" + + "const lowp float fuzziness = 0.62;" + + "lowp float radDist = length(texCoord - 0.5) / sqrt(0.5);" + + "lowp float mag = easeInOutSigmoid(radDist * midpoint, fuzziness) * vignette * 0.645;" + + "result.rgb = mix(pow(result.rgb, vec3(1.0 / (1.0 - mag))), vec3(0.0), mag * mag);" + + "}" + + "gl_FragColor = result;" + + "}"; + + public interface FilterShadersDelegate { + boolean shouldShowOriginal(); + float getShadowsValue(); + float getHighlightsValue(); + float getEnhanceValue(); + float getExposureValue(); + float getContrastValue(); + float getWarmthValue(); + float getVignetteValue(); + float getSharpenValue(); + float getGrainValue(); + float getFadeValue(); + float getTintHighlightsIntensityValue(); + float getTintShadowsIntensityValue(); + float getSaturationValue(); + int getTintHighlightsColor(); + int getTintShadowsColor(); + int getBlurType(); + float getBlurExcludeSize(); + float getBlurExcludeBlurSize(); + float getBlurAngle(); + Point getBlurExcludePoint(); + boolean shouldDrawCurvesPass(); + ByteBuffer fillAndGetCurveBuffer(); + } + + private boolean needUpdateBlurTexture = true; + + private int rgbToHsvShaderProgram; + private int rgbToHsvPositionHandle; + private int rgbToHsvInputTexCoordHandle; + private int rgbToHsvSourceImageHandle; + private int rgbToHsvMatrixHandle; + + private int enhanceShaderProgram; + private int enhancePositionHandle; + private int enhanceInputTexCoordHandle; + private int enhanceSourceImageHandle; + private int enhanceIntensityHandle; + private int enhanceInputImageTexture2Handle; + + private int toolsShaderProgram; + private int positionHandle; + private int inputTexCoordHandle; + private int sourceImageHandle; + private int shadowsHandle; + private int highlightsHandle; + private int exposureHandle; + private int contrastHandle; + private int saturationHandle; + private int warmthHandle; + private int vignetteHandle; + private int grainHandle; + private int widthHandle; + private int heightHandle; + + private int curvesImageHandle; + private int skipToneHandle; + private int fadeAmountHandle; + private int shadowsTintIntensityHandle; + private int highlightsTintIntensityHandle; + private int shadowsTintColorHandle; + private int highlightsTintColorHandle; + + private int blurShaderProgram; + private int blurPositionHandle; + private int blurInputTexCoordHandle; + private int blurSourceImageHandle; + private int blurWidthHandle; + private int blurHeightHandle; + + private int linearBlurShaderProgram; + private int linearBlurPositionHandle; + private int linearBlurInputTexCoordHandle; + private int linearBlurSourceImageHandle; + private int linearBlurSourceImage2Handle; + private int linearBlurExcludeSizeHandle; + private int linearBlurExcludePointHandle; + private int linearBlurExcludeBlurSizeHandle; + private int linearBlurAngleHandle; + private int linearBlurAspectRatioHandle; + + private int radialBlurShaderProgram; + private int radialBlurPositionHandle; + private int radialBlurInputTexCoordHandle; + private int radialBlurSourceImageHandle; + private int radialBlurSourceImage2Handle; + private int radialBlurExcludeSizeHandle; + private int radialBlurExcludePointHandle; + private int radialBlurExcludeBlurSizeHandle; + private int radialBlurAspectRatioHandle; + + private int sharpenShaderProgram; + private int sharpenHandle; + private int sharpenWidthHandle; + private int sharpenHeightHandle; + private int sharpenPositionHandle; + private int sharpenInputTexCoordHandle; + private int sharpenSourceImageHandle; + + private int videoTexture; + private float[] videoMatrix; + private int videoFramesCount; + + private int[] enhanceTextures = new int[2]; + private int[] enhanceFrameBuffer = new int[1]; + private int[] renderTexture = new int[3]; + private int[] renderFrameBuffer; + private int[] curveTextures = new int[1]; + private boolean hsvGenerated; + private int renderBufferWidth; + private int renderBufferHeight; + + private FloatBuffer vertexBuffer; + private FloatBuffer textureBuffer; + private FloatBuffer vertexInvertBuffer; + + private ByteBuffer hsvBuffer; + private ByteBuffer cdtBuffer; + private ByteBuffer calcBuffer; + + private final static int PGPhotoEnhanceHistogramBins = 256; + private final static int PGPhotoEnhanceSegments = 4; + + private FilterShadersDelegate delegate; + + private boolean isVideo; + + public FilterShaders(boolean video) { + isVideo = video; + + float[] squareCoordinates = { + -1.0f, 1.0f, + 1.0f, 1.0f, + -1.0f, -1.0f, + 1.0f, -1.0f}; + + ByteBuffer bb = ByteBuffer.allocateDirect(squareCoordinates.length * 4); + bb.order(ByteOrder.nativeOrder()); + vertexBuffer = bb.asFloatBuffer(); + vertexBuffer.put(squareCoordinates); + vertexBuffer.position(0); + + float[] squareCoordinates2 = { + -1.0f, -1.0f, + 1.0f, -1.0f, + -1.0f, 1.0f, + 1.0f, 1.0f}; + + bb = ByteBuffer.allocateDirect(squareCoordinates2.length * 4); + bb.order(ByteOrder.nativeOrder()); + vertexInvertBuffer = bb.asFloatBuffer(); + vertexInvertBuffer.put(squareCoordinates2); + vertexInvertBuffer.position(0); + + float[] textureCoordinates = { + 0.0f, 0.0f, + 1.0f, 0.0f, + 0.0f, 1.0f, + 1.0f, 1.0f, + }; + + bb = ByteBuffer.allocateDirect(textureCoordinates.length * 4); + bb.order(ByteOrder.nativeOrder()); + textureBuffer = bb.asFloatBuffer(); + textureBuffer.put(textureCoordinates); + textureBuffer.position(0); + } + + public void setDelegate(FilterShadersDelegate filterShadersDelegate) { + delegate = filterShadersDelegate; + } + + public boolean create() { + GLES20.glGenTextures(1, curveTextures, 0); + GLES20.glGenTextures(2, enhanceTextures, 0); + GLES20.glGenFramebuffers(1, enhanceFrameBuffer, 0); + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, enhanceTextures[1]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, curveTextures[0]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + + int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); + int fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, toolsFragmentShaderCode); + + if (vertexShader != 0 && fragmentShader != 0) { + toolsShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(toolsShaderProgram, vertexShader); + GLES20.glAttachShader(toolsShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(toolsShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(toolsShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(toolsShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(toolsShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(toolsShaderProgram); + toolsShaderProgram = 0; + } else { + positionHandle = GLES20.glGetAttribLocation(toolsShaderProgram, "position"); + inputTexCoordHandle = GLES20.glGetAttribLocation(toolsShaderProgram, "inputTexCoord"); + sourceImageHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "sourceImage"); + shadowsHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadows"); + highlightsHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlights"); + exposureHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "exposure"); + contrastHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "contrast"); + saturationHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "saturation"); + warmthHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "warmth"); + vignetteHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "vignette"); + grainHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "grain"); + widthHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "width"); + heightHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "height"); + curvesImageHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "curvesImage"); + skipToneHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "skipTone"); + fadeAmountHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "fadeAmount"); + shadowsTintIntensityHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadowsTintIntensity"); + highlightsTintIntensityHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlightsTintIntensity"); + shadowsTintColorHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadowsTintColor"); + highlightsTintColorHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlightsTintColor"); + } + } else { + return false; + } + + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, sharpenVertexShaderCode); + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, sharpenFragmentShaderCode); + + if (vertexShader != 0 && fragmentShader != 0) { + sharpenShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(sharpenShaderProgram, vertexShader); + GLES20.glAttachShader(sharpenShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(sharpenShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(sharpenShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(sharpenShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(sharpenShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(sharpenShaderProgram); + sharpenShaderProgram = 0; + } else { + sharpenPositionHandle = GLES20.glGetAttribLocation(sharpenShaderProgram, "position"); + sharpenInputTexCoordHandle = GLES20.glGetAttribLocation(sharpenShaderProgram, "inputTexCoord"); + sharpenSourceImageHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "sourceImage"); + sharpenWidthHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "inputWidth"); + sharpenHeightHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "inputHeight"); + sharpenHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "sharpen"); + } + } else { + return false; + } + + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, blurVertexShaderCode); + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, blurFragmentShaderCode); + + if (vertexShader != 0 && fragmentShader != 0) { + blurShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(blurShaderProgram, vertexShader); + GLES20.glAttachShader(blurShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(blurShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(blurShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(blurShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(blurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(blurShaderProgram); + blurShaderProgram = 0; + } else { + blurPositionHandle = GLES20.glGetAttribLocation(blurShaderProgram, "position"); + blurInputTexCoordHandle = GLES20.glGetAttribLocation(blurShaderProgram, "inputTexCoord"); + blurSourceImageHandle = GLES20.glGetUniformLocation(blurShaderProgram, "sourceImage"); + blurWidthHandle = GLES20.glGetUniformLocation(blurShaderProgram, "texelWidthOffset"); + blurHeightHandle = GLES20.glGetUniformLocation(blurShaderProgram, "texelHeightOffset"); + } + } else { + return false; + } + + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, linearBlurFragmentShaderCode); + + if (vertexShader != 0 && fragmentShader != 0) { + linearBlurShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(linearBlurShaderProgram, vertexShader); + GLES20.glAttachShader(linearBlurShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(linearBlurShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(linearBlurShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(linearBlurShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(linearBlurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(linearBlurShaderProgram); + linearBlurShaderProgram = 0; + } else { + linearBlurPositionHandle = GLES20.glGetAttribLocation(linearBlurShaderProgram, "position"); + linearBlurInputTexCoordHandle = GLES20.glGetAttribLocation(linearBlurShaderProgram, "inputTexCoord"); + linearBlurSourceImageHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "sourceImage"); + linearBlurSourceImage2Handle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "inputImageTexture2"); + linearBlurExcludeSizeHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludeSize"); + linearBlurExcludePointHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludePoint"); + linearBlurExcludeBlurSizeHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludeBlurSize"); + linearBlurAngleHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "angle"); + linearBlurAspectRatioHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "aspectRatio"); + } + } else { + return false; + } + + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, radialBlurFragmentShaderCode); + + if (vertexShader != 0 && fragmentShader != 0) { + radialBlurShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(radialBlurShaderProgram, vertexShader); + GLES20.glAttachShader(radialBlurShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(radialBlurShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(radialBlurShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(radialBlurShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(radialBlurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(radialBlurShaderProgram); + radialBlurShaderProgram = 0; + } else { + radialBlurPositionHandle = GLES20.glGetAttribLocation(radialBlurShaderProgram, "position"); + radialBlurInputTexCoordHandle = GLES20.glGetAttribLocation(radialBlurShaderProgram, "inputTexCoord"); + radialBlurSourceImageHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "sourceImage"); + radialBlurSourceImage2Handle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "inputImageTexture2"); + radialBlurExcludeSizeHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludeSize"); + radialBlurExcludePointHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludePoint"); + radialBlurExcludeBlurSizeHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludeBlurSize"); + radialBlurAspectRatioHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "aspectRatio"); + } + } else { + return false; + } + + if (isVideo) { + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, rgbToHsvFragmentVideoShaderCode); + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexVideoShaderCode); + } else { + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, rgbToHsvFragmentShaderCode); + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); + } + if (vertexShader != 0 && fragmentShader != 0) { + rgbToHsvShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(rgbToHsvShaderProgram, vertexShader); + GLES20.glAttachShader(rgbToHsvShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(rgbToHsvShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(rgbToHsvShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(rgbToHsvShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(rgbToHsvShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(rgbToHsvShaderProgram); + rgbToHsvShaderProgram = 0; + } else { + rgbToHsvPositionHandle = GLES20.glGetAttribLocation(rgbToHsvShaderProgram, "position"); + rgbToHsvInputTexCoordHandle = GLES20.glGetAttribLocation(rgbToHsvShaderProgram, "inputTexCoord"); + rgbToHsvSourceImageHandle = GLES20.glGetUniformLocation(rgbToHsvShaderProgram, "sourceImage"); + if (isVideo) { + rgbToHsvMatrixHandle = GLES20.glGetUniformLocation(rgbToHsvShaderProgram, "videoMatrix"); + } + } + } else { + return false; + } + + vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); + fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, enhanceFragmentShaderCode); + if (vertexShader != 0 && fragmentShader != 0) { + enhanceShaderProgram = GLES20.glCreateProgram(); + GLES20.glAttachShader(enhanceShaderProgram, vertexShader); + GLES20.glAttachShader(enhanceShaderProgram, fragmentShader); + GLES20.glBindAttribLocation(enhanceShaderProgram, 0, "position"); + GLES20.glBindAttribLocation(enhanceShaderProgram, 1, "inputTexCoord"); + + GLES20.glLinkProgram(enhanceShaderProgram); + int[] linkStatus = new int[1]; + GLES20.glGetProgramiv(enhanceShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); + if (linkStatus[0] == 0) { + GLES20.glDeleteProgram(enhanceShaderProgram); + enhanceShaderProgram = 0; + } else { + enhancePositionHandle = GLES20.glGetAttribLocation(enhanceShaderProgram, "position"); + enhanceInputTexCoordHandle = GLES20.glGetAttribLocation(enhanceShaderProgram, "inputTexCoord"); + enhanceSourceImageHandle = GLES20.glGetUniformLocation(enhanceShaderProgram, "sourceImage"); + enhanceIntensityHandle = GLES20.glGetUniformLocation(enhanceShaderProgram, "intensity"); + enhanceInputImageTexture2Handle = GLES20.glGetUniformLocation(enhanceShaderProgram, "inputImageTexture2"); + } + } else { + return false; + } + + return true; + } + + public void setRenderData(Bitmap currentBitmap, int orientation, int videoTex, int w, int h) { + loadTexture(currentBitmap, orientation, w, h); + videoTexture = videoTex; + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, enhanceTextures[0]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, hsvBuffer); + } + + public static int loadShader(int type, String shaderCode) { + int shader = GLES20.glCreateShader(type); + GLES20.glShaderSource(shader, shaderCode); + GLES20.glCompileShader(shader); + int[] compileStatus = new int[1]; + GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compileStatus, 0); + if (compileStatus[0] == 0) { + if (BuildVars.LOGS_ENABLED) { + FileLog.e(GLES20.glGetShaderInfoLog(shader)); + } + GLES20.glDeleteShader(shader); + shader = 0; + } + return shader; + } + + public void drawEnhancePass() { + boolean updateFrame; + if (isVideo) { + updateFrame = true; + } else { + updateFrame = !hsvGenerated; + } + if (updateFrame) { + GLES20.glUseProgram(rgbToHsvShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + if (isVideo) { + GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, videoTexture); + GLES20.glUniformMatrix4fv(rgbToHsvMatrixHandle, 1, false, videoMatrix, 0); + } else { + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); + } + GLES20.glUniform1i(rgbToHsvSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(rgbToHsvInputTexCoordHandle); + GLES20.glVertexAttribPointer(rgbToHsvInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(rgbToHsvPositionHandle); + GLES20.glVertexAttribPointer(rgbToHsvPositionHandle, 2, GLES20.GL_FLOAT, false, 8, isVideo ? vertexInvertBuffer : vertexBuffer); + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, enhanceFrameBuffer[0]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, enhanceTextures[0], 0); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } + + if (!hsvGenerated) { + int newCapacity = renderBufferWidth * renderBufferHeight * 4; + if (hsvBuffer == null || newCapacity > hsvBuffer.capacity()) { + hsvBuffer = ByteBuffer.allocateDirect(newCapacity); + } + if (cdtBuffer == null) { + cdtBuffer = ByteBuffer.allocateDirect(PGPhotoEnhanceSegments * PGPhotoEnhanceSegments * PGPhotoEnhanceHistogramBins * 4); + } + if (calcBuffer == null) { + calcBuffer = ByteBuffer.allocateDirect(PGPhotoEnhanceSegments * PGPhotoEnhanceSegments * 2 * 4 * (1 + PGPhotoEnhanceHistogramBins)); + } + GLES20.glReadPixels(0, 0, renderBufferWidth, renderBufferHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, hsvBuffer); + Utilities.calcCDT(hsvBuffer, renderBufferWidth, renderBufferHeight, cdtBuffer, calcBuffer); + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, enhanceTextures[1]); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 256, 16, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, cdtBuffer); + + if (!isVideo) { + hsvBuffer = null; + cdtBuffer = null; + calcBuffer = null; + } + hsvGenerated = true; + } + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[1]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[1], 0); + + GLES20.glUseProgram(enhanceShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, enhanceTextures[0]); + GLES20.glUniform1i(enhanceSourceImageHandle, 0); + GLES20.glActiveTexture(GLES20.GL_TEXTURE1); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, enhanceTextures[1]); + GLES20.glUniform1i(enhanceInputImageTexture2Handle, 1); + if (delegate == null || delegate.shouldShowOriginal()) { + GLES20.glUniform1f(enhanceIntensityHandle, 0); + } else { + GLES20.glUniform1f(enhanceIntensityHandle, delegate.getEnhanceValue()); + } + + GLES20.glEnableVertexAttribArray(enhanceInputTexCoordHandle); + GLES20.glVertexAttribPointer(enhanceInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(enhancePositionHandle); + GLES20.glVertexAttribPointer(enhancePositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } + + public void drawSharpenPass() { + if (isVideo) { + return; + } + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); + + GLES20.glUseProgram(sharpenShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); + GLES20.glUniform1i(sharpenSourceImageHandle, 0); + if (delegate == null || delegate.shouldShowOriginal()) { + GLES20.glUniform1f(sharpenHandle, 0); + } else { + GLES20.glUniform1f(sharpenHandle, delegate.getSharpenValue()); + } + GLES20.glUniform1f(sharpenWidthHandle, renderBufferWidth); + GLES20.glUniform1f(sharpenHeightHandle, renderBufferHeight); + GLES20.glEnableVertexAttribArray(sharpenInputTexCoordHandle); + GLES20.glVertexAttribPointer(sharpenInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(sharpenPositionHandle); + GLES20.glVertexAttribPointer(sharpenPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } + + public void drawCustomParamsPass() { + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[isVideo ? 0 : 1]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[isVideo ? 0 : 1], 0); + + GLES20.glUseProgram(toolsShaderProgram); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[isVideo ? 1 : 0]); + GLES20.glUniform1i(sourceImageHandle, 0); + if (delegate == null || delegate.shouldShowOriginal()) { + GLES20.glUniform1f(shadowsHandle, 1); + GLES20.glUniform1f(highlightsHandle, 1); + GLES20.glUniform1f(exposureHandle, 0); + GLES20.glUniform1f(contrastHandle, 1); + GLES20.glUniform1f(saturationHandle, 1); + GLES20.glUniform1f(warmthHandle, 0); + GLES20.glUniform1f(vignetteHandle, 0); + GLES20.glUniform1f(grainHandle, 0); + GLES20.glUniform1f(fadeAmountHandle, 0); + GLES20.glUniform3f(highlightsTintColorHandle, 0, 0, 0); + GLES20.glUniform1f(highlightsTintIntensityHandle, 0); + GLES20.glUniform3f(shadowsTintColorHandle, 0, 0, 0); + GLES20.glUniform1f(shadowsTintIntensityHandle, 0); + GLES20.glUniform1f(skipToneHandle, 1); + } else { + GLES20.glUniform1f(shadowsHandle, delegate.getShadowsValue()); + GLES20.glUniform1f(highlightsHandle, delegate.getHighlightsValue()); + GLES20.glUniform1f(exposureHandle, delegate.getExposureValue()); + GLES20.glUniform1f(contrastHandle, delegate.getContrastValue()); + GLES20.glUniform1f(saturationHandle, delegate.getSaturationValue()); + GLES20.glUniform1f(warmthHandle, delegate.getWarmthValue()); + GLES20.glUniform1f(vignetteHandle, delegate.getVignetteValue()); + GLES20.glUniform1f(grainHandle, delegate.getGrainValue()); + GLES20.glUniform1f(fadeAmountHandle, delegate.getFadeValue()); + int tintHighlightsColor = delegate.getTintHighlightsColor(); + int tintShadowsColor = delegate.getTintShadowsColor(); + GLES20.glUniform3f(highlightsTintColorHandle, (tintHighlightsColor >> 16 & 0xff) / 255.0f, (tintHighlightsColor >> 8 & 0xff) / 255.0f, (tintHighlightsColor & 0xff) / 255.0f); + GLES20.glUniform1f(highlightsTintIntensityHandle, delegate.getTintHighlightsIntensityValue()); + GLES20.glUniform3f(shadowsTintColorHandle, (tintShadowsColor >> 16 & 0xff) / 255.0f, (tintShadowsColor >> 8 & 0xff) / 255.0f, (tintShadowsColor & 0xff) / 255.0f); + GLES20.glUniform1f(shadowsTintIntensityHandle, delegate.getTintShadowsIntensityValue()); + boolean shouldDrawCurvesPass = delegate.shouldDrawCurvesPass(); + GLES20.glUniform1f(skipToneHandle, shouldDrawCurvesPass ? 0.0f : 1.0f); + if (shouldDrawCurvesPass) { + ByteBuffer curveBuffer = delegate.fillAndGetCurveBuffer(); + GLES20.glActiveTexture(GLES20.GL_TEXTURE1); + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, curveTextures[0]); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 200, 1, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, curveBuffer); + GLES20.glUniform1i(curvesImageHandle, 1); + } + } + + GLES20.glUniform1f(widthHandle, renderBufferWidth); + GLES20.glUniform1f(heightHandle, renderBufferHeight); + GLES20.glEnableVertexAttribArray(inputTexCoordHandle); + GLES20.glVertexAttribPointer(inputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(positionHandle); + GLES20.glVertexAttribPointer(positionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + } + + public boolean drawBlurPass() { + int blurType = delegate != null ? delegate.getBlurType() : 0; + if (isVideo || delegate == null || delegate.shouldShowOriginal() || blurType == 0) { + return false; + } + if (needUpdateBlurTexture) { + GLES20.glUseProgram(blurShaderProgram); + GLES20.glUniform1i(blurSourceImageHandle, 0); + GLES20.glEnableVertexAttribArray(blurInputTexCoordHandle); + GLES20.glVertexAttribPointer(blurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(blurPositionHandle); + GLES20.glVertexAttribPointer(blurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); + GLES20.glUniform1f(blurWidthHandle, 0.0f); + GLES20.glUniform1f(blurHeightHandle, 1.0f / renderBufferHeight); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[2]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[2], 0); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[0]); + GLES20.glUniform1f(blurWidthHandle, 1.0f / renderBufferWidth); + GLES20.glUniform1f(blurHeightHandle, 0.0f); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + needUpdateBlurTexture = false; + } + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); + if (blurType == 1) { + GLES20.glUseProgram(radialBlurShaderProgram); + GLES20.glUniform1i(radialBlurSourceImageHandle, 0); + GLES20.glUniform1i(radialBlurSourceImage2Handle, 1); + GLES20.glUniform1f(radialBlurExcludeSizeHandle, delegate.getBlurExcludeSize()); + GLES20.glUniform1f(radialBlurExcludeBlurSizeHandle, delegate.getBlurExcludeBlurSize()); + Point blurExcludePoint = delegate.getBlurExcludePoint(); + GLES20.glUniform2f(radialBlurExcludePointHandle, blurExcludePoint.x, blurExcludePoint.y); + GLES20.glUniform1f(radialBlurAspectRatioHandle, (float) renderBufferHeight / (float) renderBufferWidth); + GLES20.glEnableVertexAttribArray(radialBlurInputTexCoordHandle); + GLES20.glVertexAttribPointer(radialBlurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(radialBlurPositionHandle); + GLES20.glVertexAttribPointer(radialBlurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); + } else if (blurType == 2) { + GLES20.glUseProgram(linearBlurShaderProgram); + GLES20.glUniform1i(linearBlurSourceImageHandle, 0); + GLES20.glUniform1i(linearBlurSourceImage2Handle, 1); + GLES20.glUniform1f(linearBlurExcludeSizeHandle, delegate.getBlurExcludeSize()); + GLES20.glUniform1f(linearBlurExcludeBlurSizeHandle, delegate.getBlurExcludeBlurSize()); + GLES20.glUniform1f(linearBlurAngleHandle, delegate.getBlurAngle()); + Point blurExcludePoint = delegate.getBlurExcludePoint(); + GLES20.glUniform2f(linearBlurExcludePointHandle, blurExcludePoint.x, blurExcludePoint.y); + GLES20.glUniform1f(linearBlurAspectRatioHandle, (float) renderBufferHeight / (float) renderBufferWidth); + GLES20.glEnableVertexAttribArray(linearBlurInputTexCoordHandle); + GLES20.glVertexAttribPointer(linearBlurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(linearBlurPositionHandle); + GLES20.glVertexAttribPointer(linearBlurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); + } + + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); + GLES20.glActiveTexture(GLES20.GL_TEXTURE1); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[2]); + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + + return true; + } + + public void onVideoFrameUpdate(float[] m) { + videoMatrix = m; + //videoFramesCount++; + hsvGenerated = false; + /*if (videoFramesCount >= 30) { + hsvGenerated = false; + videoFramesCount = 0; + }*/ + } + + private Bitmap createBitmap(Bitmap bitmap, int orientation, int w, int h, float scale) { + Matrix matrix = new Matrix(); + matrix.setScale(scale, scale); + matrix.postRotate(orientation); + return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); + } + + private void loadTexture(Bitmap bitmap, int orientation, int w, int h) { + renderBufferWidth = w; + renderBufferHeight = h; + + if (renderFrameBuffer == null) { + renderFrameBuffer = new int[3]; + GLES20.glGenFramebuffers(3, renderFrameBuffer, 0); + GLES20.glGenTextures(3, renderTexture, 0); + } + + if (bitmap != null && !bitmap.isRecycled()) { + float maxSize = AndroidUtilities.getPhotoSize(); + if (renderBufferWidth > maxSize || renderBufferHeight > maxSize || orientation % 360 != 0) { + float scale = 1; + if (renderBufferWidth > maxSize || renderBufferHeight > maxSize) { + float scaleX = maxSize / bitmap.getWidth(); + float scaleY = maxSize / bitmap.getHeight(); + if (scaleX < scaleY) { + renderBufferWidth = (int) maxSize; + renderBufferHeight = (int) (bitmap.getHeight() * scaleX); + scale = scaleX; + } else { + renderBufferHeight = (int) maxSize; + renderBufferWidth = (int) (bitmap.getWidth() * scaleY); + scale = scaleY; + } + } + + if (orientation % 360 == 90 || orientation % 360 == 270) { + int temp = renderBufferWidth; + renderBufferWidth = renderBufferHeight; + renderBufferHeight = temp; + } + + bitmap = createBitmap(bitmap, orientation, renderBufferWidth, renderBufferHeight, scale); + } + + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, renderTexture[1]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0); + } else { + GLES20.glBindTexture(GL10.GL_TEXTURE_2D, renderTexture[1]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null); + } + + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[0]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null); + + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[2]); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); + GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null); + } + + public FloatBuffer getTextureBuffer() { + return textureBuffer; + } + + public FloatBuffer getVertexBuffer() { + return vertexBuffer; + } + + public FloatBuffer getVertexInvertBuffer() { + return vertexInvertBuffer; + } + + public int getRenderBufferWidth() { + return renderBufferWidth; + } + + public int getRenderBufferHeight() { + return renderBufferHeight; + } + + public int getRenderTexture(int index) { + if (isVideo) { + return renderTexture[index == 0 ? 1 : 0]; + } + return renderTexture[index]; + } + + public int getRenderFrameBuffer() { + return renderFrameBuffer != null ? renderFrameBuffer[isVideo ? 0 : 1] : 0; + } + + public void requestUpdateBlurTexture() { + needUpdateBlurTexture = true; + } + + public static FilterShadersDelegate getFilterShadersDelegate(MediaController.SavedFilterState lastState) { + return new FilterShadersDelegate() { + @Override + public boolean shouldShowOriginal() { + return false; + } + + @Override + public float getShadowsValue() { + return (lastState.shadowsValue * 0.55f + 100.0f) / 100.0f; + } + + @Override + public float getHighlightsValue() { + return (lastState.highlightsValue * 0.75f + 100.0f) / 100.0f; + } + + @Override + public float getEnhanceValue() { + return (lastState.enhanceValue / 100.0f); + } + + @Override + public float getExposureValue() { + return (lastState.exposureValue / 100.0f); + } + + @Override + public float getContrastValue() { + return (lastState.contrastValue / 100.0f) * 0.3f + 1; + } + + @Override + public float getWarmthValue() { + return lastState.warmthValue / 100.0f; + } + + @Override + public float getVignetteValue() { + return lastState.vignetteValue / 100.0f; + } + + @Override + public float getSharpenValue() { + return 0.11f + lastState.sharpenValue / 100.0f * 0.6f; + } + + @Override + public float getGrainValue() { + return lastState.grainValue / 100.0f * 0.04f; + } + + @Override + public float getFadeValue() { + return lastState.fadeValue / 100.0f; + } + + @Override + public float getTintHighlightsIntensityValue() { + float tintHighlightsIntensity = 50.0f; + return lastState.tintHighlightsColor == 0 ? 0 : tintHighlightsIntensity / 100.0f; + } + + @Override + public float getTintShadowsIntensityValue() { + float tintShadowsIntensity = 50.0f; + return lastState.tintShadowsColor == 0 ? 0 : tintShadowsIntensity / 100.0f; + } + + @Override + public float getSaturationValue() { + float parameterValue = (lastState.saturationValue / 100.0f); + if (parameterValue > 0) { + parameterValue *= 1.05f; + } + return parameterValue + 1; + } + + @Override + public int getTintHighlightsColor() { + return lastState.tintHighlightsColor; + } + + @Override + public int getTintShadowsColor() { + return lastState.tintShadowsColor; + } + + @Override + public int getBlurType() { + return lastState.blurType; + } + + @Override + public float getBlurExcludeSize() { + return lastState.blurExcludeSize; + } + + @Override + public float getBlurExcludeBlurSize() { + return lastState.blurExcludeBlurSize; + } + + @Override + public float getBlurAngle() { + return lastState.blurAngle; + } + + @Override + public Point getBlurExcludePoint() { + return lastState.blurExcludePoint; + } + + @Override + public boolean shouldDrawCurvesPass() { + return !lastState.curvesToolValue.shouldBeSkipped(); + } + + @Override + public ByteBuffer fillAndGetCurveBuffer() { + lastState.curvesToolValue.fillBuffer(); + return lastState.curvesToolValue.curveBuffer; + } + }; + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/FiltersListBottomSheet.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/FiltersListBottomSheet.java new file mode 100644 index 000000000..e11fdb0e2 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/FiltersListBottomSheet.java @@ -0,0 +1,420 @@ +package org.telegram.ui.Components; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.text.TextUtils; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.LocaleController; +import org.telegram.messenger.MessagesController; +import org.telegram.messenger.NotificationCenter; +import org.telegram.messenger.R; +import org.telegram.tgnet.TLRPC; +import org.telegram.ui.ActionBar.BaseFragment; +import org.telegram.ui.ActionBar.BottomSheet; +import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.DialogsActivity; + +import java.util.ArrayList; + +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +public class FiltersListBottomSheet extends BottomSheet implements NotificationCenter.NotificationCenterDelegate { + + private RecyclerListView listView; + private ListAdapter adapter; + private TextView titleTextView; + private AnimatorSet shadowAnimation; + private View shadow; + + private int scrollOffsetY; + private boolean ignoreLayout; + + private FiltersListBottomSheetDelegate delegate; + + private ArrayList dialogFilters; + + public interface FiltersListBottomSheetDelegate { + void didSelectFilter(MessagesController.DialogFilter filter); + } + + public FiltersListBottomSheet(DialogsActivity baseFragment, ArrayList selectedDialogs) { + super(baseFragment.getParentActivity(), false); + dialogFilters = getCanAddDialogFilters(baseFragment, selectedDialogs); + Context context = baseFragment.getParentActivity(); + + containerView = new FrameLayout(context) { + + private RectF rect = new RectF(); + private boolean fullHeight; + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_DOWN && scrollOffsetY != 0 && ev.getY() < scrollOffsetY) { + dismiss(); + return true; + } + return super.onInterceptTouchEvent(ev); + } + + @Override + public boolean onTouchEvent(MotionEvent e) { + return !isDismissed() && super.onTouchEvent(e); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int height = MeasureSpec.getSize(heightMeasureSpec); + if (Build.VERSION.SDK_INT >= 21) { + ignoreLayout = true; + setPadding(backgroundPaddingLeft, AndroidUtilities.statusBarHeight, backgroundPaddingLeft, 0); + ignoreLayout = false; + } + int contentSize = AndroidUtilities.dp(48) + AndroidUtilities.dp(48) * adapter.getItemCount() + backgroundPaddingTop + AndroidUtilities.statusBarHeight; + int padding = contentSize < (height / 5 * 3.2) ? 0 : (height / 5 * 2); + if (padding != 0 && contentSize < height) { + padding -= (height - contentSize); + } + if (padding == 0) { + padding = backgroundPaddingTop; + } + if (listView.getPaddingTop() != padding) { + ignoreLayout = true; + listView.setPadding(AndroidUtilities.dp(10), padding, AndroidUtilities.dp(10), 0); + ignoreLayout = false; + } + fullHeight = contentSize >= height; + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(Math.min(contentSize, height), MeasureSpec.EXACTLY)); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + updateLayout(); + } + + @Override + public void requestLayout() { + if (ignoreLayout) { + return; + } + super.requestLayout(); + } + + @Override + protected void onDraw(Canvas canvas) { + int top = scrollOffsetY - backgroundPaddingTop - AndroidUtilities.dp(8); + int height = getMeasuredHeight() + AndroidUtilities.dp(28) + backgroundPaddingTop; + int statusBarHeight = 0; + float radProgress = 1.0f; + if (Build.VERSION.SDK_INT >= 21) { + top += AndroidUtilities.statusBarHeight; + height -= AndroidUtilities.statusBarHeight; + + if (fullHeight) { + if (top + backgroundPaddingTop < AndroidUtilities.statusBarHeight * 2) { + int diff = Math.min(AndroidUtilities.statusBarHeight, AndroidUtilities.statusBarHeight * 2 - top - backgroundPaddingTop); + top -= diff; + height += diff; + radProgress = 1.0f - Math.min(1.0f, (diff * 2) / (float) AndroidUtilities.statusBarHeight); + } + if (top + backgroundPaddingTop < AndroidUtilities.statusBarHeight) { + statusBarHeight = Math.min(AndroidUtilities.statusBarHeight, AndroidUtilities.statusBarHeight - top - backgroundPaddingTop); + } + } + } + + shadowDrawable.setBounds(0, top, getMeasuredWidth(), height); + shadowDrawable.draw(canvas); + + if (radProgress != 1.0f) { + Theme.dialogs_onlineCirclePaint.setColor(Theme.getColor(Theme.key_dialogBackground)); + rect.set(backgroundPaddingLeft, backgroundPaddingTop + top, getMeasuredWidth() - backgroundPaddingLeft, backgroundPaddingTop + top + AndroidUtilities.dp(24)); + canvas.drawRoundRect(rect, AndroidUtilities.dp(12) * radProgress, AndroidUtilities.dp(12) * radProgress, Theme.dialogs_onlineCirclePaint); + } + + if (statusBarHeight > 0) { + int color1 = Theme.getColor(Theme.key_dialogBackground); + int finalColor = Color.argb(0xff, (int) (Color.red(color1) * 0.8f), (int) (Color.green(color1) * 0.8f), (int) (Color.blue(color1) * 0.8f)); + Theme.dialogs_onlineCirclePaint.setColor(finalColor); + canvas.drawRect(backgroundPaddingLeft, AndroidUtilities.statusBarHeight - statusBarHeight, getMeasuredWidth() - backgroundPaddingLeft, AndroidUtilities.statusBarHeight, Theme.dialogs_onlineCirclePaint); + } + } + }; + containerView.setWillNotDraw(false); + containerView.setPadding(backgroundPaddingLeft, 0, backgroundPaddingLeft, 0); + + FrameLayout.LayoutParams frameLayoutParams = new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, AndroidUtilities.getShadowHeight(), Gravity.TOP | Gravity.LEFT); + frameLayoutParams.topMargin = AndroidUtilities.dp(48); + shadow = new View(context); + shadow.setBackgroundColor(Theme.getColor(Theme.key_dialogShadowLine)); + shadow.setAlpha(0.0f); + shadow.setVisibility(View.INVISIBLE); + shadow.setTag(1); + containerView.addView(shadow, frameLayoutParams); + + listView = new RecyclerListView(context) { + @Override + public void requestLayout() { + if (ignoreLayout) { + return; + } + super.requestLayout(); + } + }; + listView.setTag(14); + listView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); + listView.setAdapter(adapter = new ListAdapter(context)); + listView.setVerticalScrollBarEnabled(false); + listView.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0); + listView.setClipToPadding(false); + listView.setGlowColor(Theme.getColor(Theme.key_dialogScrollGlow)); + listView.setOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + updateLayout(); + } + }); + listView.setOnItemClickListener((view, position) -> { + delegate.didSelectFilter(adapter.getItem(position)); + dismiss(); + }); + containerView.addView(listView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.LEFT, 0, 48, 0, 0)); + + titleTextView = new TextView(context); + titleTextView.setLines(1); + titleTextView.setSingleLine(true); + titleTextView.setTextColor(Theme.getColor(Theme.key_dialogTextBlack)); + titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20); + titleTextView.setLinkTextColor(Theme.getColor(Theme.key_dialogTextLink)); + titleTextView.setHighlightColor(Theme.getColor(Theme.key_dialogLinkSelection)); + titleTextView.setEllipsize(TextUtils.TruncateAt.END); + titleTextView.setPadding(AndroidUtilities.dp(18), 0, AndroidUtilities.dp(18), 0); + titleTextView.setGravity(Gravity.CENTER_VERTICAL); + titleTextView.setText(LocaleController.getString("FilterChoose", R.string.FilterChoose)); + titleTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + containerView.addView(titleTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 50, Gravity.LEFT | Gravity.TOP, 0, 0, 40, 0)); + + NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.emojiDidLoad); + } + + @Override + protected boolean canDismissWithSwipe() { + return false; + } + + private void updateLayout() { + if (listView.getChildCount() <= 0) { + listView.setTopGlowOffset(scrollOffsetY = listView.getPaddingTop()); + titleTextView.setTranslationY(scrollOffsetY); + shadow.setTranslationY(scrollOffsetY); + containerView.invalidate(); + return; + } + View child = listView.getChildAt(0); + RecyclerListView.Holder holder = (RecyclerListView.Holder) listView.findContainingViewHolder(child); + int top = child.getTop(); + int newOffset = 0; + if (top >= 0 && holder != null && holder.getAdapterPosition() == 0) { + newOffset = top; + runShadowAnimation(false); + } else { + runShadowAnimation(true); + } + if (scrollOffsetY != newOffset) { + listView.setTopGlowOffset(scrollOffsetY = newOffset); + titleTextView.setTranslationY(scrollOffsetY); + shadow.setTranslationY(scrollOffsetY); + containerView.invalidate(); + } + } + + private void runShadowAnimation(final boolean show) { + if (show && shadow.getTag() != null || !show && shadow.getTag() == null) { + shadow.setTag(show ? null : 1); + if (show) { + shadow.setVisibility(View.VISIBLE); + } + if (shadowAnimation != null) { + shadowAnimation.cancel(); + } + shadowAnimation = new AnimatorSet(); + shadowAnimation.playTogether(ObjectAnimator.ofFloat(shadow, View.ALPHA, show ? 1.0f : 0.0f)); + shadowAnimation.setDuration(150); + shadowAnimation.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (shadowAnimation != null && shadowAnimation.equals(animation)) { + if (!show) { + shadow.setVisibility(View.INVISIBLE); + } + shadowAnimation = null; + } + } + + @Override + public void onAnimationCancel(Animator animation) { + if (shadowAnimation != null && shadowAnimation.equals(animation)) { + shadowAnimation = null; + } + } + }); + shadowAnimation.start(); + } + } + + @Override + public void dismiss() { + super.dismiss(); + NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.emojiDidLoad); + } + + @Override + public void didReceivedNotification(int id, int account, Object... args) { + if (id == NotificationCenter.emojiDidLoad) { + if (listView != null) { + int count = listView.getChildCount(); + for (int a = 0; a < count; a++) { + listView.getChildAt(a).invalidate(); + } + } + } + } + + public void setDelegate(FiltersListBottomSheetDelegate filtersListBottomSheetDelegate) { + delegate = filtersListBottomSheetDelegate; + } + + public static ArrayList getCanAddDialogFilters(BaseFragment fragment, ArrayList selectedDialogs) { + ArrayList result = new ArrayList<>(); + ArrayList filters = fragment.getMessagesController().dialogFilters; + for (int a = 0, N = filters.size(); a < N; a++) { + MessagesController.DialogFilter filter = filters.get(a); + if (!getDialogsCount(fragment, filter, selectedDialogs, true, true).isEmpty()) { + result.add(filter); + } + } + return result; + } + + public static ArrayList getDialogsCount(BaseFragment fragment, MessagesController.DialogFilter filter, ArrayList selectedDialogs, boolean always, boolean check) { + ArrayList dids = new ArrayList<>(); + for (int b = 0, N2 = selectedDialogs.size(); b < N2; b++) { + long did = selectedDialogs.get(b); + int lowerId = (int) did; + if (lowerId == 0) { + int highId = (int) (did >> 32); + TLRPC.EncryptedChat encryptedChat = fragment.getMessagesController().getEncryptedChat(highId); + if (encryptedChat != null) { + lowerId = encryptedChat.user_id; + if (dids.contains(lowerId)) { + continue; + } + } else { + continue; + } + } + if (filter != null && (always && filter.alwaysShow.contains(lowerId) || !always && filter.neverShow.contains(lowerId))) { + continue; + } + dids.add(lowerId); + if (check) { + break; + } + } + return dids; + } + + private class ListAdapter extends RecyclerListView.SelectionAdapter { + + private Context context; + + public ListAdapter(Context context) { + this.context = context; + } + + public MessagesController.DialogFilter getItem(int position) { + if (position < dialogFilters.size()) { + return dialogFilters.get(position); + } + return null; + } + + @Override + public int getItemCount() { + return dialogFilters.size() + 1; + } + + @Override + public int getItemViewType(int position) { + return 0; + } + + @Override + public boolean isEnabled(RecyclerView.ViewHolder holder) { + return true; + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + BottomSheet.BottomSheetCell cell = new BottomSheet.BottomSheetCell(context, 0); + cell.setBackground(null); + cell.setLayoutParams(new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); + return new RecyclerListView.Holder(cell); + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + BottomSheet.BottomSheetCell cell = (BottomSheet.BottomSheetCell) holder.itemView; + if (position < dialogFilters.size()) { + cell.getImageView().setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogIcon), PorterDuff.Mode.MULTIPLY)); + MessagesController.DialogFilter filter = dialogFilters.get(position); + cell.setTextColor(Theme.getColor(Theme.key_dialogTextBlack)); + int icon; + if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == (MessagesController.DIALOG_FILTER_FLAG_CONTACTS | MessagesController.DIALOG_FILTER_FLAG_NON_CONTACTS)) { + icon = R.drawable.menu_private; + } else if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_EXCLUDE_READ) != 0 && (filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) { + icon = R.drawable.menu_unread; + } else if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == MessagesController.DIALOG_FILTER_FLAG_CHANNELS) { + icon = R.drawable.menu_broadcast; + } else if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == MessagesController.DIALOG_FILTER_FLAG_GROUPS) { + icon = R.drawable.menu_groups; + } else if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == MessagesController.DIALOG_FILTER_FLAG_CONTACTS) { + icon = R.drawable.menu_contacts; + } else if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_ALL_CHATS) == MessagesController.DIALOG_FILTER_FLAG_BOTS) { + icon = R.drawable.menu_bots; + } else { + icon = R.drawable.menu_folders; + } + cell.setTextAndIcon(filter.name, icon); + } else { + cell.getImageView().setColorFilter(null); + Drawable drawable1 = context.getResources().getDrawable(R.drawable.poll_add_circle); + Drawable drawable2 = context.getResources().getDrawable(R.drawable.poll_add_plus); + drawable1.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_switchTrackChecked), PorterDuff.Mode.MULTIPLY)); + drawable2.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_checkboxCheck), PorterDuff.Mode.MULTIPLY)); + CombinedDrawable combinedDrawable = new CombinedDrawable(drawable1, drawable2); + cell.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4)); + cell.setTextAndIcon(LocaleController.getString("CreateNewFilter", R.string.CreateNewFilter), combinedDrawable); + } + } + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ForegroundDetector.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ForegroundDetector.java index e0cd96f13..c2dfdc22b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ForegroundDetector.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ForegroundDetector.java @@ -8,7 +8,6 @@ package org.telegram.ui.Components; -import android.annotation.SuppressLint; import android.app.Activity; import android.app.Application; import android.os.Build; @@ -20,7 +19,6 @@ import org.telegram.messenger.FileLog; import java.util.concurrent.CopyOnWriteArrayList; -@SuppressLint("NewApi") public class ForegroundDetector implements Application.ActivityLifecycleCallbacks { public interface Listener { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/GroupedPhotosListView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/GroupedPhotosListView.java index 84719c02d..6550852fa 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/GroupedPhotosListView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/GroupedPhotosListView.java @@ -1,5 +1,8 @@ package org.telegram.ui.Components; +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; @@ -46,10 +49,15 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes private boolean scrolling; private boolean stopedScrolling; private boolean ignoreChanges; + private boolean animationsEnabled = true; private int nextPhotoScrolling = -1; private GroupedPhotosListViewDelegate delegate; + private ValueAnimator showAnimator; + private ValueAnimator hideAnimator; + private float drawAlpha = 0f; + public interface GroupedPhotosListViewDelegate { int getCurrentIndex(); int getCurrentAccount(); @@ -63,13 +71,17 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes } public GroupedPhotosListView(Context context) { + this(context, AndroidUtilities.dp(3)); + } + + public GroupedPhotosListView(Context context, int paddingTop) { super(context); gestureDetector = new GestureDetector(context, this); scroll = new Scroller(context); itemWidth = AndroidUtilities.dp(42); itemHeight = AndroidUtilities.dp(56); itemSpacing = AndroidUtilities.dp(1); - itemY = AndroidUtilities.dp(3); + itemY = paddingTop; backgroundPaint.setColor(0x7f000000); } @@ -105,7 +117,8 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes if (messageObject.getGroupIdForUse() != currentGroupId) { changed = true; currentGroupId = messageObject.getGroupIdForUse(); - } else { + } + if (currentGroupId != 0) { int max = Math.min(currentIndex + 10, imagesArr.size()); for (int a = currentIndex; a < max; a++) { MessageObject object = imagesArr.get(a); @@ -131,7 +144,8 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes if (pageBlock.groupId != currentGroupId) { changed = true; currentGroupId = pageBlock.groupId; - } else { + } + if (currentGroupId != 0) { for (int a = currentIndex, size = pageBlockArr.size(); a < size; a++) { TLRPC.PageBlock object = pageBlockArr.get(a); if (object.groupId == currentGroupId) { @@ -153,6 +167,57 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes if (currentObject == null) { return; } + if (animationsEnabled) { + if (newCount <= 1) { + if (showAnimator != null) { + showAnimator.cancel(); + } + if (drawAlpha > 0f && currentPhotos.size() > 1) { + if (hideAnimator == null) { + hideAnimator = ValueAnimator.ofFloat(drawAlpha, 0f); + hideAnimator.setDuration((long) (200 * drawAlpha)); + hideAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (hideAnimator == animation) { + hideAnimator = null; + fillList(); + } + } + }); + hideAnimator.addUpdateListener(a -> { + drawAlpha = (float) a.getAnimatedValue(); + invalidate(); + }); + hideAnimator.start(); + } + return; + } + } else { + if (hideAnimator != null) { + final Animator a = hideAnimator; + hideAnimator = null; + a.cancel(); + } + if (drawAlpha < 1f && showAnimator == null) { + showAnimator = ValueAnimator.ofFloat(drawAlpha, 1f); + showAnimator.setDuration((long) (200 * (1f - drawAlpha))); + showAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (showAnimator == animation) { + showAnimator = null; + } + } + }); + showAnimator.addUpdateListener(a -> { + drawAlpha = (float) a.getAnimatedValue(); + invalidate(); + }); + showAnimator.start(); + } + } + } if (!changed) { if (newCount != currentPhotos.size() || currentObjects.indexOf(currentObject) == -1) { changed = true; @@ -556,6 +621,7 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes if (imagesToDraw.isEmpty()) { return; } + backgroundPaint.setAlpha((int) (0x7F * drawAlpha)); canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), backgroundPaint); int count = imagesToDraw.size(); @@ -624,11 +690,12 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes } if (num == nextImage) { receiver.setImageWidth(nextTrueWidth - nextPaddings); - receiver.setImageX(receiver.getImageX() + nextPaddings / 2); + receiver.setImageX((int) (receiver.getImageX() + nextPaddings / 2)); } else { receiver.setImageWidth(itemWidth); } } + receiver.setAlpha(drawAlpha); receiver.draw(canvas); } @@ -700,4 +767,36 @@ public class GroupedPhotosListView extends View implements GestureDetector.OnGes public void setDelegate(GroupedPhotosListViewDelegate groupedPhotosListViewDelegate) { delegate = groupedPhotosListViewDelegate; } + + public boolean hasPhotos() { + return !currentPhotos.isEmpty() && hideAnimator == null; + } + + public boolean isAnimationsEnabled() { + return animationsEnabled; + } + + public void setAnimationsEnabled(boolean animationsEnabled) { + if (this.animationsEnabled != animationsEnabled) { + this.animationsEnabled = animationsEnabled; + if (!animationsEnabled) { + if (showAnimator != null) { + showAnimator.cancel(); + showAnimator = null; + } + if (hideAnimator != null) { + hideAnimator.cancel(); + hideAnimator = null; + } + drawAlpha = 1f; + invalidate(); + } + } + } + + public void reset() { + if (animationsEnabled) { + drawAlpha = 0f; + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/HintView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/HintView.java index 5d4abfdb0..0acd2701d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/HintView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/HintView.java @@ -128,7 +128,7 @@ public class HintView extends FrameLayout { if (currentType == 0) { ImageReceiver imageReceiver = cell.getPhotoImage(); top += imageReceiver.getImageY(); - int height = imageReceiver.getImageHeight(); + int height = (int) imageReceiver.getImageHeight(); int bottom = top + height; int parentHeight = parentView.getMeasuredHeight(); if (top <= getMeasuredHeight() + AndroidUtilities.dp(10) || bottom > parentHeight + height / 4) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ImageUpdater.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ImageUpdater.java index 1266e5833..66c783c63 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ImageUpdater.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ImageUpdater.java @@ -183,9 +183,10 @@ public class ImageUpdater implements NotificationCenter.NotificationCenterDelega } else { info.searchImage = searchImage; } + info.thumbPath = searchImage.thumbPath; info.caption = searchImage.caption != null ? searchImage.caption.toString() : null; info.entities = searchImage.entities; - info.masks = !searchImage.stickers.isEmpty() ? new ArrayList<>(searchImage.stickers) : null; + info.masks = searchImage.stickers; info.ttl = searchImage.ttl; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/InstantCameraView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/InstantCameraView.java index c6d7aa7f6..30ae9486c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/InstantCameraView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/InstantCameraView.java @@ -57,7 +57,6 @@ import android.widget.FrameLayout; import android.widget.ImageView; import com.google.android.exoplayer2.ExoPlayer; -import com.google.android.exoplayer2.util.Log; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.ApplicationLoader; @@ -65,6 +64,7 @@ import org.telegram.messenger.BuildVars; import org.telegram.messenger.DispatchQueue; import org.telegram.messenger.FileLoader; import org.telegram.messenger.FileLog; +import org.telegram.messenger.ImageReceiver; import org.telegram.messenger.LocaleController; import org.telegram.messenger.MediaController; import org.telegram.messenger.NotificationCenter; @@ -107,7 +107,7 @@ import javax.microedition.khronos.opengles.GL; public class InstantCameraView extends FrameLayout implements NotificationCenter.NotificationCenterDelegate { private int currentAccount = UserConfig.selectedAccount; - private FrameLayout cameraContainer; + private InstantViewCameraContainer cameraContainer; private ChatActivity baseFragment; private Paint paint; private RectF rect; @@ -256,7 +256,7 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter rect = new RectF(); if (Build.VERSION.SDK_INT >= 21) { - cameraContainer = new FrameLayout(context) { + cameraContainer = new InstantViewCameraContainer(context) { @Override public void setScaleX(float scaleX) { super.setScaleX(scaleX); @@ -283,7 +283,7 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(0xff000000); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); - cameraContainer = new FrameLayout(context) { + cameraContainer = new InstantViewCameraContainer(context) { @Override public void setScaleX(float scaleX) { @@ -556,7 +556,7 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter MediaController.getInstance().requestAudioFocus(true); } - public FrameLayout getCameraContainer() { + public InstantViewCameraContainer getCameraContainer() { return cameraContainer; } @@ -790,13 +790,14 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter } } textureView = null; + cameraContainer.setImageReceiver(null); } private void switchCamera() { saveLastCameraBitmap(); if (lastBitmap != null) { textureOverlayView.setImageBitmap(lastBitmap); - textureOverlayView.animate().setDuration(120).alpha(1.0f).setInterpolator(new DecelerateInterpolator()).start(); + textureOverlayView.setAlpha(1f); } if (cameraSession != null) { cameraSession.destroy(); @@ -979,6 +980,10 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter blurBehindDrawable.onPanTranslationUpdate(y); } + public TextureView getTextureView() { + return textureView; + } + public class CameraGLThread extends DispatchQueue { private final static int EGL_CONTEXT_CLIENT_VERSION = 0x3098; @@ -1965,6 +1970,8 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter AlertsCreator.createScheduleDatePickerDialog(baseFragment.getParentActivity(), baseFragment.getDialogId(), (notify, scheduleDate) -> { baseFragment.sendMedia(new MediaController.PhotoEntry(0, 0, 0, videoFile.getAbsolutePath(), 0, true, 0, 0, 0), videoEditedInfo, notify, scheduleDate); startAnimation(false); + }, () -> { + startAnimation(false); }); } else { baseFragment.sendMedia(new MediaController.PhotoEntry(0, 0, 0, videoFile.getAbsolutePath(), 0, true, 0, 0, 0), videoEditedInfo, true, 0); @@ -1983,7 +1990,7 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { FileLog.e(e); } @@ -2400,4 +2407,44 @@ public class InstantCameraView extends FrameLayout implements NotificationCenter } } } + + public class InstantViewCameraContainer extends FrameLayout { + + ImageReceiver imageReceiver; + float imageProgress; + + public InstantViewCameraContainer(Context context) { + super(context); + InstantCameraView.this.setWillNotDraw(false); + } + + public void setImageReceiver(ImageReceiver imageReceiver) { + if (this.imageReceiver == null) { + imageProgress = 0; + } + this.imageReceiver = imageReceiver; + invalidate(); + } + + @Override + protected void dispatchDraw(Canvas canvas) { + super.dispatchDraw(canvas); + if (imageProgress != 1f) { + imageProgress += 16 / 250.0f; + if (imageProgress > 1f) { + imageProgress = 1f; + } + invalidate(); + } + if (imageReceiver != null) { + canvas.save(); + canvas.translate(-imageReceiver.getImageX(), -imageReceiver.getImageY()); + float oldAlpha = imageReceiver.getAlpha(); + imageReceiver.setAlpha(imageProgress); + imageReceiver.draw(canvas); + imageReceiver.setAlpha(oldAlpha); + canvas.restore(); + } + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Input.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Input.java index 5c5aba9c2..79358738f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Input.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Input.java @@ -34,7 +34,7 @@ public class Input { m.invert(invertMatrix); } - public void process(MotionEvent event) { + public void process(MotionEvent event, float scale) { int action = event.getActionMasked(); float x = event.getX(); float y = renderView.getHeight() - event.getY(); @@ -61,7 +61,7 @@ public class Input { clearBuffer = true; } else { float distance = location.getDistanceTo(lastLocation); - if (distance < AndroidUtilities.dp(5.0f)) { + if (distance < AndroidUtilities.dp(5.0f) / scale) { return; } @@ -79,9 +79,8 @@ public class Input { lastLocation = location; } + break; } - break; - case MotionEvent.ACTION_UP: { if (!hasMoved) { if (renderView.shouldDraw()) { @@ -99,8 +98,14 @@ public class Input { beganDrawing = false; renderView.onFinishedDrawing(hasMoved); + break; + } + case MotionEvent.ACTION_CANCEL: { + renderView.getPainting().clearStroke(); + pointsCount = 0; + beganDrawing = false; + break; } - break; } } @@ -158,8 +163,7 @@ public class Input { } else { pointsCount = 2; } - } - else { + } else { Point[] result = new Point[pointsCount]; System.arraycopy(this.points, 0, result, 0, pointsCount); Path path = new Path(result); @@ -184,17 +188,7 @@ public class Input { path.remainder = lastRemainder; - renderView.getPainting().paintStroke(path, clearBuffer, new Runnable() { - @Override - public void run() { - AndroidUtilities.runOnUIThread(new Runnable() { - @Override - public void run() { - lastRemainder = path.remainder; - clearBuffer = false; - } - }); - } - }); + renderView.getPainting().paintStroke(path, clearBuffer, () -> AndroidUtilities.runOnUIThread(() -> lastRemainder = path.remainder)); + clearBuffer = false; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Painting.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Painting.java index 5af89ba2e..b817640d0 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Painting.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Painting.java @@ -19,13 +19,13 @@ import javax.microedition.khronos.opengles.GL10; public class Painting { public interface PaintingDelegate { - void contentChanged(RectF rect); + void contentChanged(); void strokeCommited(); UndoStore requestUndoStore(); DispatchQueue requestDispatchQueue(); } - public class PaintingData { + public static class PaintingData { public Bitmap bitmap; public ByteBuffer data; @@ -56,15 +56,15 @@ public class Painting { private boolean paused; private Slice backupSlice; - private float projection[]; - private float renderProjection[]; + private float[] projection; + private float[] renderProjection; public Painting(Size sz) { renderState = new RenderState(); size = sz; - dataBuffer = ByteBuffer.allocateDirect((int)size.width * (int)size.height * 4); + dataBuffer = ByteBuffer.allocateDirect((int) size.width * (int) size.height * 4); projection = GLMatrix.LoadOrtho(0, size.width, 0, size.height, -1.0f, 1.0f); @@ -133,129 +133,141 @@ public class Painting { bitmapTexture = new Texture(bitmap); } - private void update(RectF bounds, Runnable action) { - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, getReusableFramebuffer()); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, getTexture(), 0); - - int status = GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER); - if (status == GLES20.GL_FRAMEBUFFER_COMPLETE) { - GLES20.glViewport(0, 0, (int) size.width, (int) size.height); - action.run(); - } - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); - - if (!isSuppressingChanges() && delegate != null) { - delegate.contentChanged(bounds); - } - } - public void paintStroke(final Path path, final boolean clearBuffer, final Runnable action) { - renderView.performInContext(new Runnable() { - @Override - public void run() { - activePath = path; + renderView.performInContext(() -> { + activePath = path; - RectF bounds = null; + RectF bounds = null; - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, getReusableFramebuffer()); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, getPaintTexture(), 0); + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, getReusableFramebuffer()); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, getPaintTexture(), 0); - Utils.HasGLError(); + Utils.HasGLError(); - int status = GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER); - if (status == GLES20.GL_FRAMEBUFFER_COMPLETE) { - GLES20.glViewport(0, 0, (int) size.width, (int) size.height); + int status = GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER); + if (status == GLES20.GL_FRAMEBUFFER_COMPLETE) { + GLES20.glViewport(0, 0, (int) size.width, (int) size.height); - if (clearBuffer) { - GLES20.glClearColor(0, 0, 0, 0); - GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); - } - - if (shaders == null) { - return; - } - Shader shader = shaders.get(brush.isLightSaber() ? "brushLight" : "brush"); - if (shader == null) { - return; - } - - GLES20.glUseProgram(shader.program); - if (brushTexture == null) { - brushTexture = new Texture(brush.getStamp()); - } - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, brushTexture.texture()); - GLES20.glUniformMatrix4fv(shader.getUniform("mvpMatrix"), 1, false, FloatBuffer.wrap(projection)); - GLES20.glUniform1i(shader.getUniform("texture"), 0); - - bounds = Render.RenderPath(path, renderState); + if (clearBuffer) { + GLES20.glClearColor(0, 0, 0, 0); + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); } - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); - - if (delegate != null) { - delegate.contentChanged(bounds); + if (shaders == null) { + return; + } + Shader shader = shaders.get(brush.isLightSaber() ? "brushLight" : "brush"); + if (shader == null) { + return; } - if (activeStrokeBounds != null) { - activeStrokeBounds.union(bounds); - } else { - activeStrokeBounds = bounds; + GLES20.glUseProgram(shader.program); + if (brushTexture == null) { + brushTexture = new Texture(brush.getStamp()); } + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, brushTexture.texture()); + GLES20.glUniformMatrix4fv(shader.getUniform("mvpMatrix"), 1, false, FloatBuffer.wrap(projection)); + GLES20.glUniform1i(shader.getUniform("texture"), 0); - if (action != null) { - action.run(); - } + bounds = Render.RenderPath(path, renderState); + } + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + + if (delegate != null) { + delegate.contentChanged(); + } + + if (activeStrokeBounds != null) { + activeStrokeBounds.union(bounds); + } else { + activeStrokeBounds = bounds; + } + + if (action != null) { + action.run(); } }); } public void commitStroke(final int color) { - renderView.performInContext(new Runnable() { - @Override - public void run() { - registerUndo(activeStrokeBounds); + renderView.performInContext(() -> { - beginSuppressingChanges(); + registerUndo(activeStrokeBounds); - update(null, new Runnable() { - @Override - public void run() { - if (shaders == null) { - return; - } - Shader shader = shaders.get(brush.isLightSaber() ? "compositeWithMaskLight" : "compositeWithMask"); - if (shader == null) { - return; - } + beginSuppressingChanges(); - GLES20.glUseProgram(shader.program); + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, getReusableFramebuffer()); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, getTexture(), 0); - GLES20.glUniformMatrix4fv(shader.getUniform("mvpMatrix"), 1, false, FloatBuffer.wrap(projection)); - GLES20.glUniform1i(shader.getUniform("mask"), 0); - Shader.SetColorUniform(shader.getUniform("color"), color); + GLES20.glViewport(0, 0, (int) size.width, (int) size.height); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getPaintTexture()); + Shader shader = shaders.get(brush.isLightSaber() ? "compositeWithMaskLight" : "compositeWithMask"); - GLES20.glBlendFuncSeparate(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA, GLES20.GL_SRC_ALPHA, GLES20.GL_ONE ); + GLES20.glUseProgram(shader.program); - GLES20.glVertexAttribPointer(0, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); - GLES20.glEnableVertexAttribArray(0); - GLES20.glVertexAttribPointer(1, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(1); + GLES20.glUniformMatrix4fv(shader.getUniform("mvpMatrix"), 1, false, FloatBuffer.wrap(projection)); + GLES20.glUniform1i(shader.getUniform("texture"), 0); + GLES20.glUniform1i(shader.getUniform("mask"), 1); + Shader.SetColorUniform(shader.getUniform("color"), color); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - } - }); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getTexture()); + GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST); - endSuppressingChanges(); + GLES20.glActiveTexture(GLES20.GL_TEXTURE1); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getPaintTexture()); - renderState.reset(); + GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ZERO); - activeStrokeBounds = null; - activePath = null; + GLES20.glVertexAttribPointer(0, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); + GLES20.glEnableVertexAttribArray(0); + GLES20.glVertexAttribPointer(1, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); + GLES20.glEnableVertexAttribArray(1); + + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); + + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getTexture()); + GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR); + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + + if (!isSuppressingChanges() && delegate != null) { + delegate.contentChanged(); } + + endSuppressingChanges(); + + renderState.reset(); + + activeStrokeBounds = null; + activePath = null; + }); + } + + public void clearStroke() { + renderView.performInContext(() -> { + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, getReusableFramebuffer()); + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, getPaintTexture(), 0); + + Utils.HasGLError(); + + int status = GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER); + if (status == GLES20.GL_FRAMEBUFFER_COMPLETE) { + GLES20.glViewport(0, 0, (int) size.width, (int) size.height); + GLES20.glClearColor(0, 0, 0, 0); + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); + } + + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); + + if (delegate != null) { + delegate.contentChanged(); + } + renderState.reset(); + activeStrokeBounds = null; + activePath = null; }); } @@ -273,28 +285,20 @@ public class Painting { ByteBuffer data = paintingData.data; final Slice slice = new Slice(data, rect, delegate.requestDispatchQueue()); - delegate.requestUndoStore().registerUndo(UUID.randomUUID(), new Runnable() { - @Override - public void run() { - restoreSlice(slice); - } - }); + delegate.requestUndoStore().registerUndo(UUID.randomUUID(), () -> restoreSlice(slice)); } private void restoreSlice(final Slice slice) { - renderView.performInContext(new Runnable() { - @Override - public void run() { - ByteBuffer buffer = slice.getData(); + renderView.performInContext(() -> { + ByteBuffer buffer = slice.getData(); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getTexture()); - GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, slice.getX(), slice.getY(), slice.getWidth(), slice.getHeight(), GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); - if (!isSuppressingChanges() && delegate != null) { - delegate.contentChanged(slice.getBounds()); - } - - slice.cleanResources(); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, getTexture()); + GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, slice.getX(), slice.getY(), slice.getWidth(), slice.getHeight(), GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); + if (!isSuppressingChanges() && delegate != null) { + delegate.contentChanged(); } + + slice.cleanResources(); }); } @@ -406,8 +410,8 @@ public class Painting { Matrix translate = new Matrix(); translate.preTranslate(-minX, -minY); - float effective[] = GLMatrix.LoadGraphicsMatrix(translate); - float finalProjection[] = GLMatrix.MultiplyMat4f(projection, effective); + float[] effective = GLMatrix.LoadGraphicsMatrix(translate); + float[] finalProjection = GLMatrix.MultiplyMat4f(projection, effective); GLES20.glUniformMatrix4fv(shader.getUniform("mvpMatrix"), 1, false, FloatBuffer.wrap(finalProjection)); @@ -472,18 +476,15 @@ public class Painting { } public void onPause(final Runnable completionRunnable) { - renderView.performInContext(new Runnable() { - @Override - public void run() { - paused = true; - PaintingData data = getPaintingData(getBounds(), true); - backupSlice = new Slice(data.data, getBounds(), delegate.requestDispatchQueue()); + renderView.performInContext(() -> { + paused = true; + PaintingData data = getPaintingData(getBounds(), true); + backupSlice = new Slice(data.data, getBounds(), delegate.requestDispatchQueue()); - cleanResources(false); + cleanResources(false); - if (completionRunnable != null) - completionRunnable.run(); - } + if (completionRunnable != null) + completionRunnable.run(); }); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/PhotoFace.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/PhotoFace.java index 3db0c9daa..00860e15c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/PhotoFace.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/PhotoFace.java @@ -101,8 +101,7 @@ public class PhotoFace { private Point transposePoint(PointF point, Bitmap sourceBitmap, Size targetSize, boolean sideward) { float bitmapW = sideward ? sourceBitmap.getHeight() : sourceBitmap.getWidth(); float bitmapH = sideward ? sourceBitmap.getWidth() : sourceBitmap.getHeight(); - return new Point(targetSize.width * point.x / bitmapW, - targetSize.height * point.y / bitmapH); + return new Point(targetSize.width * point.x / bitmapW, targetSize.height * point.y / bitmapH); } public Point getPointForAnchor(int anchor) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/RenderView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/RenderView.java index 72a1387a2..c842fd825 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/RenderView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/RenderView.java @@ -15,6 +15,7 @@ import javax.microedition.khronos.egl.EGLContext; import javax.microedition.khronos.egl.EGLDisplay; import javax.microedition.khronos.egl.EGLSurface; +import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.BuildVars; import org.telegram.messenger.DispatchQueue; import org.telegram.messenger.FileLog; @@ -27,6 +28,7 @@ public class RenderView extends TextureView { public interface RenderViewDelegate { void onBeganDrawing(); void onFinishedDrawing(boolean moved); + void onFirstDraw(); boolean shouldDraw(); } @@ -39,7 +41,8 @@ public class RenderView extends TextureView { private Input input; private Bitmap bitmap; private boolean transformedBitmap; - private int orientation; + + private boolean firstDrawSent; private float weight; private int color; @@ -47,11 +50,11 @@ public class RenderView extends TextureView { private boolean shuttingDown; - public RenderView(Context context, Painting paint, Bitmap b, int rotation) { + public RenderView(Context context, Painting paint, Bitmap b) { super(context); + setOpaque(false); bitmap = b; - orientation = rotation; painting = paint; painting.setRenderView(this); @@ -82,12 +85,9 @@ public class RenderView extends TextureView { internal.setBufferSize(width, height); updateTransform(); internal.requestRender(); - internal.postRunnable(new Runnable() { - @Override - public void run() { - if (internal != null) { - internal.requestRender(); - } + internal.postRunnable(() -> { + if (internal != null) { + internal.requestRender(); } }); } @@ -98,12 +98,9 @@ public class RenderView extends TextureView { return true; } if (!shuttingDown) { - painting.onPause(new Runnable() { - @Override - public void run() { - internal.shutdown(); - internal = null; - } + painting.onPause(() -> { + internal.shutdown(); + internal = null; }); } @@ -119,7 +116,7 @@ public class RenderView extends TextureView { input = new Input(this); painting.setDelegate(new Painting.PaintingDelegate() { @Override - public void contentChanged(RectF rect) { + public void contentChanged() { if (internal != null) { internal.scheduleRedraw(); } @@ -142,21 +139,21 @@ public class RenderView extends TextureView { }); } - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); + public void redraw() { + if (internal == null) { + return; + } + internal.requestRender(); } - @Override - public boolean onTouchEvent(MotionEvent event) { + public boolean onTouch(MotionEvent event) { if (event.getPointerCount() > 1) { return false; } - - if (internal == null || !internal.initialized || !internal.ready) + if (internal == null || !internal.initialized || !internal.ready) { return true; - - input.process(event); + } + input.process(event, getScaleX()); return true; } @@ -221,9 +218,9 @@ public class RenderView extends TextureView { input.setMatrix(matrix); - float proj[] = GLMatrix.LoadOrtho(0.0f, internal.bufferWidth, 0.0f, internal.bufferHeight, -1.0f, 1.0f); - float effectiveProjection[] = GLMatrix.LoadGraphicsMatrix(matrix); - float finalProjection[] = GLMatrix.MultiplyMat4f(proj, effectiveProjection); + float[] proj = GLMatrix.LoadOrtho(0.0f, internal.bufferWidth, 0.0f, internal.bufferHeight, -1.0f, 1.0f); + float[] effectiveProjection = GLMatrix.LoadGraphicsMatrix(matrix); + float[] finalProjection = GLMatrix.MultiplyMat4f(proj, effectiveProjection); painting.setRenderProjection(finalProjection); } @@ -247,13 +244,10 @@ public class RenderView extends TextureView { shuttingDown = true; if (internal != null) { - performInContext(new Runnable() { - @Override - public void run() { - painting.cleanResources(transformedBitmap); - internal.shutdown(); - internal = null; - } + performInContext(() -> { + painting.cleanResources(transformedBitmap); + internal.shutdown(); + internal = null; }); } @@ -261,12 +255,11 @@ public class RenderView extends TextureView { } private class CanvasInternal extends DispatchQueue { - private final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; - private final int EGL_OPENGL_ES2_BIT = 4; + private static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; + private static final int EGL_OPENGL_ES2_BIT = 4; private SurfaceTexture surfaceTexture; private EGL10 egl10; private EGLDisplay eglDisplay; - private EGLConfig eglConfig; private EGLContext eglContext; private EGLSurface eglSurface; private boolean initialized; @@ -326,6 +319,7 @@ public class RenderView extends TextureView { EGL10.EGL_STENCIL_SIZE, 0, EGL10.EGL_NONE }; + EGLConfig eglConfig; if (!egl10.eglChooseConfig(eglDisplay, configSpec, configs, 1, configsCount)) { if (BuildVars.LOGS_ENABLED) { FileLog.e("eglChooseConfig failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); @@ -391,21 +385,16 @@ public class RenderView extends TextureView { private Bitmap createBitmap(Bitmap bitmap, float scale) { Matrix matrix = new Matrix(); matrix.setScale(scale, scale); - matrix.postRotate(orientation); return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); } private void checkBitmap() { Size paintingSize = painting.getSize(); - - if (bitmap.getWidth() != paintingSize.width || bitmap.getHeight() != paintingSize.height || orientation != 0) { - float bitmapWidth = bitmap.getWidth(); - if (orientation % 360 == 90 || orientation % 360 == 270) - bitmapWidth = bitmap.getHeight(); - - float scale = paintingSize.width / bitmapWidth; - bitmap = createBitmap(bitmap, scale); - orientation = 0; + if (bitmap.getWidth() != paintingSize.width || bitmap.getHeight() != paintingSize.height) { + Bitmap b = Bitmap.createBitmap((int) paintingSize.width, (int) paintingSize.height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(b); + canvas.drawBitmap(bitmap, null, new RectF(0, 0, paintingSize.width, paintingSize.height), null); + bitmap = b; transformedBitmap = true; } } @@ -435,7 +424,7 @@ public class RenderView extends TextureView { GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); GLES20.glViewport(0, 0, bufferWidth, bufferHeight); - GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + GLES20.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); painting.render(); @@ -443,14 +432,13 @@ public class RenderView extends TextureView { GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA); egl10.eglSwapBuffers(eglDisplay, eglSurface); + if (!firstDrawSent) { + firstDrawSent = true; + AndroidUtilities.runOnUIThread(() -> delegate.onFirstDraw()); + } if (!ready) { - queue.postRunnable(new Runnable() { - @Override - public void run() { - ready = true; - } - }, 200); + queue.postRunnable(() -> ready = true, 200); } } }; @@ -461,12 +449,7 @@ public class RenderView extends TextureView { } public void requestRender() { - postRunnable(new Runnable() { - @Override - public void run() { - drawRunnable.run(); - } - }); + postRunnable(() -> drawRunnable.run()); } public void scheduleRedraw() { @@ -475,12 +458,9 @@ public class RenderView extends TextureView { scheduledRunnable = null; } - scheduledRunnable = new Runnable() { - @Override - public void run() { - scheduledRunnable = null; - drawRunnable.run(); - } + scheduledRunnable = () -> { + scheduledRunnable = null; + drawRunnable.run(); }; postRunnable(scheduledRunnable, 1); @@ -503,14 +483,11 @@ public class RenderView extends TextureView { } public void shutdown() { - postRunnable(new Runnable() { - @Override - public void run() { - finish(); - Looper looper = Looper.myLooper(); - if (looper != null) { - looper.quit(); - } + postRunnable(() -> { + finish(); + Looper looper = Looper.myLooper(); + if (looper != null) { + looper.quit(); } }); } @@ -520,15 +497,14 @@ public class RenderView extends TextureView { return null; } final CountDownLatch countDownLatch = new CountDownLatch(1); - final Bitmap object[] = new Bitmap[1]; + final Bitmap[] object = new Bitmap[1]; try { - postRunnable(new Runnable() { - @Override - public void run() { - Painting.PaintingData data = painting.getPaintingData(new RectF(0, 0, painting.getSize().width, painting.getSize().height), false); + postRunnable(() -> { + Painting.PaintingData data = painting.getPaintingData(new RectF(0, 0, painting.getSize().width, painting.getSize().height), false); + if (data != null) { object[0] = data.bitmap; - countDownLatch.countDown(); } + countDownLatch.countDown(); }); countDownLatch.await(); } catch (Exception e) { @@ -547,16 +523,13 @@ public class RenderView extends TextureView { return; } - internal.postRunnable(new Runnable() { - @Override - public void run() { - if (internal == null || !internal.initialized) { - return; - } - - internal.setCurrentContext(); - action.run(); + internal.postRunnable(() -> { + if (internal == null || !internal.initialized) { + return; } + + internal.setCurrentContext(); + action.run(); }); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Shader.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Shader.java index 938b90f62..4aea59796 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Shader.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Shader.java @@ -17,7 +17,7 @@ public class Shader { protected Map uniformsMap = new HashMap<>(); - public Shader(String vertexShader, String fragmentShader, String attributes[], String uniforms[]) { + public Shader(String vertexShader, String fragmentShader, String[] attributes, String[] uniforms) { this.program = GLES20.glCreateProgram(); CompilationResult vResult = compileShader(GLES20.GL_VERTEX_SHADER, vertexShader); @@ -70,7 +70,7 @@ public class Shader { } } - private class CompilationResult { + private static class CompilationResult { int shader; int status; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/ShaderSet.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/ShaderSet.java index 7f72a8d02..dd302cae7 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/ShaderSet.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/ShaderSet.java @@ -21,8 +21,8 @@ public class ShaderSet { private static final String PAINT_BLIT_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; void main (void) { vec4 tex = texture2D(texture, varTexcoord.st, 0.0); gl_FragColor = texture2D(texture, varTexcoord.st, 0.0); gl_FragColor.rgb *= gl_FragColor.a; }"; private static final String PAINT_BLITWITHMASKLIGHT_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; uniform sampler2D mask; uniform vec4 color; void main (void) { vec4 dst = texture2D(texture, varTexcoord.st, 0.0); vec3 maskColor = texture2D(mask, varTexcoord.st, 0.0).rgb; float srcAlpha = clamp(0.78 * maskColor.r + maskColor.b + maskColor.g, 0.0, 1.0); vec3 borderColor = mix(color.rgb, vec3(1.0, 1.0, 1.0), 0.86); vec3 finalColor = mix(color.rgb, borderColor, maskColor.g); finalColor = mix(finalColor.rgb, vec3(1.0, 1.0, 1.0), maskColor.b); float outAlpha = srcAlpha + dst.a * (1.0 - srcAlpha); gl_FragColor.rgb = (finalColor * srcAlpha + dst.rgb * dst.a * (1.0 - srcAlpha)) / outAlpha; gl_FragColor.a = outAlpha; gl_FragColor.rgb *= gl_FragColor.a; }"; private static final String PAINT_BLITWITHMASK_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; uniform sampler2D mask; uniform vec4 color; void main (void) { vec4 dst = texture2D(texture, varTexcoord.st, 0.0); float srcAlpha = color.a * texture2D(mask, varTexcoord.st, 0.0).a; float outAlpha = srcAlpha + dst.a * (1.0 - srcAlpha); gl_FragColor.rgb = (color.rgb * srcAlpha + dst.rgb * dst.a * (1.0 - srcAlpha)) / outAlpha; gl_FragColor.a = outAlpha; gl_FragColor.rgb *= gl_FragColor.a; }"; - private static final String PAINT_COMPOSITEWITHMASK_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D mask; uniform vec4 color; void main(void) { float alpha = color.a * texture2D(mask, varTexcoord.st, 0.0).a; gl_FragColor.rgb = color.rgb; gl_FragColor.a = alpha; }"; - private static final String PAINT_COMPOSITEWITHMASKLIGHT_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D mask; uniform vec4 color; void main (void) { vec3 maskColor = texture2D(mask, varTexcoord.st, 0.0).rgb; float alpha = clamp(0.78 * maskColor.r + maskColor.b + maskColor.g, 0.0, 1.0); vec3 borderColor = mix(color.rgb, vec3(1.0, 1.0, 1.0), 0.86); vec3 finalColor = mix(color.rgb, borderColor, maskColor.g); finalColor = mix(finalColor.rgb, vec3(1.0, 1.0, 1.0), maskColor.b); gl_FragColor.rgb = finalColor; gl_FragColor.a = alpha; }"; + private static final String PAINT_COMPOSITEWITHMASK_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; uniform sampler2D mask; uniform vec4 color; void main(void) { vec4 dst = texture2D(texture, varTexcoord.st, 0.0); float srcAlpha = color.a * texture2D(mask, varTexcoord.st, 0.0).a; float outAlpha = srcAlpha + dst.a * (1.0 - srcAlpha); gl_FragColor.rgb = (color.rgb * srcAlpha + dst.rgb * dst.a * (1.0 - srcAlpha)) / outAlpha; gl_FragColor.a = outAlpha; }"; + private static final String PAINT_COMPOSITEWITHMASKLIGHT_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; uniform sampler2D mask; uniform vec4 color; void main(void) { vec4 dst = texture2D(texture, varTexcoord.st, 0.0); vec3 maskColor = texture2D(mask, varTexcoord.st, 0.0).rgb; float srcAlpha = clamp(0.78 * maskColor.r + maskColor.b + maskColor.g, 0.0, 1.0); vec3 borderColor = mix(color.rgb, vec3(1.0, 1.0, 1.0), 0.86); vec3 finalColor = mix(color.rgb, borderColor, maskColor.g); finalColor = mix(finalColor.rgb, vec3(1.0, 1.0, 1.0), maskColor.b); float outAlpha = srcAlpha + dst.a * (1.0 - srcAlpha); gl_FragColor.rgb = (finalColor * srcAlpha + dst.rgb * dst.a * (1.0 - srcAlpha)) / outAlpha; gl_FragColor.a = outAlpha; }"; private static final String PAINT_NONPREMULTIPLIEDBLIT_FSH = "precision highp float; varying vec2 varTexcoord; uniform sampler2D texture; void main (void) { gl_FragColor = texture2D(texture, varTexcoord.st, 0.0); }"; private static Map> createMap() { @@ -67,7 +67,7 @@ public class ShaderSet { shader.put(VERTEX, PAINT_BLIT_VSH); shader.put(FRAGMENT, PAINT_COMPOSITEWITHMASK_FSH); shader.put(ATTRIBUTES, new String[]{"inPosition", "inTexcoord"}); - shader.put(UNIFORMS, new String[]{"mvpMatrix", "mask", "color"}); + shader.put(UNIFORMS, new String[]{"mvpMatrix", "texture", "mask", "color"}); result.put("compositeWithMask", Collections.unmodifiableMap(shader)); shader = new HashMap<>(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Slice.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Slice.java index 68ad7db41..c2d05b1d7 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Slice.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Slice.java @@ -84,8 +84,7 @@ public class Slice { if (inflater.finished()) { break; - } - else if (inflater.needsInput()) { + } else if (inflater.needsInput()) { continue; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Texture.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Texture.java index 78262d5bd..8ad83be74 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Texture.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Texture.java @@ -6,6 +6,8 @@ import android.opengl.GLUtils; import org.telegram.ui.Components.Size; +import java.nio.ByteBuffer; + public class Texture { private Bitmap bitmap; @@ -48,18 +50,17 @@ public class Texture { GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texture); - boolean mipMappable = false; //isPOT(bitmap.getWidth()) && isPOT(bitmap.getHeight()); GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE); GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR); - GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, mipMappable ? GLES20.GL_LINEAR_MIPMAP_LINEAR : GLES20.GL_LINEAR); + GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR); GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0); + int px = bitmap.getPixel(0, 0); - if (mipMappable) { - GLES20.glGenerateMipmap(GLES20.GL_TEXTURE_2D); - } + ByteBuffer buffer = ByteBuffer.allocateDirect(4); //fix for android 9.0 + buffer.putInt(px).position(0); + GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, 1, 1, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); Utils.HasGLError(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/UndoStore.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/UndoStore.java index 0851fcc25..e33fd81d3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/UndoStore.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/UndoStore.java @@ -63,12 +63,9 @@ public class UndoStore { } private void notifyOfHistoryChanges() { - AndroidUtilities.runOnUIThread(new Runnable() { - @Override - public void run() { - if (delegate != null) { - delegate.historyChanged(); - } + AndroidUtilities.runOnUIThread(() -> { + if (delegate != null) { + delegate.historyChanged(); } }); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/ColorPicker.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/ColorPicker.java index 60c9eb9f9..cdf51c185 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/ColorPicker.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/ColorPicker.java @@ -76,7 +76,7 @@ public class ColorPicker extends FrameLayout { private RectF rectF = new RectF(); private float location; - private float weight = 0.27f; + private float weight = 0.016773745f; private float draggingFactor; private boolean dragging; @@ -91,7 +91,7 @@ public class ColorPicker extends FrameLayout { settingsButton = new ImageView(context); settingsButton.setScaleType(ImageView.ScaleType.CENTER); settingsButton.setImageResource(R.drawable.photo_paint_brush); - addView(settingsButton, LayoutHelper.createFrame(60, 52)); + addView(settingsButton, LayoutHelper.createFrame(46, 52)); settingsButton.setOnClickListener(v -> { if (delegate != null) { delegate.onSettingsPressed(); @@ -101,7 +101,7 @@ public class ColorPicker extends FrameLayout { undoButton = new ImageView(context); undoButton.setScaleType(ImageView.ScaleType.CENTER); undoButton.setImageResource(R.drawable.photo_undo); - addView(undoButton, LayoutHelper.createFrame(60, 52)); + addView(undoButton, LayoutHelper.createFrame(46, 52)); undoButton.setOnClickListener(v -> { if (delegate != null) { delegate.onUndoPressed(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EditTextOutline.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EditTextOutline.java index 4666c30ca..8e5e78cc5 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EditTextOutline.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EditTextOutline.java @@ -1,33 +1,44 @@ package org.telegram.ui.Components.Paint.Views; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; +import android.graphics.Path; import android.graphics.PorterDuff; +import android.graphics.RectF; +import android.text.InputType; import android.text.Layout; import android.text.StaticLayout; import android.text.TextPaint; -import android.widget.EditText; -public class EditTextOutline extends EditText { +import org.telegram.messenger.AndroidUtilities; +import org.telegram.ui.Components.EditTextBoldCursor; - private final Canvas mCanvas = new Canvas(); - private final TextPaint mPaint = new TextPaint(); +public class EditTextOutline extends EditTextBoldCursor { + + private Canvas mCanvas = new Canvas(); + private TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); + private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private Bitmap mCache; private boolean mUpdateCachedBitmap; private int mStrokeColor; private float mStrokeWidth; + private int mFrameColor; + private Path path = new Path(); + private RectF rect = new RectF(); + private float[] lines; public EditTextOutline(Context context) { super(context); mStrokeColor = Color.TRANSPARENT; + setInputType(getInputType() | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); mUpdateCachedBitmap = true; - mPaint.setAntiAlias(true); - mPaint.setStyle(Paint.Style.FILL_AND_STROKE); + textPaint.setStyle(Paint.Style.FILL_AND_STROKE); } protected void onTextChanged(CharSequence text, int start, int before, int after) { @@ -39,6 +50,9 @@ public class EditTextOutline extends EditText { super.onSizeChanged(w, h, oldw, oldh); if (w > 0 && h > 0) { mUpdateCachedBitmap = true; + if (mCache != null) { + mCache.recycle(); + } mCache = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); } else { mCache = null; @@ -46,17 +60,43 @@ public class EditTextOutline extends EditText { } public void setStrokeColor(int strokeColor) { - this.mStrokeColor = strokeColor; + mStrokeColor = strokeColor; + mUpdateCachedBitmap = true; + invalidate(); + } + + public void setFrameColor(int frameColor) { + if (mFrameColor == 0 && frameColor != 0) { + setPadding(AndroidUtilities.dp(7 + 12), AndroidUtilities.dp(7), AndroidUtilities.dp(7 + 12), AndroidUtilities.dp(7)); + setCursorColor(0xff000000); + } else if (mFrameColor != 0 && frameColor == 0) { + setPadding(AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7)); + setCursorColor(0xffffffff); + } + mFrameColor = frameColor; + + if (mFrameColor != 0) { + float lightness = AndroidUtilities.computePerceivedBrightness(mFrameColor); + if (lightness == 0) { + lightness = Color.red(mFrameColor) / 255.0f; + } + if (lightness > 0.87) { + setTextColor(0xff000000); + } else { + setTextColor(0xffffffff); + } + } mUpdateCachedBitmap = true; invalidate(); } public void setStrokeWidth(float strokeWidth) { - this.mStrokeWidth = strokeWidth; + mStrokeWidth = strokeWidth; mUpdateCachedBitmap = true; invalidate(); } + @SuppressLint("DrawAllocation") protected void onDraw(Canvas canvas) { if (mCache != null && mStrokeColor != Color.TRANSPARENT) { if (mUpdateCachedBitmap) { @@ -67,24 +107,159 @@ public class EditTextOutline extends EditText { mCanvas.setBitmap(mCache); mCanvas.drawColor(0, PorterDuff.Mode.CLEAR); - float strokeWidth = mStrokeWidth > 0 ? mStrokeWidth : (float)Math.ceil(getTextSize() / 11.5f); - mPaint.setStrokeWidth(strokeWidth); - mPaint.setColor(mStrokeColor); - mPaint.setTextSize(getTextSize()); - mPaint.setTypeface(getTypeface()); - mPaint.setStyle(Paint.Style.FILL_AND_STROKE); + float strokeWidth = mStrokeWidth > 0 ? mStrokeWidth : (float) Math.ceil(getTextSize() / 11.5f); + textPaint.setStrokeWidth(strokeWidth); + textPaint.setColor(mStrokeColor); + textPaint.setTextSize(getTextSize()); + textPaint.setTypeface(getTypeface()); + textPaint.setStyle(Paint.Style.FILL_AND_STROKE); - StaticLayout sl = new StaticLayout(text, mPaint, w, Layout.Alignment.ALIGN_CENTER, 1, 0, true); + StaticLayout sl = new StaticLayout(text, textPaint, w, Layout.Alignment.ALIGN_CENTER, 1, 0, true); mCanvas.save(); - float a = (h - getPaddingTop() - getPaddingBottom() - sl.getHeight()) / 2.0f; - mCanvas.translate(getPaddingLeft(), a + getPaddingTop()); + float ty = (h - getPaddingTop() - getPaddingBottom() - sl.getHeight()) / 2.0f; + mCanvas.translate(getPaddingLeft(), ty + getPaddingTop()); sl.draw(mCanvas); mCanvas.restore(); mUpdateCachedBitmap = false; } - canvas.drawBitmap(mCache, 0, 0, mPaint); + canvas.drawBitmap(mCache, 0, 0, textPaint); + } + if (mFrameColor != 0) { + paint.setColor(mFrameColor); + Layout sl = getLayout(); + if (lines == null || lines.length != sl.getLineCount()) { + lines = new float[sl.getLineCount()]; + } + float rad = AndroidUtilities.dp(6); + float padding = AndroidUtilities.dp(6); + float inset = AndroidUtilities.dp(26); + for (int a = 0; a < lines.length; a++) { + float w = (float) Math.ceil(sl.getLineRight(a) - sl.getLineLeft(a)); + if (w > AndroidUtilities.dp(1)) { + lines[a] = w + padding * 2; + } else { + lines[a] = 0; + } + } + boolean hasChanges; + do { + hasChanges = false; + for (int a = 1; a < lines.length; a++) { + if (lines[a] == 0) { + continue; + } + float diff = lines[a] - lines[a - 1]; + if (diff > 0) { + if (diff < inset) { + lines[a - 1] = lines[a]; + hasChanges = true; + } else if (diff < rad * 4) { + lines[a] += Math.ceil(rad * 4 - diff); + hasChanges = true; + } + } else if (diff < 0) { + if (-diff < inset) { + lines[a] = lines[a - 1]; + hasChanges = true; + } else if (-diff < rad * 4) { + lines[a - 1] += Math.ceil(rad * 4 + diff); + hasChanges = true; + } + } + } + } while (hasChanges); + int cx = getMeasuredWidth() / 2; + float cx1, cx2; + float top = (getMeasuredHeight() - sl.getHeight()) / 2; + for (int a = 0; a < lines.length; a++) { + int h = (sl.getLineBottom(a) - sl.getLineTop(a)) - (a != lines.length - 1 ? AndroidUtilities.dp(1) : 0) + (a != 0 ? AndroidUtilities.dp(1) : 0); + if (lines[a] <= padding * 2) { + top += h; + continue; + } + boolean topLess = a > 0 && lines[a - 1] > lines[a] && lines[a - 1] > padding * 2; + boolean bottomLess = a + 1 < lines.length && lines[a + 1] > lines[a] && lines[a + 1] > padding * 2; + boolean drawTop = a == 0 || lines[a - 1] != lines[a]; + boolean drawBottom = a == lines.length - 1 || lines[a] != lines[a + 1]; + + path.reset(); + + if (a != 0) { + top -= 1; + h += 1; + } + float bottom = (float) Math.ceil(top + h); + + cx1 = cx - lines[a] / 2 + rad; + cx2 = cx + lines[a] / 2 - rad; + + path.moveTo(cx1, top); + + if (drawTop) { + if (topLess) { + path.lineTo(cx2 + rad * 2, top); + rect.set(cx2 + rad, top, cx2 + rad * 3, top + rad * 2); + path.arcTo(rect, 270, -90, false); + } else { + path.lineTo(cx2, top); + rect.set(cx2 - rad, top, cx2 + rad, top + rad * 2); + path.arcTo(rect, 270, 90, false); + } + } else { + path.lineTo(cx2 + rad, top); + } + + path.lineTo(cx2 + rad, bottom - rad); + + if (drawBottom) { + if (bottomLess) { + rect.set(cx2 + rad, bottom - rad * 2, cx2 + rad * 3, bottom); + path.arcTo(rect, 180, -90, false); + path.lineTo(cx1 - rad * 2, bottom); + } else { + rect.set(cx2 - rad, bottom - rad * 2, cx2 + rad, bottom); + path.arcTo(rect, 0, 90, false); + path.lineTo(cx1, bottom); + } + + if (bottomLess) { + rect.set(cx1 - rad * 3, bottom - rad * 2, cx1 - rad, bottom); + path.arcTo(rect, 90, -90, false); + } else { + rect.set(cx1 - rad, bottom - rad * 2, cx1 + rad, bottom); + path.arcTo(rect, 90, 90, false); + } + } else { + path.lineTo(cx2 + rad, bottom); + path.lineTo(cx1 - rad, bottom); + } + + path.lineTo(cx1 - rad, top - rad); + + if (drawTop) { + if (topLess) { + rect.set(cx1 - rad * 3, top, cx1 - rad, top + rad * 2); + path.arcTo(rect, 0, -90, false); + } else { + rect.set(cx1 - rad, top, cx1 + rad, top + rad * 2); + path.arcTo(rect, 180, 90, false); + } + } else { + path.lineTo(cx1 - rad, top); + } + + path.close(); + + canvas.drawPath(path, paint); + + if (a != 0) { + top += 1; + h -= 1; + } + top += h; + } } super.onDraw(canvas); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntitiesContainerView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntitiesContainerView.java index ab45f3285..76ac66549 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntitiesContainerView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntitiesContainerView.java @@ -60,13 +60,11 @@ public class EntitiesContainerView extends FrameLayout implements ScaleGestureDe return false; } - if (event.getPointerCount() == 1) - { + if (event.getPointerCount() == 1) { int action = event.getActionMasked(); if (action == MotionEvent.ACTION_DOWN) { hasTransformed = false; - } - else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_MOVE) { + } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_MOVE) { if (!hasTransformed && delegate != null) { delegate.onEntityDeselect(); } @@ -123,4 +121,15 @@ public class EntitiesContainerView extends FrameLayout implements ScaleGestureDe public void onRotationEnd(RotationGestureDetector rotationDetector) { } + + @Override + protected void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed) { + if (child instanceof TextPaintView) { + final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams(); + final int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec, getPaddingLeft() + getPaddingRight() + lp.leftMargin + lp.rightMargin + widthUsed, lp.width); + child.measure(childWidthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); + } else { + super.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec, heightUsed); + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntityView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntityView.java index c115558bd..0727a7578 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntityView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/EntityView.java @@ -33,12 +33,9 @@ public class EntityView extends FrameLayout { private EntityViewDelegate delegate; - protected Point position = new Point(); + protected Point position; protected SelectionView selectionView; - private int offsetX; - private int offsetY; - private GestureDetector gestureDetector; private UUID uuid; @@ -90,11 +87,6 @@ public class EntityView extends FrameLayout { delegate = entityViewDelegate; } - public void setOffset(int x, int y) { - offsetX = x; - offsetY = y; - } - @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return delegate.allowInteraction(this); @@ -102,11 +94,12 @@ public class EntityView extends FrameLayout { private boolean onTouchMove(float x, float y) { float scale = ((View) getParent()).getScaleX(); - Point translation = new Point((x - previousLocationX) / scale, (y - previousLocationY) / scale); - float distance = (float) Math.hypot(translation.x, translation.y); + float tx = (x - previousLocationX) / scale; + float ty = (y - previousLocationY) / scale; + float distance = (float) Math.hypot(tx, ty); float minDistance = hasPanned ? 6 : 16; if (distance > minDistance) { - pan(translation); + pan(tx, ty); previousLocationX = x; previousLocationY = y; hasPanned = true; @@ -170,22 +163,21 @@ public class EntityView extends FrameLayout { return handled; } - public void pan(Point translation) { - position.x += translation.x; - position.y += translation.y; + public void pan(float tx, float ty) { + position.x += tx; + position.y += ty; updatePosition(); } protected void updatePosition() { - float halfWidth = getWidth() / 2.0f; - float halfHeight = getHeight() / 2.0f; + float halfWidth = getMeasuredWidth() / 2.0f; + float halfHeight = getMeasuredHeight() / 2.0f; setX(position.x - halfWidth); setY(position.y - halfHeight); updateSelectionView(); } public void scale(float scale) { - float newScale = Math.max(getScale() * scale, 0.1f); setScale(newScale); updateSelectionView(); @@ -265,8 +257,8 @@ public class EntityView extends FrameLayout { protected void updatePosition() { Rect bounds = getSelectionBounds(); LayoutParams layoutParams = (LayoutParams) getLayoutParams(); - layoutParams.leftMargin = (int)bounds.x + offsetX; - layoutParams.topMargin = (int)bounds.y + offsetY; + layoutParams.leftMargin = (int) bounds.x; + layoutParams.topMargin = (int) bounds.y; layoutParams.width = (int) bounds.width; layoutParams.height = (int) bounds.height; setLayoutParams(layoutParams); @@ -304,36 +296,40 @@ public class EntityView extends FrameLayout { handled = onTouchMove(x, y); } else if (currentHandle != 0) { - hasTransformed = true; - Point translation = new Point(event.getRawX() - previousLocationX, event.getRawY() - previousLocationY); - float radAngle = (float) Math.toRadians(getRotation()); - float delta = (float) (translation.x * Math.cos(radAngle) + translation.y * Math.sin(radAngle)); - if (currentHandle == SELECTION_LEFT_HANDLE) { - delta *= -1; + float tx = event.getRawX() - previousLocationX; + float ty = event.getRawY() - previousLocationY; + + if (hasTransformed || Math.abs(tx) > AndroidUtilities.dp(2) || Math.abs(ty) > AndroidUtilities.dp(2)) { + hasTransformed = true; + float radAngle = (float) Math.toRadians(getRotation()); + float delta = (float) (tx * Math.cos(radAngle) + ty * Math.sin(radAngle)); + if (currentHandle == SELECTION_LEFT_HANDLE) { + delta *= -1; + } + + float scaleDelta = 1 + (delta * 2) / getMeasuredWidth(); + scale(scaleDelta); + + float centerX = getLeft() + getMeasuredWidth() / 2; + float centerY = getTop() + getMeasuredHeight() / 2; + + float parentX = event.getRawX() - ((View) getParent()).getLeft(); + float parentY = event.getRawY() - ((View) getParent()).getTop(); + + float angle = 0; + if (currentHandle == SELECTION_LEFT_HANDLE) { + angle = (float) Math.atan2(centerY - parentY, centerX - parentX); + } else if (currentHandle == SELECTION_RIGHT_HANDLE) { + angle = (float) Math.atan2(parentY - centerY, parentX - centerX); + } + + rotate((float) Math.toDegrees(angle)); + + previousLocationX = event.getRawX(); + previousLocationY = event.getRawY(); } - float scaleDelta = 1 + (delta * 2) / getWidth(); - scale(scaleDelta); - - float centerX = getLeft() + getWidth() / 2; - float centerY = getTop() + getHeight() / 2; - - float parentX = event.getRawX() - ((View) getParent()).getLeft(); - float parentY = event.getRawY() - ((View) getParent()).getTop() - AndroidUtilities.statusBarHeight; - - float angle = 0; - if (currentHandle == SELECTION_LEFT_HANDLE) { - angle = (float) Math.atan2(centerY - parentY, centerX - parentX); - } else if (currentHandle == SELECTION_RIGHT_HANDLE) { - angle = (float) Math.atan2(parentY - centerY, parentX - centerX); - } - - rotate((float) Math.toDegrees(angle)); - - previousLocationX = event.getRawX(); - previousLocationY = event.getRawY(); - handled = true; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/StickerView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/StickerView.java index afe5da956..38fd66413 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/StickerView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/StickerView.java @@ -1,7 +1,6 @@ package org.telegram.ui.Components.Paint.Views; import android.content.Context; -import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; @@ -15,6 +14,7 @@ import org.telegram.messenger.ImageReceiver; import org.telegram.tgnet.TLRPC; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.Point; +import org.telegram.ui.Components.RLottieDrawable; import org.telegram.ui.Components.Rect; import org.telegram.ui.Components.Size; @@ -57,8 +57,9 @@ public class StickerView extends EntityView { for (int a = 0; a < sticker.attributes.size(); a++) { TLRPC.DocumentAttribute attribute = sticker.attributes.get(a); if (attribute instanceof TLRPC.TL_documentAttributeSticker) { - if (attribute.mask_coords != null) + if (attribute.mask_coords != null) { anchor = attribute.mask_coords.n; + } break; } } @@ -82,6 +83,18 @@ public class StickerView extends EntityView { } } + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + centerImage.onDetachedFromWindow(); + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + centerImage.onAttachedToWindow(); + } + public int getAnchor() { return anchor; } @@ -91,6 +104,10 @@ public class StickerView extends EntityView { containerView.invalidate(); } + public boolean isMirrored() { + return mirrored; + } + protected void updatePosition() { float halfWidth = baseSize.width / 2.0f; float halfHeight = baseSize.height / 2.0f; @@ -105,18 +122,23 @@ public class StickerView extends EntityView { } canvas.save(); - Bitmap bitmap = centerImage.getBitmap(); - if (bitmap != null) { - if (mirrored) { - canvas.scale(-1.0f, 1.0f); - canvas.translate(-baseSize.width, 0); - } - centerImage.setImageCoords(0, 0, (int) baseSize.width, (int) baseSize.height); - centerImage.draw(canvas); + if (mirrored) { + canvas.scale(-1.0f, 1.0f); + canvas.translate(-baseSize.width, 0); } + centerImage.setImageCoords(0, 0, (int) baseSize.width, (int) baseSize.height); + centerImage.draw(canvas); canvas.restore(); } + public long getDuration() { + RLottieDrawable drawable = centerImage.getLottieAnimation(); + if (drawable == null) { + return 0; + } + return drawable.getDuration(); + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(MeasureSpec.makeMeasureSpec((int) baseSize.width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) baseSize.height, MeasureSpec.EXACTLY)); @@ -127,7 +149,7 @@ public class StickerView extends EntityView { ViewGroup parentView = (ViewGroup) getParent(); float scale = parentView.getScaleX(); - float side = getWidth() * (getScale() + 0.4f); + float side = getMeasuredWidth() * (getScale() + 0.4f); return new Rect((position.x - side / 2.0f) * scale, (position.y - side / 2.0f) * scale, side * scale, side * scale); } @@ -140,6 +162,14 @@ public class StickerView extends EntityView { return sticker; } + public Object getParentObject() { + return parentObject; + } + + public Size getBaseSize() { + return baseSize; + } + public class StickerViewSelectionView extends SelectionView { private Paint arcPaint = new Paint(Paint.ANTI_ALIAS_FLAG); @@ -159,15 +189,15 @@ public class StickerView extends EntityView { float radius = AndroidUtilities.dp(19.5f); float inset = radius + thickness; - float middle = inset + (getHeight() - inset * 2) / 2.0f; + float middle = inset + (getMeasuredHeight() - inset * 2) / 2.0f; if (x > inset - radius && y > middle - radius && x < inset + radius && y < middle + radius) { return SELECTION_LEFT_HANDLE; - } else if (x > inset + (getWidth() - inset * 2) - radius && y > middle - radius && x < inset + (getWidth() - inset * 2) + radius && y < middle + radius) { + } else if (x > inset + (getMeasuredWidth() - inset * 2) - radius && y > middle - radius && x < inset + (getMeasuredWidth() - inset * 2) + radius && y < middle + radius) { return SELECTION_RIGHT_HANDLE; } - float selectionRadius = getWidth() / 2.0f; + float selectionRadius = getMeasuredWidth() / 2.0f; if (Math.pow(x - selectionRadius, 2) + Math.pow(y - selectionRadius, 2) < Math.pow(selectionRadius, 2)) { return SELECTION_WHOLE_HANDLE; @@ -184,7 +214,7 @@ public class StickerView extends EntityView { float radius = AndroidUtilities.dp(4.5f); float inset = radius + thickness + AndroidUtilities.dp(15); - float mainRadius = getWidth() / 2 - inset; + float mainRadius = getMeasuredWidth() / 2 - inset; float space = 4.0f; float length = 4.0f; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/TextPaintView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/TextPaintView.java index d358f037e..5a50cb4ae 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/TextPaintView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/TextPaintView.java @@ -24,10 +24,10 @@ public class TextPaintView extends EntityView { private EditTextOutline editText; private Swatch swatch; - private boolean stroke; + private int currentType; private int baseFontSize; - public TextPaintView(Context context, Point position, int fontSize, String text, Swatch swatch, boolean stroke) { + public TextPaintView(Context context, Point position, int fontSize, String text, Swatch swatch, int type) { super(context, position); baseFontSize = fontSize; @@ -37,6 +37,7 @@ public class TextPaintView extends EntityView { editText.setPadding(AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7)); editText.setClickable(false); editText.setEnabled(false); + editText.setCursorColor(0xffffffff); editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, baseFontSize); editText.setText(text); editText.setTextColor(swatch.color); @@ -53,7 +54,7 @@ public class TextPaintView extends EntityView { } setSwatch(swatch); - setStroke(stroke); + setType(type); updatePosition(); @@ -87,7 +88,7 @@ public class TextPaintView extends EntityView { } public TextPaintView(Context context, TextPaintView textPaintView, Point position) { - this(context, position, textPaintView.baseFontSize, textPaintView.getText(), textPaintView.getSwatch(), textPaintView.stroke); + this(context, position, textPaintView.baseFontSize, textPaintView.getText(), textPaintView.getSwatch(), textPaintView.currentType); setRotation(textPaintView.getRotation()); setScale(textPaintView.getScale()); } @@ -119,6 +120,7 @@ public class TextPaintView extends EntityView { editText.setClickable(true); editText.requestFocus(); editText.setSelection(editText.getText().length()); + AndroidUtilities.runOnUIThread(() -> AndroidUtilities.showKeyboard(editText), 300); } public void endEditing() { @@ -132,25 +134,40 @@ public class TextPaintView extends EntityView { return swatch; } + public int getTextSize() { + return (int) editText.getTextSize(); + } + public void setSwatch(Swatch swatch) { this.swatch = swatch; updateColor(); } - public void setStroke(boolean stroke) { - this.stroke = stroke; + public void setType(int type) { + currentType = type; updateColor(); } + public int getType() { + return currentType; + } + private void updateColor() { - if (stroke) { + if (currentType == 0) { editText.setTextColor(0xffffffff); editText.setStrokeColor(swatch.color); + editText.setFrameColor(0); editText.setShadowLayer(0, 0, 0, 0); - } else { + } else if (currentType == 1) { editText.setTextColor(swatch.color); - editText.setStrokeColor(Color.TRANSPARENT); - editText.setShadowLayer(8, 0, 2, 0xaa000000); + editText.setStrokeColor(0); + editText.setFrameColor(0); + editText.setShadowLayer(5, 0, 1, 0x66000000); + } else if (currentType == 2) { + editText.setTextColor(0xff000000); + editText.setStrokeColor(0); + editText.setFrameColor(swatch.color); + editText.setShadowLayer(0, 0, 0, 0); } } @@ -158,8 +175,8 @@ public class TextPaintView extends EntityView { protected Rect getSelectionBounds() { ViewGroup parentView = (ViewGroup) getParent(); float scale = parentView.getScaleX(); - float width = getWidth() * (getScale()) + AndroidUtilities.dp(46) / scale; - float height = getHeight() * (getScale()) + AndroidUtilities.dp(20) / scale; + float width = (getMeasuredWidth() - (currentType == 2 ? AndroidUtilities.dp(24) : 0)) * getScale() + AndroidUtilities.dp(46) / scale; + float height = getMeasuredHeight() * getScale() + AndroidUtilities.dp(20) / scale; return new Rect((position.x - width / 2.0f) * scale, (position.y - height / 2.0f) * scale, width * scale, height * scale); } @@ -179,8 +196,8 @@ public class TextPaintView extends EntityView { float radius = AndroidUtilities.dp(19.5f); float inset = radius + thickness; - float width = getWidth() - inset * 2; - float height = getHeight() - inset * 2; + float width = getMeasuredWidth() - inset * 2; + float height = getMeasuredHeight() - inset * 2; float middle = inset + height / 2.0f; @@ -208,8 +225,8 @@ public class TextPaintView extends EntityView { float inset = radius + thickness + AndroidUtilities.dp(15); - float width = getWidth() - inset * 2; - float height = getHeight() - inset * 2; + float width = getMeasuredWidth() - inset * 2; + float height = getMeasuredHeight() - inset * 2; int xCount = (int) (Math.floor(width / (space + length))); float xGap = (float) Math.ceil(((width - xCount * (space + length)) + space) / 2.0f); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/PaintingOverlay.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/PaintingOverlay.java new file mode 100644 index 000000000..ef48e17e4 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/PaintingOverlay.java @@ -0,0 +1,240 @@ +package org.telegram.ui.Components; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Typeface; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.text.Layout; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.inputmethod.EditorInfo; +import android.widget.FrameLayout; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.FileLoader; +import org.telegram.messenger.ImageLocation; +import org.telegram.messenger.ImageReceiver; +import org.telegram.messenger.VideoEditedInfo; +import org.telegram.tgnet.TLRPC; +import org.telegram.ui.Components.Paint.Views.EditTextOutline; + +import java.util.ArrayList; + +public class PaintingOverlay extends FrameLayout { + + private Bitmap paintBitmap; + private ArrayList mediaEntities; + private boolean ignoreLayout; + private Drawable backgroundDrawable; + + public PaintingOverlay(Context context) { + super(context); + } + + public void setData(String paintPath, ArrayList entities, boolean isVideo, boolean startAfterSet) { + if (paintPath != null) { + paintBitmap = BitmapFactory.decodeFile(paintPath); + setBackground(backgroundDrawable = new BitmapDrawable(paintBitmap)); + } else { + paintBitmap = null; + setBackground(backgroundDrawable = null); + } + setEntities(entities, isVideo, startAfterSet); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + ignoreLayout = true; + setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec)); + if (mediaEntities != null) { + int width = getMeasuredWidth(); + int height = getMeasuredHeight(); + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.view == null) { + continue; + } + if (entity.view instanceof EditTextOutline) { + entity.view.measure(MeasureSpec.makeMeasureSpec(entity.viewWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); + float sc = entity.textViewWidth * width / entity.viewWidth; + entity.view.setScaleX(entity.scale * sc); + entity.view.setScaleY(entity.scale * sc); + } else { + entity.view.measure(MeasureSpec.makeMeasureSpec((int) (width * entity.width), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) (height * entity.height), MeasureSpec.EXACTLY)); + } + } + } + ignoreLayout = false; + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + return false; + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + return false; + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + return false; + } + + @Override + public void requestLayout() { + if (ignoreLayout) { + return; + } + super.requestLayout(); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + if (mediaEntities != null) { + int width = getMeasuredWidth(); + int height = getMeasuredHeight(); + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.view == null) { + continue; + } + int x; + int y; + if (entity.view instanceof EditTextOutline) { + x = (int) (width * entity.textViewX) - entity.view.getMeasuredWidth() / 2; + y = (int) (height * entity.textViewY) - entity.view.getMeasuredHeight() / 2; + } else { + x = (int) (width * entity.x); + y = (int) (height * entity.y); + } + entity.view.layout(x, y, x + entity.view.getMeasuredWidth(), y + entity.view.getMeasuredHeight()); + } + } + } + + public void showAll() { + int count = getChildCount(); + for (int a = 0; a < count; a++) { + getChildAt(a).setVisibility(VISIBLE); + } + setBackground(backgroundDrawable); + } + + public void hideEntities() { + int count = getChildCount(); + for (int a = 0; a < count; a++) { + getChildAt(a).setVisibility(INVISIBLE); + } + } + + public void hideBitmap() { + setBackground(null); + } + + public void setEntities(ArrayList entities, boolean isVideo, boolean startAfterSet) { + mediaEntities = entities; + removeAllViews(); + if (entities != null && !entities.isEmpty()) { + for (int a = 0, N = mediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = mediaEntities.get(a); + if (entity.type == 0) { + BackupImageView imageView = new BackupImageView(getContext()); + imageView.setAspectFit(true); + ImageReceiver imageReceiver = imageView.getImageReceiver(); + if (isVideo) { + imageReceiver.setAllowDecodeSingleFrame(true); + imageReceiver.setAllowStartLottieAnimation(false); + if (startAfterSet) { + imageReceiver.setDelegate((imageReceiver1, set, thumb, memCache) -> { + if (set && !thumb) { + RLottieDrawable drawable = imageReceiver1.getLottieAnimation(); + if (drawable != null) { + drawable.start(); + } + } + }); + } + } + TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(entity.document.thumbs, 90); + imageReceiver.setImage(ImageLocation.getForDocument(entity.document), null, ImageLocation.getForDocument(thumb, entity.document), null, "webp", entity.parentObject, 1); + if ((entity.subType & 2) != 0) { + imageView.setScaleX(-1); + } + entity.view = imageView; + } else if (entity.type == 1) { + EditTextOutline editText = new EditTextOutline(getContext()) { + @Override + public boolean dispatchTouchEvent(MotionEvent event) { + return false; + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + return false; + } + }; + editText.setBackgroundColor(Color.TRANSPARENT); + editText.setPadding(AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7), AndroidUtilities.dp(7)); + editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, entity.fontSize); + editText.setText(entity.text); + editText.setTypeface(null, Typeface.BOLD); + editText.setGravity(Gravity.CENTER); + editText.setHorizontallyScrolling(false); + editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); + editText.setFocusableInTouchMode(true); + editText.setEnabled(false); + editText.setInputType(editText.getInputType() | EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES); + if (Build.VERSION.SDK_INT >= 23) { + editText.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE); + } + if ((entity.subType & 1) != 0) { + editText.setTextColor(0xffffffff); + editText.setStrokeColor(entity.color); + editText.setFrameColor(0); + editText.setShadowLayer(0, 0, 0, 0); + } else if ((entity.subType & 4) != 0) { + editText.setTextColor(0xff000000); + editText.setStrokeColor(0); + editText.setFrameColor(entity.color); + editText.setShadowLayer(0, 0, 0, 0); + } else { + editText.setTextColor(entity.color); + editText.setStrokeColor(0); + editText.setFrameColor(0); + editText.setShadowLayer(5, 0, 1, 0x66000000); + } + entity.view = editText; + } + addView(entity.view); + entity.view.setRotation((float) (-entity.rotation / Math.PI * 180)); + } + } + } + + public void setBitmap(Bitmap bitmap) { + setBackground(backgroundDrawable = new BitmapDrawable(paintBitmap = bitmap)); + } + + public Bitmap getBitmap() { + return paintBitmap; + } + + public Bitmap getThumb() { + float w = getMeasuredWidth(); + float h = getMeasuredHeight(); + float scale = Math.max(w / AndroidUtilities.dp(120), h / AndroidUtilities.dp(120)); + Bitmap bitmap = Bitmap.createBitmap((int) (w / scale), (int) (h / scale), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + canvas.scale(1.0f / scale, 1.0f / scale); + draw(canvas); + return bitmap; + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoCropView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoCropView.java index 0ecab1ebd..71f52deb0 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoCropView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoCropView.java @@ -15,6 +15,7 @@ import android.view.Gravity; import android.widget.FrameLayout; import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.MediaController; import org.telegram.ui.Components.Crop.CropRotationWheel; import org.telegram.ui.Components.Crop.CropView; @@ -90,10 +91,10 @@ public class PhotoCropView extends FrameLayout { cropView.rotate90Degrees(); } - public void setBitmap(Bitmap bitmap, int rotation, boolean freeform, boolean update) { + public void setBitmap(Bitmap bitmap, int rotation, boolean freeform, boolean update, PaintingOverlay paintingOverlay) { requestLayout(); - cropView.setBitmap(bitmap, rotation, freeform, update); + cropView.setBitmap(bitmap, rotation, freeform, update, paintingOverlay); if (showOnSetBitmap) { showOnSetBitmap = false; @@ -164,11 +165,8 @@ public class PhotoCropView extends FrameLayout { return cropView.getCropHeight(); } - public Bitmap getBitmap() { - if (cropView != null) { - return cropView.getResult(); - } - return null; + public Bitmap getBitmap(MediaController.MediaEditState editState) { + return cropView.getResult(editState); } public void setDelegate(PhotoCropViewDelegate delegate) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterBlurControl.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterBlurControl.java index c7c22fc24..3c834fc0d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterBlurControl.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterBlurControl.java @@ -200,12 +200,13 @@ public class PhotoFilterBlurControl extends FrameLayout { float locationX = event.getX(); float locationY = event.getY(); Point actualCenterPoint = getActualCenterPoint(); - Point delta = new Point(locationX - actualCenterPoint.x, locationY - actualCenterPoint.y); - float radialDistance = (float) Math.sqrt(delta.x * delta.x + delta.y * delta.y); - float shorterSide = (actualAreaSize.width > actualAreaSize.height) ? actualAreaSize.height : actualAreaSize.width; + float dx = locationX - actualCenterPoint.x; + float dy = locationY - actualCenterPoint.y; + float radialDistance = (float) Math.sqrt(dx * dx + dy * dy); + float shorterSide = Math.min(actualAreaSize.width, actualAreaSize.height); float innerRadius = shorterSide * falloff; float outerRadius = shorterSide * size; - float distance = (float) Math.abs(delta.x * Math.cos(degreesToRadians(angle) + Math.PI / 2.0f) + delta.y * Math.sin(degreesToRadians(angle) + Math.PI / 2.0f)); + float distance = (float) Math.abs(dx * Math.cos(degreesToRadians(angle) + Math.PI / 2.0f) + dy * Math.sin(degreesToRadians(angle) + Math.PI / 2.0f)); switch (state) { case GestureStateBegan: { @@ -255,7 +256,7 @@ public class PhotoFilterBlurControl extends FrameLayout { case BlurViewActiveControlCenter: { float translationX = locationX - pointerStartX; float translationY = locationY - pointerStartY; - Rect actualArea = new Rect((getWidth() - actualAreaSize.width) / 2, (getHeight() - actualAreaSize.height) / 2, actualAreaSize.width, actualAreaSize.height); + Rect actualArea = new Rect((getWidth() - actualAreaSize.width) / 2, (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0) + (getHeight() - actualAreaSize.height) / 2, actualAreaSize.width, actualAreaSize.height); Point newPoint = new Point(Math.max(actualArea.x, Math.min(actualArea.x + actualArea.width, startCenterPoint.x + translationX)), Math.max(actualArea.y, Math.min(actualArea.y + actualArea.height, startCenterPoint.y + translationY))); centerPoint = new Point((newPoint.x - actualArea.x) / actualAreaSize.width, ((newPoint.y - actualArea.y) + (actualAreaSize.width - actualAreaSize.height) / 2) / actualAreaSize.width); } @@ -282,8 +283,9 @@ public class PhotoFilterBlurControl extends FrameLayout { boolean right = locationX > actualCenterPoint.x; boolean bottom = locationY > actualCenterPoint.y; + final boolean b = Math.abs(translationY) > Math.abs(translationX); if (!right && !bottom) { - if (Math.abs(translationY) > Math.abs(translationX)) { + if (b) { if (translationY < 0) { clockwise = true; } @@ -293,7 +295,7 @@ public class PhotoFilterBlurControl extends FrameLayout { } } } else if (right && !bottom) { - if (Math.abs(translationY) > Math.abs(translationX)) { + if (b) { if (translationY > 0) { clockwise = true; } @@ -303,7 +305,7 @@ public class PhotoFilterBlurControl extends FrameLayout { } } } else if (right && bottom) { - if (Math.abs(translationY) > Math.abs(translationX)) { + if (b) { if (translationY > 0) { clockwise = true; } @@ -313,7 +315,7 @@ public class PhotoFilterBlurControl extends FrameLayout { } } } else { - if (Math.abs(translationY) > Math.abs(translationX)) { + if (b) { if (translationY < 0) { clockwise = true; } @@ -340,7 +342,7 @@ public class PhotoFilterBlurControl extends FrameLayout { case BlurViewActiveControlCenter: { float translationX = locationX - pointerStartX; float translationY = locationY - pointerStartY; - Rect actualArea = new Rect((getWidth() - actualAreaSize.width) / 2, (getHeight() - actualAreaSize.height) / 2, actualAreaSize.width, actualAreaSize.height); + Rect actualArea = new Rect((getWidth() - actualAreaSize.width) / 2, (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0) + (getHeight() - actualAreaSize.height) / 2, actualAreaSize.width, actualAreaSize.height); Point newPoint = new Point(Math.max(actualArea.x, Math.min(actualArea.x + actualArea.width, startCenterPoint.x + translationX)), Math.max(actualArea.y, Math.min(actualArea.y + actualArea.height, startCenterPoint.y + translationY))); centerPoint = new Point((newPoint.x - actualArea.x) / actualAreaSize.width, ((newPoint.y - actualArea.y) + (actualAreaSize.width - actualAreaSize.height) / 2) / actualAreaSize.width); } @@ -455,19 +457,23 @@ public class PhotoFilterBlurControl extends FrameLayout { float thickness = AndroidUtilities.dp(1.5f); for (int i = 0; i < 30; i++) { canvas.drawRect(i * (length + space), -innerRadius, i * (length + space) + length, thickness - innerRadius, paint); - canvas.drawRect(-i * (length + space) - space - length, -innerRadius, -i * (length + space) - space, thickness - innerRadius, paint); + float left = -i * (length + space) - space - length; + float right = -i * (length + space) - space; + canvas.drawRect(left, -innerRadius, right, thickness - innerRadius, paint); canvas.drawRect(i * (length + space), innerRadius, length + i * (length + space), thickness + innerRadius, paint); - canvas.drawRect(-i * (length + space) - space - length, innerRadius, -i * (length + space) - space, thickness + innerRadius, paint); + canvas.drawRect(left, innerRadius, right, thickness + innerRadius, paint); } length = AndroidUtilities.dp(6.0f); for (int i = 0; i < 64; i++) { canvas.drawRect(i * (length + space), -outerRadius, length + i * (length + space), thickness - outerRadius, paint); - canvas.drawRect(-i * (length + space) - space - length, -outerRadius, -i * (length + space) - space, thickness - outerRadius, paint); + float left = -i * (length + space) - space - length; + float right = -i * (length + space) - space; + canvas.drawRect(left, -outerRadius, right, thickness - outerRadius, paint); canvas.drawRect(i * (length + space), outerRadius, length + i * (length + space), thickness + outerRadius, paint); - canvas.drawRect(-i * (length + space) - space - length, outerRadius, -i * (length + space) - space, thickness + outerRadius, paint); + canvas.drawRect(left, outerRadius, right, thickness + outerRadius, paint); } } else if (type == 1) { float radSpace = 6.15f; @@ -492,10 +498,10 @@ public class PhotoFilterBlurControl extends FrameLayout { } private float getActualInnerRadius() { - return (actualAreaSize.width > actualAreaSize.height ? actualAreaSize.height : actualAreaSize.width) * falloff; + return (Math.min(actualAreaSize.width, actualAreaSize.height)) * falloff; } private float getActualOuterRadius() { - return (actualAreaSize.width > actualAreaSize.height ? actualAreaSize.height : actualAreaSize.width) * size; + return (Math.min(actualAreaSize.width, actualAreaSize.height)) * size; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterView.java index 6b49f1686..555708eb1 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoFilterView.java @@ -11,15 +11,12 @@ package org.telegram.ui.Components; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; -import android.graphics.Matrix; +import android.graphics.Canvas; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.SurfaceTexture; import android.graphics.drawable.Drawable; -import android.opengl.GLES20; -import android.opengl.GLUtils; import android.os.Build; -import android.os.Looper; import android.util.TypedValue; import android.view.Gravity; import android.view.MotionEvent; @@ -32,55 +29,42 @@ import android.widget.LinearLayout; import android.widget.TextView; import org.telegram.messenger.AndroidUtilities; -import org.telegram.messenger.BuildVars; import org.telegram.messenger.LocaleController; import org.telegram.messenger.MediaController; -import org.telegram.messenger.DispatchQueue; -import org.telegram.messenger.FileLog; import org.telegram.messenger.R; -import org.telegram.messenger.Utilities; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.Cells.PhotoEditRadioCell; import org.telegram.ui.Cells.PhotoEditToolCell; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.nio.FloatBuffer; import java.util.ArrayList; -import java.util.concurrent.CountDownLatch; - -import javax.microedition.khronos.egl.EGL10; -import javax.microedition.khronos.egl.EGLConfig; -import javax.microedition.khronos.egl.EGLContext; -import javax.microedition.khronos.egl.EGLDisplay; -import javax.microedition.khronos.egl.EGLSurface; -import javax.microedition.khronos.opengles.GL; -import javax.microedition.khronos.opengles.GL10; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @SuppressLint("NewApi") -public class PhotoFilterView extends FrameLayout { +public class PhotoFilterView extends FrameLayout implements FilterShaders.FilterShadersDelegate { private final static int curveGranularity = 100; private final static int curveDataStep = 2; private boolean showOriginal; - private int enhanceTool = 0; - private int exposureTool = 1; - private int contrastTool = 2; - private int saturationTool = 3; - private int warmthTool = 4; - private int fadeTool = 5; - private int highlightsTool = 6; - private int shadowsTool = 7; - private int vignetteTool = 8; - private int grainTool = 9; - private int sharpenTool = 10; - private int tintShadowsTool = 11; - private int tintHighlightsTool = 12; + private int enhanceTool; + private int exposureTool; + private int contrastTool; + private int saturationTool; + private int warmthTool; + private int fadeTool; + private int highlightsTool; + private int shadowsTool; + private int vignetteTool; + private int grainTool; + private int sharpenTool; + private int tintShadowsTool; + private int tintHighlightsTool; + private int rowsCount; private float enhanceValue; //0 100 private float exposureValue; //-100 100 @@ -108,7 +92,8 @@ public class PhotoFilterView extends FrameLayout { private TextView doneTextView; private TextView cancelTextView; private TextureView textureView; - private EGLThread eglThread; + private boolean ownsTextureView; + private FilterGLThread eglThread; private RecyclerListView recyclerListView; private FrameLayout blurLayout; private PhotoFilterBlurControl blurControl; @@ -118,6 +103,7 @@ public class PhotoFilterView extends FrameLayout { private TextView blurLinearButton; private FrameLayout curveLayout; private RadioButton[] curveRadioButton = new RadioButton[4]; + private PaintingOverlay paintingOverlay; private int selectedTool; @@ -277,1370 +263,31 @@ public class PhotoFilterView extends FrameLayout { } } - public class EGLThread extends DispatchQueue { - - private final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; - private final int EGL_OPENGL_ES2_BIT = 4; - private SurfaceTexture surfaceTexture; - private EGL10 egl10; - private EGLDisplay eglDisplay; - private EGLConfig eglConfig; - private EGLContext eglContext; - private EGLSurface eglSurface; - private GL gl; - private boolean initied; - private boolean needUpdateBlurTexture = true; - - private Bitmap currentBitmap; - - private int rgbToHsvShaderProgram; - private int rgbToHsvPositionHandle; - private int rgbToHsvInputTexCoordHandle; - private int rgbToHsvSourceImageHandle; - - private int enhanceShaderProgram; - private int enhancePositionHandle; - private int enhanceInputTexCoordHandle; - private int enhanceSourceImageHandle; - private int enhanceIntensityHandle; - private int enhanceInputImageTexture2Handle; - - private int toolsShaderProgram; - private int positionHandle; - private int inputTexCoordHandle; //"varying vec2 texCoord;" + - private int sourceImageHandle; //"uniform sampler2D sourceImage;" + - private int shadowsHandle; //"uniform float shadows;" + - private int highlightsHandle; //"uniform float highlights;" + - private int exposureHandle; //"uniform float exposure;" + - private int contrastHandle; //"uniform float contrast;" + - private int saturationHandle; //"uniform float saturation;" + - private int warmthHandle; //"uniform float warmth;" + - private int vignetteHandle; //"uniform float vignette;" + - private int grainHandle; //"uniform float grain;" + - private int widthHandle; //"uniform float width;" + - private int heightHandle; //"uniform float height;" + - - private int curvesImageHandle; //"uniform sampler2D curvesImage;" + - private int skipToneHandle; //"uniform lowp float skipTone;" + - private int fadeAmountHandle; //"uniform lowp float fadeAmount;" + - private int shadowsTintIntensityHandle; //"uniform lowp float shadowsTintIntensity;" + - private int highlightsTintIntensityHandle; //"uniform lowp float highlightsTintIntensity;" + - private int shadowsTintColorHandle; //"uniform lowp vec3 shadowsTintColor;" + - private int highlightsTintColorHandle; //"uniform lowp vec3 highlightsTintColor;" + - - private int blurShaderProgram; - private int blurPositionHandle; - private int blurInputTexCoordHandle; - private int blurSourceImageHandle; - private int blurWidthHandle; - private int blurHeightHandle; - - private int linearBlurShaderProgram; - private int linearBlurPositionHandle; - private int linearBlurInputTexCoordHandle; - private int linearBlurSourceImageHandle; - private int linearBlurSourceImage2Handle; - private int linearBlurExcludeSizeHandle; - private int linearBlurExcludePointHandle; - private int linearBlurExcludeBlurSizeHandle; - private int linearBlurAngleHandle; - private int linearBlurAspectRatioHandle; - - private int radialBlurShaderProgram; - private int radialBlurPositionHandle; - private int radialBlurInputTexCoordHandle; - private int radialBlurSourceImageHandle; - private int radialBlurSourceImage2Handle; - private int radialBlurExcludeSizeHandle; - private int radialBlurExcludePointHandle; - private int radialBlurExcludeBlurSizeHandle; - private int radialBlurAspectRatioHandle; - - private int sharpenShaderProgram; - private int sharpenHandle; - private int sharpenWidthHandle; - private int sharpenHeightHandle; - private int sharpenPositionHandle; - private int sharpenInputTexCoordHandle; - private int sharpenSourceImageHandle; - - private int simpleShaderProgram; - private int simplePositionHandle; - private int simpleInputTexCoordHandle; - private int simpleSourceImageHandle; - - private int[] enhanceTextures = new int[2]; - private int[] renderTexture = new int[3]; - private int[] renderFrameBuffer = new int[3]; - private int[] curveTextures = new int[1]; - private boolean hsvGenerated; - private int renderBufferWidth; - private int renderBufferHeight; - private volatile int surfaceWidth; - private volatile int surfaceHeight; - - private FloatBuffer vertexBuffer; - private FloatBuffer textureBuffer; - private FloatBuffer vertexInvertBuffer; - - private boolean blured; - - private final static int PGPhotoEnhanceHistogramBins = 256; - private final static int PGPhotoEnhanceSegments = 4; - - private long lastRenderCallTime; - - private static final String radialBlurFragmentShaderCode = - "varying highp vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "uniform sampler2D inputImageTexture2;" + - "uniform lowp float excludeSize;" + - "uniform lowp vec2 excludePoint;" + - "uniform lowp float excludeBlurSize;" + - "uniform highp float aspectRatio;" + - "void main() {" + - "lowp vec4 sharpImageColor = texture2D(sourceImage, texCoord);" + - "lowp vec4 blurredImageColor = texture2D(inputImageTexture2, texCoord);" + - "highp vec2 texCoordToUse = vec2(texCoord.x, (texCoord.y * aspectRatio + 0.5 - 0.5 * aspectRatio));" + - "highp float distanceFromCenter = distance(excludePoint, texCoordToUse);" + - "gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeSize - excludeBlurSize, excludeSize, distanceFromCenter));" + - "}"; - - private static final String linearBlurFragmentShaderCode = - "varying highp vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "uniform sampler2D inputImageTexture2;" + - "uniform lowp float excludeSize;" + - "uniform lowp vec2 excludePoint;" + - "uniform lowp float excludeBlurSize;" + - "uniform highp float angle;" + - "uniform highp float aspectRatio;" + - "void main() {" + - "lowp vec4 sharpImageColor = texture2D(sourceImage, texCoord);" + - "lowp vec4 blurredImageColor = texture2D(inputImageTexture2, texCoord);" + - "highp vec2 texCoordToUse = vec2(texCoord.x, (texCoord.y * aspectRatio + 0.5 - 0.5 * aspectRatio));" + - "highp float distanceFromCenter = abs((texCoordToUse.x - excludePoint.x) * aspectRatio * cos(angle) + (texCoordToUse.y - excludePoint.y) * sin(angle));" + - "gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeSize - excludeBlurSize, excludeSize, distanceFromCenter));" + - "}"; - - private static final String blurVertexShaderCode = - "attribute vec4 position;" + - "attribute vec4 inputTexCoord;" + - "uniform highp float texelWidthOffset;" + - "uniform highp float texelHeightOffset;" + - "varying vec2 blurCoordinates[9];" + - "void main() {" + - "gl_Position = position;" + - "vec2 singleStepOffset = vec2(texelWidthOffset, texelHeightOffset);" + - "blurCoordinates[0] = inputTexCoord.xy;" + - "blurCoordinates[1] = inputTexCoord.xy + singleStepOffset * 1.458430;" + - "blurCoordinates[2] = inputTexCoord.xy - singleStepOffset * 1.458430;" + - "blurCoordinates[3] = inputTexCoord.xy + singleStepOffset * 3.403985;" + - "blurCoordinates[4] = inputTexCoord.xy - singleStepOffset * 3.403985;" + - "blurCoordinates[5] = inputTexCoord.xy + singleStepOffset * 5.351806;" + - "blurCoordinates[6] = inputTexCoord.xy - singleStepOffset * 5.351806;" + - "blurCoordinates[7] = inputTexCoord.xy + singleStepOffset * 7.302940;" + - "blurCoordinates[8] = inputTexCoord.xy - singleStepOffset * 7.302940;" + - "}"; - - private static final String blurFragmentShaderCode = - "uniform sampler2D sourceImage;" + - "varying highp vec2 blurCoordinates[9];" + - "void main() {" + - "lowp vec4 sum = vec4(0.0);" + - "sum += texture2D(sourceImage, blurCoordinates[0]) * 0.133571;" + - "sum += texture2D(sourceImage, blurCoordinates[1]) * 0.233308;" + - "sum += texture2D(sourceImage, blurCoordinates[2]) * 0.233308;" + - "sum += texture2D(sourceImage, blurCoordinates[3]) * 0.135928;" + - "sum += texture2D(sourceImage, blurCoordinates[4]) * 0.135928;" + - "sum += texture2D(sourceImage, blurCoordinates[5]) * 0.051383;" + - "sum += texture2D(sourceImage, blurCoordinates[6]) * 0.051383;" + - "sum += texture2D(sourceImage, blurCoordinates[7]) * 0.012595;" + - "sum += texture2D(sourceImage, blurCoordinates[8]) * 0.012595;" + - "gl_FragColor = sum;" + - "}"; - - private static final String rgbToHsvFragmentShaderCode = - "precision highp float;" + - "varying vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "vec3 rgb_to_hsv(vec3 c) {" + - "vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);" + - "vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);" + - "vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);" + - "float d = q.x - min(q.w, q.y);" + - "float e = 1.0e-10;" + - "return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);" + - "}" + - "void main() {" + - "vec4 texel = texture2D(sourceImage, texCoord);" + - "gl_FragColor = vec4(rgb_to_hsv(texel.rgb), texel.a);" + - "}"; - - private static final String enhanceFragmentShaderCode = - "precision highp float;" + - "varying vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "uniform sampler2D inputImageTexture2;" + - "uniform float intensity;" + - "float enhance(float value) {" + - "const vec2 offset = vec2(0.001953125, 0.03125);" + - "value = value + offset.x;" + - "vec2 coord = (clamp(texCoord, 0.125, 1.0 - 0.125001) - 0.125) * 4.0;" + - "vec2 frac = fract(coord);" + - "coord = floor(coord);" + - "float p00 = float(coord.y * 4.0 + coord.x) * 0.0625 + offset.y;" + - "float p01 = float(coord.y * 4.0 + coord.x + 1.0) * 0.0625 + offset.y;" + - "float p10 = float((coord.y + 1.0) * 4.0 + coord.x) * 0.0625 + offset.y;" + - "float p11 = float((coord.y + 1.0) * 4.0 + coord.x + 1.0) * 0.0625 + offset.y;" + - "vec3 c00 = texture2D(inputImageTexture2, vec2(value, p00)).rgb;" + - "vec3 c01 = texture2D(inputImageTexture2, vec2(value, p01)).rgb;" + - "vec3 c10 = texture2D(inputImageTexture2, vec2(value, p10)).rgb;" + - "vec3 c11 = texture2D(inputImageTexture2, vec2(value, p11)).rgb;" + - "float c1 = ((c00.r - c00.g) / (c00.b - c00.g));" + - "float c2 = ((c01.r - c01.g) / (c01.b - c01.g));" + - "float c3 = ((c10.r - c10.g) / (c10.b - c10.g));" + - "float c4 = ((c11.r - c11.g) / (c11.b - c11.g));" + - "float c1_2 = mix(c1, c2, frac.x);" + - "float c3_4 = mix(c3, c4, frac.x);" + - "return mix(c1_2, c3_4, frac.y);" + - "}" + - "vec3 hsv_to_rgb(vec3 c) {" + - "vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);" + - "vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);" + - "return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);" + - "}" + - "void main() {" + - "vec4 texel = texture2D(sourceImage, texCoord);" + - "vec4 hsv = texel;" + - "hsv.y = min(1.0, hsv.y * 1.2);" + - "hsv.z = min(1.0, enhance(hsv.z) * 1.1);" + - "gl_FragColor = vec4(hsv_to_rgb(mix(texel.xyz, hsv.xyz, intensity)), texel.w);" + - "}"; - - private static final String simpleVertexShaderCode = - "attribute vec4 position;" + - "attribute vec2 inputTexCoord;" + - "varying vec2 texCoord;" + - "void main() {" + - "gl_Position = position;" + - "texCoord = inputTexCoord;" + - "}"; - - private static final String simpleFragmentShaderCode = - "varying highp vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "void main() {" + - "gl_FragColor = texture2D(sourceImage, texCoord);" + - "}"; - - private static final String sharpenVertexShaderCode = - "attribute vec4 position;" + - "attribute vec2 inputTexCoord;" + - "varying vec2 texCoord;" + - - "uniform highp float inputWidth;" + - "uniform highp float inputHeight;" + - "varying vec2 leftTexCoord;" + - "varying vec2 rightTexCoord;" + - "varying vec2 topTexCoord;" + - "varying vec2 bottomTexCoord;" + - - "void main() {" + - "gl_Position = position;" + - "texCoord = inputTexCoord;" + - "highp vec2 widthStep = vec2(1.0 / inputWidth, 0.0);" + - "highp vec2 heightStep = vec2(0.0, 1.0 / inputHeight);" + - "leftTexCoord = inputTexCoord - widthStep;" + - "rightTexCoord = inputTexCoord + widthStep;" + - "topTexCoord = inputTexCoord + heightStep;" + - "bottomTexCoord = inputTexCoord - heightStep;" + - "}"; - - private static final String sharpenFragmentShaderCode = - "precision highp float;" + - "varying vec2 texCoord;" + - "varying vec2 leftTexCoord;" + - "varying vec2 rightTexCoord;" + - "varying vec2 topTexCoord;" + - "varying vec2 bottomTexCoord;" + - "uniform sampler2D sourceImage;" + - "uniform float sharpen;" + - - "void main() {" + - "vec4 result = texture2D(sourceImage, texCoord);" + - - "vec3 leftTextureColor = texture2D(sourceImage, leftTexCoord).rgb;" + - "vec3 rightTextureColor = texture2D(sourceImage, rightTexCoord).rgb;" + - "vec3 topTextureColor = texture2D(sourceImage, topTexCoord).rgb;" + - "vec3 bottomTextureColor = texture2D(sourceImage, bottomTexCoord).rgb;" + - "result.rgb = result.rgb * (1.0 + 4.0 * sharpen) - (leftTextureColor + rightTextureColor + topTextureColor + bottomTextureColor) * sharpen;" + - - "gl_FragColor = result;" + - "}"; - - private static final String toolsFragmentShaderCode = - "varying highp vec2 texCoord;" + - "uniform sampler2D sourceImage;" + - "uniform highp float width;" + - "uniform highp float height;" + - "uniform sampler2D curvesImage;" + - "uniform lowp float skipTone;" + - "uniform lowp float shadows;" + - "const mediump vec3 hsLuminanceWeighting = vec3(0.3, 0.3, 0.3);" + - "uniform lowp float highlights;" + - "uniform lowp float contrast;" + - "uniform lowp float fadeAmount;" + - "const mediump vec3 satLuminanceWeighting = vec3(0.2126, 0.7152, 0.0722);" + - "uniform lowp float saturation;" + - "uniform lowp float shadowsTintIntensity;" + - "uniform lowp float highlightsTintIntensity;" + - "uniform lowp vec3 shadowsTintColor;" + - "uniform lowp vec3 highlightsTintColor;" + - "uniform lowp float exposure;" + - "uniform lowp float warmth;" + - "uniform lowp float grain;" + - "const lowp float permTexUnit = 1.0 / 256.0;" + - "const lowp float permTexUnitHalf = 0.5 / 256.0;" + - "const lowp float grainsize = 2.3;" + - "uniform lowp float vignette;" + - "highp float getLuma(highp vec3 rgbP) {" + - "return (0.299 * rgbP.r) + (0.587 * rgbP.g) + (0.114 * rgbP.b);" + - "}" + - "lowp vec3 rgbToHsv(lowp vec3 c) {" + - "highp vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);" + - "highp vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);" + - "highp vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);" + - "highp float d = q.x - min(q.w, q.y);" + - "highp float e = 1.0e-10;" + - "return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);" + - "}" + - "lowp vec3 hsvToRgb(lowp vec3 c) {" + - "highp vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);" + - "highp vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);" + - "return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);" + - "}" + - "highp vec3 rgbToHsl(highp vec3 color) {" + - "highp vec3 hsl;" + - "highp float fmin = min(min(color.r, color.g), color.b);" + - "highp float fmax = max(max(color.r, color.g), color.b);" + - "highp float delta = fmax - fmin;" + - "hsl.z = (fmax + fmin) / 2.0;" + - "if (delta == 0.0) {" + - "hsl.x = 0.0;" + - "hsl.y = 0.0;" + - "} else {" + - "if (hsl.z < 0.5) {" + - "hsl.y = delta / (fmax + fmin);" + - "} else {" + - "hsl.y = delta / (2.0 - fmax - fmin);" + - "}" + - "highp float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;" + - "highp float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;" + - "highp float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;" + - "if (color.r == fmax) {" + - "hsl.x = deltaB - deltaG;" + - "} else if (color.g == fmax) {" + - "hsl.x = (1.0 / 3.0) + deltaR - deltaB;" + - "} else if (color.b == fmax) {" + - "hsl.x = (2.0 / 3.0) + deltaG - deltaR;" + - "}" + - "if (hsl.x < 0.0) {" + - "hsl.x += 1.0;" + - "} else if (hsl.x > 1.0) {" + - "hsl.x -= 1.0;" + - "}" + - "}" + - "return hsl;" + - "}" + - "highp float hueToRgb(highp float f1, highp float f2, highp float hue) {" + - "if (hue < 0.0) {" + - "hue += 1.0;" + - "} else if (hue > 1.0) {" + - "hue -= 1.0;" + - "}" + - "highp float res;" + - "if ((6.0 * hue) < 1.0) {" + - "res = f1 + (f2 - f1) * 6.0 * hue;" + - "} else if ((2.0 * hue) < 1.0) {" + - "res = f2;" + - "} else if ((3.0 * hue) < 2.0) {" + - "res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0;" + - "} else {" + - "res = f1;" + - "} return res;" + - "}" + - "highp vec3 hslToRgb(highp vec3 hsl) {" + - "if (hsl.y == 0.0) {" + - "return vec3(hsl.z);" + - "} else {" + - "highp float f2;" + - "if (hsl.z < 0.5) {" + - "f2 = hsl.z * (1.0 + hsl.y);" + - "} else {" + - "f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z);" + - "}" + - "highp float f1 = 2.0 * hsl.z - f2;" + - "return vec3(hueToRgb(f1, f2, hsl.x + (1.0/3.0)), hueToRgb(f1, f2, hsl.x), hueToRgb(f1, f2, hsl.x - (1.0/3.0)));" + - "}" + - "}" + - "highp vec3 rgbToYuv(highp vec3 inP) {" + - "highp float luma = getLuma(inP);" + - "return vec3(luma, (1.0 / 1.772) * (inP.b - luma), (1.0 / 1.402) * (inP.r - luma));" + - "}" + - "lowp vec3 yuvToRgb(highp vec3 inP) {" + - "return vec3(1.402 * inP.b + inP.r, (inP.r - (0.299 * 1.402 / 0.587) * inP.b - (0.114 * 1.772 / 0.587) * inP.g), 1.772 * inP.g + inP.r);" + - "}" + - "lowp float easeInOutSigmoid(lowp float value, lowp float strength) {" + - "if (value > 0.5) {" + - "return 1.0 - pow(2.0 - 2.0 * value, 1.0 / (1.0 - strength)) * 0.5;" + - "} else {" + - "return pow(2.0 * value, 1.0 / (1.0 - strength)) * 0.5;" + - "}" + - "}" + - "lowp vec3 applyLuminanceCurve(lowp vec3 pixel) {" + - "highp float index = floor(clamp(pixel.z / (1.0 / 200.0), 0.0, 199.0));" + - "pixel.y = mix(0.0, pixel.y, smoothstep(0.0, 0.1, pixel.z) * (1.0 - smoothstep(0.8, 1.0, pixel.z)));" + - "pixel.z = texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).a;" + - "return pixel;" + - "}" + - "lowp vec3 applyRGBCurve(lowp vec3 pixel) {" + - "highp float index = floor(clamp(pixel.r / (1.0 / 200.0), 0.0, 199.0));" + - "pixel.r = texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).r;" + - "index = floor(clamp(pixel.g / (1.0 / 200.0), 0.0, 199.0));" + - "pixel.g = clamp(texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).g, 0.0, 1.0);" + - "index = floor(clamp(pixel.b / (1.0 / 200.0), 0.0, 199.0));" + - "pixel.b = clamp(texture2D(curvesImage, vec2(1.0 / 200.0 * index, 0)).b, 0.0, 1.0);" + - "return pixel;" + - "}" + - "highp vec3 fadeAdjust(highp vec3 color, highp float fadeVal) {" + - "return (color * (1.0 - fadeVal)) + ((color + (vec3(-0.9772) * pow(vec3(color), vec3(3.0)) + vec3(1.708) * pow(vec3(color), vec3(2.0)) + vec3(-0.1603) * vec3(color) + vec3(0.2878) - color * vec3(0.9))) * fadeVal);" + - "}" + - "lowp vec3 tintRaiseShadowsCurve(lowp vec3 color) {" + - "return vec3(-0.003671) * pow(color, vec3(3.0)) + vec3(0.3842) * pow(color, vec3(2.0)) + vec3(0.3764) * color + vec3(0.2515);" + - "}" + - "lowp vec3 tintShadows(lowp vec3 texel, lowp vec3 tintColor, lowp float tintAmount) {" + - "return clamp(mix(texel, mix(texel, tintRaiseShadowsCurve(texel), tintColor), tintAmount), 0.0, 1.0);" + - "} " + - "lowp vec3 tintHighlights(lowp vec3 texel, lowp vec3 tintColor, lowp float tintAmount) {" + - "return clamp(mix(texel, mix(texel, vec3(1.0) - tintRaiseShadowsCurve(vec3(1.0) - texel), (vec3(1.0) - tintColor)), tintAmount), 0.0, 1.0);" + - "}" + - "highp vec4 rnm(in highp vec2 tc) {" + - "highp float noise = sin(dot(tc, vec2(12.9898, 78.233))) * 43758.5453;" + - "return vec4(fract(noise), fract(noise * 1.2154), fract(noise * 1.3453), fract(noise * 1.3647)) * 2.0 - 1.0;" + - "}" + - "highp float fade(in highp float t) {" + - "return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);" + - "}" + - "highp float pnoise3D(in highp vec3 p) {" + - "highp vec3 pi = permTexUnit * floor(p) + permTexUnitHalf;" + - "highp vec3 pf = fract(p);" + - "highp float perm = rnm(pi.xy).a;" + - "highp float n000 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf);" + - "highp float n001 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(0.0, 0.0, 1.0));" + - "perm = rnm(pi.xy + vec2(0.0, permTexUnit)).a;" + - "highp float n010 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(0.0, 1.0, 0.0));" + - "highp float n011 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(0.0, 1.0, 1.0));" + - "perm = rnm(pi.xy + vec2(permTexUnit, 0.0)).a;" + - "highp float n100 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(1.0, 0.0, 0.0));" + - "highp float n101 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(1.0, 0.0, 1.0));" + - "perm = rnm(pi.xy + vec2(permTexUnit, permTexUnit)).a;" + - "highp float n110 = dot(rnm(vec2(perm, pi.z)).rgb * 4.0 - 1.0, pf - vec3(1.0, 1.0, 0.0));" + - "highp float n111 = dot(rnm(vec2(perm, pi.z + permTexUnit)).rgb * 4.0 - 1.0, pf - vec3(1.0, 1.0, 1.0));" + - "highp vec4 n_x = mix(vec4(n000, n001, n010, n011), vec4(n100, n101, n110, n111), fade(pf.x));" + - "highp vec2 n_xy = mix(n_x.xy, n_x.zw, fade(pf.y));" + - "return mix(n_xy.x, n_xy.y, fade(pf.z));" + - "}" + - "lowp vec2 coordRot(in lowp vec2 tc, in lowp float angle) {" + - "return vec2(((tc.x * 2.0 - 1.0) * cos(angle) - (tc.y * 2.0 - 1.0) * sin(angle)) * 0.5 + 0.5, ((tc.y * 2.0 - 1.0) * cos(angle) + (tc.x * 2.0 - 1.0) * sin(angle)) * 0.5 + 0.5);" + - "}" + - "void main() {" + - "lowp vec4 source = texture2D(sourceImage, texCoord);" + - "lowp vec4 result = source;" + - "const lowp float toolEpsilon = 0.005;" + - "if (skipTone < toolEpsilon) {" + - "result = vec4(applyRGBCurve(hslToRgb(applyLuminanceCurve(rgbToHsl(result.rgb)))), result.a);" + - "}" + - "mediump float hsLuminance = dot(result.rgb, hsLuminanceWeighting);" + - "mediump float shadow = clamp((pow(hsLuminance, 1.0 / shadows) + (-0.76) * pow(hsLuminance, 2.0 / shadows)) - hsLuminance, 0.0, 1.0);" + - "mediump float highlight = clamp((1.0 - (pow(1.0 - hsLuminance, 1.0 / (2.0 - highlights)) + (-0.8) * pow(1.0 - hsLuminance, 2.0 / (2.0 - highlights)))) - hsLuminance, -1.0, 0.0);" + - "lowp vec3 hsresult = vec3(0.0, 0.0, 0.0) + ((hsLuminance + shadow + highlight) - 0.0) * ((result.rgb - vec3(0.0, 0.0, 0.0)) / (hsLuminance - 0.0));" + - "mediump float contrastedLuminance = ((hsLuminance - 0.5) * 1.5) + 0.5;" + - "mediump float whiteInterp = contrastedLuminance * contrastedLuminance * contrastedLuminance;" + - "mediump float whiteTarget = clamp(highlights, 1.0, 2.0) - 1.0;" + - "hsresult = mix(hsresult, vec3(1.0), whiteInterp * whiteTarget);" + - "mediump float invContrastedLuminance = 1.0 - contrastedLuminance;" + - "mediump float blackInterp = invContrastedLuminance * invContrastedLuminance * invContrastedLuminance;" + - "mediump float blackTarget = 1.0 - clamp(shadows, 0.0, 1.0);" + - "hsresult = mix(hsresult, vec3(0.0), blackInterp * blackTarget);" + - "result = vec4(hsresult.rgb, result.a);" + - "result = vec4(clamp(((result.rgb - vec3(0.5)) * contrast + vec3(0.5)), 0.0, 1.0), result.a);" + - "if (abs(fadeAmount) > toolEpsilon) {" + - "result.rgb = fadeAdjust(result.rgb, fadeAmount);" + - "}" + - "lowp float satLuminance = dot(result.rgb, satLuminanceWeighting);" + - "lowp vec3 greyScaleColor = vec3(satLuminance);" + - "result = vec4(clamp(mix(greyScaleColor, result.rgb, saturation), 0.0, 1.0), result.a);" + - "if (abs(shadowsTintIntensity) > toolEpsilon) {" + - "result.rgb = tintShadows(result.rgb, shadowsTintColor, shadowsTintIntensity * 2.0);" + - "}" + - "if (abs(highlightsTintIntensity) > toolEpsilon) {" + - "result.rgb = tintHighlights(result.rgb, highlightsTintColor, highlightsTintIntensity * 2.0);" + - "}" + - "if (abs(exposure) > toolEpsilon) {" + - "mediump float mag = exposure * 1.045;" + - "mediump float exppower = 1.0 + abs(mag);" + - "if (mag < 0.0) {" + - "exppower = 1.0 / exppower;" + - "}" + - "result.r = 1.0 - pow((1.0 - result.r), exppower);" + - "result.g = 1.0 - pow((1.0 - result.g), exppower);" + - "result.b = 1.0 - pow((1.0 - result.b), exppower);" + - "}" + - "if (abs(warmth) > toolEpsilon) {" + - "highp vec3 yuvVec;" + - "if (warmth > 0.0 ) {" + - "yuvVec = vec3(0.1765, -0.1255, 0.0902);" + - "} else {" + - "yuvVec = -vec3(0.0588, 0.1569, -0.1255);" + - "}" + - "highp vec3 yuvColor = rgbToYuv(result.rgb);" + - "highp float luma = yuvColor.r;" + - "highp float curveScale = sin(luma * 3.14159);" + - "yuvColor += 0.375 * warmth * curveScale * yuvVec;" + - "result.rgb = yuvToRgb(yuvColor);" + - "}" + - "if (abs(grain) > toolEpsilon) {" + - "highp vec3 rotOffset = vec3(1.425, 3.892, 5.835);" + - "highp vec2 rotCoordsR = coordRot(texCoord, rotOffset.x);" + - "highp vec3 noise = vec3(pnoise3D(vec3(rotCoordsR * vec2(width / grainsize, height / grainsize),0.0)));" + - "lowp vec3 lumcoeff = vec3(0.299,0.587,0.114);" + - "lowp float luminance = dot(result.rgb, lumcoeff);" + - "lowp float lum = smoothstep(0.2, 0.0, luminance);" + - "lum += luminance;" + - "noise = mix(noise,vec3(0.0),pow(lum,4.0));" + - "result.rgb = result.rgb + noise * grain;" + - "}" + - "if (abs(vignette) > toolEpsilon) {" + - "const lowp float midpoint = 0.7;" + - "const lowp float fuzziness = 0.62;" + - "lowp float radDist = length(texCoord - 0.5) / sqrt(0.5);" + - "lowp float mag = easeInOutSigmoid(radDist * midpoint, fuzziness) * vignette * 0.645;" + - "result.rgb = mix(pow(result.rgb, vec3(1.0 / (1.0 - mag))), vec3(0.0), mag * mag);" + - "}" + - "gl_FragColor = result;" + - "}"; - - public EGLThread(SurfaceTexture surface, Bitmap bitmap) { - super("EGLThread"); - surfaceTexture = surface; - currentBitmap = bitmap; - } - - private int loadShader(int type, String shaderCode) { - int shader = GLES20.glCreateShader(type); - GLES20.glShaderSource(shader, shaderCode); - GLES20.glCompileShader(shader); - int[] compileStatus = new int[1]; - GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compileStatus, 0); - if (compileStatus[0] == 0) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e(GLES20.glGetShaderInfoLog(shader)); - } - GLES20.glDeleteShader(shader); - shader = 0; - } - return shader; - } - - private boolean initGL() { - egl10 = (EGL10) EGLContext.getEGL(); - - eglDisplay = egl10.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); - if (eglDisplay == EGL10.EGL_NO_DISPLAY) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglGetDisplay failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } - - int[] version = new int[2]; - if (!egl10.eglInitialize(eglDisplay, version)) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglInitialize failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } - - int[] configsCount = new int[1]; - EGLConfig[] configs = new EGLConfig[1]; - int[] configSpec = new int[] { - EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, - EGL10.EGL_RED_SIZE, 8, - EGL10.EGL_GREEN_SIZE, 8, - EGL10.EGL_BLUE_SIZE, 8, - EGL10.EGL_ALPHA_SIZE, 8, - EGL10.EGL_DEPTH_SIZE, 0, - EGL10.EGL_STENCIL_SIZE, 0, - EGL10.EGL_NONE - }; - if (!egl10.eglChooseConfig(eglDisplay, configSpec, configs, 1, configsCount)) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglChooseConfig failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } else if (configsCount[0] > 0) { - eglConfig = configs[0]; - } else { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglConfig not initialized"); - } - finish(); - return false; - } - - int[] attrib_list = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE }; - eglContext = egl10.eglCreateContext(eglDisplay, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list); - if (eglContext == null) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglCreateContext failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } - - if (surfaceTexture instanceof SurfaceTexture) { - eglSurface = egl10.eglCreateWindowSurface(eglDisplay, eglConfig, surfaceTexture, null); - } else { - finish(); - return false; - } - - if (eglSurface == null || eglSurface == EGL10.EGL_NO_SURFACE) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("createWindowSurface failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } - if (!egl10.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext)) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglMakeCurrent failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - finish(); - return false; - } - gl = eglContext.getGL(); - - - float[] squareCoordinates = { - -1.0f, 1.0f, - 1.0f, 1.0f, - -1.0f, -1.0f, - 1.0f, -1.0f}; - - ByteBuffer bb = ByteBuffer.allocateDirect(squareCoordinates.length * 4); - bb.order(ByteOrder.nativeOrder()); - vertexBuffer = bb.asFloatBuffer(); - vertexBuffer.put(squareCoordinates); - vertexBuffer.position(0); - - float[] squareCoordinates2 = { - -1.0f, -1.0f, - 1.0f, -1.0f, - -1.0f, 1.0f, - 1.0f, 1.0f}; - - bb = ByteBuffer.allocateDirect(squareCoordinates2.length * 4); - bb.order(ByteOrder.nativeOrder()); - vertexInvertBuffer = bb.asFloatBuffer(); - vertexInvertBuffer.put(squareCoordinates2); - vertexInvertBuffer.position(0); - - float[] textureCoordinates = { - 0.0f, 0.0f, - 1.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - }; - - bb = ByteBuffer.allocateDirect(textureCoordinates.length * 4); - bb.order(ByteOrder.nativeOrder()); - textureBuffer = bb.asFloatBuffer(); - textureBuffer.put(textureCoordinates); - textureBuffer.position(0); - - GLES20.glGenTextures(1, curveTextures, 0); - GLES20.glGenTextures(2, enhanceTextures, 0); - - int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - int fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, toolsFragmentShaderCode); - - if (vertexShader != 0 && fragmentShader != 0) { - toolsShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(toolsShaderProgram, vertexShader); - GLES20.glAttachShader(toolsShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(toolsShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(toolsShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(toolsShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(toolsShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - /*String infoLog = GLES20.glGetProgramInfoLog(toolsShaderProgram); - FileLog.e("link error = " + infoLog);*/ - GLES20.glDeleteProgram(toolsShaderProgram); - toolsShaderProgram = 0; - } else { - positionHandle = GLES20.glGetAttribLocation(toolsShaderProgram, "position"); - inputTexCoordHandle = GLES20.glGetAttribLocation(toolsShaderProgram, "inputTexCoord"); - sourceImageHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "sourceImage"); - shadowsHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadows"); - highlightsHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlights"); - exposureHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "exposure"); - contrastHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "contrast"); - saturationHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "saturation"); - warmthHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "warmth"); - vignetteHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "vignette"); - grainHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "grain"); - widthHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "width"); - heightHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "height"); - curvesImageHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "curvesImage"); - skipToneHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "skipTone"); - fadeAmountHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "fadeAmount"); - shadowsTintIntensityHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadowsTintIntensity"); - highlightsTintIntensityHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlightsTintIntensity"); - shadowsTintColorHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "shadowsTintColor"); - highlightsTintColorHandle = GLES20.glGetUniformLocation(toolsShaderProgram, "highlightsTintColor"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, sharpenVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, sharpenFragmentShaderCode); - - if (vertexShader != 0 && fragmentShader != 0) { - sharpenShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(sharpenShaderProgram, vertexShader); - GLES20.glAttachShader(sharpenShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(sharpenShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(sharpenShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(sharpenShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(sharpenShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(sharpenShaderProgram); - sharpenShaderProgram = 0; - } else { - sharpenPositionHandle = GLES20.glGetAttribLocation(sharpenShaderProgram, "position"); - sharpenInputTexCoordHandle = GLES20.glGetAttribLocation(sharpenShaderProgram, "inputTexCoord"); - sharpenSourceImageHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "sourceImage"); - sharpenWidthHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "inputWidth"); - sharpenHeightHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "inputHeight"); - sharpenHandle = GLES20.glGetUniformLocation(sharpenShaderProgram, "sharpen"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, blurVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, blurFragmentShaderCode); - - if (vertexShader != 0 && fragmentShader != 0) { - blurShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(blurShaderProgram, vertexShader); - GLES20.glAttachShader(blurShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(blurShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(blurShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(blurShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(blurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(blurShaderProgram); - blurShaderProgram = 0; - } else { - blurPositionHandle = GLES20.glGetAttribLocation(blurShaderProgram, "position"); - blurInputTexCoordHandle = GLES20.glGetAttribLocation(blurShaderProgram, "inputTexCoord"); - blurSourceImageHandle = GLES20.glGetUniformLocation(blurShaderProgram, "sourceImage"); - blurWidthHandle = GLES20.glGetUniformLocation(blurShaderProgram, "texelWidthOffset"); - blurHeightHandle = GLES20.glGetUniformLocation(blurShaderProgram, "texelHeightOffset"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, linearBlurFragmentShaderCode); - - if (vertexShader != 0 && fragmentShader != 0) { - linearBlurShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(linearBlurShaderProgram, vertexShader); - GLES20.glAttachShader(linearBlurShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(linearBlurShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(linearBlurShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(linearBlurShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(linearBlurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(linearBlurShaderProgram); - linearBlurShaderProgram = 0; - } else { - linearBlurPositionHandle = GLES20.glGetAttribLocation(linearBlurShaderProgram, "position"); - linearBlurInputTexCoordHandle = GLES20.glGetAttribLocation(linearBlurShaderProgram, "inputTexCoord"); - linearBlurSourceImageHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "sourceImage"); - linearBlurSourceImage2Handle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "inputImageTexture2"); - linearBlurExcludeSizeHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludeSize"); - linearBlurExcludePointHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludePoint"); - linearBlurExcludeBlurSizeHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "excludeBlurSize"); - linearBlurAngleHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "angle"); - linearBlurAspectRatioHandle = GLES20.glGetUniformLocation(linearBlurShaderProgram, "aspectRatio"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, radialBlurFragmentShaderCode); - - if (vertexShader != 0 && fragmentShader != 0) { - radialBlurShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(radialBlurShaderProgram, vertexShader); - GLES20.glAttachShader(radialBlurShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(radialBlurShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(radialBlurShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(radialBlurShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(radialBlurShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(radialBlurShaderProgram); - radialBlurShaderProgram = 0; - } else { - radialBlurPositionHandle = GLES20.glGetAttribLocation(radialBlurShaderProgram, "position"); - radialBlurInputTexCoordHandle = GLES20.glGetAttribLocation(radialBlurShaderProgram, "inputTexCoord"); - radialBlurSourceImageHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "sourceImage"); - radialBlurSourceImage2Handle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "inputImageTexture2"); - radialBlurExcludeSizeHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludeSize"); - radialBlurExcludePointHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludePoint"); - radialBlurExcludeBlurSizeHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "excludeBlurSize"); - radialBlurAspectRatioHandle = GLES20.glGetUniformLocation(radialBlurShaderProgram, "aspectRatio"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, rgbToHsvFragmentShaderCode); - if (vertexShader != 0 && fragmentShader != 0) { - rgbToHsvShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(rgbToHsvShaderProgram, vertexShader); - GLES20.glAttachShader(rgbToHsvShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(rgbToHsvShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(rgbToHsvShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(rgbToHsvShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(rgbToHsvShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(rgbToHsvShaderProgram); - rgbToHsvShaderProgram = 0; - } else { - rgbToHsvPositionHandle = GLES20.glGetAttribLocation(rgbToHsvShaderProgram, "position"); - rgbToHsvInputTexCoordHandle = GLES20.glGetAttribLocation(rgbToHsvShaderProgram, "inputTexCoord"); - rgbToHsvSourceImageHandle = GLES20.glGetUniformLocation(rgbToHsvShaderProgram, "sourceImage"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, enhanceFragmentShaderCode); - if (vertexShader != 0 && fragmentShader != 0) { - enhanceShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(enhanceShaderProgram, vertexShader); - GLES20.glAttachShader(enhanceShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(enhanceShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(enhanceShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(enhanceShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(enhanceShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(enhanceShaderProgram); - enhanceShaderProgram = 0; - } else { - enhancePositionHandle = GLES20.glGetAttribLocation(enhanceShaderProgram, "position"); - enhanceInputTexCoordHandle = GLES20.glGetAttribLocation(enhanceShaderProgram, "inputTexCoord"); - enhanceSourceImageHandle = GLES20.glGetUniformLocation(enhanceShaderProgram, "sourceImage"); - enhanceIntensityHandle = GLES20.glGetUniformLocation(enhanceShaderProgram, "intensity"); - enhanceInputImageTexture2Handle = GLES20.glGetUniformLocation(enhanceShaderProgram, "inputImageTexture2"); - } - } else { - finish(); - return false; - } - - vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, simpleVertexShaderCode); - fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, simpleFragmentShaderCode); - if (vertexShader != 0 && fragmentShader != 0) { - simpleShaderProgram = GLES20.glCreateProgram(); - GLES20.glAttachShader(simpleShaderProgram, vertexShader); - GLES20.glAttachShader(simpleShaderProgram, fragmentShader); - GLES20.glBindAttribLocation(simpleShaderProgram, 0, "position"); - GLES20.glBindAttribLocation(simpleShaderProgram, 1, "inputTexCoord"); - - GLES20.glLinkProgram(simpleShaderProgram); - int[] linkStatus = new int[1]; - GLES20.glGetProgramiv(simpleShaderProgram, GLES20.GL_LINK_STATUS, linkStatus, 0); - if (linkStatus[0] == 0) { - GLES20.glDeleteProgram(simpleShaderProgram); - simpleShaderProgram = 0; - } else { - simplePositionHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "position"); - simpleInputTexCoordHandle = GLES20.glGetAttribLocation(simpleShaderProgram, "inputTexCoord"); - simpleSourceImageHandle = GLES20.glGetUniformLocation(simpleShaderProgram, "sourceImage"); - } - } else { - finish(); - return false; - } - - if (currentBitmap != null && !currentBitmap.isRecycled()) { - loadTexture(currentBitmap); - } - - return true; - } - - public void finish() { - if (eglSurface != null) { - egl10.eglMakeCurrent(eglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); - egl10.eglDestroySurface(eglDisplay, eglSurface); - eglSurface = null; - } - if (eglContext != null) { - egl10.eglDestroyContext(eglDisplay, eglContext); - eglContext = null; - } - if (eglDisplay != null) { - egl10.eglTerminate(eglDisplay); - eglDisplay = null; - } - } - - private void drawEnhancePass() { - if (!hsvGenerated) { - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); - GLES20.glClear(0); - - GLES20.glUseProgram(rgbToHsvShaderProgram); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); - GLES20.glUniform1i(rgbToHsvSourceImageHandle, 0); - GLES20.glEnableVertexAttribArray(rgbToHsvInputTexCoordHandle); - GLES20.glVertexAttribPointer(rgbToHsvInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(rgbToHsvPositionHandle); - GLES20.glVertexAttribPointer(rgbToHsvPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - - ByteBuffer hsvBuffer = ByteBuffer.allocateDirect(renderBufferWidth * renderBufferHeight * 4); - GLES20.glReadPixels(0, 0, renderBufferWidth, renderBufferHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, hsvBuffer); - - GLES20.glBindTexture(GL10.GL_TEXTURE_2D, enhanceTextures[0]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, hsvBuffer); - - ByteBuffer buffer = null; - try { - buffer = ByteBuffer.allocateDirect(PGPhotoEnhanceSegments * PGPhotoEnhanceSegments * PGPhotoEnhanceHistogramBins * 4); - Utilities.calcCDT(hsvBuffer, renderBufferWidth, renderBufferHeight, buffer); - } catch (Exception e) { - FileLog.e(e); - } - - GLES20.glBindTexture(GL10.GL_TEXTURE_2D, enhanceTextures[1]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 256, 16, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); - - hsvGenerated = true; - } - - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[1]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[1], 0); - GLES20.glClear(0); - - GLES20.glUseProgram(enhanceShaderProgram); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, enhanceTextures[0]); - GLES20.glUniform1i(enhanceSourceImageHandle, 0); - GLES20.glActiveTexture(GLES20.GL_TEXTURE1); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, enhanceTextures[1]); - GLES20.glUniform1i(enhanceInputImageTexture2Handle, 1); - if (showOriginal) { - GLES20.glUniform1f(enhanceIntensityHandle, 0); - } else { - GLES20.glUniform1f(enhanceIntensityHandle, getEnhanceValue()); - } - - GLES20.glEnableVertexAttribArray(enhanceInputTexCoordHandle); - GLES20.glVertexAttribPointer(enhanceInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(enhancePositionHandle); - GLES20.glVertexAttribPointer(enhancePositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - } - - private void drawSharpenPass() { - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); - GLES20.glClear(0); - - GLES20.glUseProgram(sharpenShaderProgram); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); - GLES20.glUniform1i(sharpenSourceImageHandle, 0); - if (showOriginal) { - GLES20.glUniform1f(sharpenHandle, 0); - } else { - GLES20.glUniform1f(sharpenHandle, getSharpenValue()); - } - GLES20.glUniform1f(sharpenWidthHandle, renderBufferWidth); - GLES20.glUniform1f(sharpenHeightHandle, renderBufferHeight); - GLES20.glEnableVertexAttribArray(sharpenInputTexCoordHandle); - GLES20.glVertexAttribPointer(sharpenInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(sharpenPositionHandle); - GLES20.glVertexAttribPointer(sharpenPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - } - - private void drawCustomParamsPass() { - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[1]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[1], 0); - GLES20.glClear(0); - - GLES20.glUseProgram(toolsShaderProgram); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[0]); - GLES20.glUniform1i(sourceImageHandle, 0); - if (showOriginal) { - GLES20.glUniform1f(shadowsHandle, 1); - GLES20.glUniform1f(highlightsHandle, 1); - GLES20.glUniform1f(exposureHandle, 0); - GLES20.glUniform1f(contrastHandle, 1); - GLES20.glUniform1f(saturationHandle, 1); - GLES20.glUniform1f(warmthHandle, 0); - GLES20.glUniform1f(vignetteHandle, 0); - GLES20.glUniform1f(grainHandle, 0); - GLES20.glUniform1f(fadeAmountHandle, 0); - GLES20.glUniform3f(highlightsTintColorHandle, 0, 0, 0); - GLES20.glUniform1f(highlightsTintIntensityHandle, 0); - GLES20.glUniform3f(shadowsTintColorHandle, 0, 0, 0); - GLES20.glUniform1f(shadowsTintIntensityHandle, 0); - GLES20.glUniform1f(skipToneHandle, 1); - } else { - GLES20.glUniform1f(shadowsHandle, getShadowsValue()); - GLES20.glUniform1f(highlightsHandle, getHighlightsValue()); - GLES20.glUniform1f(exposureHandle, getExposureValue()); - GLES20.glUniform1f(contrastHandle, getContrastValue()); - GLES20.glUniform1f(saturationHandle, getSaturationValue()); - GLES20.glUniform1f(warmthHandle, getWarmthValue()); - GLES20.glUniform1f(vignetteHandle, getVignetteValue()); - GLES20.glUniform1f(grainHandle, getGrainValue()); - GLES20.glUniform1f(fadeAmountHandle, getFadeValue()); - GLES20.glUniform3f(highlightsTintColorHandle, (tintHighlightsColor >> 16 & 0xff) / 255.0f, (tintHighlightsColor >> 8 & 0xff) / 255.0f, (tintHighlightsColor & 0xff) / 255.0f); - GLES20.glUniform1f(highlightsTintIntensityHandle, getTintHighlightsIntensityValue()); - GLES20.glUniform3f(shadowsTintColorHandle, (tintShadowsColor >> 16 & 0xff) / 255.0f, (tintShadowsColor >> 8 & 0xff) / 255.0f, (tintShadowsColor & 0xff) / 255.0f); - GLES20.glUniform1f(shadowsTintIntensityHandle, getTintShadowsIntensityValue()); - boolean skipTone = curvesToolValue.shouldBeSkipped(); - GLES20.glUniform1f(skipToneHandle, skipTone ? 1.0f : 0.0f); - if (!skipTone) { - curvesToolValue.fillBuffer(); - GLES20.glActiveTexture(GLES20.GL_TEXTURE1); - GLES20.glBindTexture(GL10.GL_TEXTURE_2D, curveTextures[0]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 200, 1, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, curvesToolValue.curveBuffer); - GLES20.glUniform1i(curvesImageHandle, 1); - } - } - - GLES20.glUniform1f(widthHandle, renderBufferWidth); - GLES20.glUniform1f(heightHandle, renderBufferHeight); - GLES20.glEnableVertexAttribArray(inputTexCoordHandle); - GLES20.glVertexAttribPointer(inputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(positionHandle); - GLES20.glVertexAttribPointer(positionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - } - - private boolean drawBlurPass() { - if (showOriginal || blurType == 0) { - return false; - } - if (needUpdateBlurTexture) { - GLES20.glUseProgram(blurShaderProgram); - GLES20.glUniform1i(blurSourceImageHandle, 0); - GLES20.glEnableVertexAttribArray(blurInputTexCoordHandle); - GLES20.glVertexAttribPointer(blurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(blurPositionHandle); - GLES20.glVertexAttribPointer(blurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); - - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); - GLES20.glClear(0); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); - GLES20.glUniform1f(blurWidthHandle, 0.0f); - GLES20.glUniform1f(blurHeightHandle, 1.0f / renderBufferHeight); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[2]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[2], 0); - GLES20.glClear(0); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[0]); - GLES20.glUniform1f(blurWidthHandle, 1.0f / renderBufferWidth); - GLES20.glUniform1f(blurHeightHandle, 0.0f); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - needUpdateBlurTexture = false; - } - - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[0]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[0], 0); - GLES20.glClear(0); - if (blurType == 1) { - GLES20.glUseProgram(radialBlurShaderProgram); - GLES20.glUniform1i(radialBlurSourceImageHandle, 0); - GLES20.glUniform1i(radialBlurSourceImage2Handle, 1); - GLES20.glUniform1f(radialBlurExcludeSizeHandle, blurExcludeSize); - GLES20.glUniform1f(radialBlurExcludeBlurSizeHandle, blurExcludeBlurSize); - GLES20.glUniform2f(radialBlurExcludePointHandle, blurExcludePoint.x, blurExcludePoint.y); - GLES20.glUniform1f(radialBlurAspectRatioHandle, (float) renderBufferHeight / (float) renderBufferWidth); - GLES20.glEnableVertexAttribArray(radialBlurInputTexCoordHandle); - GLES20.glVertexAttribPointer(radialBlurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(radialBlurPositionHandle); - GLES20.glVertexAttribPointer(radialBlurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); - } else if (blurType == 2) { - GLES20.glUseProgram(linearBlurShaderProgram); - GLES20.glUniform1i(linearBlurSourceImageHandle, 0); - GLES20.glUniform1i(linearBlurSourceImage2Handle, 1); - GLES20.glUniform1f(linearBlurExcludeSizeHandle, blurExcludeSize); - GLES20.glUniform1f(linearBlurExcludeBlurSizeHandle, blurExcludeBlurSize); - GLES20.glUniform1f(linearBlurAngleHandle, blurAngle); - GLES20.glUniform2f(linearBlurExcludePointHandle, blurExcludePoint.x, blurExcludePoint.y); - GLES20.glUniform1f(linearBlurAspectRatioHandle, (float) renderBufferHeight / (float) renderBufferWidth); - GLES20.glEnableVertexAttribArray(linearBlurInputTexCoordHandle); - GLES20.glVertexAttribPointer(linearBlurInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(linearBlurPositionHandle); - GLES20.glVertexAttribPointer(linearBlurPositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexInvertBuffer); - } - - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[1]); - GLES20.glActiveTexture(GLES20.GL_TEXTURE1); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[2]); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - - return true; - } - - private Runnable drawRunnable = new Runnable() { - @Override - public void run() { - if (!initied) { - return; - } - - if (!eglContext.equals(egl10.eglGetCurrentContext()) || !eglSurface.equals(egl10.eglGetCurrentSurface(EGL10.EGL_DRAW))) { - if (!egl10.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext)) { - if (BuildVars.LOGS_ENABLED) { - FileLog.e("eglMakeCurrent failed " + GLUtils.getEGLErrorString(egl10.eglGetError())); - } - return; - } - } - - GLES20.glViewport(0, 0, renderBufferWidth, renderBufferHeight); - drawEnhancePass(); - drawSharpenPass(); - drawCustomParamsPass(); - blured = drawBlurPass(); - - //onscreen draw - GLES20.glViewport(0, 0, surfaceWidth, surfaceHeight); - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); - GLES20.glClear(0); - - GLES20.glUseProgram(simpleShaderProgram); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0); - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[blured ? 0 : 1]); - GLES20.glUniform1i(simpleSourceImageHandle, 0); - GLES20.glEnableVertexAttribArray(simpleInputTexCoordHandle); - GLES20.glVertexAttribPointer(simpleInputTexCoordHandle, 2, GLES20.GL_FLOAT, false, 8, textureBuffer); - GLES20.glEnableVertexAttribArray(simplePositionHandle); - GLES20.glVertexAttribPointer(simplePositionHandle, 2, GLES20.GL_FLOAT, false, 8, vertexBuffer); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4); - egl10.eglSwapBuffers(eglDisplay, eglSurface); - } - }; - - private Bitmap getRenderBufferBitmap() { - ByteBuffer buffer = ByteBuffer.allocateDirect(renderBufferWidth * renderBufferHeight * 4); - GLES20.glReadPixels(0, 0, renderBufferWidth, renderBufferHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); - Bitmap bitmap = Bitmap.createBitmap(renderBufferWidth, renderBufferHeight, Bitmap.Config.ARGB_8888); - bitmap.copyPixelsFromBuffer(buffer); - return bitmap; - } - - public Bitmap getTexture() { - if (!initied) { - return null; - } - final CountDownLatch countDownLatch = new CountDownLatch(1); - final Bitmap[] object = new Bitmap[1]; - try { - postRunnable(() -> { - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[1]); - GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[blured ? 0 : 1], 0); - GLES20.glClear(0); - object[0] = getRenderBufferBitmap(); - countDownLatch.countDown(); - GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0); - GLES20.glClear(0); - }); - countDownLatch.await(); - } catch (Exception e) { - FileLog.e(e); - } - return object[0]; - } - - private Bitmap createBitmap(Bitmap bitmap, int w, int h, float scale) { - Matrix matrix = new Matrix(); - matrix.setScale(scale, scale); - matrix.postRotate(orientation); - return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); - } - - private void loadTexture(Bitmap bitmap) { - renderBufferWidth = bitmap.getWidth(); - renderBufferHeight = bitmap.getHeight(); - float maxSize = AndroidUtilities.getPhotoSize(); - if (renderBufferWidth > maxSize || renderBufferHeight > maxSize || orientation % 360 != 0) { - float scale = 1; - if (renderBufferWidth > maxSize || renderBufferHeight > maxSize) { - float scaleX = maxSize / bitmap.getWidth(); - float scaleY = maxSize / bitmap.getHeight(); - if (scaleX < scaleY) { - renderBufferWidth = (int) maxSize; - renderBufferHeight = (int) (bitmap.getHeight() * scaleX); - scale = scaleX; - } else { - renderBufferHeight = (int) maxSize; - renderBufferWidth = (int) (bitmap.getWidth() * scaleY); - scale = scaleY; - } - } - - if (orientation % 360 == 90 || orientation % 360 == 270) { - int temp = renderBufferWidth; - renderBufferWidth = renderBufferHeight; - renderBufferHeight = temp; - } - - currentBitmap = createBitmap(bitmap, renderBufferWidth, renderBufferHeight, scale); - } - GLES20.glGenFramebuffers(3, renderFrameBuffer, 0); - GLES20.glGenTextures(3, renderTexture, 0); - - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[0]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null); - - GLES20.glBindTexture(GL10.GL_TEXTURE_2D, renderTexture[1]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, currentBitmap, 0); - - GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, renderTexture[2]); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexParameteri(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); - GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null); - } - - public void shutdown() { - postRunnable(() -> { - finish(); - currentBitmap = null; - Looper looper = Looper.myLooper(); - if (looper != null) { - looper.quit(); - } - }); - } - - public void setSurfaceTextureSize(int width, int height) { - surfaceWidth = width; - surfaceHeight = height; - } - - @Override - public void run() { - initied = initGL(); - super.run(); - } - - public void requestRender(final boolean updateBlur) { - requestRender(updateBlur, false); - } - - public void requestRender(final boolean updateBlur, final boolean force) { - postRunnable(() -> { - if (!needUpdateBlurTexture) { - needUpdateBlurTexture = updateBlur; - } - long newTime = System.currentTimeMillis(); - if (force || Math.abs(lastRenderCallTime - newTime) > 30) { - lastRenderCallTime = newTime; - drawRunnable.run(); - //cancelRunnable(drawRunnable); - //postRunnable(drawRunnable, 30); - } - }); - } - } - - public PhotoFilterView(Context context, Bitmap bitmap, int rotation, MediaController.SavedFilterState state) { + public PhotoFilterView(Context context, VideoEditTextureView videoTextureView, Bitmap bitmap, int rotation, MediaController.SavedFilterState state, PaintingOverlay overlay) { super(context); + paintingOverlay = overlay; + + rowsCount = 0; + enhanceTool = rowsCount++; + exposureTool = rowsCount++; + contrastTool = rowsCount++; + saturationTool = rowsCount++; + warmthTool = rowsCount++; + fadeTool = rowsCount++; + highlightsTool = rowsCount++; + shadowsTool = rowsCount++; + vignetteTool = rowsCount++; + if (videoTextureView == null) { + grainTool = rowsCount++; + sharpenTool = rowsCount++; + } else { + grainTool = -1; + sharpenTool = -1; + } + tintShadowsTool = rowsCount++; + tintHighlightsTool = rowsCount++; + if (state != null) { enhanceValue = state.enhanceValue; exposureValue = state.exposureValue; @@ -1672,46 +319,56 @@ public class PhotoFilterView extends FrameLayout { bitmapToEdit = bitmap; orientation = rotation; - textureView = new TextureView(context); - addView(textureView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.LEFT)); - textureView.setVisibility(INVISIBLE); - textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() { - @Override - public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { - if (eglThread == null && surface != null) { - eglThread = new EGLThread(surface, bitmapToEdit); - eglThread.setSurfaceTextureSize(width, height); - eglThread.requestRender(true, true); + if (videoTextureView != null) { + textureView = videoTextureView; + videoTextureView.setDelegate(thread -> { + eglThread = thread; + eglThread.setFilterGLThreadDelegate(PhotoFilterView.this); + }); + } else { + ownsTextureView = true; + textureView = new TextureView(context); + addView(textureView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.LEFT)); + textureView.setVisibility(INVISIBLE); + textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() { + @Override + public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { + if (eglThread == null && surface != null) { + eglThread = new FilterGLThread(surface, bitmapToEdit, orientation); + eglThread.setFilterGLThreadDelegate(PhotoFilterView.this); + eglThread.setSurfaceTextureSize(width, height); + eglThread.requestRender(true, true, false); + } } - } - @Override - public void onSurfaceTextureSizeChanged(SurfaceTexture surface, final int width, final int height) { - if (eglThread != null) { - eglThread.setSurfaceTextureSize(width, height); - eglThread.requestRender(false, true); - eglThread.postRunnable(() -> { - if (eglThread != null) { - eglThread.requestRender(false, true); - } - }); + @Override + public void onSurfaceTextureSizeChanged(SurfaceTexture surface, final int width, final int height) { + if (eglThread != null) { + eglThread.setSurfaceTextureSize(width, height); + eglThread.requestRender(false, true, false); + eglThread.postRunnable(() -> { + if (eglThread != null) { + eglThread.requestRender(false, true, false); + } + }); + } } - } - @Override - public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { - if (eglThread != null) { - eglThread.shutdown(); - eglThread = null; + @Override + public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { + if (eglThread != null) { + eglThread.shutdown(); + eglThread = null; + } + return true; } - return true; - } - @Override - public void onSurfaceTextureUpdated(SurfaceTexture surface) { + @Override + public void onSurfaceTextureUpdated(SurfaceTexture surface) { - } - }); + } + }); + } blurControl = new PhotoFilterBlurControl(context); blurControl.setVisibility(INVISIBLE); @@ -1791,6 +448,9 @@ public class PhotoFilterView extends FrameLayout { curveItem.setColorFilter(null); switchMode(); }); + if (videoTextureView != null) { + blurItem.setVisibility(GONE); + } curveItem = new ImageView(context); curveItem.setScaleType(ImageView.ScaleType.CENTER); @@ -1921,7 +581,9 @@ public class PhotoFilterView extends FrameLayout { updateSelectedBlurType(); if (Build.VERSION.SDK_INT >= 21) { - ((LayoutParams) textureView.getLayoutParams()).topMargin = AndroidUtilities.statusBarHeight; + if (ownsTextureView) { + ((LayoutParams) textureView.getLayoutParams()).topMargin = AndroidUtilities.statusBarHeight; + } ((LayoutParams) curvesControl.getLayoutParams()).topMargin = AndroidUtilities.statusBarHeight; } } @@ -2000,7 +662,7 @@ public class PhotoFilterView extends FrameLayout { state.blurExcludePoint = blurExcludePoint; state.blurExcludeBlurSize = blurExcludeBlurSize; state.blurAngle = blurAngle; - return state; + return lastState = state; } public boolean hasChanges() { @@ -2027,9 +689,14 @@ public class PhotoFilterView extends FrameLayout { public void onTouch(MotionEvent event) { if (event.getActionMasked() == MotionEvent.ACTION_DOWN || event.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN) { - LayoutParams layoutParams = (LayoutParams) textureView.getLayoutParams(); - if (layoutParams != null && event.getX() >= layoutParams.leftMargin && event.getY() >= layoutParams.topMargin && event.getX() <= layoutParams.leftMargin + layoutParams.width && event.getY() <= layoutParams.topMargin + layoutParams.height) { - setShowOriginal(true); + if (textureView instanceof VideoEditTextureView) { + if (((VideoEditTextureView) textureView).containsPoint(event.getX(), event.getY())) { + setShowOriginal(true); + } + } else { + if (event.getX() >= textureView.getX() && event.getY() >= textureView.getY() && event.getX() <= textureView.getX() + textureView.getWidth() && event.getY() <= textureView.getY() + textureView.getHeight()) { + setShowOriginal(true); + } } } else if (event.getActionMasked() == MotionEvent.ACTION_UP || event.getActionMasked() == MotionEvent.ACTION_POINTER_UP) { setShowOriginal(false); @@ -2079,15 +746,26 @@ public class PhotoFilterView extends FrameLayout { } public void shutdown() { - if (eglThread != null) { - eglThread.shutdown(); - eglThread = null; + if (ownsTextureView) { + if (eglThread != null) { + eglThread.shutdown(); + eglThread = null; + } + textureView.setVisibility(GONE); + } else if (textureView instanceof VideoEditTextureView) { + VideoEditTextureView videoEditTextureView = (VideoEditTextureView) textureView; + if (lastState == null) { + videoEditTextureView.setDelegate(null); + } else { + eglThread.setFilterGLThreadDelegate(FilterShaders.getFilterShadersDelegate(lastState)); + } } - textureView.setVisibility(GONE); } public void init() { - textureView.setVisibility(VISIBLE); + if (ownsTextureView) { + textureView.setVisibility(VISIBLE); + } } public Bitmap getBitmap() { @@ -2095,21 +773,22 @@ public class PhotoFilterView extends FrameLayout { } private void fixLayout(int viewWidth, int viewHeight) { - if (bitmapToEdit == null) { - return; - } - viewWidth -= AndroidUtilities.dp(28); viewHeight -= AndroidUtilities.dp(14 + 140 + 60) + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0); float bitmapW; float bitmapH; - if (orientation % 360 == 90 || orientation % 360 == 270) { - bitmapW = bitmapToEdit.getHeight(); - bitmapH = bitmapToEdit.getWidth(); + if (bitmapToEdit != null) { + if (orientation % 360 == 90 || orientation % 360 == 270) { + bitmapW = bitmapToEdit.getHeight(); + bitmapH = bitmapToEdit.getWidth(); + } else { + bitmapW = bitmapToEdit.getWidth(); + bitmapH = bitmapToEdit.getHeight(); + } } else { - bitmapW = bitmapToEdit.getWidth(); - bitmapH = bitmapToEdit.getHeight(); + bitmapW = textureView.getWidth(); + bitmapH = textureView.getHeight(); } float scaleX = viewWidth / bitmapW; float scaleY = viewHeight / bitmapH; @@ -2124,15 +803,19 @@ public class PhotoFilterView extends FrameLayout { int bitmapX = (int) Math.ceil((viewWidth - bitmapW) / 2 + AndroidUtilities.dp(14)); int bitmapY = (int) Math.ceil((viewHeight - bitmapH) / 2 + AndroidUtilities.dp(14) + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0)); - LayoutParams layoutParams = (LayoutParams) textureView.getLayoutParams(); - layoutParams.leftMargin = bitmapX; - layoutParams.topMargin = bitmapY; - layoutParams.width = (int) bitmapW; - layoutParams.height = (int) bitmapH; - curvesControl.setActualArea(bitmapX, bitmapY - (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0), layoutParams.width, layoutParams.height); + int width = (int) bitmapW; + int height = (int) bitmapH; + if (ownsTextureView) { + LayoutParams layoutParams = (LayoutParams) textureView.getLayoutParams(); + layoutParams.leftMargin = bitmapX; + layoutParams.topMargin = bitmapY; + layoutParams.width = width; + layoutParams.height = height; + } + curvesControl.setActualArea(bitmapX, bitmapY - (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0), width, height); - blurControl.setActualAreaSize(layoutParams.width, layoutParams.height); - layoutParams = (LayoutParams) blurControl.getLayoutParams(); + blurControl.setActualAreaSize(width, height); + LayoutParams layoutParams = (LayoutParams) blurControl.getLayoutParams(); layoutParams.height = viewHeight + AndroidUtilities.dp(38); layoutParams = (LayoutParams) curvesControl.getLayoutParams(); @@ -2151,63 +834,90 @@ public class PhotoFilterView extends FrameLayout { } } + @Override + protected boolean drawChild(Canvas canvas, View child, long drawingTime) { + boolean result = super.drawChild(canvas, child, drawingTime); + if (paintingOverlay != null && child == textureView) { + canvas.save(); + canvas.translate(textureView.getLeft(), textureView.getTop()); + float scale = textureView.getMeasuredWidth() / (float) paintingOverlay.getMeasuredWidth(); + canvas.scale(scale, scale); + paintingOverlay.draw(canvas); + canvas.restore(); + } + return result; + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { fixLayout(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec)); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } - private float getShadowsValue() { + @Override + public float getShadowsValue() { return (shadowsValue * 0.55f + 100.0f) / 100.0f; } - private float getHighlightsValue() { + @Override + public float getHighlightsValue() { return (highlightsValue * 0.75f + 100.0f) / 100.0f; } - private float getEnhanceValue() { + @Override + public float getEnhanceValue() { return (enhanceValue / 100.0f); } - private float getExposureValue() { + @Override + public float getExposureValue() { return (exposureValue / 100.0f); } - private float getContrastValue() { + @Override + public float getContrastValue() { return (contrastValue / 100.0f) * 0.3f + 1; } - private float getWarmthValue() { + @Override + public float getWarmthValue() { return warmthValue / 100.0f; } - private float getVignetteValue() { + @Override + public float getVignetteValue() { return vignetteValue / 100.0f; } - private float getSharpenValue() { + @Override + public float getSharpenValue() { return 0.11f + sharpenValue / 100.0f * 0.6f; } - private float getGrainValue() { + @Override + public float getGrainValue() { return grainValue / 100.0f * 0.04f; } - private float getFadeValue() { + @Override + public float getFadeValue() { return fadeValue / 100.0f; } - private float getTintHighlightsIntensityValue() { + @Override + public float getTintHighlightsIntensityValue() { float tintHighlightsIntensity = 50.0f; return tintHighlightsColor == 0 ? 0 : tintHighlightsIntensity / 100.0f; } - private float getTintShadowsIntensityValue() { + @Override + public float getTintShadowsIntensityValue() { float tintShadowsIntensity = 50.0f; return tintShadowsColor == 0 ? 0 : tintShadowsIntensity / 100.0f; } - private float getSaturationValue() { + @Override + public float getSaturationValue() { float parameterValue = (saturationValue / 100.0f); if (parameterValue > 0) { parameterValue *= 1.05f; @@ -2215,10 +925,69 @@ public class PhotoFilterView extends FrameLayout { return parameterValue + 1; } + @Override + public int getTintHighlightsColor() { + return tintHighlightsColor; + } + + @Override + public int getTintShadowsColor() { + return tintShadowsColor; + } + + @Override + public int getBlurType() { + return blurType; + } + + @Override + public float getBlurExcludeSize() { + return blurExcludeSize; + } + + @Override + public float getBlurExcludeBlurSize() { + return blurExcludeBlurSize; + } + + @Override + public float getBlurAngle() { + return blurAngle; + } + + @Override + public Point getBlurExcludePoint() { + return blurExcludePoint; + } + + @Override + public boolean shouldShowOriginal() { + return showOriginal; + } + + @Override + public boolean shouldDrawCurvesPass() { + return !curvesToolValue.shouldBeSkipped(); + } + + @Override + public ByteBuffer fillAndGetCurveBuffer() { + curvesToolValue.fillBuffer(); + return curvesToolValue.curveBuffer; + } + public FrameLayout getToolsView() { return toolsView; } + public View getCurveControl() { + return curvesControl; + } + + public View getBlurControl() { + return blurControl; + } + public TextView getDoneTextView() { return doneTextView; } @@ -2237,7 +1006,7 @@ public class PhotoFilterView extends FrameLayout { @Override public int getItemCount() { - return 13; + return rowsCount; } @Override diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoPaintView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoPaintView.java index dcb8e3533..4d988f919 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoPaintView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/PhotoPaintView.java @@ -10,6 +10,7 @@ import android.graphics.*; import android.graphics.Rect; import android.os.Build; import android.os.Looper; +import android.text.TextUtils; import android.util.SparseArray; import android.util.TypedValue; import android.view.Gravity; @@ -31,17 +32,19 @@ import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.Bitmaps; import org.telegram.messenger.BuildVars; import org.telegram.messenger.DispatchQueue; +import org.telegram.messenger.FileLoader; import org.telegram.messenger.FileLog; import org.telegram.messenger.LocaleController; +import org.telegram.messenger.MessageObject; import org.telegram.messenger.R; import org.telegram.messenger.Utilities; +import org.telegram.messenger.VideoEditedInfo; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.ActionBar; import org.telegram.ui.ActionBar.ActionBarPopupWindow; import org.telegram.ui.ActionBar.AlertDialog; import org.telegram.ui.ActionBar.Theme; import org.telegram.ui.Components.Paint.PhotoFace; -import org.telegram.ui.Components.Paint.Views.EditTextOutline; import org.telegram.ui.Components.Paint.Views.EntitiesContainerView; import org.telegram.ui.Components.Paint.Views.EntityView; import org.telegram.ui.Components.Paint.Views.StickerView; @@ -54,13 +57,14 @@ import org.telegram.ui.Components.Paint.Swatch; import org.telegram.ui.Components.Paint.Views.ColorPicker; import org.telegram.ui.PhotoViewer; +import java.math.BigInteger; import java.util.ArrayList; @SuppressLint("NewApi") public class PhotoPaintView extends FrameLayout implements EntityView.EntityViewDelegate { private Bitmap bitmapToEdit; - private int orientation; + private Bitmap facesBitmap; private UndoStore undoStore; int currentBrush; @@ -92,8 +96,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView private float editedTextScale; private String initialText; - private boolean pickingSticker; - private StickerMasksView stickersView; + private BigInteger lcm; private ActionBarPopupWindow popupWindow; private ActionBarPopupWindow.ActionBarPopupWindowLayout popupLayout; @@ -101,33 +104,48 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView private Size paintingSize; - private boolean selectedStroke = true; + private float baseScale; + + private int selectedTextType = 2; private Animator colorPickerAnimator; private DispatchQueue queue; private ArrayList faces; + private boolean ignoreLayout; + + private Swatch brushSwatch; + private final static int gallery_menu_done = 1; - public PhotoPaintView(Context context, Bitmap bitmap, int rotation) { + private int originalBitmapRotation; + + public PhotoPaintView(Context context, Bitmap bitmap, Bitmap originalBitmap, int originalRotation, ArrayList entities, Runnable onInit) { super(context); queue = new DispatchQueue("Paint"); + originalBitmapRotation = originalRotation; + bitmapToEdit = bitmap; - orientation = rotation; + facesBitmap = originalBitmap; undoStore = new UndoStore(); undoStore.setDelegate(() -> colorPicker.setUndoEnabled(undoStore.canUndo())); curtainView = new FrameLayout(context); - curtainView.setBackgroundColor(0xff000000); + curtainView.setBackgroundColor(0x22000000); curtainView.setVisibility(INVISIBLE); - addView(curtainView); + addView(curtainView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); - renderView = new RenderView(context, new Painting(getPaintingSize()), bitmap, orientation); + renderView = new RenderView(context, new Painting(getPaintingSize()), bitmap); renderView.setDelegate(new RenderView.RenderViewDelegate() { + @Override + public void onFirstDraw() { + onInit.run(); + } + @Override public void onBeganDrawing() { if (currentEntityView != null) { @@ -171,8 +189,6 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView selectEntity(null); } }); - entitiesView.setPivotX(0); - entitiesView.setPivotY(0); addView(entitiesView); dimView = new FrameLayout(context); @@ -281,23 +297,73 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView textButton.setImageResource(R.drawable.photo_paint_text); textButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.ACTION_BAR_WHITE_SELECTOR_COLOR)); toolsView.addView(textButton, LayoutHelper.createFrame(54, LayoutHelper.MATCH_PARENT, Gravity.CENTER, 56, 0, 0, 0)); - textButton.setOnClickListener(v -> createText()); + textButton.setOnClickListener(v -> createText(true)); colorPicker.setUndoEnabled(false); setCurrentSwatch(colorPicker.getSwatch(), false); updateSettingsButton(); + + if (entities != null && !entities.isEmpty()) { + for (int a = 0, N = entities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = entities.get(a); + EntityView view; + if (entity.type == 0) { + StickerView stickerView = createSticker(entity.parentObject, entity.document, false); + if ((entity.subType & 2) != 0) { + stickerView.mirror(); + } + view = stickerView; + ViewGroup.LayoutParams layoutParams = view.getLayoutParams(); + layoutParams.width = entity.viewWidth; + layoutParams.height = entity.viewHeight; + } else if (entity.type == 1) { + TextPaintView textPaintView = createText(false); + int type; + if ((entity.subType & 1) != 0) { + type = 0; + } else if ((entity.subType & 4) != 0) { + type = 2; + } else { + type = 1; + } + textPaintView.setType(type); + textPaintView.setText(entity.text); + Swatch swatch = textPaintView.getSwatch(); + swatch.color = entity.color; + textPaintView.setSwatch(swatch); + view = textPaintView; + } else { + continue; + } + view.setX(entity.x * paintingSize.width - entity.viewWidth * (1 - entity.scale) / 2); + view.setY(entity.y * paintingSize.height - entity.viewHeight * (1 - entity.scale) / 2); + view.setPosition(new Point(view.getX() + entity.viewWidth / 2, view.getY() + entity.viewHeight / 2)); + view.setScaleX(entity.scale); + view.setScaleY(entity.scale); + view.setRotation((float) (-entity.rotation / Math.PI * 180)); + } + } + entitiesView.setVisibility(INVISIBLE); } - @Override - public boolean onTouchEvent(MotionEvent event) { + public void onResume() { + renderView.redraw(); + } + + public boolean onTouch(MotionEvent ev) { if (currentEntityView != null) { if (editingText) { closeTextEnter(true); - } - else { + } else { selectEntity(null); } } + + float x = renderView.getMeasuredWidth() / 2 + (ev.getX() - renderView.getTranslationX() - getMeasuredWidth() / 2) / renderView.getScaleX(); + float y = renderView.getMeasuredHeight() / 2 + (ev.getY() - renderView.getTranslationY() - getMeasuredHeight() / 2 + AndroidUtilities.dp(32)) / renderView.getScaleY(); + MotionEvent event = MotionEvent.obtain(0, 0, ev.getActionMasked(), x, y, 0); + renderView.onTouch(event); + event.recycle(); return true; } @@ -305,8 +371,8 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView if (paintingSize != null) { return paintingSize; } - float width = isSidewardOrientation() ? bitmapToEdit.getHeight() : bitmapToEdit.getWidth(); - float height = isSidewardOrientation() ? bitmapToEdit.getWidth() : bitmapToEdit.getHeight(); + float width = bitmapToEdit.getWidth(); + float height = bitmapToEdit.getHeight(); Size size = new Size(width, height); size.width = 1280; @@ -319,10 +385,6 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView return size; } - private boolean isSidewardOrientation() { - return orientation % 360 == 90 || orientation % 360 == 270; - } - private void updateSettingsButton() { int resource = R.drawable.photo_paint_brush; if (currentEntityView != null) { @@ -334,6 +396,10 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView paintButton.setImageResource(R.drawable.photo_paint); paintButton.setColorFilter(null); } else { + if (brushSwatch != null) { + setCurrentSwatch(brushSwatch, true); + brushSwatch = null; + } paintButton.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); paintButton.setImageResource(R.drawable.photo_paint); } @@ -351,8 +417,11 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } public void init() { + entitiesView.setVisibility(VISIBLE); renderView.setVisibility(View.VISIBLE); - detectFaces(); + if (facesBitmap != null) { + detectFaces(); + } } public void shutdown() { @@ -385,39 +454,106 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } private boolean hasChanges() { - return undoStore.canUndo() || entitiesView.entitiesCount() > 0; + return undoStore.canUndo(); } - public Bitmap getBitmap() { + public Bitmap getBitmap(ArrayList entities, Bitmap[] thumbBitmap) { Bitmap bitmap = renderView.getResultBitmap(); + lcm = BigInteger.ONE; if (bitmap != null && entitiesView.entitiesCount() > 0) { - android.graphics.Canvas canvas = new android.graphics.Canvas(bitmap); - - for (int i = 0; i < entitiesView.getChildCount(); i++) { + Canvas canvas = null; + int count = entitiesView.getChildCount(); + for (int i = 0; i < count; i++) { View v = entitiesView.getChildAt(i); - canvas.save(); - if (v instanceof EntityView) { - EntityView entity = (EntityView) v; - - canvas.translate(entity.getPosition().x, entity.getPosition().y); - canvas.scale(v.getScaleX(), v.getScaleY()); - canvas.rotate(v.getRotation()); - canvas.translate(-entity.getWidth() / 2, -entity.getHeight() / 2); - - if (v instanceof TextPaintView) { - Bitmap b = Bitmaps.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(b); - v.draw(c); - canvas.drawBitmap(b, null, new Rect(0, 0, b.getWidth(), b.getHeight()), null); - try { - c.setBitmap(null); - } catch (Exception e) { - FileLog.e(e); + if (!(v instanceof EntityView)) { + continue; + } + EntityView entity = (EntityView) v; + Point position = entity.getPosition(); + if (entities != null) { + VideoEditedInfo.MediaEntity mediaEntity = new VideoEditedInfo.MediaEntity(); + if (entity instanceof TextPaintView) { + mediaEntity.type = 1; + TextPaintView textPaintView = (TextPaintView) entity; + mediaEntity.text = textPaintView.getText(); + int type = textPaintView.getType(); + if (type == 0) { + mediaEntity.subType |= 1; + } else if (type == 2) { + mediaEntity.subType |= 4; + } + mediaEntity.color = textPaintView.getSwatch().color; + mediaEntity.fontSize = textPaintView.getTextSize(); + } else if (entity instanceof StickerView) { + mediaEntity.type = 0; + StickerView stickerView = (StickerView) entity; + Size size = stickerView.getBaseSize(); + mediaEntity.width = size.width; + mediaEntity.height = size.height; + mediaEntity.document = stickerView.getSticker(); + mediaEntity.parentObject = stickerView.getParentObject(); + TLRPC.Document document = stickerView.getSticker(); + mediaEntity.text = FileLoader.getPathToAttach(document, true).getAbsolutePath(); + if (MessageObject.isAnimatedStickerDocument(document, true)) { + mediaEntity.subType |= 1; + long duration = stickerView.getDuration(); + if (duration != 0) { + BigInteger x = BigInteger.valueOf(duration); + lcm = lcm.multiply(x).divide(lcm.gcd(x)); + } + } + if (stickerView.isMirrored()) { + mediaEntity.subType |= 2; } - b.recycle(); } else { - v.draw(canvas); + continue; } + entities.add(mediaEntity); + float scaleX = v.getScaleX(); + float scaleY = v.getScaleY(); + float x = v.getX(); + float y = v.getY(); + mediaEntity.viewWidth = v.getWidth(); + mediaEntity.viewHeight = v.getHeight(); + mediaEntity.width = v.getWidth() * scaleX / (float) entitiesView.getMeasuredWidth(); + mediaEntity.height = v.getHeight() * scaleY / (float) entitiesView.getMeasuredHeight(); + mediaEntity.x = (x + v.getWidth() * (1 - scaleX) / 2) / entitiesView.getMeasuredWidth(); + mediaEntity.y = (y + v.getHeight() * (1 - scaleY) / 2) / entitiesView.getMeasuredHeight(); + mediaEntity.rotation = (float) (-v.getRotation() * (Math.PI / 180)); + + mediaEntity.textViewX = (x + v.getWidth() / 2) / (float) entitiesView.getMeasuredWidth(); + mediaEntity.textViewY = (y + v.getHeight() / 2) / (float) entitiesView.getMeasuredHeight(); + mediaEntity.textViewWidth = mediaEntity.viewWidth / (float) entitiesView.getMeasuredWidth(); + mediaEntity.textViewHeight = mediaEntity.viewHeight / (float) entitiesView.getMeasuredHeight(); + mediaEntity.scale = scaleX; + + if (thumbBitmap[0] == null) { + thumbBitmap[0] = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig()); + canvas = new Canvas(thumbBitmap[0]); + canvas.drawBitmap(bitmap, 0, 0, null); + } + } + if (canvas == null) { + canvas = new Canvas(bitmap); + } + canvas.save(); + canvas.translate(position.x, position.y); + canvas.scale(v.getScaleX(), v.getScaleY()); + canvas.rotate(v.getRotation()); + canvas.translate(-entity.getWidth() / 2, -entity.getHeight() / 2); + if (v instanceof TextPaintView) { + Bitmap b = Bitmaps.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); + Canvas c = new Canvas(b); + v.draw(c); + canvas.drawBitmap(b, null, new Rect(0, 0, b.getWidth(), b.getHeight()), null); + try { + c.setBitmap(null); + } catch (Exception e) { + FileLog.e(e); + } + b.recycle(); + } else { + v.draw(canvas); } canvas.restore(); } @@ -425,13 +561,14 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView return bitmap; } + public long getLcm() { + return lcm.longValue(); + } + public void maybeShowDismissalAlert(PhotoViewer photoViewer, Activity parentActivity, final Runnable okRunnable) { if (editingText) { closeTextEnter(false); return; - } else if (pickingSticker) { - closeStickersView(); - return; } if (hasChanges()) { @@ -454,6 +591,9 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView renderView.setBrushSize(swatch.brushWeight); if (updateInterface) { + if (brushSwatch == null && paintButton.getColorFilter() != null) { + brushSwatch = colorPicker.getSwatch(); + } colorPicker.setSwatch(swatch); } @@ -466,9 +606,9 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView Animator animator; if (visible) { dimView.setVisibility(VISIBLE); - animator = ObjectAnimator.ofFloat(dimView, "alpha", 0.0f, 1.0f); + animator = ObjectAnimator.ofFloat(dimView, View.ALPHA, 0.0f, 1.0f); } else { - animator = ObjectAnimator.ofFloat(dimView, "alpha", 1.0f, 0.0f); + animator = ObjectAnimator.ofFloat(dimView, View.ALPHA, 1.0f, 0.0f); } animator.addListener(new AnimatorListenerAdapter() { @Override @@ -497,9 +637,9 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView if (visible) { textDimView.setVisibility(VISIBLE); - animator = ObjectAnimator.ofFloat(textDimView, "alpha", 0.0f, 1.0f); + animator = ObjectAnimator.ofFloat(textDimView, View.ALPHA, 0.0f, 1.0f); } else { - animator = ObjectAnimator.ofFloat(textDimView, "alpha", 1.0f, 0.0f); + animator = ObjectAnimator.ofFloat(textDimView, View.ALPHA, 1.0f, 0.0f); } animator.addListener(new AnimatorListenerAdapter() { @Override @@ -518,6 +658,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + ignoreLayout = true; int width = MeasureSpec.getSize(widthMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); @@ -528,8 +669,8 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView int fullHeight = AndroidUtilities.displaySize.y - ActionBar.getCurrentActionBarHeight(); int maxHeight = fullHeight - AndroidUtilities.dp(48); if (bitmapToEdit != null) { - bitmapW = isSidewardOrientation() ? bitmapToEdit.getHeight() : bitmapToEdit.getWidth(); - bitmapH = isSidewardOrientation() ? bitmapToEdit.getWidth() : bitmapToEdit.getHeight(); + bitmapW = bitmapToEdit.getWidth(); + bitmapH = bitmapToEdit.getHeight(); } else { bitmapW = width; bitmapH = height - ActionBar.getCurrentActionBarHeight() - AndroidUtilities.dp(48); @@ -543,14 +684,20 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } renderView.measure(MeasureSpec.makeMeasureSpec((int) renderWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) renderHeight, MeasureSpec.EXACTLY)); + + baseScale = renderWidth / paintingSize.width; + entitiesView.setScaleX(baseScale); + entitiesView.setScaleY(baseScale); entitiesView.measure(MeasureSpec.makeMeasureSpec((int) paintingSize.width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) paintingSize.height, MeasureSpec.EXACTLY)); dimView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST)); - selectionContainerView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.EXACTLY)); + if (currentEntityView != null) { + currentEntityView.updateSelectionView(); + } + selectionContainerView.measure(MeasureSpec.makeMeasureSpec((int) renderWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) renderHeight, MeasureSpec.EXACTLY)); colorPicker.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.EXACTLY)); toolsView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(48), MeasureSpec.EXACTLY)); - if (stickersView != null) { - stickersView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.displaySize.y, MeasureSpec.EXACTLY)); - } + curtainView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.EXACTLY)); + ignoreLayout = false; } @Override @@ -562,46 +709,28 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView int actionBarHeight = ActionBar.getCurrentActionBarHeight(); int actionBarHeight2 = ActionBar.getCurrentActionBarHeight() + status; - float bitmapW; - float bitmapH; int maxHeight = AndroidUtilities.displaySize.y - actionBarHeight - AndroidUtilities.dp(48); - if (bitmapToEdit != null) { - bitmapW = isSidewardOrientation() ? bitmapToEdit.getHeight() : bitmapToEdit.getWidth(); - bitmapH = isSidewardOrientation() ? bitmapToEdit.getWidth() : bitmapToEdit.getHeight(); - } else { - bitmapW = width; - bitmapH = height - actionBarHeight - AndroidUtilities.dp(48); - } - - float renderWidth = width; - float renderHeight = (float) Math.floor(renderWidth * bitmapH / bitmapW); - if (renderHeight > maxHeight) { - renderHeight = maxHeight; - renderWidth = (float) Math.floor(renderHeight * bitmapW / bitmapH); - } int x = (int) Math.ceil((width - renderView.getMeasuredWidth()) / 2); int y = actionBarHeight2 + (height - actionBarHeight2 - AndroidUtilities.dp(48) - renderView.getMeasuredHeight()) / 2 - ActionBar.getCurrentActionBarHeight() + AndroidUtilities.dp(8); renderView.layout(x, y, x + renderView.getMeasuredWidth(), y + renderView.getMeasuredHeight()); - - float scale = renderWidth / paintingSize.width; - entitiesView.setScaleX(scale); - entitiesView.setScaleY(scale); - entitiesView.layout(x, y, x + entitiesView.getMeasuredWidth(), y + entitiesView.getMeasuredHeight()); + int x2 = x + (renderView.getMeasuredWidth() - entitiesView.getMeasuredWidth()) / 2; + int y2 = y + (renderView.getMeasuredHeight() - entitiesView.getMeasuredHeight()) / 2; + entitiesView.layout(x2, y2, x2 + entitiesView.getMeasuredWidth(), y2 + entitiesView.getMeasuredHeight()); dimView.layout(0, status, dimView.getMeasuredWidth(), status + dimView.getMeasuredHeight()); - selectionContainerView.layout(0, status, selectionContainerView.getMeasuredWidth(), status + selectionContainerView.getMeasuredHeight()); + selectionContainerView.layout(x, y, x + selectionContainerView.getMeasuredWidth(), y + selectionContainerView.getMeasuredHeight()); colorPicker.layout(0, actionBarHeight2, colorPicker.getMeasuredWidth(), actionBarHeight2 + colorPicker.getMeasuredHeight()); toolsView.layout(0, height - toolsView.getMeasuredHeight(), toolsView.getMeasuredWidth(), height); - curtainView.layout(0, 0, width, maxHeight); - if (stickersView != null) { - stickersView.layout(0, status, stickersView.getMeasuredWidth(), status + stickersView.getMeasuredHeight()); - } + curtainView.layout(0, y, curtainView.getMeasuredWidth(), y + curtainView.getMeasuredHeight()); + } - if (currentEntityView != null) { - currentEntityView.updateSelectionView(); //TODO this is bug - currentEntityView.setOffset(entitiesView.getLeft() - selectionContainerView.getLeft(), entitiesView.getTop() - selectionContainerView.getTop()); + @Override + public void requestLayout() { + if (ignoreLayout) { + return; } + super.requestLayout(); } @Override @@ -634,7 +763,6 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } else { final float minimalDistance = 100.0f; Point position = centerPositionForEntity(); - while (true) { boolean occupied = false; for (int index = 0; index < entitiesView.getChildCount(); index++) { @@ -649,12 +777,12 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } } - if (!occupied) + if (!occupied) { break; - else + } else { position = new Point(position.x + offset, position.y + offset); + } } - return position; } } @@ -682,13 +810,35 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView return result; } + public void setTransform(float scale, float trX, float trY) { + for (int a = 0; a < 3; a++) { + View view; + if (a == 0) { + view = entitiesView; + view.setScaleX(baseScale * scale); + view.setScaleY(baseScale * scale); + } else { + if (a == 1) { + view = selectionContainerView; + } else { + view = renderView; + } + view.setScaleX(scale); + view.setScaleY(scale); + } + view.setTranslationX(trX); + view.setTranslationY(trY); + } + } + private boolean selectEntity(EntityView entityView) { boolean changed = false; if (currentEntityView != null) { if (currentEntityView == entityView) { - if (!editingText) + if (!editingText) { showMenuForEntity(currentEntityView); + } return true; } else { currentEntityView.deselect(); @@ -696,7 +846,14 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView changed = true; } + EntityView oldEntity = currentEntityView; currentEntityView = entityView; + if (oldEntity instanceof TextPaintView) { + TextPaintView textPaintView = (TextPaintView) oldEntity; + if (TextUtils.isEmpty(textPaintView.getText())) { + removeEntity(oldEntity); + } + } if (currentEntityView != null) { currentEntityView.select(selectionContainerView); @@ -728,8 +885,9 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } private void duplicateSelectedEntity() { - if (currentEntityView == null) + if (currentEntityView == null) { return; + } EntityView entityView = null; Point position = startPositionRelativeToEntity(currentEntityView); @@ -754,49 +912,15 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } private void openStickersView() { - if (stickersView != null && stickersView.getVisibility() == VISIBLE) { - return; - } - pickingSticker = true; - - if (stickersView == null) { - stickersView = new StickerMasksView(getContext()); - stickersView.setListener(new StickerMasksView.Listener() { - @Override - public void onStickerSelected(Object parentObject, TLRPC.Document sticker) { - closeStickersView(); - createSticker(parentObject, sticker); - } - - @Override - public void onTypeChanged() { - - } - }); - addView(stickersView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.LEFT | Gravity.TOP)); - } - - stickersView.setVisibility(VISIBLE); - Animator a = ObjectAnimator.ofFloat(stickersView, "alpha", 0.0f, 1.0f); - a.setDuration(200); - a.start(); + StickerMasksAlert stickerMasksAlert = new StickerMasksAlert(getContext(), facesBitmap == null); + stickerMasksAlert.setDelegate((parentObject, sticker) -> createSticker(parentObject, sticker, true)); + stickerMasksAlert.setOnDismissListener(dialog -> onOpenCloseStickersAlert(false)); + stickerMasksAlert.show(); + onOpenCloseStickersAlert(true); } - private void closeStickersView() { - if (stickersView == null || stickersView.getVisibility() != VISIBLE) { - return; - } - pickingSticker = false; + protected void onOpenCloseStickersAlert(boolean open) { - Animator a = ObjectAnimator.ofFloat(stickersView, "alpha", 1.0f, 0.0f); - a.setDuration(200); - a.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animator) { - stickersView.setVisibility(GONE); - } - }); - a.start(); } private Size baseStickerSize() { @@ -808,13 +932,16 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView undoStore.registerUndo(entityView.getUUID(), () -> removeEntity(entityView)); } - private void createSticker(Object parentObject, TLRPC.Document sticker) { + private StickerView createSticker(Object parentObject, TLRPC.Document sticker, boolean select) { StickerPosition position = calculateStickerPosition(sticker); StickerView view = new StickerView(getContext(), position.position, position.angle, position.scale, baseStickerSize(), sticker, parentObject); view.setDelegate(this); entitiesView.addView(view); - registerRemovalUndo(view); - selectEntity(view); + if (select) { + registerRemovalUndo(view); + selectEntity(view); + } + return view; } private void mirrorSticker() { @@ -827,20 +954,29 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView return (int) (getPaintingSize().width / 9); } - private void createText() { + private TextPaintView createText(boolean select) { Swatch currentSwatch = colorPicker.getSwatch(); - Swatch whiteSwatch = new Swatch(Color.WHITE, 1.0f, currentSwatch.brushWeight); - Swatch blackSwatch = new Swatch(Color.BLACK, 0.85f, currentSwatch.brushWeight); - setCurrentSwatch(selectedStroke ? blackSwatch : whiteSwatch, true); + Swatch swatch; + if (selectedTextType == 0) { + swatch = new Swatch(Color.BLACK, 0.85f, currentSwatch.brushWeight); + } else if (selectedTextType == 1) { + swatch = new Swatch(Color.WHITE, 1.0f, currentSwatch.brushWeight); + } else { + swatch = new Swatch(Color.WHITE, 1.0f, currentSwatch.brushWeight); + } - TextPaintView view = new TextPaintView(getContext(), startPositionRelativeToEntity(null), baseFontSize(), "", colorPicker.getSwatch(), selectedStroke); + TextPaintView view = new TextPaintView(getContext(), startPositionRelativeToEntity(null), baseFontSize(), "", swatch, selectedTextType); view.setDelegate(this); view.setMaxWidth((int) (getPaintingSize().width - 20)); entitiesView.addView(view, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); - registerRemovalUndo(view); - selectEntity(view); - editSelectedTextEntity(); + if (select) { + registerRemovalUndo(view); + selectEntity(view); + editSelectedTextEntity(); + } + setCurrentSwatch(swatch, true); + return view; } private void editSelectedTextEntity() { @@ -914,18 +1050,18 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView renderView.setBrush(brushes[currentBrush = brush]); } - private void setStroke(boolean stroke) { - selectedStroke = stroke; + private void setType(int type) { + selectedTextType = type; if (currentEntityView instanceof TextPaintView) { Swatch currentSwatch = colorPicker.getSwatch(); - if (stroke && currentSwatch.color == Color.WHITE) { + if (type == 0 && currentSwatch.color == Color.WHITE) { Swatch blackSwatch = new Swatch(Color.BLACK, 0.85f, currentSwatch.brushWeight); setCurrentSwatch(blackSwatch, true); - } else if (!stroke && currentSwatch.color == Color.BLACK) { + } else if ((type == 1 || type == 2) && currentSwatch.color == Color.BLACK) { Swatch blackSwatch = new Swatch(Color.WHITE, 1.0f, currentSwatch.brushWeight); setCurrentSwatch(blackSwatch, true); } - ((TextPaintView) currentEntityView).setStroke(stroke); + ((TextPaintView) currentEntityView).setType(type); } } @@ -1053,40 +1189,40 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView }, this, Gravity.RIGHT | Gravity.BOTTOM, 0, AndroidUtilities.dp(48)); } - private FrameLayout buttonForText(final boolean stroke, String text, boolean selected) { - FrameLayout button = new FrameLayout(getContext()) { + private LinearLayout buttonForText(int type, String text, int icon, boolean selected) { + LinearLayout button = new LinearLayout(getContext()) { @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return true; } }; + button.setOrientation(LinearLayout.HORIZONTAL); button.setBackgroundDrawable(Theme.getSelectorDrawable(false)); button.setOnClickListener(v -> { - setStroke(stroke); + setType(type); if (popupWindow != null && popupWindow.isShowing()) { popupWindow.dismiss(true); } }); - EditTextOutline textView = new EditTextOutline(getContext()); - textView.setBackgroundColor(Color.TRANSPARENT); - textView.setEnabled(false); - textView.setStrokeWidth(AndroidUtilities.dp(3)); - textView.setTextColor(stroke ? Color.WHITE : Color.BLACK); - textView.setStrokeColor(stroke ? Color.BLACK : Color.TRANSPARENT); - textView.setPadding(AndroidUtilities.dp(2), 0, AndroidUtilities.dp(2), 0); - textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); - textView.setTypeface(null, Typeface.BOLD); - textView.setTag(stroke); + ImageView imageView = new ImageView(getContext()); + imageView.setScaleType(ImageView.ScaleType.CENTER); + imageView.setImageResource(icon); + imageView.setColorFilter(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem)); + button.addView(imageView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.CENTER_VERTICAL, 16, 0, 16, 0)); + + TextView textView = new TextView(getContext()); + textView.setTextColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem)); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); textView.setText(text); - button.addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.CENTER_VERTICAL, 46, 0, 16, 0)); + button.addView(textView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.CENTER_VERTICAL, 0, 0, 16, 0)); if (selected) { ImageView check = new ImageView(getContext()); - check.setImageResource(R.drawable.ic_ab_done); + check.setImageResource(R.drawable.msg_text_check); check.setScaleType(ImageView.ScaleType.CENTER); - check.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); + check.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_radioBackgroundChecked), PorterDuff.Mode.MULTIPLY)); button.addView(check, LayoutHelper.createFrame(50, LayoutHelper.MATCH_PARENT)); } @@ -1095,21 +1231,21 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView private void showTextSettings() { showPopup(() -> { - View outline = buttonForText(true, LocaleController.getString("PaintOutlined", R.string.PaintOutlined), selectedStroke); - popupLayout.addView(outline); - - LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) outline.getLayoutParams(); - layoutParams.width = LayoutHelper.MATCH_PARENT; - layoutParams.height = AndroidUtilities.dp(48); - outline.setLayoutParams(layoutParams); - - View regular = buttonForText(false, LocaleController.getString("PaintRegular", R.string.PaintRegular), !selectedStroke); - popupLayout.addView(regular); - - layoutParams = (LinearLayout.LayoutParams) regular.getLayoutParams(); - layoutParams.width = LayoutHelper.MATCH_PARENT; - layoutParams.height = AndroidUtilities.dp(48); - regular.setLayoutParams(layoutParams); + for (int a = 0; a < 3; a++) { + String text; + int icon; + if (a == 0) { + text = LocaleController.getString("PaintOutlined", R.string.PaintOutlined); + icon = R.drawable.msg_text_outlined; + } else if (a == 1) { + text = LocaleController.getString("PaintRegular", R.string.PaintRegular); + icon = R.drawable.msg_text_regular; + } else { + text = LocaleController.getString("PaintFramed", R.string.PaintFramed); + icon = R.drawable.msg_text_framed; + } + popupLayout.addView(buttonForText(a, text, icon, selectedTextType == a), LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, 48)); + } }, this, Gravity.RIGHT | Gravity.BOTTOM, 0, AndroidUtilities.dp(48)); } @@ -1166,7 +1302,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } private int getFrameRotation() { - switch (orientation) { + switch (originalBitmapRotation) { case 90: { return Frame.ROTATION_90; } @@ -1185,6 +1321,10 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView } } + private boolean isSidewardOrientation() { + return originalBitmapRotation % 360 == 90 || originalBitmapRotation % 360 == 270; + } + private void detectFaces() { queue.postRunnable(() -> { FaceDetector faceDetector = null; @@ -1200,7 +1340,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView return; } - Frame frame = new Frame.Builder().setBitmap(bitmapToEdit).setRotation(getFrameRotation()).build(); + Frame frame = new Frame.Builder().setBitmap(facesBitmap).setRotation(getFrameRotation()).build(); SparseArray faces; try { faces = faceDetector.detect(frame); @@ -1213,7 +1353,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView for (int i = 0; i < faces.size(); i++) { int key = faces.keyAt(i); Face f = faces.get(key); - PhotoFace face = new PhotoFace(f, bitmapToEdit, targetSize, isSidewardOrientation()); + PhotoFace face = new PhotoFace(f, facesBitmap, targetSize, isSidewardOrientation()); if (face.isSufficient()) { result.add(face); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ProfileGalleryView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ProfileGalleryView.java index f2bb2cade..f1ade92e9 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ProfileGalleryView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ProfileGalleryView.java @@ -9,7 +9,6 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.PointF; import android.util.SparseArray; -import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; @@ -55,7 +54,7 @@ public class ProfileGalleryView extends CircularViewPager implements Notificatio private final SparseArray radialProgresses = new SparseArray<>(); - private class Item { + private static class Item { private BackupImageView imageView; } @@ -133,12 +132,13 @@ public class ProfileGalleryView extends CircularViewPager implements Notificatio } else if (action == MotionEvent.ACTION_MOVE) { final float dx = ev.getX() - downPoint.x; final float dy = ev.getY() - downPoint.y; - if (Math.abs(dy) >= touchSlop || Math.abs(dx) >= touchSlop) { + boolean move = Math.abs(dy) >= touchSlop || Math.abs(dx) >= touchSlop; + if (move) { isDownReleased = true; callback.onRelease(); } if (isSwipingViewPager && isScrollingListView) { - if (Math.abs(dy) >= touchSlop || Math.abs(dx) >= touchSlop) { + if (move) { if (Math.abs(dy) > Math.abs(dx)) { isSwipingViewPager = false; final MotionEvent cancelEvent = MotionEvent.obtain(ev); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/RLottieDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/RLottieDrawable.java index 0cf7b2bd6..dc0526463 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/RLottieDrawable.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/RLottieDrawable.java @@ -24,6 +24,7 @@ import android.view.View; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.ApplicationLoader; +import org.telegram.messenger.DispatchQueuePool; import org.telegram.messenger.FileLog; import org.telegram.messenger.R; @@ -33,32 +34,34 @@ import java.io.InputStream; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.HashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class RLottieDrawable extends BitmapDrawable implements Animatable { - private static native long create(String src, int w, int h, int[] params, boolean precache, int[] colorReplacement, boolean limitFps); + public static native long create(String src, int w, int h, int[] params, boolean precache, int[] colorReplacement, boolean limitFps); private static native long createWithJson(String json, String name, int[] params, int[] colorReplacement); - private static native void destroy(long ptr); + public static native void destroy(long ptr); private static native void setLayerColor(long ptr, String layer, int color); private static native void replaceColors(long ptr, int[] colorReplacement); - private static native int getFrame(long ptr, int frame, Bitmap bitmap, int w, int h, int stride); + public static native int getFrame(long ptr, int frame, Bitmap bitmap, int w, int h, int stride); private static native void createCache(long ptr, int w, int h); private int width; private int height; private final int[] metaData = new int[3]; private int timeBetweenFrames; + private int customEndFrame = -1; + private boolean playInDirectionOfCustomEndFrame; private int[] newReplaceColors; private int[] pendingReplaceColors; private HashMap newColorUpdates = new HashMap<>(); private volatile HashMap pendingColorUpdates = new HashMap<>(); private HashMap vibrationPattern; + private WeakReference frameReadyCallback; private WeakReference onFinishCallback; private int finishFrame; @@ -78,6 +81,9 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { private volatile Bitmap renderingBitmap; private volatile Bitmap nextRenderingBitmap; private volatile Bitmap backgroundBitmap; + private boolean waitingForNextTask; + + private CountDownLatch frameWaitSync; private boolean destroyWhenDone; private boolean decodeSingleFrame; @@ -107,7 +113,7 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { private static ThreadLocal bufferLocal = new ThreadLocal<>(); private ArrayList> parentViews = new ArrayList<>(); - private static ExecutorService loadFrameRunnableQueue = Executors.newCachedThreadPool(); + private static DispatchQueuePool loadFrameRunnableQueue = new DispatchQueuePool(4); private static ThreadPoolExecutor lottieCacheGenerateQueue; private Runnable uiRunnableNoFrame = new Runnable() { @@ -189,6 +195,7 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { recycleResources(); return; } + waitingForNextTask = true; if (!hasParentView()) { stop(); } @@ -222,6 +229,9 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { return; } if (nativePtr == 0 || isDice == 2 && secondNativePtr == 0) { + if (frameWaitSync != null) { + frameWaitSync.countDown(); + } uiHandler.post(uiRunnableNoFrame); return; } @@ -262,6 +272,9 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { int result = getFrame(ptrToUse, currentFrame, backgroundBitmap, width, height, backgroundBitmap.getRowBytes()); if (result == -1) { uiHandler.post(uiRunnableNoFrame); + if (frameWaitSync != null) { + frameWaitSync.countDown(); + } return; } if (metaData[2] != 0) { @@ -288,23 +301,41 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { autoRepeatPlayCount++; } } else { - if (currentFrame + framesPerUpdates < metaData[0]) { - if (autoRepeat == 3) { + if (customEndFrame > 0 && playInDirectionOfCustomEndFrame) { + if (currentFrame > customEndFrame) { + if (currentFrame - framesPerUpdates > customEndFrame) { + currentFrame -= framesPerUpdates; + nextFrameIsLast = false; + } else { + nextFrameIsLast = true; + } + } else { + if (currentFrame + framesPerUpdates < customEndFrame) { + currentFrame += framesPerUpdates; + nextFrameIsLast = false; + } else { + nextFrameIsLast = true; + } + } + } else { + if (currentFrame + framesPerUpdates < (customEndFrame > 0 ? customEndFrame : metaData[0])) { + if (autoRepeat == 3) { + nextFrameIsLast = true; + autoRepeatPlayCount++; + } else { + currentFrame += framesPerUpdates; + nextFrameIsLast = false; + } + } else if (autoRepeat == 1) { + currentFrame = 0; + nextFrameIsLast = false; + } else if (autoRepeat == 2) { + currentFrame = 0; nextFrameIsLast = true; autoRepeatPlayCount++; } else { - currentFrame += framesPerUpdates; - nextFrameIsLast = false; + nextFrameIsLast = true; } - } else if (autoRepeat == 1) { - currentFrame = 0; - nextFrameIsLast = false; - } else if (autoRepeat == 2) { - currentFrame = 0; - nextFrameIsLast = true; - autoRepeatPlayCount++; - } else { - nextFrameIsLast = true; } } } catch (Exception e) { @@ -312,6 +343,9 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { } } uiHandler.post(uiRunnable); + if (frameWaitSync != null) { + frameWaitSync.countDown(); + } } }; @@ -472,6 +506,25 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { return new String(readBuffer, 0, totalRead); } + public int getCurrentFrame() { + return currentFrame; + } + + public long getDuration() { + return (long) (metaData[0] / (float) metaData[1] * 1000); + } + + public void setPlayInDirectionOfCustomEndFrame(boolean value) { + playInDirectionOfCustomEndFrame = value; + } + + public void setCustomEndFrame(int frame) { + if (customEndFrame > metaData[0]) { + return; + } + customEndFrame = frame; + } + public void addParentView(View view) { if (view == null) { return; @@ -679,13 +732,15 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { isRunning = false; } - public void setProgress(float progress) { - if (progress < 0.0f) { - progress = 0.0f; - } else if (progress > 1.0f) { - progress = 1.0f; + public void setCurrentFrame(int frame) { + setCurrentFrame(frame, true); + } + + public void setCurrentFrame(int frame, boolean async) { + if (frame < 0 || frame > metaData[0]) { + return; } - currentFrame = (int) (metaData[0] * progress); + currentFrame = frame; nextFrameIsLast = false; singleFrameDecoded = false; if (invalidateOnProgressSet) { @@ -694,12 +749,45 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { doNotRemoveInvalidOnFrameReady = true; } } - if (!scheduleNextGetFrame()) { + if (!async) { + if (waitingForNextTask && nextRenderingBitmap != null) { + backgroundBitmap = nextRenderingBitmap; + nextRenderingBitmap = null; + loadFrameTask = null; + waitingForNextTask = false; + } + if (loadFrameTask == null) { + frameWaitSync = new CountDownLatch(1); + } + } + if (scheduleNextGetFrame()) { + if (!async) { + try { + frameWaitSync.await(); + } catch (Exception e) { + FileLog.e(e); + } + frameWaitSync = null; + } + } else { forceFrameRedraw = true; } invalidateSelf(); } + public void setProgress(float progress) { + setProgress(progress, true); + } + + public void setProgress(float progress, boolean async) { + if (progress < 0.0f) { + progress = 0.0f; + } else if (progress > 1.0f) { + progress = 1.0f; + } + setCurrentFrame((int) (metaData[0] * progress), async); + } + public void setCurrentParentView(View view) { currentParentView = view; } @@ -744,12 +832,15 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { private void setCurrentFrame(long now, long timeDiff, long timeCheck, boolean force) { backgroundBitmap = renderingBitmap; renderingBitmap = nextRenderingBitmap; - if (isDice == 2 && onFinishCallback != null && currentFrame - 1 >= finishFrame) { - Runnable runnable = onFinishCallback.get(); - if (runnable != null) { - runnable.run(); + nextRenderingBitmap = null; + if (isDice == 2) { + if (onFinishCallback != null && currentFrame - 1 >= finishFrame) { + Runnable runnable = onFinishCallback.get(); + if (runnable != null) { + runnable.run(); + } + onFinishCallback = null; } - onFinishCallback = null; } if (nextFrameIsLast) { stop(); @@ -761,7 +852,7 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { isInvalid = false; } singleFrameDecoded = true; - nextRenderingBitmap = null; + waitingForNextTask = false; if (AndroidUtilities.screenRefreshRate <= 60) { lastFrameTime = now; } else { @@ -771,6 +862,14 @@ public class RLottieDrawable extends BitmapDrawable implements Animatable { singleFrameDecoded = false; forceFrameRedraw = false; } + if (isDice == 0) { + if (onFinishCallback != null && currentFrame >= finishFrame) { + Runnable runnable = onFinishCallback.get(); + if (runnable != null) { + runnable.run(); + } + } + } scheduleNextGetFrame(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerAnimationScrollHelper.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerAnimationScrollHelper.java index 15fe361b5..792a9856b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerAnimationScrollHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerAnimationScrollHelper.java @@ -9,9 +9,11 @@ import android.view.View; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import org.telegram.messenger.BuildVars; import org.telegram.ui.Cells.ChatMessageCell; import java.util.ArrayList; +import java.util.HashMap; public class RecyclerAnimationScrollHelper { @@ -30,6 +32,7 @@ public class RecyclerAnimationScrollHelper { private AnimationCallback animationCallback; public SparseArray positionToOldView = new SparseArray<>(); + private HashMap oldStableIds = new HashMap<>(); public RecyclerAnimationScrollHelper(RecyclerListView recyclerView, LinearLayoutManager layoutManager) { this.recyclerView = recyclerView; @@ -45,7 +48,9 @@ public class RecyclerAnimationScrollHelper { } public void scrollToPosition(int position, int offset, final boolean bottom, boolean smooth) { - if (recyclerView.animationRunning) return; + if (recyclerView.scrollAnimationRunning || (recyclerView.getItemAnimator() != null && recyclerView.getItemAnimator().isRunning())) { + return; + } if (!smooth || scrollDirection == SCROLL_DIRECTION_UNSET) { layoutManager.scrollToPositionWithOffset(position, offset, bottom); return; @@ -60,36 +65,35 @@ public class RecyclerAnimationScrollHelper { boolean scrollDown = scrollDirection == SCROLL_DIRECTION_DOWN; recyclerView.setScrollEnabled(false); - int h = 0; - int t = 0; + final ArrayList oldViews = new ArrayList<>(); positionToOldView.clear(); - final ArrayList oldHolders = new ArrayList<>(); - recyclerView.getRecycledViewPool().clear(); + + RecyclerView.Adapter adapter = recyclerView.getAdapter(); + oldStableIds.clear(); for (int i = 0; i < n; i++) { View child = recyclerView.getChildAt(0); oldViews.add(child); - RecyclerView.ViewHolder holder = recyclerView.getChildViewHolder(child); - if (holder != null) { - oldHolders.add(holder); + int childPosition = layoutManager.getPosition(child); + positionToOldView.put(childPosition, child); + if (adapter != null && adapter.hasStableIds()) { + if (child instanceof ChatMessageCell) { + oldStableIds.put((long) ((ChatMessageCell) child).getMessageObject().stableId, child); + } else { + oldStableIds.put(adapter.getItemId(childPosition), child); + } } - positionToOldView.put(layoutManager.getPosition(child), child); - - int bot = child.getBottom(); - int top = child.getTop(); - if (bot > h) h = bot; - if (top < t) t = top; - if (child instanceof ChatMessageCell) { ((ChatMessageCell) child).setAnimationRunning(true, true); } - recyclerView.removeView(child); + layoutManager.removeAndRecycleView(child, recyclerView.mRecycler); + } - final int finalHeight = scrollDown ? h : recyclerView.getHeight() - t; + recyclerView.mRecycler.clear(); + recyclerView.getRecycledViewPool().clear(); - RecyclerView.Adapter adapter = recyclerView.getAdapter(); AnimatableAdapter animatableAdapter = null; if (adapter instanceof AnimatableAdapter) { animatableAdapter = (AnimatableAdapter) adapter; @@ -103,6 +107,9 @@ public class RecyclerAnimationScrollHelper { recyclerView.setVerticalScrollBarEnabled(false); if (animationCallback != null) animationCallback.onStartAnimation(); + recyclerView.scrollAnimationRunning = true; + if (finalAnimatableAdapter != null) finalAnimatableAdapter.onAnimationStart(); + recyclerView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int l, int t, int r, int b, int ol, int ot, int or, int ob) { @@ -112,6 +119,7 @@ public class RecyclerAnimationScrollHelper { int n = recyclerView.getChildCount(); int top = 0; int bottom = 0; + int scrollDiff = 0; for (int i = 0; i < n; i++) { View child = recyclerView.getChildAt(i); incomingViews.add(child); @@ -123,9 +131,37 @@ public class RecyclerAnimationScrollHelper { if (child instanceof ChatMessageCell) { ((ChatMessageCell) child).setAnimationRunning(true, false); } + + if (adapter != null && adapter.hasStableIds()) { + long stableId = adapter.getItemId(recyclerView.getChildAdapterPosition(child)); + if (oldStableIds.containsKey(stableId)) { + View view = oldStableIds.get(stableId); + if (view != null) { + if (child instanceof ChatMessageCell) { + ((ChatMessageCell) child).setAnimationRunning(false, false); + } + oldViews.remove(view); + int dif = child.getTop() - view.getTop(); + if (dif != 0) { + scrollDiff = dif; + } + } + } + } } + oldStableIds.clear(); + + int oldH = 0; + int oldT = 0; + for (View view : oldViews) { + int bot = view.getBottom(); + int topl = view.getTop(); + if (bot > oldH) oldH = bot; + if (topl < oldT) oldT = topl; + + if (view.getParent() == null) { recyclerView.addView(view); } @@ -134,10 +170,15 @@ public class RecyclerAnimationScrollHelper { } } - recyclerView.animationRunning = true; - if (finalAnimatableAdapter != null) finalAnimatableAdapter.onAnimationStart(); + final int scrollLength ; + if (oldViews.isEmpty()) { + scrollLength = Math.abs(scrollDiff); + } else { + int finalHeight = scrollDown ? oldH : recyclerView.getHeight() - oldT; + scrollLength = finalHeight + (scrollDown ? -top : bottom - recyclerView.getHeight()); + } + - final int scrollLength = finalHeight + (scrollDown ? -top : bottom - recyclerView.getHeight()); if (animator != null) { animator.removeAllListeners(); @@ -177,7 +218,10 @@ public class RecyclerAnimationScrollHelper { animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - recyclerView.animationRunning = false; + if (animator == null) { + return; + } + recyclerView.scrollAnimationRunning = false; for (View view : oldViews) { if (view instanceof ChatMessageCell) { @@ -189,6 +233,20 @@ public class RecyclerAnimationScrollHelper { recyclerView.setVerticalScrollBarEnabled(true); + if (BuildVars.DEBUG_VERSION) { + if (recyclerView.mChildHelper.getChildCount() != recyclerView.getChildCount()) { + throw new RuntimeException("views count in child helper must be quals views count in recycler view"); + } + + if (recyclerView.mChildHelper.getHiddenChildCount() != 0) { + throw new RuntimeException("hidden child count must be 0"); + } + + if (recyclerView.getCachedChildCount() != 0) { + throw new RuntimeException("cached child count must be 0"); + } + } + int n = recyclerView.getChildCount(); for (int i = 0; i < n; i++) { View child = recyclerView.getChildAt(i); @@ -215,6 +273,9 @@ public class RecyclerAnimationScrollHelper { recyclerView.removeOnLayoutChangeListener(this); long duration = (long) (((scrollLength / (float) recyclerView.getMeasuredHeight()) + 1f) * 200L); + if (duration < 80) { + duration = 80; + } duration = Math.min(duration, 1300); @@ -232,7 +293,7 @@ public class RecyclerAnimationScrollHelper { private void clear() { recyclerView.setVerticalScrollBarEnabled(true); - recyclerView.animationRunning = false; + recyclerView.scrollAnimationRunning = false; RecyclerView.Adapter adapter = recyclerView.getAdapter(); if (adapter instanceof AnimatableAdapter) ((AnimatableAdapter) adapter).onAnimationEnd(); @@ -292,6 +353,16 @@ public class RecyclerAnimationScrollHelper { } } + @Override + public void notifyItemInserted(int position) { + if (!animationRunning) { + super.notifyItemInserted(position); + } else { + rangeInserted.add(position); + rangeInserted.add(1); + } + } + @Override public void notifyItemRangeInserted(int positionStart, int itemCount) { if (!animationRunning) { @@ -302,6 +373,16 @@ public class RecyclerAnimationScrollHelper { } } + @Override + public void notifyItemRemoved(int position) { + if (!animationRunning) { + super.notifyItemRemoved(position); + } else { + rangeRemoved.add(position); + rangeRemoved.add(1); + } + } + @Override public void notifyItemRangeRemoved(int positionStart, int itemCount) { if (!animationRunning) { @@ -312,6 +393,13 @@ public class RecyclerAnimationScrollHelper { } } + @Override + public void notifyItemChanged(int position) { + if (!animationRunning) { + super.notifyItemChanged(position); + } + } + @Override public void notifyItemRangeChanged(int positionStart, int itemCount) { if (!animationRunning) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerListView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerListView.java index 8a165c804..a12700db6 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerListView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/RecyclerListView.java @@ -116,7 +116,7 @@ public class RecyclerListView extends RecyclerView { private static boolean gotAttributes; private boolean hiddenByEmptyView; - public boolean animationRunning; + public boolean scrollAnimationRunning; public interface OnItemClickListener { void onItemClick(View view, int position); @@ -1770,9 +1770,13 @@ public class RecyclerListView extends RecyclerView { return pinnedHeader; } + public boolean isScrollAnimationRunning() { + return scrollAnimationRunning; + } + @Override public void requestLayout() { - if (animationRunning) { + if (scrollAnimationRunning) { return; } super.requestLayout(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ScrollSlidingTabStrip.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ScrollSlidingTabStrip.java index e3d03d060..78f9f9bb2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ScrollSlidingTabStrip.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ScrollSlidingTabStrip.java @@ -539,6 +539,12 @@ public class ScrollSlidingTabStrip extends HorizontalScrollView { invalidate(); } + public void invalidateTabs() { + for (int a = 0, N = tabsContainer.getChildCount(); a < N; a++) { + tabsContainer.getChildAt(a).invalidate(); + } + } + public void setCurrentPosition(int currentPosition) { this.currentPosition = currentPosition; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/SearchField.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/SearchField.java index e393cad9f..3f9549f75 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/SearchField.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/SearchField.java @@ -17,6 +17,9 @@ import android.widget.ImageView; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.R; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; + +import java.util.List; @SuppressWarnings("FieldCanBeLocal") public class SearchField extends FrameLayout { @@ -183,4 +186,13 @@ public class SearchField extends FrameLayout { public CloseProgressDrawable2 getProgressDrawable() { return progressDrawable; } + + public void getThemeDescriptions(List descriptions) { + descriptions.add(new ThemeDescription(searchBackground, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, Theme.key_dialogSearchBackground)); + descriptions.add(new ThemeDescription(searchIconImageView, ThemeDescription.FLAG_IMAGECOLOR, null, null, null, null, Theme.key_dialogSearchIcon)); + descriptions.add(new ThemeDescription(clearSearchImageView, ThemeDescription.FLAG_IMAGECOLOR, null, null, null, null, Theme.key_dialogSearchIcon)); + descriptions.add(new ThemeDescription(searchEditText, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_dialogSearchText)); + descriptions.add(new ThemeDescription(searchEditText, ThemeDescription.FLAG_HINTTEXTCOLOR, null, null, null, null, Theme.key_dialogSearchHint)); + descriptions.add(new ThemeDescription(searchEditText, ThemeDescription.FLAG_CURSORCOLOR, null, null, null, null, Theme.key_featuredStickers_addedIcon)); + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/SeekBarWaveform.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/SeekBarWaveform.java index 487ed544f..0269c3fde 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/SeekBarWaveform.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/SeekBarWaveform.java @@ -156,7 +156,7 @@ public class SeekBarWaveform { float barCounter = 0; int nextBarNum = 0; - paintInner.setColor(messageObject != null && !messageObject.isOutOwner() && messageObject.isContentUnread() ? outerColor : (selected ? selectedColor : innerColor)); + paintInner.setColor(messageObject != null && !messageObject.isOutOwner() && messageObject.isContentUnread() && thumbX == 0 ? outerColor : (selected ? selectedColor : innerColor)); paintOuter.setColor(outerColor); int y = (height - AndroidUtilities.dp(14)) / 2; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ShareAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ShareAlert.java index 2ff889df9..80bcf8ca5 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ShareAlert.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ShareAlert.java @@ -310,7 +310,7 @@ public class ShareAlert extends BottomSheet implements NotificationCenter.Notifi ignoreLayout = false; } int availableHeight = totalHeight - getPaddingTop(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (!AndroidUtilities.isInMultiwindow && keyboardSize <= AndroidUtilities.dp(20)) { availableHeight -= commentTextView.getEmojiPadding(); } @@ -334,7 +334,7 @@ public class ShareAlert extends BottomSheet implements NotificationCenter.Notifi setMeasuredDimension(widthSize, heightSize); widthSize -= backgroundPaddingLeft * 2; - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { if (!AndroidUtilities.isInMultiwindow) { heightSize -= commentTextView.getEmojiPadding(); @@ -383,7 +383,7 @@ public class ShareAlert extends BottomSheet implements NotificationCenter.Notifi protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? commentTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); @@ -1028,6 +1028,7 @@ public class ShareAlert extends BottomSheet implements NotificationCenter.Notifi dialogs.add(dialog); dialogsMap.put(dialog.id, dialog); } + ArrayList archivedDialogs = new ArrayList<>(); ArrayList allDialogs = MessagesController.getInstance(currentAccount).getAllDialogs(); for (int a = 0; a < allDialogs.size(); a++) { TLRPC.Dialog dialog = allDialogs.get(a); @@ -1041,17 +1042,26 @@ public class ShareAlert extends BottomSheet implements NotificationCenter.Notifi int high_id = (int) (dialog.id >> 32); if (lower_id != 0 && high_id != 1) { if (lower_id > 0) { - dialogs.add(dialog); + if (dialog.folder_id == 1) { + archivedDialogs.add(dialog); + } else { + dialogs.add(dialog); + } dialogsMap.put(dialog.id, dialog); } else { TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(-lower_id); if (!(chat == null || ChatObject.isNotInChat(chat) || ChatObject.isChannel(chat) && !chat.creator && (chat.admin_rights == null || !chat.admin_rights.post_messages) && !chat.megagroup)) { - dialogs.add(dialog); + if (dialog.folder_id == 1) { + archivedDialogs.add(dialog); + } else { + dialogs.add(dialog); + } dialogsMap.put(dialog.id, dialog); } } } } + dialogs.addAll(archivedDialogs); notifyDataSetChanged(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/SharedMediaLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/SharedMediaLayout.java index a2b7cff88..9b429d339 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/SharedMediaLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/SharedMediaLayout.java @@ -1891,6 +1891,14 @@ public class SharedMediaLayout extends FrameLayout implements NotificationCenter } } + public void setVisibleHeight(int height) { + height = Math.max(height, AndroidUtilities.dp(120)); + for (int a = 0; a < mediaPages.length; a++) { + mediaPages[a].emptyView.setTranslationY(-(getMeasuredHeight() - height) / 2); + mediaPages[a].progressView.setTranslationY(-(getMeasuredHeight() - height) / 2); + } + } + private AnimatorSet actionModeAnimation; private void showActionMode(boolean show) { if (isActionModeShowed == show) { @@ -2833,7 +2841,7 @@ public class SharedMediaLayout extends FrameLayout implements NotificationCenter link = ((SharedLinkCell) view).getLink(0); } if (link != null) { - Browser.openUrl(profileActivity.getParentActivity(), link); + openUrl(link); } } catch (Exception e) { FileLog.e(e); @@ -2842,6 +2850,14 @@ public class SharedMediaLayout extends FrameLayout implements NotificationCenter } } + private void openUrl(String link) { + if (AndroidUtilities.shouldShowUrlInAlert(link)) { + AlertsCreator.showOpenUrlAlert(profileActivity, link, true, true); + } else { + Browser.openUrl(profileActivity.getParentActivity(), link); + } + } + private void openWebView(TLRPC.WebPage webPage) { EmbedBottomSheet.show(profileActivity.getParentActivity(), webPage.site_name, webPage.description, webPage.url, webPage.embed_url, webPage.embed_width, webPage.embed_height); } @@ -2896,23 +2912,27 @@ public class SharedMediaLayout extends FrameLayout implements NotificationCenter } @Override - public void onLinkLongPress(final String urlFinal) { - BottomSheet.Builder builder = new BottomSheet.Builder(profileActivity.getParentActivity()); - builder.setTitle(urlFinal); - builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { - if (which == 0) { - Browser.openUrl(profileActivity.getParentActivity(), urlFinal, true); - } else if (which == 1) { - String url = urlFinal; - if (url.startsWith("mailto:")) { - url = url.substring(7); - } else if (url.startsWith("tel:")) { - url = url.substring(4); + public void onLinkPress(String urlFinal, boolean longPress) { + if (longPress) { + BottomSheet.Builder builder = new BottomSheet.Builder(profileActivity.getParentActivity()); + builder.setTitle(urlFinal); + builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { + if (which == 0) { + openUrl(urlFinal); + } else if (which == 1) { + String url = urlFinal; + if (url.startsWith("mailto:")) { + url = url.substring(7); + } else if (url.startsWith("tel:")) { + url = url.substring(4); + } + AndroidUtilities.addToClipboard(url); } - AndroidUtilities.addToClipboard(url); - } - }); - profileActivity.showDialog(builder.create()); + }); + profileActivity.showDialog(builder.create()); + } else { + openUrl(urlFinal); + } } }; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/SideMenultItemAnimator.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/SideMenultItemAnimator.java index a3798dc4e..d1658cf6b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/SideMenultItemAnimator.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/SideMenultItemAnimator.java @@ -156,7 +156,7 @@ public class SideMenultItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateRemove(final RecyclerView.ViewHolder holder) { + public boolean animateRemove(final RecyclerView.ViewHolder holder, ItemHolderInfo info) { resetAnimation(holder); mPendingRemovals.add(holder); return true; @@ -221,7 +221,7 @@ public class SideMenultItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateMove(final RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY) { + public boolean animateMove(final RecyclerView.ViewHolder holder, ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { final View view = holder.itemView; fromX += (int) holder.itemView.getTranslationX(); fromY += (int) holder.itemView.getTranslationY(); @@ -282,9 +282,9 @@ public class SideMenultItemAnimator extends SimpleItemAnimator { } @Override - public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromX, int fromY, int toX, int toY) { + public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder,ItemHolderInfo info, int fromX, int fromY, int toX, int toY) { if (oldHolder == newHolder) { - return animateMove(oldHolder, fromX, fromY, toX, toY); + return animateMove(oldHolder, null, fromX, fromY, toX, toY); } final float prevTranslationX = oldHolder.itemView.getTranslationX(); final float prevTranslationY = oldHolder.itemView.getTranslationY(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/SizeNotifierFrameLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/SizeNotifierFrameLayout.java index 94c8df88d..672aa7c8c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/SizeNotifierFrameLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/SizeNotifierFrameLayout.java @@ -29,7 +29,7 @@ public class SizeNotifierFrameLayout extends AdjustPanFrameLayout { private Rect rect = new Rect(); private Drawable backgroundDrawable; - private int keyboardHeight; + protected int keyboardHeight; private int bottomClip; private SizeNotifierFrameLayoutDelegate delegate; private boolean occupyStatusBar = true; @@ -117,7 +117,7 @@ public class SizeNotifierFrameLayout extends AdjustPanFrameLayout { notifyHeightChanged(); } - public int getKeyboardHeight() { + public int measureKeyboardHeight() { View rootView = getRootView(); getWindowVisibleDisplayFrame(rect); if (rect.bottom == 0 && rect.top == 0) { @@ -127,12 +127,16 @@ public class SizeNotifierFrameLayout extends AdjustPanFrameLayout { return keyboardHeight = Math.max(0, usableViewHeight - (rect.bottom - rect.top)); } + public int getKeyboardHeight() { + return keyboardHeight; + } + public void notifyHeightChanged() { if (parallaxEffect != null) { parallaxScale = parallaxEffect.getScale(getMeasuredWidth(), getMeasuredHeight()); } if (delegate != null) { - keyboardHeight = getKeyboardHeight(); + keyboardHeight = measureKeyboardHeight(); final boolean isWidthGreater = AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y; post(() -> { if (delegate != null) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksAlert.java new file mode 100644 index 000000000..04d6cc8f3 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksAlert.java @@ -0,0 +1,1645 @@ +package org.telegram.ui.Components; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.RippleDrawable; +import android.os.Build; +import android.os.SystemClock; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.util.LongSparseArray; +import android.util.SparseArray; +import android.util.SparseIntArray; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.EditorInfo; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.Emoji; +import org.telegram.messenger.LocaleController; +import org.telegram.messenger.MediaDataController; +import org.telegram.messenger.NotificationCenter; +import org.telegram.messenger.R; +import org.telegram.messenger.UserConfig; +import org.telegram.tgnet.ConnectionsManager; +import org.telegram.tgnet.TLObject; +import org.telegram.tgnet.TLRPC; +import org.telegram.ui.ActionBar.BottomSheet; +import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.Cells.EmptyCell; +import org.telegram.ui.Cells.StickerEmojiCell; +import org.telegram.ui.Cells.StickerSetNameCell; +import org.telegram.ui.ContentPreviewViewer; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; + +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearSmoothScroller; +import androidx.recyclerview.widget.RecyclerView; + +@SuppressWarnings("unchecked") +public class StickerMasksAlert extends BottomSheet implements NotificationCenter.NotificationCenterDelegate { + + private Drawable shadowDrawable; + + private int scrollOffsetY; + + private StickerMasksAlertDelegate delegate; + + private FrameLayout bottomTabContainer; + private View shadowLine; + private AnimatorSet bottomTabContainerAnimation; + + private StickersGridAdapter stickersGridAdapter; + private StickersSearchGridAdapter stickersSearchGridAdapter; + private RecyclerListView.OnItemClickListener stickersOnItemClickListener; + private ScrollSlidingTabStrip stickersTab; + private RecyclerListView gridView; + private GridLayoutManager stickersLayoutManager; + private SearchField stickersSearchField; + + private String[] lastSearchKeyboardLanguage; + + private Drawable[] stickerIcons; + + private int searchFieldHeight; + + private int currentAccount = UserConfig.selectedAccount; + + private ArrayList[] stickerSets = new ArrayList[]{new ArrayList<>(), new ArrayList<>()}; + private ArrayList[] recentStickers = new ArrayList[]{new ArrayList<>(), new ArrayList<>()}; + + private ArrayList favouriteStickers = new ArrayList<>(); + + private int stickersTabOffset; + private int recentTabBum = -2; + private int favTabBum = -2; + + private int lastNotifyWidth; + private int lastNotifyHeight; + private int lastNotifyHeight2; + + private ImageView stickersButton; + private ImageView masksButton; + + private int currentType; + + public interface StickerMasksAlertDelegate { + void onStickerSelected(Object parentObject, TLRPC.Document sticker); + } + + private ContentPreviewViewer.ContentPreviewViewerDelegate contentPreviewViewerDelegate = new ContentPreviewViewer.ContentPreviewViewerDelegate() { + @Override + public void sendSticker(TLRPC.Document sticker, Object parent, boolean notify, int scheduleDate) { + delegate.onStickerSelected(parent, sticker); + } + + @Override + public boolean needSend() { + return false; + } + + @Override + public boolean canSchedule() { + return false; + } + + @Override + public boolean isInScheduleMode() { + return false; + } + + @Override + public void openSet(TLRPC.InputStickerSet set, boolean clearsInputField) { + + } + + @Override + public long getDialogId() { + return 0; + } + + @Override + public boolean needMenu() { + return false; + } + }; + + private class SearchField extends FrameLayout { + + private ImageView clearSearchImageView; + private CloseProgressDrawable2 progressDrawable; + private EditTextBoldCursor searchEditText; + private View shadowView; + private AnimatorSet shadowAnimator; + + public SearchField(Context context, int type) { + super(context); + + shadowView = new View(context); + shadowView.setAlpha(0.0f); + shadowView.setTag(1); + shadowView.setBackgroundColor(0x12000000); + addView(shadowView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, AndroidUtilities.getShadowHeight(), Gravity.BOTTOM | Gravity.LEFT)); + + View backgroundView = new View(context); + backgroundView.setBackgroundColor(0xff252525); + addView(backgroundView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, searchFieldHeight)); + + View searchBackground = new View(context); + searchBackground.setBackgroundDrawable(Theme.createRoundRectDrawable(AndroidUtilities.dp(18), 0xff363636)); + addView(searchBackground, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 36, Gravity.LEFT | Gravity.TOP, 14, 14, 14, 0)); + + ImageView searchIconImageView = new ImageView(context); + searchIconImageView.setScaleType(ImageView.ScaleType.CENTER); + searchIconImageView.setImageResource(R.drawable.smiles_inputsearch); + searchIconImageView.setColorFilter(new PorterDuffColorFilter(0xff777777, PorterDuff.Mode.MULTIPLY)); + addView(searchIconImageView, LayoutHelper.createFrame(36, 36, Gravity.LEFT | Gravity.TOP, 16, 14, 0, 0)); + + clearSearchImageView = new ImageView(context); + clearSearchImageView.setScaleType(ImageView.ScaleType.CENTER); + clearSearchImageView.setImageDrawable(progressDrawable = new CloseProgressDrawable2()); + progressDrawable.setSide(AndroidUtilities.dp(7)); + clearSearchImageView.setScaleX(0.1f); + clearSearchImageView.setScaleY(0.1f); + clearSearchImageView.setAlpha(0.0f); + clearSearchImageView.setColorFilter(new PorterDuffColorFilter(0xff777777, PorterDuff.Mode.MULTIPLY)); + addView(clearSearchImageView, LayoutHelper.createFrame(36, 36, Gravity.RIGHT | Gravity.TOP, 14, 14, 14, 0)); + clearSearchImageView.setOnClickListener(v -> { + searchEditText.setText(""); + AndroidUtilities.showKeyboard(searchEditText); + }); + + searchEditText = new EditTextBoldCursor(context) { + @Override + public boolean onTouchEvent(MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + searchEditText.requestFocus(); + AndroidUtilities.showKeyboard(searchEditText); + } + return super.onTouchEvent(event); + } + }; + searchEditText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); + searchEditText.setHintTextColor(0xff777777); + searchEditText.setTextColor(0xffffffff); + searchEditText.setBackgroundDrawable(null); + searchEditText.setPadding(0, 0, 0, 0); + searchEditText.setMaxLines(1); + searchEditText.setLines(1); + searchEditText.setSingleLine(true); + searchEditText.setImeOptions(EditorInfo.IME_ACTION_SEARCH | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + if (type == 0) { + searchEditText.setHint(LocaleController.getString("SearchStickersHint", R.string.SearchStickersHint)); + } else if (type == 1) { + searchEditText.setHint(LocaleController.getString("SearchEmojiHint", R.string.SearchEmojiHint)); + } else if (type == 2) { + searchEditText.setHint(LocaleController.getString("SearchGifsTitle", R.string.SearchGifsTitle)); + } + searchEditText.setCursorColor(0xffffffff); + searchEditText.setCursorSize(AndroidUtilities.dp(20)); + searchEditText.setCursorWidth(1.5f); + addView(searchEditText, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 40, Gravity.LEFT | Gravity.TOP, 16 + 38, 12, 16 + 30, 0)); + searchEditText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + boolean show = searchEditText.length() > 0; + boolean showed = clearSearchImageView.getAlpha() != 0; + if (show != showed) { + clearSearchImageView.animate() + .alpha(show ? 1.0f : 0.0f) + .setDuration(150) + .scaleX(show ? 1.0f : 0.1f) + .scaleY(show ? 1.0f : 0.1f) + .start(); + } + stickersSearchGridAdapter.search(searchEditText.getText().toString()); + } + }); + } + + public void hideKeyboard() { + AndroidUtilities.hideKeyboard(searchEditText); + } + + private void showShadow(boolean show, boolean animated) { + if (show && shadowView.getTag() == null || !show && shadowView.getTag() != null) { + return; + } + if (shadowAnimator != null) { + shadowAnimator.cancel(); + shadowAnimator = null; + } + shadowView.setTag(show ? null : 1); + if (animated) { + shadowAnimator = new AnimatorSet(); + shadowAnimator.playTogether(ObjectAnimator.ofFloat(shadowView, View.ALPHA, show ? 1.0f : 0.0f)); + shadowAnimator.setDuration(200); + shadowAnimator.setInterpolator(CubicBezierInterpolator.EASE_OUT); + shadowAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + shadowAnimator = null; + } + }); + shadowAnimator.start(); + } else { + shadowView.setAlpha(show ? 1.0f : 0.0f); + } + } + } + + public StickerMasksAlert(Context context, boolean isVideo) { + super(context, true); + behindKeyboardColorKey = null; + behindKeyboardColor = 0xff252525; + useLightStatusBar = false; + + currentType = MediaDataController.TYPE_IMAGE; + + NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.emojiDidLoad); + NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.stickersDidLoad); + NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.recentDocumentsDidLoad); + MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_IMAGE, false, true, false); + MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_MASK, false, true, false); + MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_FAVE, false, true, false); + + shadowDrawable = context.getResources().getDrawable(R.drawable.sheet_shadow_round).mutate(); + shadowDrawable.setColorFilter(new PorterDuffColorFilter(0xff252525, PorterDuff.Mode.MULTIPLY)); + + containerView = new SizeNotifierFrameLayout(context, false) { + + private boolean ignoreLayout = false; + private RectF rect = new RectF(); + private long lastUpdateTime; + private float statusBarProgress; + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int totalHeight = MeasureSpec.getSize(heightMeasureSpec); + if (Build.VERSION.SDK_INT >= 21 && !isFullscreen) { + ignoreLayout = true; + setPadding(backgroundPaddingLeft, AndroidUtilities.statusBarHeight, backgroundPaddingLeft, 0); + ignoreLayout = false; + } + int availableHeight = totalHeight - getPaddingTop(); + int padding; + if (measureKeyboardHeight() > AndroidUtilities.dp(20)) { + padding = 0; + statusBarProgress = 1.0f; + } else { + padding = availableHeight - (availableHeight / 5 * 3) + AndroidUtilities.dp(8); + } + if (gridView.getPaddingTop() != padding) { + ignoreLayout = true; + gridView.setPinnedSectionOffsetY(-padding); + gridView.setPadding(0, padding, 0, AndroidUtilities.dp(48)); + ignoreLayout = false; + } + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(totalHeight, MeasureSpec.EXACTLY)); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + updateLayout(false); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_DOWN && scrollOffsetY != 0 && ev.getY() < scrollOffsetY + AndroidUtilities.dp(12)) { + dismiss(); + return true; + } + return super.onInterceptTouchEvent(ev); + } + + @Override + public boolean onTouchEvent(MotionEvent e) { + return !isDismissed() && super.onTouchEvent(e); + } + + @Override + public void requestLayout() { + if (ignoreLayout) { + return; + } + super.requestLayout(); + } + + @Override + protected void onDraw(Canvas canvas) { + int offset = AndroidUtilities.dp(13); + int top = scrollOffsetY - backgroundPaddingTop - offset; + if (currentSheetAnimationType == 1) { + top += gridView.getTranslationY(); + } + int y = top + AndroidUtilities.dp(20); + + int height = getMeasuredHeight() + AndroidUtilities.dp(15) + backgroundPaddingTop; + float rad = 1.0f; + + int h = AndroidUtilities.dp(12); + if (top + backgroundPaddingTop < h) { + float toMove = offset + AndroidUtilities.dp(11 - 7); + float moveProgress = Math.min(1.0f, (h - top - backgroundPaddingTop) / toMove); + float availableToMove = h - toMove; + + int diff = (int) (availableToMove * moveProgress); + top -= diff; + y -= diff; + height += diff; + rad = 1.0f - moveProgress; + } + + if (Build.VERSION.SDK_INT >= 21) { + top += AndroidUtilities.statusBarHeight; + y += AndroidUtilities.statusBarHeight; + } + + shadowDrawable.setBounds(0, top, getMeasuredWidth(), height); + shadowDrawable.draw(canvas); + + if (rad != 1.0f) { + Theme.dialogs_onlineCirclePaint.setColor(0xff252525); + rect.set(backgroundPaddingLeft, backgroundPaddingTop + top, getMeasuredWidth() - backgroundPaddingLeft, backgroundPaddingTop + top + AndroidUtilities.dp(24)); + canvas.drawRoundRect(rect, AndroidUtilities.dp(12) * rad, AndroidUtilities.dp(12) * rad, Theme.dialogs_onlineCirclePaint); + } + + long newTime = SystemClock.elapsedRealtime(); + long dt = newTime - lastUpdateTime; + if (dt > 18) { + dt = 18; + } + lastUpdateTime = newTime; + if (rad > 0) { + float alphaProgress = 1.0f; + int w = AndroidUtilities.dp(36); + rect.set((getMeasuredWidth() - w) / 2, y, (getMeasuredWidth() + w) / 2, y + AndroidUtilities.dp(4)); + int color = 0xff4b4b4b; + int alpha = Color.alpha(color); + Theme.dialogs_onlineCirclePaint.setColor(color); + Theme.dialogs_onlineCirclePaint.setAlpha((int) (alpha * alphaProgress * rad)); + canvas.drawRoundRect(rect, AndroidUtilities.dp(2), AndroidUtilities.dp(2), Theme.dialogs_onlineCirclePaint); + if (statusBarProgress > 0.0f) { + statusBarProgress -= dt / 180.0f; + if (statusBarProgress < 0.0f) { + statusBarProgress = 0.0f; + } else { + invalidate(); + } + } + } else { + if (statusBarProgress < 1.0f) { + statusBarProgress += dt / 180.0f; + if (statusBarProgress > 1.0f) { + statusBarProgress = 1.0f; + } else { + invalidate(); + } + } + } + + int color1 = 0xff252525; + int finalColor = Color.argb((int) (255 * statusBarProgress), (int) (Color.red(color1) * 0.8f), (int) (Color.green(color1) * 0.8f), (int) (Color.blue(color1) * 0.8f)); + Theme.dialogs_onlineCirclePaint.setColor(finalColor); + canvas.drawRect(backgroundPaddingLeft, 0, getMeasuredWidth() - backgroundPaddingLeft, AndroidUtilities.statusBarHeight, Theme.dialogs_onlineCirclePaint); + } + }; + containerView.setWillNotDraw(false); + containerView.setPadding(backgroundPaddingLeft, 0, backgroundPaddingLeft, 0); + + searchFieldHeight = AndroidUtilities.dp(64); + + stickerIcons = new Drawable[]{ + Theme.createEmojiIconSelectorDrawable(context, R.drawable.stickers_recent, 0xff4b4b4b, 0xff6ebaed), + Theme.createEmojiIconSelectorDrawable(context, R.drawable.stickers_favorites, 0xff4b4b4b, 0xff6ebaed), + }; + + MediaDataController.getInstance(currentAccount).checkStickers(MediaDataController.TYPE_IMAGE); + MediaDataController.getInstance(currentAccount).checkStickers(MediaDataController.TYPE_MASK); + MediaDataController.getInstance(currentAccount).checkFeaturedStickers(); + gridView = new RecyclerListView(context) { + + @Override + protected boolean allowSelectChildAtPosition(float x, float y) { + return y >= scrollOffsetY + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent event) { + boolean result = ContentPreviewViewer.getInstance().onInterceptTouchEvent(event, gridView, containerView.getMeasuredHeight(), contentPreviewViewerDelegate); + return super.onInterceptTouchEvent(event) || result; + } + }; + + gridView.setLayoutManager(stickersLayoutManager = new GridLayoutManager(context, 5) { + @Override + public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) { + LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) { + @Override + public int calculateDyToMakeVisible(View view, int snapPreference) { + int dy = super.calculateDyToMakeVisible(view, snapPreference); + dy -= (gridView.getPaddingTop() - AndroidUtilities.dp(7)); + return dy; + } + + @Override + protected int calculateTimeForDeceleration(int dx) { + return super.calculateTimeForDeceleration(dx) * 4; + } + }; + linearSmoothScroller.setTargetPosition(position); + startSmoothScroll(linearSmoothScroller); + } + }); + stickersLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { + @Override + public int getSpanSize(int position) { + if (gridView.getAdapter() == stickersGridAdapter) { + if (position == 0) { + return stickersGridAdapter.stickersPerRow; + } + if (position != stickersGridAdapter.totalItems) { + Object object = stickersGridAdapter.cache.get(position); + if (object == null || stickersGridAdapter.cache.get(position) instanceof TLRPC.Document) { + return 1; + } + } + return stickersGridAdapter.stickersPerRow; + } else { + if (position != stickersSearchGridAdapter.totalItems) { + Object object = stickersSearchGridAdapter.cache.get(position); + if (object == null || stickersSearchGridAdapter.cache.get(position) instanceof TLRPC.Document) { + return 1; + } + } + return stickersGridAdapter.stickersPerRow; + } + } + }); + gridView.setPadding(0, AndroidUtilities.dp(4 + 48), 0, AndroidUtilities.dp(48)); + gridView.setClipToPadding(false); + gridView.setHorizontalScrollBarEnabled(false); + gridView.setVerticalScrollBarEnabled(false); + gridView.setGlowColor(0xff252525); + stickersSearchGridAdapter = new StickersSearchGridAdapter(context); + gridView.setAdapter(stickersGridAdapter = new StickersGridAdapter(context)); + gridView.setOnTouchListener((v, event) -> ContentPreviewViewer.getInstance().onTouch(event, gridView, containerView.getMeasuredHeight(), stickersOnItemClickListener, contentPreviewViewerDelegate)); + stickersOnItemClickListener = (view, position) -> { + if (!(view instanceof StickerEmojiCell)) { + return; + } + ContentPreviewViewer.getInstance().reset(); + StickerEmojiCell cell = (StickerEmojiCell) view; + delegate.onStickerSelected(cell.getParentObject(), cell.getSticker()); + dismiss(); + }; + gridView.setOnItemClickListener(stickersOnItemClickListener); + containerView.addView(gridView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + + stickersTab = new ScrollSlidingTabStrip(context) { + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (getParent() != null) { + getParent().requestDisallowInterceptTouchEvent(true); + } + return super.onInterceptTouchEvent(ev); + } + }; + + stickersSearchField = new SearchField(context, 0); + containerView.addView(stickersSearchField, new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.getShadowHeight())); + + stickersTab.setType(ScrollSlidingTabStrip.Type.TAB); + stickersTab.setUnderlineHeight(AndroidUtilities.getShadowHeight()); + stickersTab.setIndicatorColor(0xff6ebaed); + stickersTab.setUnderlineColor(0xff0B0B0B); + stickersTab.setBackgroundColor(0xff252525); + containerView.addView(stickersTab, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.TOP)); + stickersTab.setDelegate(page -> { + int scrollToPosition; + if (page == recentTabBum) { + scrollToPosition = stickersGridAdapter.getPositionForPack("recent"); + stickersTab.onPageScrolled(recentTabBum, recentTabBum > 0 ? recentTabBum : stickersTabOffset); + } else if (page == favTabBum) { + scrollToPosition = stickersGridAdapter.getPositionForPack("fav"); + stickersTab.onPageScrolled(favTabBum, favTabBum > 0 ? favTabBum : stickersTabOffset); + } else { + int index = page - stickersTabOffset; + if (index >= stickerSets[currentType].size()) { + return; + } + if (index >= stickerSets[currentType].size()) { + index = stickerSets[currentType].size() - 1; + } + scrollToPosition = stickersGridAdapter.getPositionForPack(stickerSets[currentType].get(index)); + } + int currentPosition = stickersLayoutManager.findFirstVisibleItemPosition(); + if (currentPosition == scrollToPosition) { + return; + } + stickersLayoutManager.scrollToPositionWithOffset(scrollToPosition, -gridView.getPaddingTop() + searchFieldHeight + AndroidUtilities.dp(48)); + }); + + gridView.setOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrollStateChanged(RecyclerView recyclerView, int newState) { + if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { + stickersSearchField.hideKeyboard(); + } + } + + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + updateLayout(true); + } + }); + + View topShadow = new View(context); + topShadow.setBackgroundDrawable(Theme.getThemedDrawable(context, R.drawable.greydivider_bottom, 0xffe2e5e7)); + containerView.addView(topShadow, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 6)); + + if (!isVideo) { + bottomTabContainer = new FrameLayout(context) { + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + if (getParent() != null) { + getParent().requestDisallowInterceptTouchEvent(true); + } + return super.onInterceptTouchEvent(ev); + } + }; + + shadowLine = new View(context); + shadowLine.setBackgroundColor(0x12000000); + bottomTabContainer.addView(shadowLine, new FrameLayout.LayoutParams(LayoutHelper.MATCH_PARENT, AndroidUtilities.getShadowHeight())); + + View bottomTabContainerBackground = new View(context); + bottomTabContainerBackground.setBackgroundColor(0xff252525); + bottomTabContainer.addView(bottomTabContainerBackground, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, AndroidUtilities.dp(48), Gravity.LEFT | Gravity.BOTTOM)); + + containerView.addView(bottomTabContainer, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, AndroidUtilities.dp(48) + AndroidUtilities.getShadowHeight(), Gravity.LEFT | Gravity.BOTTOM)); + + LinearLayout itemsLayout = new LinearLayout(context); + itemsLayout.setOrientation(LinearLayout.HORIZONTAL); + bottomTabContainer.addView(itemsLayout, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 48, Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM)); + + stickersButton = new ImageView(context) { + @Override + public void setSelected(boolean selected) { + super.setSelected(selected); + Drawable background = getBackground(); + if (Build.VERSION.SDK_INT >= 21 && background != null) { + int color = selected ? 0xff6ebaed : 0x1effffff; + Theme.setSelectorDrawableColor(background, Color.argb(30, Color.red(color), Color.green(color), Color.blue(color)), true); + } + } + }; + stickersButton.setScaleType(ImageView.ScaleType.CENTER); + stickersButton.setImageDrawable(Theme.createEmojiIconSelectorDrawable(context, R.drawable.smiles_tab_stickers, 0xffffffff, 0xff6ebaed)); + if (Build.VERSION.SDK_INT >= 21) { + RippleDrawable rippleDrawable = (RippleDrawable) Theme.createSelectorDrawable(0x1effffff); + Theme.setRippleDrawableForceSoftware(rippleDrawable); + stickersButton.setBackground(rippleDrawable); + } + itemsLayout.addView(stickersButton, LayoutHelper.createLinear(70, 48)); + stickersButton.setOnClickListener(v -> { + if (currentType == MediaDataController.TYPE_IMAGE) { + return; + } + currentType = MediaDataController.TYPE_IMAGE; + updateType(); + }); + + masksButton = new ImageView(context) { + @Override + public void setSelected(boolean selected) { + super.setSelected(selected); + Drawable background = getBackground(); + if (Build.VERSION.SDK_INT >= 21 && background != null) { + int color = selected ? 0xff6ebaed : 0x1effffff; + Theme.setSelectorDrawableColor(background, Color.argb(30, Color.red(color), Color.green(color), Color.blue(color)), true); + } + } + }; + masksButton.setScaleType(ImageView.ScaleType.CENTER); + masksButton.setImageDrawable(Theme.createEmojiIconSelectorDrawable(context, R.drawable.ic_masks_msk1, 0xffffffff, 0xff6ebaed)); + if (Build.VERSION.SDK_INT >= 21) { + RippleDrawable rippleDrawable = (RippleDrawable) Theme.createSelectorDrawable(0x1effffff); + Theme.setRippleDrawableForceSoftware(rippleDrawable); + masksButton.setBackground(rippleDrawable); + } + itemsLayout.addView(masksButton, LayoutHelper.createLinear(70, 48)); + masksButton.setOnClickListener(v -> { + if (currentType == MediaDataController.TYPE_MASK) { + return; + } + currentType = MediaDataController.TYPE_MASK; + updateType(); + }); + } + + checkDocuments(true); + reloadStickersAdapter(); + } + + private int getCurrentTop() { + if (gridView.getChildCount() != 0) { + View child = gridView.getChildAt(0); + RecyclerListView.Holder holder = (RecyclerListView.Holder) gridView.findContainingViewHolder(child); + if (holder != null) { + return gridView.getPaddingTop() - (holder.getAdapterPosition() == 0 && child.getTop() >= 0 ? child.getTop() : 0); + } + } + return -1000; + } + + private void updateType() { + if (gridView.getChildCount() > 0) { + View firstView = gridView.getChildAt(0); + RecyclerView.ViewHolder holder = gridView.findContainingViewHolder(firstView); + if (holder != null) { + int top; + if (holder.getAdapterPosition() != 0) { + top = -gridView.getPaddingTop(); + } else { + top = -gridView.getPaddingTop() + firstView.getTop(); + } + stickersLayoutManager.scrollToPositionWithOffset(0, top); + } + } + checkDocuments(true); + } + + @Override + protected boolean canDismissWithSwipe() { + return false; + } + + public void setDelegate(StickerMasksAlertDelegate stickerMasksAlertDelegate) { + delegate = stickerMasksAlertDelegate; + } + + private void updateLayout(boolean animated) { + if (gridView.getChildCount() <= 0) { + gridView.setTopGlowOffset(scrollOffsetY = gridView.getPaddingTop()); + containerView.invalidate(); + return; + } + View child = gridView.getChildAt(0); + RecyclerListView.Holder holder = (RecyclerListView.Holder) gridView.findContainingViewHolder(child); + int top = child.getTop(); + int newOffset = AndroidUtilities.dp(7); + if (top >= AndroidUtilities.dp(7) && holder != null && holder.getAdapterPosition() == 0) { + newOffset = top; + } + newOffset += -AndroidUtilities.dp(11); + if (scrollOffsetY != newOffset) { + gridView.setTopGlowOffset(scrollOffsetY = newOffset); + stickersTab.setTranslationY(newOffset); + stickersSearchField.setTranslationY(newOffset + AndroidUtilities.dp(48)); + containerView.invalidate(); + } + + holder = (RecyclerListView.Holder) gridView.findViewHolderForAdapterPosition(0); + if (holder == null) { + stickersSearchField.showShadow(true, animated); + } else { + stickersSearchField.showShadow(holder.itemView.getTop() < gridView.getPaddingTop(), animated); + } + + if (gridView.getAdapter() == stickersSearchGridAdapter) { + holder = (RecyclerListView.Holder) gridView.findViewHolderForAdapterPosition(stickersSearchGridAdapter.getItemCount() - 1); + if (holder != null && holder.getItemViewType() == 5) { + FrameLayout layout = (FrameLayout) holder.itemView; + int count = layout.getChildCount(); + float tr = -(layout.getTop() - searchFieldHeight - AndroidUtilities.dp(48)) / 2; + for (int a = 0; a < count; a++) { + layout.getChildAt(a).setTranslationY(tr); + } + } + } + + checkPanels(); + } + + private void showBottomTab(boolean show, boolean animated) { + if (show && bottomTabContainer.getTag() == null || !show && bottomTabContainer.getTag() != null) { + return; + } + if (bottomTabContainerAnimation != null) { + bottomTabContainerAnimation.cancel(); + bottomTabContainerAnimation = null; + } + bottomTabContainer.setTag(show ? null : 1); + if (animated) { + bottomTabContainerAnimation = new AnimatorSet(); + bottomTabContainerAnimation.playTogether( + ObjectAnimator.ofFloat(bottomTabContainer, View.TRANSLATION_Y, show ? 0 : AndroidUtilities.dp(49)), + ObjectAnimator.ofFloat(shadowLine, View.TRANSLATION_Y, show ? 0 : AndroidUtilities.dp(49))); + bottomTabContainerAnimation.setDuration(200); + bottomTabContainerAnimation.setInterpolator(CubicBezierInterpolator.EASE_OUT); + bottomTabContainerAnimation.start(); + } else { + bottomTabContainer.setTranslationY(show ? 0 : AndroidUtilities.dp(49)); + shadowLine.setTranslationY(show ? 0 : AndroidUtilities.dp(49)); + } + } + + private void updateStickerTabs() { + if (stickersTab == null) { + return; + } + + if (stickersButton != null) { + if (currentType == MediaDataController.TYPE_IMAGE) { + stickersButton.setSelected(true); + masksButton.setSelected(false); + } else { + stickersButton.setSelected(false); + masksButton.setSelected(true); + } + } + + recentTabBum = -2; + favTabBum = -2; + + stickersTabOffset = 0; + int lastPosition = stickersTab.getCurrentPosition(); + stickersTab.beginUpdate(false); + + if (currentType == MediaDataController.TYPE_IMAGE && !favouriteStickers.isEmpty()) { + favTabBum = stickersTabOffset; + stickersTabOffset++; + stickersTab.addIconTab(1, stickerIcons[1]).setContentDescription(LocaleController.getString("FavoriteStickers", R.string.FavoriteStickers)); + } + + if (!recentStickers[currentType].isEmpty()) { + recentTabBum = stickersTabOffset; + stickersTabOffset++; + stickersTab.addIconTab(0, stickerIcons[0]).setContentDescription(LocaleController.getString("RecentStickers", R.string.RecentStickers)); + } + + stickerSets[currentType].clear(); + ArrayList packs = MediaDataController.getInstance(currentAccount).getStickerSets(currentType); + for (int a = 0; a < packs.size(); a++) { + TLRPC.TL_messages_stickerSet pack = packs.get(a); + if (pack.set.archived || pack.documents == null || pack.documents.isEmpty()) { + continue; + } + stickerSets[currentType].add(pack); + } + for (int a = 0; a < stickerSets[currentType].size(); a++) { + TLRPC.TL_messages_stickerSet stickerSet = stickerSets[currentType].get(a); + TLObject thumb; + TLRPC.Document document = stickerSet.documents.get(0); + if (stickerSet.set.thumb instanceof TLRPC.TL_photoSize) { + thumb = stickerSet.set.thumb; + } else { + thumb = document; + } + stickersTab.addStickerTab(thumb, document, stickerSet).setContentDescription(stickerSet.set.title + ", " + LocaleController.getString("AccDescrStickerSet", R.string.AccDescrStickerSet)); + } + stickersTab.commitUpdate(); + stickersTab.updateTabStyles(); + if (lastPosition != 0) { + stickersTab.onPageScrolled(lastPosition, lastPosition); + } + checkPanels(); + } + + private void checkPanels() { + if (stickersTab == null) { + return; + } + int count = gridView.getChildCount(); + View child = null; + for (int a = 0; a < count; a++) { + child = gridView.getChildAt(a); + if (child.getBottom() > searchFieldHeight + AndroidUtilities.dp(48)) { + break; + } + } + if (child == null) { + return; + } + RecyclerListView.Holder holder = (RecyclerListView.Holder) gridView.findContainingViewHolder(child); + int position = holder != null ? holder.getAdapterPosition() : RecyclerView.NO_POSITION; + if (position != RecyclerView.NO_POSITION) { + int firstTab; + if (favTabBum > 0) { + firstTab = favTabBum; + } else if (recentTabBum > 0) { + firstTab = recentTabBum; + } else { + firstTab = stickersTabOffset; + } + stickersTab.onPageScrolled(stickersGridAdapter.getTabForPosition(position), firstTab); + } + } + + public void addRecentSticker(TLRPC.Document document) { + if (document == null) { + return; + } + MediaDataController.getInstance(currentAccount).addRecentSticker(currentType, null, document, (int) (System.currentTimeMillis() / 1000), false); + boolean wasEmpty = recentStickers[currentType].isEmpty(); + recentStickers[currentType] = MediaDataController.getInstance(currentAccount).getRecentStickers(currentType); + if (stickersGridAdapter != null) { + stickersGridAdapter.notifyDataSetChanged(); + } + if (wasEmpty) { + updateStickerTabs(); + } + } + + private void reloadStickersAdapter() { + if (stickersGridAdapter != null) { + stickersGridAdapter.notifyDataSetChanged(); + } + if (stickersSearchGridAdapter != null) { + stickersSearchGridAdapter.notifyDataSetChanged(); + } + if (ContentPreviewViewer.getInstance().isVisible()) { + ContentPreviewViewer.getInstance().close(); + } + ContentPreviewViewer.getInstance().reset(); + } + + @Override + public void dismissInternal() { + super.dismissInternal(); + NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.emojiDidLoad); + NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.stickersDidLoad); + NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.recentDocumentsDidLoad); + } + + private void checkDocuments(boolean force) { + int previousCount = recentStickers[currentType].size(); + int previousCount2 = favouriteStickers.size(); + recentStickers[currentType] = MediaDataController.getInstance(currentAccount).getRecentStickers(currentType); + favouriteStickers = MediaDataController.getInstance(currentAccount).getRecentStickers(MediaDataController.TYPE_FAVE); + if (currentType == MediaDataController.TYPE_IMAGE) { + for (int a = 0; a < favouriteStickers.size(); a++) { + TLRPC.Document favSticker = favouriteStickers.get(a); + for (int b = 0; b < recentStickers[currentType].size(); b++) { + TLRPC.Document recSticker = recentStickers[currentType].get(b); + if (recSticker.dc_id == favSticker.dc_id && recSticker.id == favSticker.id) { + recentStickers[currentType].remove(b); + break; + } + } + } + } + if (force || previousCount != recentStickers[currentType].size() || previousCount2 != favouriteStickers.size()) { + updateStickerTabs(); + } + if (stickersGridAdapter != null) { + stickersGridAdapter.notifyDataSetChanged(); + } + if (!force) { + checkPanels(); + } + } + + @Override + public void didReceivedNotification(int id, int account, Object... args) { + if (id == NotificationCenter.stickersDidLoad) { + if ((Integer) args[0] == currentType) { + updateStickerTabs(); + reloadStickersAdapter(); + checkPanels(); + } + } else if (id == NotificationCenter.recentDocumentsDidLoad) { + boolean isGif = (Boolean) args[0]; + int type = (Integer) args[1]; + if (!isGif && (type == currentType || type == MediaDataController.TYPE_FAVE)) { + checkDocuments(false); + } + } else if (id == NotificationCenter.emojiDidLoad) { + if (gridView != null) { + int count = gridView.getChildCount(); + for (int a = 0; a < count; a++) { + View child = gridView.getChildAt(a); + if (child instanceof StickerSetNameCell || child instanceof StickerEmojiCell) { + child.invalidate(); + } + } + } + } + } + + private class StickersGridAdapter extends RecyclerListView.SelectionAdapter { + + private Context context; + private int stickersPerRow; + private SparseArray rowStartPack = new SparseArray<>(); + private HashMap packStartPosition = new HashMap<>(); + private SparseArray cache = new SparseArray<>(); + private SparseArray cacheParents = new SparseArray<>(); + private SparseIntArray positionToRow = new SparseIntArray(); + private int totalItems; + + public StickersGridAdapter(Context context) { + this.context = context; + } + + @Override + public boolean isEnabled(RecyclerView.ViewHolder holder) { + return false; + } + + @Override + public int getItemCount() { + return totalItems != 0 ? totalItems + 1 : 0; + } + + public Object getItem(int i) { + return cache.get(i); + } + + public int getPositionForPack(Object pack) { + Integer pos = packStartPosition.get(pack); + if (pos == null) { + return -1; + } + return pos; + } + + @Override + public int getItemViewType(int position) { + if (position == 0) { + return 4; + } + Object object = cache.get(position); + if (object != null) { + if (object instanceof TLRPC.Document) { + return 0; + } else { + return 2; + } + } + return 1; + } + + public int getTabForPosition(int position) { + if (position == 0) { + position = 1; + } + if (stickersPerRow == 0) { + int width = gridView.getMeasuredWidth(); + if (width == 0) { + width = AndroidUtilities.displaySize.x; + } + stickersPerRow = width / AndroidUtilities.dp(72); + } + int row = positionToRow.get(position, Integer.MIN_VALUE); + if (row == Integer.MIN_VALUE) { + return stickerSets[currentType].size() - 1 + stickersTabOffset; + } + Object pack = rowStartPack.get(row); + if (pack instanceof String) { + if ("recent".equals(pack)) { + return recentTabBum; + } else { + return favTabBum; + } + } else { + TLRPC.TL_messages_stickerSet set = (TLRPC.TL_messages_stickerSet) pack; + int idx = stickerSets[currentType].indexOf(set); + return idx + stickersTabOffset; + } + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = null; + switch (viewType) { + case 0: + view = new StickerEmojiCell(context) { + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(82), MeasureSpec.EXACTLY)); + } + }; + break; + case 1: + view = new EmptyCell(context); + break; + case 2: + StickerSetNameCell cell = new StickerSetNameCell(context, false); + cell.setTitleColor(0xff888888); + view = cell; + break; + case 4: + view = new View(context); + view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.dp(48))); + break; + } + + return new RecyclerListView.Holder(view); + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + switch (holder.getItemViewType()) { + case 0: { + TLRPC.Document sticker = (TLRPC.Document) cache.get(position); + StickerEmojiCell cell = (StickerEmojiCell) holder.itemView; + cell.setSticker(sticker, cacheParents.get(position), false); + cell.setRecent(recentStickers[currentType].contains(sticker)); + break; + } + case 1: { + EmptyCell cell = (EmptyCell) holder.itemView; + if (position == totalItems) { + int row = positionToRow.get(position - 1, Integer.MIN_VALUE); + if (row == Integer.MIN_VALUE) { + cell.setHeight(1); + } else { + ArrayList documents; + Object pack = rowStartPack.get(row); + if (pack instanceof TLRPC.TL_messages_stickerSet) { + documents = ((TLRPC.TL_messages_stickerSet) pack).documents; + } else if (pack instanceof String) { + if ("recent".equals(pack)) { + documents = recentStickers[currentType]; + } else { + documents = favouriteStickers; + } + } else { + documents = null; + } + if (documents == null) { + cell.setHeight(1); + } else { + if (documents.isEmpty()) { + cell.setHeight(AndroidUtilities.dp(8)); + } else { + int height = gridView.getHeight() - (int) Math.ceil(documents.size() / (float) stickersPerRow) * AndroidUtilities.dp(82); + cell.setHeight(height > 0 ? height : 1); + } + } + } + } else { + cell.setHeight(AndroidUtilities.dp(82)); + } + break; + } + case 2: { + StickerSetNameCell cell = (StickerSetNameCell) holder.itemView; + Object object = cache.get(position); + if (object instanceof TLRPC.TL_messages_stickerSet) { + TLRPC.TL_messages_stickerSet set = (TLRPC.TL_messages_stickerSet) object; + if (set.set != null) { + cell.setText(set.set.title, 0); + } + } else if (object == recentStickers[currentType]) { + cell.setText(LocaleController.getString("RecentStickers", R.string.RecentStickers), 0); + } else if (object == favouriteStickers) { + cell.setText(LocaleController.getString("FavoriteStickers", R.string.FavoriteStickers), 0); + } + break; + } + } + } + + @Override + public void notifyDataSetChanged() { + int width = gridView.getMeasuredWidth(); + if (width == 0) { + width = AndroidUtilities.displaySize.x; + } + stickersPerRow = width / AndroidUtilities.dp(72); + stickersLayoutManager.setSpanCount(stickersPerRow); + rowStartPack.clear(); + packStartPosition.clear(); + positionToRow.clear(); + cache.clear(); + totalItems = 0; + ArrayList packs = stickerSets[currentType]; + int startRow = 0; + for (int a = -3; a < packs.size(); a++) { + ArrayList documents; + TLRPC.TL_messages_stickerSet pack = null; + String key; + if (a == -3) { + cache.put(totalItems++, "search"); + startRow++; + continue; + } else if (a == -2) { + if (currentType == MediaDataController.TYPE_IMAGE) { + documents = favouriteStickers; + packStartPosition.put(key = "fav", totalItems); + } else { + documents = null; + key = null; + } + } else if (a == -1) { + documents = recentStickers[currentType]; + packStartPosition.put(key = "recent", totalItems); + } else { + key = null; + pack = packs.get(a); + documents = pack.documents; + packStartPosition.put(pack, totalItems); + } + if (documents == null || documents.isEmpty()) { + continue; + } + int count = (int) Math.ceil(documents.size() / (float) stickersPerRow); + if (pack != null) { + cache.put(totalItems, pack); + } else { + cache.put(totalItems, documents); + } + positionToRow.put(totalItems, startRow); + for (int b = 0; b < documents.size(); b++) { + int num = 1 + b + totalItems; + cache.put(num, documents.get(b)); + if (pack != null) { + cacheParents.put(num, pack); + } else { + cacheParents.put(num, key); + } + positionToRow.put(1 + b + totalItems, startRow + 1 + b / stickersPerRow); + } + for (int b = 0; b < count + 1; b++) { + if (pack != null) { + rowStartPack.put(startRow + b, pack); + } else { + rowStartPack.put(startRow + b, a == -1 ? "recent" : "fav"); + } + } + totalItems += count * stickersPerRow + 1; + startRow += count + 1; + } + super.notifyDataSetChanged(); + } + } + + private class StickersSearchGridAdapter extends RecyclerListView.SelectionAdapter { + + private Context context; + private SparseArray rowStartPack = new SparseArray<>(); + private SparseArray cache = new SparseArray<>(); + private SparseArray cacheParent = new SparseArray<>(); + private SparseIntArray positionToRow = new SparseIntArray(); + private SparseArray positionToEmoji = new SparseArray<>(); + private int totalItems; + + private ArrayList localPacks = new ArrayList<>(); + private HashMap localPacksByShortName = new HashMap<>(); + private HashMap localPacksByName = new HashMap<>(); + private HashMap, String> emojiStickers = new HashMap<>(); + private ArrayList> emojiArrays = new ArrayList<>(); + + private int reqId2; + + private int emojiSearchId; + boolean cleared; + private String searchQuery; + private Runnable searchRunnable = new Runnable() { + + private void clear() { + if (cleared) { + return; + } + cleared = true; + emojiStickers.clear(); + emojiArrays.clear(); + localPacks.clear(); + localPacksByShortName.clear(); + localPacksByName.clear(); + } + + @Override + public void run() { + if (TextUtils.isEmpty(searchQuery)) { + return; + } + cleared = false; + int lastId = ++emojiSearchId; + + final ArrayList emojiStickersArray = new ArrayList<>(0); + final LongSparseArray emojiStickersMap = new LongSparseArray<>(0); + HashMap> allStickers = MediaDataController.getInstance(currentAccount).getAllStickers(); + if (searchQuery.length() <= 14) { + CharSequence emoji = searchQuery; + int length = emoji.length(); + for (int a = 0; a < length; a++) { + if (a < length - 1 && (emoji.charAt(a) == 0xD83C && emoji.charAt(a + 1) >= 0xDFFB && emoji.charAt(a + 1) <= 0xDFFF || emoji.charAt(a) == 0x200D && (emoji.charAt(a + 1) == 0x2640 || emoji.charAt(a + 1) == 0x2642))) { + emoji = TextUtils.concat(emoji.subSequence(0, a), emoji.subSequence(a + 2, emoji.length())); + length -= 2; + a--; + } else if (emoji.charAt(a) == 0xfe0f) { + emoji = TextUtils.concat(emoji.subSequence(0, a), emoji.subSequence(a + 1, emoji.length())); + length--; + a--; + } + } + ArrayList newStickers = allStickers != null ? allStickers.get(emoji.toString()) : null; + if (newStickers != null && !newStickers.isEmpty()) { + clear(); + emojiStickersArray.addAll(newStickers); + for (int a = 0, size = newStickers.size(); a < size; a++) { + TLRPC.Document document = newStickers.get(a); + emojiStickersMap.put(document.id, document); + } + emojiStickers.put(emojiStickersArray, searchQuery); + emojiArrays.add(emojiStickersArray); + } + } + if (allStickers != null && !allStickers.isEmpty() && searchQuery.length() > 1) { + String[] newLanguage = AndroidUtilities.getCurrentKeyboardLanguage(); + if (!Arrays.equals(lastSearchKeyboardLanguage, newLanguage)) { + MediaDataController.getInstance(currentAccount).fetchNewEmojiKeywords(newLanguage); + } + lastSearchKeyboardLanguage = newLanguage; + MediaDataController.getInstance(currentAccount).getEmojiSuggestions(lastSearchKeyboardLanguage, searchQuery, false, (param, alias) -> { + if (lastId != emojiSearchId) { + return; + } + boolean added = false; + for (int a = 0, size = param.size(); a < size; a++) { + String emoji = param.get(a).emoji; + ArrayList newStickers = allStickers != null ? allStickers.get(emoji) : null; + if (newStickers != null && !newStickers.isEmpty()) { + clear(); + if (!emojiStickers.containsKey(newStickers)) { + emojiStickers.put(newStickers, emoji); + emojiArrays.add(newStickers); + added = true; + } + } + } + if (added) { + notifyDataSetChanged(); + } else if (reqId2 == 0) { + clear(); + notifyDataSetChanged(); + } + }); + } + ArrayList local = MediaDataController.getInstance(currentAccount).getStickerSets(currentType); + int index; + for (int a = 0, size = local.size(); a < size; a++) { + TLRPC.TL_messages_stickerSet set = local.get(a); + if ((index = AndroidUtilities.indexOfIgnoreCase(set.set.title, searchQuery)) >= 0) { + if (index == 0 || set.set.title.charAt(index - 1) == ' ') { + clear(); + localPacks.add(set); + localPacksByName.put(set, index); + } + } else if (set.set.short_name != null && (index = AndroidUtilities.indexOfIgnoreCase(set.set.short_name, searchQuery)) >= 0) { + if (index == 0 || set.set.short_name.charAt(index - 1) == ' ') { + clear(); + localPacks.add(set); + localPacksByShortName.put(set, true); + } + } + } + local = MediaDataController.getInstance(currentAccount).getStickerSets(MediaDataController.TYPE_FEATURED); + for (int a = 0, size = local.size(); a < size; a++) { + TLRPC.TL_messages_stickerSet set = local.get(a); + if ((index = AndroidUtilities.indexOfIgnoreCase(set.set.title, searchQuery)) >= 0) { + if (index == 0 || set.set.title.charAt(index - 1) == ' ') { + clear(); + localPacks.add(set); + localPacksByName.put(set, index); + } + } else if (set.set.short_name != null && (index = AndroidUtilities.indexOfIgnoreCase(set.set.short_name, searchQuery)) >= 0) { + if (index == 0 || set.set.short_name.charAt(index - 1) == ' ') { + clear(); + localPacks.add(set); + localPacksByShortName.put(set, true); + } + } + } + boolean validEmoji; + if (validEmoji = Emoji.isValidEmoji(searchQuery)) { + stickersSearchField.progressDrawable.startAnimation(); + final TLRPC.TL_messages_getStickers req2 = new TLRPC.TL_messages_getStickers(); + req2.emoticon = searchQuery; + req2.hash = 0; + reqId2 = ConnectionsManager.getInstance(currentAccount).sendRequest(req2, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + if (req2.emoticon.equals(searchQuery)) { + stickersSearchField.progressDrawable.stopAnimation(); + reqId2 = 0; + if (!(response instanceof TLRPC.TL_messages_stickers)) { + return; + } + TLRPC.TL_messages_stickers res = (TLRPC.TL_messages_stickers) response; + int oldCount = emojiStickersArray.size(); + for (int a = 0, size = res.stickers.size(); a < size; a++) { + TLRPC.Document document = res.stickers.get(a); + if (emojiStickersMap.indexOfKey(document.id) >= 0) { + continue; + } + emojiStickersArray.add(document); + } + int newCount = emojiStickersArray.size(); + if (oldCount != newCount) { + emojiStickers.put(emojiStickersArray, searchQuery); + if (oldCount == 0) { + emojiArrays.add(emojiStickersArray); + } + notifyDataSetChanged(); + } + if (gridView.getAdapter() != stickersSearchGridAdapter) { + gridView.setAdapter(stickersSearchGridAdapter); + } + } + })); + } + if ((!validEmoji || !localPacks.isEmpty() || !emojiStickers.isEmpty()) && gridView.getAdapter() != stickersSearchGridAdapter) { + gridView.setAdapter(stickersSearchGridAdapter); + } + notifyDataSetChanged(); + } + }; + + public StickersSearchGridAdapter(Context context) { + this.context = context; + } + + @Override + public boolean isEnabled(RecyclerView.ViewHolder holder) { + return false; + } + + @Override + public int getItemCount() { + if (totalItems != 1) { + return totalItems + 1; + } else { + return 2; + } + } + + public Object getItem(int i) { + return cache.get(i); + } + + public void search(String text) { + if (reqId2 != 0) { + ConnectionsManager.getInstance(currentAccount).cancelRequest(reqId2, true); + reqId2 = 0; + } + if (TextUtils.isEmpty(text)) { + searchQuery = null; + localPacks.clear(); + emojiStickers.clear(); + if (gridView.getAdapter() != stickersGridAdapter) { + gridView.setAdapter(stickersGridAdapter); + } + notifyDataSetChanged(); + } else { + searchQuery = text.toLowerCase(); + } + AndroidUtilities.cancelRunOnUIThread(searchRunnable); + AndroidUtilities.runOnUIThread(searchRunnable, 300); + } + + @Override + public int getItemViewType(int position) { + if (position == 0) { + return 4; + } else if (position == 1 && totalItems == 1) { + return 5; + } + Object object = cache.get(position); + if (object != null) { + if (object instanceof TLRPC.Document) { + return 0; + } else { + return 2; + } + } + return 1; + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = null; + switch (viewType) { + case 0: + view = new StickerEmojiCell(context) { + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(82), MeasureSpec.EXACTLY)); + } + }; + break; + case 1: + view = new EmptyCell(context); + break; + case 2: + view = new StickerSetNameCell(context, false); + break; + case 4: + view = new View(context); + view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, searchFieldHeight + AndroidUtilities.dp(48))); + break; + case 5: + FrameLayout frameLayout = new FrameLayout(context) { + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int height = gridView.getMeasuredHeight(); + super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(height - searchFieldHeight - AndroidUtilities.dp(48) - AndroidUtilities.dp(48), MeasureSpec.EXACTLY)); + } + }; + + ImageView imageView = new ImageView(context); + imageView.setScaleType(ImageView.ScaleType.CENTER); + imageView.setImageResource(R.drawable.stickers_empty); + imageView.setColorFilter(new PorterDuffColorFilter(0xff949ba1, PorterDuff.Mode.MULTIPLY)); + frameLayout.addView(imageView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 50)); + + TextView textView = new TextView(context); + textView.setText(LocaleController.getString("NoStickersFound", R.string.NoStickersFound)); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); + textView.setTextColor(0xff949ba1); + frameLayout.addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 0, 0, 0)); + + view = frameLayout; + view.setLayoutParams(new RecyclerView.LayoutParams(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT)); + break; + } + + return new RecyclerListView.Holder(view); + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + switch (holder.getItemViewType()) { + case 0: { + TLRPC.Document sticker = (TLRPC.Document) cache.get(position); + StickerEmojiCell cell = (StickerEmojiCell) holder.itemView; + cell.setSticker(sticker, cacheParent.get(position), positionToEmoji.get(position), false); + cell.setRecent(recentStickers[currentType].contains(sticker) || favouriteStickers.contains(sticker)); + break; + } + case 1: { + EmptyCell cell = (EmptyCell) holder.itemView; + if (position == totalItems) { + int row = positionToRow.get(position - 1, Integer.MIN_VALUE); + if (row == Integer.MIN_VALUE) { + cell.setHeight(1); + } else { + Object pack = rowStartPack.get(row); + Integer count; + if (pack instanceof TLRPC.TL_messages_stickerSet) { + count = ((TLRPC.TL_messages_stickerSet) pack).documents.size(); + } else if (pack instanceof Integer) { + count = (Integer) pack; + } else { + count = null; + } + if (count == null) { + cell.setHeight(1); + } else { + if (count == 0) { + cell.setHeight(AndroidUtilities.dp(8)); + } else { + int height = gridView.getHeight() - (int) Math.ceil(count / (float) stickersGridAdapter.stickersPerRow) * AndroidUtilities.dp(82); + cell.setHeight(height > 0 ? height : 1); + } + } + } + } else { + cell.setHeight(AndroidUtilities.dp(82)); + } + break; + } + case 2: { + StickerSetNameCell cell = (StickerSetNameCell) holder.itemView; + Object object = cache.get(position); + if (object instanceof TLRPC.TL_messages_stickerSet) { + TLRPC.TL_messages_stickerSet set = (TLRPC.TL_messages_stickerSet) object; + if (!TextUtils.isEmpty(searchQuery) && localPacksByShortName.containsKey(set)) { + if (set.set != null) { + cell.setText(set.set.title, 0); + } + cell.setUrl(set.set.short_name, searchQuery.length()); + } else { + Integer start = localPacksByName.get(set); + if (set.set != null && start != null) { + cell.setText(set.set.title, 0, start, !TextUtils.isEmpty(searchQuery) ? searchQuery.length() : 0); + } + cell.setUrl(null, 0); + } + } + break; + } + } + } + + @Override + public void notifyDataSetChanged() { + rowStartPack.clear(); + positionToRow.clear(); + cache.clear(); + positionToEmoji.clear(); + totalItems = 0; + int startRow = 0; + for (int a = -1, localCount = localPacks.size(), emojiCount = (emojiArrays.isEmpty() ? 0 : 1); a < localCount + emojiCount; a++) { + ArrayList documents; + Object pack; + String key; + if (a == -1) { + cache.put(totalItems++, "search"); + startRow++; + continue; + } else { + if (a < localCount) { + TLRPC.TL_messages_stickerSet set = localPacks.get(a); + documents = set.documents; + pack = set; + } else { + int documentsCount = 0; + String lastEmoji = ""; + for (int i = 0, N = emojiArrays.size(); i < N; i++) { + documents = emojiArrays.get(i); + String emoji = emojiStickers.get(documents); + if (emoji != null && !lastEmoji.equals(emoji)) { + lastEmoji = emoji; + positionToEmoji.put(totalItems + documentsCount, lastEmoji); + } + for (int b = 0, size = documents.size(); b < size; b++) { + int num = documentsCount + totalItems; + int row = startRow + documentsCount / stickersGridAdapter.stickersPerRow; + + TLRPC.Document document = documents.get(b); + cache.put(num, document); + Object parent = MediaDataController.getInstance(currentAccount).getStickerSetById(MediaDataController.getStickerSetId(document)); + if (parent != null) { + cacheParent.put(num, parent); + } + positionToRow.put(num, row); + documentsCount++; + } + } + int count = (int) Math.ceil(documentsCount / (float) stickersGridAdapter.stickersPerRow); + for (int b = 0; b < count; b++) { + rowStartPack.put(startRow + b, documentsCount); + } + totalItems += count * stickersGridAdapter.stickersPerRow; + startRow += count; + continue; + } + } + if (documents.isEmpty()) { + continue; + } + int count = (int) Math.ceil(documents.size() / (float) stickersGridAdapter.stickersPerRow); + cache.put(totalItems, pack); + positionToRow.put(totalItems, startRow); + for (int b = 0, size = documents.size(); b < size; b++) { + int num = 1 + b + totalItems; + int row = startRow + 1 + b / stickersGridAdapter.stickersPerRow; + TLRPC.Document document = documents.get(b); + cache.put(num, document); + if (pack != null) { + cacheParent.put(num, pack); + } + positionToRow.put(num, row); + } + for (int b = 0, N = count + 1; b < N; b++) { + rowStartPack.put(startRow + b, pack); + } + totalItems += 1 + count * stickersGridAdapter.stickersPerRow; + startRow += count + 1; + } + super.notifyDataSetChanged(); + } + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksView.java deleted file mode 100644 index 0d9702bed..000000000 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/StickerMasksView.java +++ /dev/null @@ -1,482 +0,0 @@ -/* - * This is the source code of Telegram for Android v. 5.x.x. - * It is licensed under GNU GPL v. 2 or later. - * You should have received a copy of the license in this archive (see LICENSE). - * - * Copyright Nikolai Kudashov, 2013-2018. - */ - -package org.telegram.ui.Components; - -import android.content.Context; -import android.graphics.drawable.Drawable; -import android.util.SparseArray; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.TextView; - -import org.telegram.messenger.AndroidUtilities; -import org.telegram.messenger.MediaDataController; -import org.telegram.messenger.LocaleController; -import org.telegram.messenger.MessagesController; -import org.telegram.messenger.NotificationCenter; -import org.telegram.messenger.R; -import org.telegram.messenger.UserConfig; -import org.telegram.tgnet.TLRPC; -import org.telegram.ui.ActionBar.Theme; -import org.telegram.ui.Cells.EmptyCell; -import org.telegram.ui.Cells.StickerEmojiCell; -import org.telegram.ui.ContentPreviewViewer; - -import java.util.ArrayList; -import java.util.HashMap; - -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -@SuppressWarnings("unchecked") -public class StickerMasksView extends FrameLayout implements NotificationCenter.NotificationCenterDelegate { - - public interface Listener { - void onStickerSelected(Object parentObject, TLRPC.Document sticker); - void onTypeChanged(); - } - - private int currentAccount = UserConfig.selectedAccount; - private ArrayList[] stickerSets = new ArrayList[]{new ArrayList<>(), new ArrayList<>()}; - private ArrayList[] recentStickers = new ArrayList[]{new ArrayList<>(), new ArrayList<>()}; - private int currentType = MediaDataController.TYPE_MASK; - - private Listener listener; - private StickersGridAdapter stickersGridAdapter; - private ScrollSlidingTabStrip scrollSlidingTabStrip; - private RecyclerListView stickersGridView; - private GridLayoutManager stickersLayoutManager; - private TextView stickersEmptyView; - private RecyclerListView.OnItemClickListener stickersOnItemClickListener; - - private int stickersTabOffset; - private int recentTabBum = -2; - - private int lastNotifyWidth; - - public StickerMasksView(final Context context) { - super(context); - setBackgroundColor(0xff222222); - setClickable(true); - - MediaDataController.getInstance(currentAccount).checkStickers(MediaDataController.TYPE_IMAGE); - MediaDataController.getInstance(currentAccount).checkStickers(MediaDataController.TYPE_MASK); - stickersGridView = new RecyclerListView(context) { - @Override - public boolean onInterceptTouchEvent(MotionEvent event) { - boolean result = ContentPreviewViewer.getInstance().onInterceptTouchEvent(event, stickersGridView, StickerMasksView.this.getMeasuredHeight(), null); - return super.onInterceptTouchEvent(event) || result; - } - }; - - stickersGridView.setLayoutManager(stickersLayoutManager = new GridLayoutManager(context, 5)); - stickersLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { - @Override - public int getSpanSize(int position) { - if (position == stickersGridAdapter.totalItems) { - return stickersGridAdapter.stickersPerRow; - } - return 1; - } - }); - stickersGridView.setPadding(0, AndroidUtilities.dp(4), 0, 0); - stickersGridView.setClipToPadding(false); - stickersGridView.setAdapter(stickersGridAdapter = new StickersGridAdapter(context)); - stickersGridView.setOnTouchListener((v, event) -> ContentPreviewViewer.getInstance().onTouch(event, stickersGridView, StickerMasksView.this.getMeasuredHeight(), stickersOnItemClickListener, null)); - stickersOnItemClickListener = (view, position) -> { - if (!(view instanceof StickerEmojiCell)) { - return; - } - ContentPreviewViewer.getInstance().reset(); - StickerEmojiCell cell = (StickerEmojiCell) view; - if (cell.isDisabled()) { - return; - } - TLRPC.Document document = cell.getSticker(); - Object parent = cell.getParentObject(); - listener.onStickerSelected(parent, document); - MediaDataController.getInstance(currentAccount).addRecentSticker(MediaDataController.TYPE_MASK, parent, document, (int) (System.currentTimeMillis() / 1000), false); - MessagesController.getInstance(currentAccount).saveRecentSticker(parent, document, true); - }; - stickersGridView.setOnItemClickListener(stickersOnItemClickListener); - stickersGridView.setGlowColor(0xfff5f6f7); - addView(stickersGridView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.LEFT | Gravity.TOP, 0, 48, 0, 0)); - - stickersEmptyView = new TextView(context); - stickersEmptyView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); - stickersEmptyView.setTextColor(0xff888888); - addView(stickersEmptyView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER, 0, 48, 0, 0)); - stickersGridView.setEmptyView(stickersEmptyView); - - scrollSlidingTabStrip = new ScrollSlidingTabStrip(context); - scrollSlidingTabStrip.setBackgroundColor(0xff000000); - scrollSlidingTabStrip.setUnderlineHeight(AndroidUtilities.dp(1)); - scrollSlidingTabStrip.setIndicatorColor(0xff62bfe8); - scrollSlidingTabStrip.setUnderlineColor(0xff1a1a1a); - scrollSlidingTabStrip.setIndicatorHeight(AndroidUtilities.dp(1) + 1); - addView(scrollSlidingTabStrip, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.TOP)); - updateStickerTabs(); - scrollSlidingTabStrip.setDelegate(page -> { - if (page == 0) { - if (currentType == MediaDataController.TYPE_IMAGE) { - currentType = MediaDataController.TYPE_MASK; - } else { - currentType = MediaDataController.TYPE_IMAGE; - } - if (listener != null) { - listener.onTypeChanged(); - } - recentStickers[currentType] = MediaDataController.getInstance(currentAccount).getRecentStickers(currentType); - stickersLayoutManager.scrollToPositionWithOffset(0, 0); - updateStickerTabs(); - reloadStickersAdapter(); - checkDocuments(); - checkPanels(); - return; - } - if (page == recentTabBum + 1) { - stickersLayoutManager.scrollToPositionWithOffset(0, 0); - return; - } - int index = page - 1 - stickersTabOffset; - if (index >= stickerSets[currentType].size()) { - index = stickerSets[currentType].size() - 1; - } - stickersLayoutManager.scrollToPositionWithOffset(stickersGridAdapter.getPositionForPack(stickerSets[currentType].get(index)), 0); - checkScroll(); - }); - - stickersGridView.setOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - checkScroll(); - } - }); - } - - private void checkScroll() { - int firstVisibleItem = stickersLayoutManager.findFirstVisibleItemPosition(); - if (firstVisibleItem == RecyclerView.NO_POSITION) { - return; - } - checkStickersScroll(firstVisibleItem); - } - - private void checkStickersScroll(int firstVisibleItem) { - if (stickersGridView == null) { - return; - } - scrollSlidingTabStrip.onPageScrolled(stickersGridAdapter.getTabForPosition(firstVisibleItem) + 1, (recentTabBum > 0 ? recentTabBum : stickersTabOffset) + 1); - } - - public int getCurrentType() { - return currentType; - } - - private void updateStickerTabs() { - if (scrollSlidingTabStrip == null) { - return; - } - recentTabBum = -2; - - stickersTabOffset = 0; - int lastPosition = scrollSlidingTabStrip.getCurrentPosition(); - scrollSlidingTabStrip.removeTabs(); - if (currentType == MediaDataController.TYPE_IMAGE) { - Drawable drawable = getContext().getResources().getDrawable(R.drawable.ic_masks_msk1); - Theme.setDrawableColorByKey(drawable, Theme.key_chat_emojiPanelIcon); - scrollSlidingTabStrip.addIconTab(0, drawable); - stickersEmptyView.setText(LocaleController.getString("NoStickers", R.string.NoStickers)); - } else { - Drawable drawable = getContext().getResources().getDrawable(R.drawable.ic_masks_sticker1); - Theme.setDrawableColorByKey(drawable, Theme.key_chat_emojiPanelIcon); - scrollSlidingTabStrip.addIconTab(1, drawable); - stickersEmptyView.setText(LocaleController.getString("NoMasks", R.string.NoMasks)); - } - - if (!recentStickers[currentType].isEmpty()) { - recentTabBum = stickersTabOffset; - stickersTabOffset++; - scrollSlidingTabStrip.addIconTab(2, Theme.createEmojiIconSelectorDrawable(getContext(), R.drawable.ic_masks_recent1, Theme.getColor(Theme.key_chat_emojiPanelMasksIcon), Theme.getColor(Theme.key_chat_emojiPanelMasksIconSelected))); - } - - stickerSets[currentType].clear(); - ArrayList packs = MediaDataController.getInstance(currentAccount).getStickerSets(currentType); - for (int a = 0; a < packs.size(); a++) { - TLRPC.TL_messages_stickerSet pack = packs.get(a); - if (pack.set.archived || pack.documents == null || pack.documents.isEmpty()) { - continue; - } - stickerSets[currentType].add(pack); - } - for (int a = 0; a < stickerSets[currentType].size(); a++) { - TLRPC.TL_messages_stickerSet set = stickerSets[currentType].get(a); - TLRPC.Document document = set.documents.get(0); - scrollSlidingTabStrip.addStickerTab(document, document, set); - } - scrollSlidingTabStrip.updateTabStyles(); - if (lastPosition != 0) { - scrollSlidingTabStrip.onPageScrolled(lastPosition, lastPosition); - } - checkPanels(); - } - - private void checkPanels() { - if (scrollSlidingTabStrip == null) { - return; - } - int position = stickersLayoutManager.findFirstVisibleItemPosition(); - if (position != RecyclerView.NO_POSITION) { - scrollSlidingTabStrip.onPageScrolled(stickersGridAdapter.getTabForPosition(position) + 1, (recentTabBum > 0 ? recentTabBum : stickersTabOffset) + 1); - } - } - - public void addRecentSticker(TLRPC.Document document) { - if (document == null) { - return; - } - MediaDataController.getInstance(currentAccount).addRecentSticker(currentType, null, document, (int) (System.currentTimeMillis() / 1000), false); - boolean wasEmpty = recentStickers[currentType].isEmpty(); - recentStickers[currentType] = MediaDataController.getInstance(currentAccount).getRecentStickers(currentType); - if (stickersGridAdapter != null) { - stickersGridAdapter.notifyDataSetChanged(); - } - if (wasEmpty) { - updateStickerTabs(); - } - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (lastNotifyWidth != right - left) { - lastNotifyWidth = right - left; - reloadStickersAdapter(); - } - super.onLayout(changed, left, top, right, bottom); - } - - private void reloadStickersAdapter() { - if (stickersGridAdapter != null) { - stickersGridAdapter.notifyDataSetChanged(); - } - if (ContentPreviewViewer.getInstance().isVisible()) { - ContentPreviewViewer.getInstance().close(); - } - ContentPreviewViewer.getInstance().reset(); - } - - public void setListener(Listener value) { - listener = value; - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.stickersDidLoad); - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.recentDocumentsDidLoad); - AndroidUtilities.runOnUIThread(() -> { - updateStickerTabs(); - reloadStickersAdapter(); - }); - } - - @Override - public void setVisibility(int visibility) { - super.setVisibility(visibility); - if (visibility != GONE) { - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.stickersDidLoad); - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.recentDocumentsDidLoad); - updateStickerTabs(); - reloadStickersAdapter(); - checkDocuments(); - MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_IMAGE, false, true, false); - MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_MASK, false, true, false); - MediaDataController.getInstance(currentAccount).loadRecents(MediaDataController.TYPE_FAVE, false, true, false); - } - } - - public void onDestroy() { - if (stickersGridAdapter != null) { - NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.stickersDidLoad); - NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.recentDocumentsDidLoad); - } - } - - private void checkDocuments() { - int previousCount = recentStickers[currentType].size(); - recentStickers[currentType] = MediaDataController.getInstance(currentAccount).getRecentStickers(currentType); - if (stickersGridAdapter != null) { - stickersGridAdapter.notifyDataSetChanged(); - } - if (previousCount != recentStickers[currentType].size()) { - updateStickerTabs(); - } - } - - @Override - public void didReceivedNotification(int id, int account, Object... args) { - if (id == NotificationCenter.stickersDidLoad) { - if ((Integer) args[0] == currentType) { - updateStickerTabs(); - reloadStickersAdapter(); - checkPanels(); - } - } else if (id == NotificationCenter.recentDocumentsDidLoad) { - boolean isGif = (Boolean) args[0]; - if (!isGif && (Integer) args[1] == currentType) { - checkDocuments(); - } - } - } - - private class StickersGridAdapter extends RecyclerListView.SelectionAdapter { - - private Context context; - private int stickersPerRow; - private SparseArray rowStartPack = new SparseArray<>(); - private HashMap packStartRow = new HashMap<>(); - private SparseArray cache = new SparseArray<>(); - private SparseArray positionsToSets = new SparseArray<>(); - private int totalItems; - - public StickersGridAdapter(Context context) { - this.context = context; - } - - @Override - public int getItemCount() { - return totalItems != 0 ? totalItems + 1 : 0; - } - - public Object getItem(int i) { - return cache.get(i); - } - - public int getPositionForPack(TLRPC.TL_messages_stickerSet stickerSet) { - return packStartRow.get(stickerSet) * stickersPerRow; - } - - @Override - public int getItemViewType(int position) { - if (cache.get(position) != null) { - return 0; - } - return 1; - } - - public int getTabForPosition(int position) { - if (stickersPerRow == 0) { - int width = getMeasuredWidth(); - if (width == 0) { - width = AndroidUtilities.displaySize.x; - } - stickersPerRow = width / AndroidUtilities.dp(72); - } - int row = position / stickersPerRow; - TLRPC.TL_messages_stickerSet pack = rowStartPack.get(row); - if (pack == null) { - return recentTabBum; - } - return stickerSets[currentType].indexOf(pack) + stickersTabOffset; - } - - @Override - public boolean isEnabled(RecyclerView.ViewHolder holder) { - return false; - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view = null; - switch (viewType) { - case 0: - view = new StickerEmojiCell(context) { - public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(82), MeasureSpec.EXACTLY)); - } - }; - break; - case 1: - view = new EmptyCell(context); - break; - } - - return new RecyclerListView.Holder(view); - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - switch (holder.getItemViewType()) { - case 0: - TLRPC.Document sticker = cache.get(position); - ((StickerEmojiCell) holder.itemView).setSticker(sticker, positionsToSets.get(position), false); - break; - case 1: - if (position == totalItems) { - int row = (position - 1) / stickersPerRow; - TLRPC.TL_messages_stickerSet pack = rowStartPack.get(row); - if (pack == null) { - ((EmptyCell) holder.itemView).setHeight(1); - } else { - int height = stickersGridView.getMeasuredHeight() - (int) Math.ceil(pack.documents.size() / (float) stickersPerRow) * AndroidUtilities.dp(82); - ((EmptyCell) holder.itemView).setHeight(height > 0 ? height : 1); - } - } else { - ((EmptyCell) holder.itemView).setHeight(AndroidUtilities.dp(82)); - } - break; - } - } - - @Override - public void notifyDataSetChanged() { - int width = getMeasuredWidth(); - if (width == 0) { - width = AndroidUtilities.displaySize.x; - } - stickersPerRow = width / AndroidUtilities.dp(72); - stickersLayoutManager.setSpanCount(stickersPerRow); - rowStartPack.clear(); - packStartRow.clear(); - cache.clear(); - positionsToSets.clear(); - totalItems = 0; - ArrayList packs = stickerSets[currentType]; - for (int a = -1; a < packs.size(); a++) { - ArrayList documents; - TLRPC.TL_messages_stickerSet pack = null; - int startRow = totalItems / stickersPerRow; - if (a == -1) { - documents = recentStickers[currentType]; - } else { - pack = packs.get(a); - documents = pack.documents; - packStartRow.put(pack, startRow); - } - if (documents.isEmpty()) { - continue; - } - int count = (int) Math.ceil(documents.size() / (float) stickersPerRow); - for (int b = 0; b < documents.size(); b++) { - cache.put(b + totalItems, documents.get(b)); - positionsToSets.put(b + totalItems, pack); - } - totalItems += count * stickersPerRow; - for (int b = 0; b < count; b++) { - rowStartPack.put(startRow + b, pack); - } - } - super.notifyDataSetChanged(); - } - } -} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/StickersAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/StickersAlert.java index efc73d3da..bea69f44f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/StickersAlert.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/StickersAlert.java @@ -17,6 +17,7 @@ import android.app.Activity; import android.content.Context; import android.graphics.*; import android.graphics.Rect; +import android.graphics.drawable.Drawable; import android.os.Build; import android.text.Selection; import android.text.Spannable; @@ -47,11 +48,13 @@ import org.telegram.messenger.NotificationCenter; import org.telegram.messenger.R; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.RequestDelegate; +import org.telegram.tgnet.TLObject; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.ActionBarMenuItem; import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.BottomSheet; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Cells.EmptyCell; import org.telegram.ui.Cells.FeaturedStickerSetInfoCell; import org.telegram.ui.Cells.StickerEmojiCell; @@ -59,6 +62,7 @@ import org.telegram.ui.ChatActivity; import org.telegram.ui.ContentPreviewViewer; import java.util.ArrayList; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -130,6 +134,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not private boolean clearsInputField; private boolean showTooltipWhenToggle = true; + private String buttonTextColorKey; private ContentPreviewViewer.ContentPreviewViewerDelegate previewDelegate = new ContentPreviewViewer.ContentPreviewViewerDelegate() { @Override @@ -175,19 +180,33 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } }; - public StickersAlert(Context context, Object parentObject, TLRPC.Photo photo) { + public StickersAlert(Context context, Object parentObject, TLObject object) { super(context, false); parentActivity = (Activity) context; final TLRPC.TL_messages_getAttachedStickers req = new TLRPC.TL_messages_getAttachedStickers(); - TLRPC.TL_inputStickeredMediaPhoto inputStickeredMediaPhoto = new TLRPC.TL_inputStickeredMediaPhoto(); - inputStickeredMediaPhoto.id = new TLRPC.TL_inputPhoto(); - inputStickeredMediaPhoto.id.id = photo.id; - inputStickeredMediaPhoto.id.access_hash = photo.access_hash; - inputStickeredMediaPhoto.id.file_reference = photo.file_reference; - if (inputStickeredMediaPhoto.id.file_reference == null) { - inputStickeredMediaPhoto.id.file_reference = new byte[0]; + if (object instanceof TLRPC.Photo) { + TLRPC.Photo photo = (TLRPC.Photo) object; + TLRPC.TL_inputStickeredMediaPhoto inputStickeredMediaPhoto = new TLRPC.TL_inputStickeredMediaPhoto(); + inputStickeredMediaPhoto.id = new TLRPC.TL_inputPhoto(); + inputStickeredMediaPhoto.id.id = photo.id; + inputStickeredMediaPhoto.id.access_hash = photo.access_hash; + inputStickeredMediaPhoto.id.file_reference = photo.file_reference; + if (inputStickeredMediaPhoto.id.file_reference == null) { + inputStickeredMediaPhoto.id.file_reference = new byte[0]; + } + req.media = inputStickeredMediaPhoto; + } else if (object instanceof TLRPC.Document) { + TLRPC.Document document = (TLRPC.Document) object; + TLRPC.TL_inputStickeredMediaDocument inputStickeredMediaDocument = new TLRPC.TL_inputStickeredMediaDocument(); + inputStickeredMediaDocument.id = new TLRPC.TL_inputDocument(); + inputStickeredMediaDocument.id.id = document.id; + inputStickeredMediaDocument.id.access_hash = document.access_hash; + inputStickeredMediaDocument.id.file_reference = document.file_reference; + if (inputStickeredMediaDocument.id.file_reference == null) { + inputStickeredMediaDocument.id.file_reference = new byte[0]; + } + req.media = inputStickeredMediaDocument; } - req.media = inputStickeredMediaPhoto; RequestDelegate requestDelegate = (response, error) -> AndroidUtilities.runOnUIThread(() -> { reqId = 0; if (error == null) { @@ -435,7 +454,12 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } }; gridView.setTag(14); - gridView.setLayoutManager(layoutManager = new GridLayoutManager(getContext(), 5)); + gridView.setLayoutManager(layoutManager = new GridLayoutManager(getContext(), 5) { + @Override + protected boolean isLayoutRTL() { + return stickerSetCovereds != null && LocaleController.isRTL; + } + }); layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { @@ -533,7 +557,6 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not titleTextView.setTextColor(Theme.getColor(Theme.key_dialogTextBlack)); titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20); titleTextView.setLinkTextColor(Theme.getColor(Theme.key_dialogTextLink)); - titleTextView.setHighlightColor(Theme.getColor(Theme.key_dialogLinkSelection)); titleTextView.setEllipsize(TextUtils.TruncateAt.END); titleTextView.setPadding(AndroidUtilities.dp(18), 0, AndroidUtilities.dp(18), 0); titleTextView.setGravity(Gravity.CENTER_VERTICAL); @@ -564,7 +587,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not pickerBottomLayout = new TextView(context); pickerBottomLayout.setBackgroundDrawable(Theme.createSelectorWithBackgroundDrawable(Theme.getColor(Theme.key_dialogBackground), Theme.getColor(Theme.key_listSelector))); - pickerBottomLayout.setTextColor(Theme.getColor(Theme.key_dialogTextBlue2)); + pickerBottomLayout.setTextColor(Theme.getColor(buttonTextColorKey = Theme.key_dialogTextBlue2)); pickerBottomLayout.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); pickerBottomLayout.setPadding(AndroidUtilities.dp(18), 0, AndroidUtilities.dp(18), 0); pickerBottomLayout.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); @@ -572,7 +595,6 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not containerView.addView(pickerBottomLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.LEFT | Gravity.BOTTOM)); stickerPreviewLayout = new FrameLayout(context); - stickerPreviewLayout.setBackgroundColor(Theme.getColor(Theme.key_dialogBackground) & 0xdfffffff); stickerPreviewLayout.setVisibility(View.GONE); stickerPreviewLayout.setSoundEffectsEnabled(false); containerView.addView(stickerPreviewLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); @@ -591,8 +613,8 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not previewSendButton = new TextView(context); previewSendButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); previewSendButton.setTextColor(Theme.getColor(Theme.key_dialogTextBlue2)); + previewSendButton.setBackground(Theme.createSelectorWithBackgroundDrawable(Theme.getColor(Theme.key_dialogBackground), Theme.getColor(Theme.key_listSelector))); previewSendButton.setGravity(Gravity.CENTER); - previewSendButton.setBackgroundColor(Theme.getColor(Theme.key_dialogBackground)); previewSendButton.setPadding(AndroidUtilities.dp(29), 0, AndroidUtilities.dp(29), 0); previewSendButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); stickerPreviewLayout.addView(previewSendButton, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.BOTTOM | Gravity.LEFT)); @@ -611,6 +633,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not updateFields(); updateSendButton(); + updateColors(); adapter.notifyDataSetChanged(); } @@ -729,7 +752,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } MediaDataController.getInstance(currentAccount).loadStickers(type, false, true); })); - }, text, Theme.getColor(Theme.key_dialogTextBlue2)); + }, text, Theme.key_dialogTextBlue2); } else { String text; if (stickerSet.set.masks) { @@ -744,7 +767,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } dismiss(); MediaDataController.getInstance(currentAccount).toggleStickerSet(getContext(), stickerSet, 1, parentFragment, true, showTooltipWhenToggle); - }, text, Theme.getColor(Theme.key_dialogTextRed)); + }, text, Theme.key_dialogTextRed); } else { setButton(v -> { if (installDelegate != null) { @@ -752,13 +775,13 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } dismiss(); MediaDataController.getInstance(currentAccount).toggleStickerSet(getContext(), stickerSet, 0, parentFragment, true, showTooltipWhenToggle); - }, text, Theme.getColor(Theme.key_dialogTextRed)); + }, text, Theme.key_dialogTextRed); } } adapter.notifyDataSetChanged(); } else { String text = LocaleController.getString("Close", R.string.Close).toUpperCase(); - setButton((v) -> dismiss(), text, Theme.getColor(Theme.key_dialogTextBlue2)); + setButton((v) -> dismiss(), text, Theme.key_dialogTextBlue2); } } @@ -871,7 +894,6 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not @Override public void didReceivedNotification(int id, int account, Object... args) { if (id == NotificationCenter.emojiDidLoad) { - if (gridView != null) { int count = gridView.getChildCount(); for (int a = 0; a < count; a++) { @@ -885,8 +907,8 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } } - private void setButton(View.OnClickListener onClickListener, String title, int color) { - pickerBottomLayout.setTextColor(color); + private void setButton(View.OnClickListener onClickListener, String title, String colorKey) { + pickerBottomLayout.setTextColor(Theme.getColor(buttonTextColorKey = colorKey)); pickerBottomLayout.setText(title.toUpperCase()); pickerBottomLayout.setOnClickListener(onClickListener); } @@ -899,6 +921,78 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not this.showTooltipWhenToggle = showTooltipWhenToggle; } + public void updateColors() { + updateColors(false); + } + + private List animatingDescriptions; + + public void updateColors(boolean applyDescriptions) { + adapter.updateColors(); + + titleTextView.setHighlightColor(Theme.getColor(Theme.key_dialogLinkSelection)); + stickerPreviewLayout.setBackgroundColor(Theme.getColor(Theme.key_dialogBackground) & 0xdfffffff); + + optionsButton.setIconColor(Theme.getColor(Theme.key_sheet_other)); + optionsButton.setPopupItemsColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem), false); + optionsButton.setPopupItemsColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItemIcon), true); + optionsButton.setPopupItemsSelectorColor(Theme.getColor(Theme.key_dialogButtonSelector)); + optionsButton.redrawPopup(Theme.getColor(Theme.key_actionBarDefaultSubmenuBackground)); + + if (applyDescriptions) { + if (Theme.isAnimatingColor() && animatingDescriptions == null) { + animatingDescriptions = getThemeDescriptions(); + for (int i = 0, N = animatingDescriptions.size(); i < N; i++) { + animatingDescriptions.get(i).setDelegateDisabled(); + } + } + for (int i = 0, N = animatingDescriptions.size(); i < N; i++) { + final ThemeDescription description = animatingDescriptions.get(i); + description.setColor(Theme.getColor(description.getCurrentKey()), false, false); + } + } + + if (!Theme.isAnimatingColor() && animatingDescriptions != null) { + animatingDescriptions = null; + } + } + + @Override + public ArrayList getThemeDescriptions() { + final ArrayList descriptions = new ArrayList<>(); + final ThemeDescription.ThemeDescriptionDelegate delegate = this::updateColors; + + descriptions.add(new ThemeDescription(containerView, 0, null, null, new Drawable[]{shadowDrawable}, null, Theme.key_dialogBackground)); + descriptions.add(new ThemeDescription(containerView, 0, null, null, null, null, Theme.key_sheet_scrollUp)); + + adapter.getThemeDescriptions(descriptions, delegate); + + descriptions.add(new ThemeDescription(shadow[0], ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_dialogShadowLine)); + descriptions.add(new ThemeDescription(shadow[1], ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_dialogShadowLine)); + descriptions.add(new ThemeDescription(gridView, ThemeDescription.FLAG_LISTGLOWCOLOR, null, null, null, null, Theme.key_dialogScrollGlow)); + descriptions.add(new ThemeDescription(titleTextView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_dialogTextBlack)); + descriptions.add(new ThemeDescription(titleTextView, ThemeDescription.FLAG_LINKCOLOR, null, null, null, null, Theme.key_dialogTextLink)); + descriptions.add(new ThemeDescription(optionsButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, Theme.key_player_actionBarSelector)); + descriptions.add(new ThemeDescription(pickerBottomLayout, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, Theme.key_dialogBackground)); + descriptions.add(new ThemeDescription(pickerBottomLayout, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, Theme.key_listSelector)); + descriptions.add(new ThemeDescription(pickerBottomLayout, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, buttonTextColorKey)); + descriptions.add(new ThemeDescription(previewSendButton, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_dialogTextBlue2)); + descriptions.add(new ThemeDescription(previewSendButton, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, Theme.key_dialogBackground)); + descriptions.add(new ThemeDescription(previewSendButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, Theme.key_listSelector)); + descriptions.add(new ThemeDescription(previewSendButtonShadow, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_dialogShadowLine)); + + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_dialogLinkSelection)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_dialogBackground)); + + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_sheet_other)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_actionBarDefaultSubmenuItem)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_actionBarDefaultSubmenuItemIcon)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_dialogButtonSelector)); + descriptions.add(new ThemeDescription(null, 0, null, null, null, delegate, Theme.key_actionBarDefaultSubmenuBackground)); + + return descriptions; + } + private class GridAdapter extends RecyclerListView.SelectionAdapter { private Context context; @@ -955,7 +1049,7 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not view = new EmptyCell(context); break; case 2: - view = new FeaturedStickerSetInfoCell(context, 8); + view = new FeaturedStickerSetInfoCell(context, 8, true, false); break; } @@ -1038,5 +1132,22 @@ public class StickersAlert extends BottomSheet implements NotificationCenter.Not } super.notifyDataSetChanged(); } + + public void updateColors() { + if (stickerSetCovereds != null) { + for (int i = 0, size = gridView.getChildCount(); i < size; i++) { + final View child = gridView.getChildAt(i); + if (child instanceof FeaturedStickerSetInfoCell) { + ((FeaturedStickerSetInfoCell) child).updateColors(); + } + } + } + } + + public void getThemeDescriptions(List descriptions, ThemeDescription.ThemeDescriptionDelegate delegate) { + if (stickerSetCovereds != null) { + FeaturedStickerSetInfoCell.createThemeDescriptions(descriptions, gridView, delegate); + } + } } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/TextViewSwitcher.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/TextViewSwitcher.java new file mode 100644 index 000000000..5f3537057 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/TextViewSwitcher.java @@ -0,0 +1,53 @@ +package org.telegram.ui.Components; + +import android.content.Context; +import android.text.TextUtils; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import android.widget.ViewSwitcher; + +public class TextViewSwitcher extends ViewSwitcher { + + public TextViewSwitcher(Context context) { + super(context); + } + + public void setText(CharSequence text) { + setText(text, true); + } + + public void setText(CharSequence text, boolean animated) { + if (!TextUtils.equals(text, getCurrentView().getText())) { + if (animated) { + getNextView().setText(text); + showNext(); + } else { + getCurrentView().setText(text); + } + } + } + + @Override + public void addView(View child, int index, ViewGroup.LayoutParams params) { + if (!(child instanceof TextView)) { + throw new IllegalArgumentException(); + } + super.addView(child, index, params); + } + + @Override + public TextView getCurrentView() { + return (TextView) super.getCurrentView(); + } + + @Override + public TextView getNextView() { + return (TextView) super.getNextView(); + } + + public void invalidateViews() { + getCurrentView().invalidate(); + getNextView().invalidate(); + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ThemeEditorView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ThemeEditorView.java index a3783249c..25be40619 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ThemeEditorView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ThemeEditorView.java @@ -571,6 +571,11 @@ public class ThemeEditorView { startColorChange(true); int color = getColor(); for (int a = 0; a < currentThemeDesription.size(); a++) { + ThemeDescription description = currentThemeDesription.get(a); + String key = description.getCurrentKey(); + if (a == 0 && key.equals(Theme.key_chat_wallpaper) || key.equals(Theme.key_chat_wallpaper_gradient_to) || key.equals(Theme.key_windowBackgroundWhite) || key.equals(Theme.key_windowBackgroundGray)) { + color = 0xff000000 | color; + } currentThemeDesription.get(a).setColor(color, false); } int red = Color.red(color); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersAlert.java index 77152b5d7..99376b824 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersAlert.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersAlert.java @@ -6,6 +6,7 @@ import android.content.res.Configuration; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; +import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; import android.os.Build; import android.view.MotionEvent; @@ -20,6 +21,9 @@ import org.telegram.messenger.NotificationCenter; import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.BottomSheet; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; + +import java.util.ArrayList; public class TrendingStickersAlert extends BottomSheet implements TrendingStickersLayout.AlertDelegate { @@ -103,6 +107,15 @@ public class TrendingStickersAlert extends BottomSheet implements TrendingSticke } } + @Override + public ArrayList getThemeDescriptions() { + final ArrayList descriptions = new ArrayList<>(); + layout.getThemeDescriptions(descriptions, layout::updateColors); + descriptions.add(new ThemeDescription(alertContainerView, 0, null, null, new Drawable[]{shadowDrawable}, null, Theme.key_dialogBackground)); + descriptions.add(new ThemeDescription(alertContainerView, 0, null, null, null, null, Theme.key_sheet_scrollUp)); + return descriptions; + } + private class AlertContainerView extends SizeNotifierFrameLayout { private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); @@ -112,6 +125,7 @@ public class TrendingStickersAlert extends BottomSheet implements TrendingSticke private boolean statusBarVisible = false; private ValueAnimator statusBarAnimator; private float statusBarAlpha = 0f; + private float[] radii = new float[8]; public AlertContainerView(@NonNull Context context) { super(context, true); @@ -163,7 +177,7 @@ public class TrendingStickersAlert extends BottomSheet implements TrendingSticke final int statusBarHeight = Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0; final int height = MeasureSpec.getSize(heightMeasureSpec) - statusBarHeight; final int padding = (int) (height * 0.2f); - final int keyboardHeight = getKeyboardHeight(); + final int keyboardHeight = measureKeyboardHeight(); ignoreLayout = true; if (keyboardHeight > AndroidUtilities.dp(20)) { layout.setContentViewPaddingTop(0); @@ -214,7 +228,8 @@ public class TrendingStickersAlert extends BottomSheet implements TrendingSticke if (fraction > 0f && fraction < 1f) { final float radius = AndroidUtilities.dp(12) * fraction; shapeDrawable.setColor(Theme.getColor(Theme.key_dialogBackground)); - shapeDrawable.setCornerRadii(new float[]{radius, radius, radius, radius, 0, 0, 0, 0}); + radii[0] = radii[1] = radii[2] = radii[3] = radius; + shapeDrawable.setCornerRadii(radii); shapeDrawable.setBounds(backgroundPaddingLeft, scrollOffsetY + offset, getWidth() - backgroundPaddingLeft, scrollOffsetY + offset + AndroidUtilities.dp(24)); shapeDrawable.draw(canvas); } @@ -236,7 +251,8 @@ public class TrendingStickersAlert extends BottomSheet implements TrendingSticke final int h = AndroidUtilities.dp(4); final int offset = (int) (h * 2f * (1f - fraction)); shapeDrawable.setCornerRadius(AndroidUtilities.dp(2)); - shapeDrawable.setColor(ColorUtils.setAlphaComponent(Theme.getColor(Theme.key_sheet_scrollUp), (int) (255 * fraction))); + final int sheetScrollUpColor = Theme.getColor(Theme.key_sheet_scrollUp); + shapeDrawable.setColor(ColorUtils.setAlphaComponent(sheetScrollUpColor, (int) (Color.alpha(sheetScrollUpColor) * fraction))); shapeDrawable.setBounds((getWidth() - w) / 2, scrollOffsetY + AndroidUtilities.dp(10) + offset, (getWidth() + w) / 2, scrollOffsetY + AndroidUtilities.dp(10) + offset + h); shapeDrawable.draw(canvas); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersLayout.java index cf67112d5..517780dcc 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/TrendingStickersLayout.java @@ -1,8 +1,6 @@ package org.telegram.ui.Components; -import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.content.res.Configuration; import android.util.LongSparseArray; import android.util.SparseArray; @@ -17,7 +15,6 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import org.telegram.messenger.AndroidUtilities; -import org.telegram.messenger.FileLog; import org.telegram.messenger.LocaleController; import org.telegram.messenger.MediaDataController; import org.telegram.messenger.NotificationCenter; @@ -27,6 +24,7 @@ import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; import org.telegram.ui.Adapters.StickersSearchAdapter; import org.telegram.ui.Cells.EmptyCell; import org.telegram.ui.Cells.FeaturedStickerSetCell2; @@ -64,6 +62,21 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC public void setLastSearchKeyboardLanguage(String[] language) { lastSearchKeyboardLanguage = language; } + + public boolean canSendSticker() { + return false; + } + + public void onStickerSelected(TLRPC.Document sticker, Object parent, boolean clearsInputField, boolean notify, int scheduleDate) { + } + + public boolean canSchedule() { + return false; + } + + public boolean isInScheduleMode() { + return false; + } } public interface AlertDelegate { @@ -209,6 +222,7 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC } }; listView.setOnTouchListener((v, event) -> delegate.onListViewTouchEvent(listView, trendingOnItemClickListener, event)); + listView.setOverScrollMode(View.OVER_SCROLL_NEVER); listView.setClipToPadding(false); listView.setItemAnimator(null); listView.setLayoutAnimation(null); @@ -264,7 +278,6 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC }); listView.setAdapter(adapter); listView.setOnItemClickListener(trendingOnItemClickListener); - listView.setGlowColor(Theme.getColor(Theme.key_chat_emojiPanelBackground)); addView(listView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.LEFT | Gravity.TOP, 0, 0, 0, 0)); shadowView = new View(context); @@ -276,6 +289,8 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC addView(searchLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 58, Gravity.LEFT | Gravity.TOP)); + updateColors(); + final NotificationCenter notificationCenter = NotificationCenter.getInstance(currentAccount); notificationCenter.addObserver(this, NotificationCenter.stickersDidLoad); notificationCenter.addObserver(this, NotificationCenter.featuredStickersDidLoad); @@ -325,7 +340,28 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC } private void showStickerSet(TLRPC.InputStickerSet inputStickerSet) { - final StickersAlert stickersAlert = new StickersAlert(getContext(), parentFragment, inputStickerSet, null, null) { + final StickersAlert.StickersAlertDelegate stickersAlertDelegate; + if (delegate.canSendSticker()) { + stickersAlertDelegate = new StickersAlert.StickersAlertDelegate() { + @Override + public void onStickerSelected(TLRPC.Document sticker, Object parent, boolean clearsInputField, boolean notify, int scheduleDate) { + delegate.onStickerSelected(sticker, parent, clearsInputField, notify, scheduleDate); + } + + @Override + public boolean canSchedule() { + return delegate.canSchedule(); + } + + @Override + public boolean isInScheduleMode() { + return delegate.isInScheduleMode(); + } + }; + } else { + stickersAlertDelegate = null; + } + final StickersAlert stickersAlert = new StickersAlert(getContext(), parentFragment, inputStickerSet, null, stickersAlertDelegate) { @Override public void show() { super.show(); @@ -471,6 +507,22 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC } } + public void updateColors() { + if (listView.getAdapter() == adapter) { + adapter.updateColors(listView); + } else { + searchAdapter.updateColors(listView); + } + } + + public void getThemeDescriptions(List descriptions, ThemeDescription.ThemeDescriptionDelegate delegate) { + searchView.getThemeDescriptions(descriptions); + adapter.getThemeDescriptions(descriptions, listView, delegate); + searchAdapter.getThemeDescriptions(descriptions, listView, delegate); + descriptions.add(new ThemeDescription(shadowView, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_dialogShadowLine)); + descriptions.add(new ThemeDescription(searchLayout, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_dialogBackground)); + } + private class TrendingStickersAdapter extends RecyclerListView.SelectionAdapter { public static final int PAYLOAD_ANIMATED = 0; @@ -495,11 +547,7 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC @Override public int getItemCount() { - return cache.size() + 1; - } - - public Object getItem(int i) { - return cache.get(i); + return totalItems + 1; } @Override @@ -818,5 +866,22 @@ public class TrendingStickersLayout extends FrameLayout implements NotificationC } })); } + + public void updateColors(RecyclerListView listView) { + for (int i = 0, size = listView.getChildCount(); i < size; i++) { + final View child = listView.getChildAt(i); + if (child instanceof FeaturedStickerSetInfoCell) { + ((FeaturedStickerSetInfoCell) child).updateColors(); + } else if (child instanceof FeaturedStickerSetCell2) { + ((FeaturedStickerSetCell2) child).updateColors(); + } + } + } + + public void getThemeDescriptions(List descriptions, RecyclerListView listView, ThemeDescription.ThemeDescriptionDelegate delegate) { + FeaturedStickerSetInfoCell.createThemeDescriptions(descriptions, listView, delegate); + FeaturedStickerSetCell2.createThemeDescriptions(descriptions, listView, delegate); + GraySectionCell.createThemeDescriptions(descriptions, listView); + } } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/UndoView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/UndoView.java index fd849ce32..90cc2dc88 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/UndoView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/UndoView.java @@ -100,6 +100,8 @@ public class UndoView extends FrameLayout { public final static int ACTION_DICE_NO_SEND_INFO = 17; public final static int ACTION_TEXT_INFO = 18; public final static int ACTION_CACHE_WAS_CLEARED = 19; + public final static int ACTION_ADDED_TO_FOLDER = 20; + public final static int ACTION_REMOVED_FROM_FOLDER = 21; private CharSequence infoText; @@ -215,7 +217,8 @@ public class UndoView extends FrameLayout { private boolean isTooltipAction() { return currentAction == ACTION_ARCHIVE_HIDDEN || currentAction == ACTION_ARCHIVE_HINT || currentAction == ACTION_ARCHIVE_FEW_HINT || currentAction == ACTION_ARCHIVE_PINNED || currentAction == ACTION_CONTACT_ADDED || currentAction == ACTION_OWNER_TRANSFERED_CHANNEL || - currentAction == ACTION_OWNER_TRANSFERED_GROUP || currentAction == ACTION_QUIZ_CORRECT || currentAction == ACTION_QUIZ_INCORRECT || currentAction == ACTION_CACHE_WAS_CLEARED; + currentAction == ACTION_OWNER_TRANSFERED_GROUP || currentAction == ACTION_QUIZ_CORRECT || currentAction == ACTION_QUIZ_INCORRECT || currentAction == ACTION_CACHE_WAS_CLEARED || + currentAction == ACTION_ADDED_TO_FOLDER || currentAction == ACTION_REMOVED_FROM_FOLDER; } private boolean hasSubInfo() { @@ -291,18 +294,22 @@ public class UndoView extends FrameLayout { } public void showWithAction(long did, int action, Runnable actionRunnable) { - showWithAction(did, action, null, actionRunnable, null); + showWithAction(did, action, null, null, actionRunnable, null); } public void showWithAction(long did, int action, Object infoObject) { - showWithAction(did, action, infoObject, null, null); + showWithAction(did, action, infoObject, null, null, null); } public void showWithAction(long did, int action, Runnable actionRunnable, Runnable cancelRunnable) { - showWithAction(did, action, null, actionRunnable, cancelRunnable); + showWithAction(did, action, null, null, actionRunnable, cancelRunnable); } public void showWithAction(long did, int action, Object infoObject, Runnable actionRunnable, Runnable cancelRunnable) { + showWithAction(did, action, infoObject, null, actionRunnable, cancelRunnable); + } + + public void showWithAction(long did, int action, Object infoObject, Object infoObject2, Runnable actionRunnable, Runnable cancelRunnable) { if (currentActionRunnable != null) { currentActionRunnable.run(); } @@ -338,6 +345,7 @@ public class UndoView extends FrameLayout { String subInfoText; int icon; int size = 36; + boolean iconIsDrawable = false; if (action == ACTION_OWNER_TRANSFERED_CHANNEL || action == ACTION_OWNER_TRANSFERED_GROUP) { TLRPC.User user = (TLRPC.User) infoObject; if (action == ACTION_OWNER_TRANSFERED_CHANNEL) { @@ -375,6 +383,44 @@ public class UndoView extends FrameLayout { subInfoText = null; } icon = R.raw.chats_infotip; + } else if (action == ACTION_ADDED_TO_FOLDER || action == ACTION_REMOVED_FROM_FOLDER) { + MessagesController.DialogFilter filter = (MessagesController.DialogFilter) infoObject2; + if (did != 0) { + int lowerId = (int) did; + if (lowerId == 0) { + TLRPC.EncryptedChat encryptedChat = MessagesController.getInstance(currentAccount).getEncryptedChat((int) (did >> 32)); + lowerId = encryptedChat.user_id; + } + if (lowerId > 0) { + TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(lowerId); + if (action == ACTION_ADDED_TO_FOLDER) { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterUserAddedToExisting", R.string.FilterUserAddedToExisting, UserObject.getFirstName(user), filter.name)); + } else { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterUserRemovedFrom", R.string.FilterUserRemovedFrom, UserObject.getFirstName(user), filter.name)); + } + } else { + TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(-lowerId); + if (action == ACTION_ADDED_TO_FOLDER) { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterChatAddedToExisting", R.string.FilterChatAddedToExisting, chat.title, filter.name)); + } else { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterChatRemovedFrom", R.string.FilterChatRemovedFrom, chat.title, filter.name)); + } + } + } else { + if (action == ACTION_ADDED_TO_FOLDER) { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterChatsAddedToExisting", R.string.FilterChatsAddedToExisting, LocaleController.formatPluralString("Chats", (Integer) infoObject), filter.name)); + } else { + infoText = AndroidUtilities.replaceTags(LocaleController.formatString("FilterChatsRemovedFrom", R.string.FilterChatsRemovedFrom, LocaleController.formatPluralString("Chats", (Integer) infoObject), filter.name)); + } + } + subInfoText = null; + icon = R.raw.contact_check; + /*iconIsDrawable = true; + if (action == ACTION_ADDED_TO_FOLDER) { + icon = R.drawable.toast_folder; + } else { + icon = R.drawable.toast_folder_minus; + }*/ } else if (action == ACTION_CACHE_WAS_CLEARED) { infoText = this.infoText; subInfoText = null; @@ -394,7 +440,11 @@ public class UndoView extends FrameLayout { } infoTextView.setText(infoText); - leftImageView.setAnimation(icon, size, size); + if (iconIsDrawable) { + leftImageView.setImageResource(icon); + } else { + leftImageView.setAnimation(icon, size, size); + } if (subInfoText != null) { layoutParams.leftMargin = AndroidUtilities.dp(58); @@ -418,8 +468,10 @@ public class UndoView extends FrameLayout { undoButton.setVisibility(GONE); leftImageView.setVisibility(VISIBLE); - leftImageView.setProgress(0); - leftImageView.playAnimation(); + if (!iconIsDrawable) { + leftImageView.setProgress(0); + leftImageView.playAnimation(); + } } else if (currentAction == ACTION_QR_SESSION_ACCEPTED) { TLRPC.TL_authorization authorization = (TLRPC.TL_authorization) infoObject; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoEditTextureView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoEditTextureView.java new file mode 100644 index 000000000..e4f67414d --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoEditTextureView.java @@ -0,0 +1,123 @@ +package org.telegram.ui.Components; + +import android.content.Context; +import android.graphics.SurfaceTexture; +import android.view.Surface; +import android.view.TextureView; + +public class VideoEditTextureView extends TextureView implements TextureView.SurfaceTextureListener { + + private VideoPlayer currentVideoPlayer; + + private FilterGLThread eglThread; + private Rect viewRect = new Rect(); + private int videoWidth; + private int videoHeight; + + private VideoEditTextureViewDelegate delegate; + + public interface VideoEditTextureViewDelegate { + void onEGLThreadAvailable(FilterGLThread eglThread); + } + + public VideoEditTextureView(Context context, VideoPlayer videoPlayer) { + super(context); + + currentVideoPlayer = videoPlayer; + setSurfaceTextureListener(this); + } + + public void setDelegate(VideoEditTextureViewDelegate videoEditTextureViewDelegate) { + delegate = videoEditTextureViewDelegate; + if (eglThread != null) { + if (delegate == null) { + eglThread.setFilterGLThreadDelegate(null); + } else { + delegate.onEGLThreadAvailable(eglThread); + } + } + } + + public void setVideoSize(int width, int height) { + videoWidth = width; + videoHeight = height; + if (eglThread == null) { + return; + } + eglThread.setVideoSize(videoWidth, videoHeight); + } + + public int getVideoWidth() { + return videoWidth; + } + + public int getVideoHeight() { + return videoHeight; + } + + @Override + public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { + if (eglThread == null && surface != null && currentVideoPlayer != null) { + eglThread = new FilterGLThread(surface, surfaceTexture -> { + if (currentVideoPlayer == null) { + return; + } + Surface s = new Surface(surfaceTexture); + currentVideoPlayer.setSurface(s); + }); + if (videoWidth != 0 && videoHeight != 0) { + eglThread.setVideoSize(videoWidth, videoHeight); + } + eglThread.setSurfaceTextureSize(width, height); + eglThread.requestRender(true, true, false); + if (delegate != null) { + delegate.onEGLThreadAvailable(eglThread); + } + } + } + + @Override + public void onSurfaceTextureSizeChanged(SurfaceTexture surface, final int width, final int height) { + if (eglThread != null) { + eglThread.setSurfaceTextureSize(width, height); + eglThread.requestRender(false, true, false); + eglThread.postRunnable(() -> { + if (eglThread != null) { + eglThread.requestRender(false, true, false); + } + }); + } + } + + @Override + public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { + if (eglThread != null) { + eglThread.shutdown(); + eglThread = null; + } + return true; + } + + @Override + public void onSurfaceTextureUpdated(SurfaceTexture surface) { + + } + + public void release() { + if (eglThread != null) { + eglThread.shutdown(); + } + currentVideoPlayer = null; + } + + public void setViewRect(float x, float y, float w, float h) { + viewRect.x = x; + viewRect.y = y; + viewRect.width = w; + viewRect.height = h; + } + + public boolean containsPoint(float x, float y) { + return x >= viewRect.x && x <= viewRect.x + viewRect.width && y >= viewRect.y && y <= viewRect.y + viewRect.height; + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayer.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayer.java index 2e5896c29..f20fb1a41 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayer.java @@ -9,25 +9,37 @@ package org.telegram.ui.Components; import android.annotation.SuppressLint; +import android.content.Context; import android.graphics.SurfaceTexture; import android.net.Uri; import android.os.Handler; +import android.os.Looper; +import android.view.Surface; import android.view.TextureView; import android.view.ViewGroup; +import androidx.annotation.Nullable; + import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.source.LoopingMediaSource; import com.google.android.exoplayer2.DefaultLoadControl; import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.PlaybackParameters; +import com.google.android.exoplayer2.Player; +import com.google.android.exoplayer2.Renderer; import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.Timeline; +import com.google.android.exoplayer2.audio.AudioProcessor; +import com.google.android.exoplayer2.audio.AudioRendererEventListener; +import com.google.android.exoplayer2.audio.TeeAudioProcessor; +import com.google.android.exoplayer2.drm.DrmSessionManager; +import com.google.android.exoplayer2.drm.FrameworkMediaCrypto; import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; +import com.google.android.exoplayer2.mediacodec.MediaCodecSelector; import com.google.android.exoplayer2.source.ExtractorMediaSource; +import com.google.android.exoplayer2.source.LoopingMediaSource; import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.dash.DashMediaSource; @@ -46,33 +58,38 @@ import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory; import com.google.android.exoplayer2.video.SurfaceNotValidException; +import org.telegram.messenger.ApplicationLoader; +import org.telegram.messenger.FourierTransform; import org.telegram.messenger.NotificationCenter; import org.telegram.messenger.secretmedia.ExtendedDefaultDataSourceFactory; -import org.telegram.messenger.ApplicationLoader; + +import java.nio.ByteBuffer; +import java.util.ArrayList; @SuppressLint("NewApi") public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.VideoListener, NotificationCenter.NotificationCenterDelegate { - public interface RendererBuilder { - void buildRenderers(VideoPlayer player); - void cancel(); - } - public interface VideoPlayerDelegate { void onStateChanged(boolean playWhenReady, int playbackState); - void onError(Exception e); + void onError(VideoPlayer player, Exception e); void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio); void onRenderedFirstFrame(); void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture); boolean onSurfaceDestroyed(SurfaceTexture surfaceTexture); } + public interface AudioVisualizerDelegate { + void onVisualizerUpdate(boolean playing, boolean animate, float[] values); + boolean needUpdate(); + } + private SimpleExoPlayer player; private SimpleExoPlayer audioPlayer; private MappingTrackSelector trackSelector; private Handler mainHandler; private DataSource.Factory mediaDataSourceFactory; private TextureView textureView; + private Surface surface; private boolean isStreaming; private boolean autoplay; private boolean mixedAudio; @@ -84,6 +101,7 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid private boolean mixedPlayWhenReady; private VideoPlayerDelegate delegate; + private AudioVisualizerDelegate audioVisualizerDelegate; private int lastReportedPlaybackState; private boolean lastReportedPlayWhenReady; @@ -93,7 +111,10 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid private Uri videoUri, audioUri; private String videoType, audioType; - private boolean loop; + private boolean loopingMediaSource; + private boolean looping; + + Handler audioUpdateHandler = new Handler(Looper.getMainLooper()); private static final DefaultBandwidthMeter BANDWIDTH_METER = new DefaultBandwidthMeter(); @@ -129,11 +150,23 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid DefaultLoadControl.DEFAULT_TARGET_BUFFER_BYTES, DefaultLoadControl.DEFAULT_PRIORITIZE_TIME_OVER_SIZE_THRESHOLDS); if (player == null) { - player = ExoPlayerFactory.newSimpleInstance(ApplicationLoader.applicationContext, trackSelector, loadControl, null, DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER); + DefaultRenderersFactory factory; + if (audioVisualizerDelegate != null) { + factory = new AudioVisualizerRenderersFactory(ApplicationLoader.applicationContext); + } else { + factory = new DefaultRenderersFactory(ApplicationLoader.applicationContext); + } + player = ExoPlayerFactory.newSimpleInstance(ApplicationLoader.applicationContext, factory, trackSelector, loadControl, null); + player.addListener(this); player.setVideoListener(this); - player.setVideoTextureView(textureView); + if (textureView != null) { + player.setVideoTextureView(textureView); + } else if (surface != null) { + player.setVideoSurface(surface); + } player.setPlayWhenReady(autoplay); + player.setRepeatMode(looping ? ExoPlayer.REPEAT_MODE_ALL : ExoPlayer.REPEAT_MODE_OFF); } if (mixedAudio) { if (audioPlayer == null) { @@ -203,7 +236,7 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid this.audioUri = audioUri; this.videoType = videoType; this.audioType = audioType; - this.loop = true; + this.loopingMediaSource = true; mixedAudio = true; audioPlayerReady = false; @@ -251,7 +284,7 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid this.videoType = type; this.audioUri = null; this.audioType = null; - this.loop = false; + this.loopingMediaSource = false; videoPlayerReady = false; mixedAudio = false; @@ -304,6 +337,17 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid player.setVideoTextureView(textureView); } + public void setSurface(Surface s) { + if (surface == s) { + return; + } + surface = s; + if (player == null) { + return; + } + player.setVideoSurface(surface); + } + public boolean getPlayWhenReady() { return player.getPlayWhenReady(); } @@ -345,6 +389,12 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid if (audioPlayer != null) { audioPlayer.setPlayWhenReady(false); } + + if (audioVisualizerDelegate != null) { + audioUpdateHandler.removeCallbacksAndMessages(null); + audioVisualizerDelegate.onVisualizerUpdate(false, true, null); + } + } public void setPlaybackSpeed(float speed) { @@ -425,6 +475,10 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid delegate = videoPlayerDelegate; } + public void setAudioVisualizerDelegate(AudioVisualizerDelegate audioVisualizerDelegate) { + this.audioVisualizerDelegate = audioVisualizerDelegate; + } + public int getBufferedPercentage() { return isStreaming ? (player != null ? player.getBufferedPercentage() : 0) : 100; } @@ -454,6 +508,19 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid } } + public void setLooping(boolean looping) { + if (this.looping != looping) { + this.looping = looping; + if (player != null) { + player.setRepeatMode(looping ? ExoPlayer.REPEAT_MODE_ALL : ExoPlayer.REPEAT_MODE_OFF); + } + } + } + + public boolean isLooping() { + return looping; + } + private void checkPlayersReady() { if (audioPlayerReady && videoPlayerReady && mixedPlayWhenReady) { play(); @@ -475,6 +542,12 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid videoPlayerReady = true; checkPlayersReady(); } + if (playbackState != Player.STATE_READY) { + audioUpdateHandler.removeCallbacksAndMessages(null); + if (audioVisualizerDelegate != null) { + audioVisualizerDelegate.onVisualizerUpdate(false, true, null); + } + } } @Override @@ -510,7 +583,7 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid } player.clearVideoTextureView(textureView); player.setVideoTextureView(textureView); - if (loop) { + if (loopingMediaSource) { preparePlayerLoop(videoUri, videoType, audioUri, audioType); } else { preparePlayer(videoUri, videoType); @@ -518,7 +591,7 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid play(); } } else { - delegate.onError(error); + delegate.onError(this, error); } } @@ -564,4 +637,126 @@ public class VideoPlayer implements ExoPlayer.EventListener, SimpleExoPlayer.Vid lastReportedPlaybackState = playbackState; } } + + private class AudioVisualizerRenderersFactory extends DefaultRenderersFactory { + + public AudioVisualizerRenderersFactory(Context context) { + super(context); + } + + @Override + protected void buildAudioRenderers(Context context, int extensionRendererMode, MediaCodecSelector mediaCodecSelector, @Nullable DrmSessionManager drmSessionManager, boolean playClearSamplesWithoutKeys, boolean enableDecoderFallback, AudioProcessor[] audioProcessors, Handler eventHandler, AudioRendererEventListener eventListener, ArrayList out) { + AudioProcessor audioProcessor = new TeeAudioProcessor(new VisualizerBufferSink()); + super.buildAudioRenderers(context, extensionRendererMode, mediaCodecSelector, drmSessionManager, playClearSamplesWithoutKeys, enableDecoderFallback, new AudioProcessor[]{audioProcessor}, eventHandler, eventListener, out); + } + } + + private class VisualizerBufferSink implements TeeAudioProcessor.AudioBufferSink { + + private final int BUFFER_SIZE = 1024; + FourierTransform.FFT fft = new FourierTransform.FFT(BUFFER_SIZE, 48000); + float[] real = new float[BUFFER_SIZE]; + ByteBuffer byteBuffer; + int position = 0; + + public VisualizerBufferSink() { + byteBuffer = ByteBuffer.allocateDirect(BUFFER_SIZE * 8); + byteBuffer.position(0); + } + + @Override + public void flush(int sampleRateHz, int channelCount, int encoding) { + if (audioVisualizerDelegate == null) { + return; + } + audioUpdateHandler.removeCallbacksAndMessages(null); + audioVisualizerDelegate.onVisualizerUpdate(false, false, null); + } + + + long lastUpdateTime; + + @Override + public void handleBuffer(ByteBuffer buffer) { + if (audioVisualizerDelegate == null) { + return; + } + if (buffer == AudioProcessor.EMPTY_BUFFER || !mixedPlayWhenReady) { + audioUpdateHandler.postDelayed(() -> { + audioUpdateHandler.removeCallbacksAndMessages(null); + audioVisualizerDelegate.onVisualizerUpdate(false, true, null); + }, 80); + return; + } + + if (!audioVisualizerDelegate.needUpdate()) { + return; + } + + byteBuffer.put(buffer); + position += buffer.limit(); + + if (position >= BUFFER_SIZE) { + int len = BUFFER_SIZE; + byteBuffer.position(0); + for (int i = 0; i < len; i++) { + real[i] = (byteBuffer.getShort()) / 32768.0F; + } + byteBuffer.rewind(); + position = 0; + + fft.forward(real); + float sum = 0; + for (int i = 0; i < len; i++) { + float r = fft.getSpectrumReal()[i]; + float img = fft.getSpectrumImaginary()[i]; + float peak = (float) Math.sqrt(r * r + img * img) / 30f; + if (peak > 1f) { + peak = 1f; + } else if (peak < 0) { + peak = 0; + } + sum += peak * peak; + } + float amplitude = (float) (Math.sqrt(sum / len)); + + float[] partsAmplitude = new float[7]; + partsAmplitude[6] = amplitude; + if (amplitude < 0.4f) { + for (int k = 0; k < 7; k++) { + partsAmplitude[k] = 0; + } + } else { + int part = len / 6; + + for (int k = 0; k < 6; k++) { + int start = part * k; + float r = fft.getSpectrumReal()[start]; + float img = fft.getSpectrumImaginary()[start]; + partsAmplitude[k] = (float) (Math.sqrt(r * r + img * img) / 30f); + + if (partsAmplitude[k] > 1f) { + partsAmplitude[k] = 1f; + } else if (partsAmplitude[k] < 0) { + partsAmplitude[k] = 0; + } + } + } + + int updateInterval = 64; +// if (partsAmplitude[6] >= 0.5f) { +// updateInterval -= 8 * partsAmplitude[6] - 0.5f; +// } + + if (System.currentTimeMillis() - lastUpdateTime < updateInterval) { + return; + } + lastUpdateTime = System.currentTimeMillis(); + + audioUpdateHandler.postDelayed(() -> { + audioVisualizerDelegate.onVisualizerUpdate(true, true, partsAmplitude); + }, 130); + } + } + } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayerSeekBar.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayerSeekBar.java new file mode 100644 index 000000000..5d73a48cc --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoPlayerSeekBar.java @@ -0,0 +1,253 @@ +/* + * This is the source code of Telegram for Android v. 1.3.x. + * It is licensed under GNU GPL v. 2 or later. + * You should have received a copy of the license in this archive (see LICENSE). + * + * Copyright Nikolai Kudashov, 2013-2018. + */ + +package org.telegram.ui.Components; + +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.RectF; +import android.os.SystemClock; +import android.view.MotionEvent; +import android.view.View; + +import androidx.core.graphics.ColorUtils; + +import org.telegram.messenger.AndroidUtilities; + +public class VideoPlayerSeekBar { + + public interface SeekBarDelegate { + void onSeekBarDrag(float progress); + default void onSeekBarContinuousDrag(float progress) { + } + } + + private static Paint paint; + private static Paint strokePaint; + private static int thumbWidth; + private int thumbX = 0; + private int draggingThumbX = 0; + private int thumbDX = 0; + private boolean pressed = false; + private int width; + private int height; + private SeekBarDelegate delegate; + private int backgroundColor; + private int cacheColor; + private int circleColor; + private int progressColor; + private int backgroundSelectedColor; + private RectF rect = new RectF(); + private boolean selected; + private float bufferedProgress; + private float currentRadius; + private long lastUpdateTime; + private View parentView; + + private int lineHeight = AndroidUtilities.dp(4); + private int smallLineHeight = AndroidUtilities.dp(2); + + private float transitionProgress; + private int horizontalPadding; + private int smallLineColor; + + public VideoPlayerSeekBar(View parent) { + if (paint == null) { + paint = new Paint(Paint.ANTI_ALIAS_FLAG); + strokePaint = new Paint(Paint.ANTI_ALIAS_FLAG); + strokePaint.setStyle(Paint.Style.STROKE); + strokePaint.setColor(Color.BLACK); + strokePaint.setStrokeWidth(1); + } + parentView = parent; + thumbWidth = AndroidUtilities.dp(24); + currentRadius = AndroidUtilities.dp(6); + } + + public void setDelegate(SeekBarDelegate seekBarDelegate) { + delegate = seekBarDelegate; + } + + public boolean onTouch(int action, float x, float y) { + if (action == MotionEvent.ACTION_DOWN) { + if (transitionProgress > 0f) { + return false; + } + int additionWidth = (height - thumbWidth) / 2; + if (x >= -additionWidth && x <= width + additionWidth && y >= 0 && y <= height) { + if (!(thumbX - additionWidth <= x && x <= thumbX + thumbWidth + additionWidth)) { + thumbX = (int) x - thumbWidth / 2; + if (thumbX < 0) { + thumbX = 0; + } else if (thumbX > width - thumbWidth) { + thumbX = thumbWidth - width; + } + } + pressed = true; + draggingThumbX = thumbX; + thumbDX = (int) (x - thumbX); + return true; + } + } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { + if (pressed) { + thumbX = draggingThumbX; + if (action == MotionEvent.ACTION_UP && delegate != null) { + delegate.onSeekBarDrag((float) thumbX / (float) (width - thumbWidth)); + } + pressed = false; + return true; + } + } else if (action == MotionEvent.ACTION_MOVE) { + if (pressed) { + draggingThumbX = (int) (x - thumbDX); + if (draggingThumbX < 0) { + draggingThumbX = 0; + } else if (draggingThumbX > width - thumbWidth) { + draggingThumbX = width - thumbWidth; + } + if (delegate != null) { + delegate.onSeekBarContinuousDrag((float) draggingThumbX / (float) (width - thumbWidth)); + } + return true; + } + } + return false; + } + + public void setColors(int background, int cache, int progress, int circle, int selected, int smallLineColor) { + backgroundColor = background; + cacheColor = cache; + circleColor = circle; + progressColor = progress; + backgroundSelectedColor = selected; + this.smallLineColor = smallLineColor; + } + + public void setProgress(float progress) { + thumbX = (int) Math.ceil((width - thumbWidth) * progress); + if (thumbX < 0) { + thumbX = 0; + } else if (thumbX > width - thumbWidth) { + thumbX = width - thumbWidth; + } + } + + public void setBufferedProgress(float value) { + bufferedProgress = value; + } + + public float getProgress() { + return (float) thumbX / (float) (width - thumbWidth); + } + + public int getThumbX() { + return (pressed ? draggingThumbX : thumbX) + thumbWidth / 2; + } + + public boolean isDragging() { + return pressed; + } + + public void setSelected(boolean value) { + selected = value; + } + + public void setSize(int w, int h) { + width = w; + height = h; + } + + public int getWidth() { + return width - thumbWidth; + } + + + public float getTransitionProgress() { + return transitionProgress; + } + + public void setTransitionProgress(float transitionProgress) { + if (this.transitionProgress != transitionProgress) { + this.transitionProgress = transitionProgress; + parentView.invalidate(); + } + } + + public int getHorizontalPadding() { + return horizontalPadding; + } + + public void setHorizontalPadding(int horizontalPadding) { + this.horizontalPadding = horizontalPadding; + } + + public void draw(Canvas canvas) { + final float radius = AndroidUtilities.lerp(thumbWidth / 2f, smallLineHeight / 2f, transitionProgress); + rect.left = horizontalPadding + AndroidUtilities.lerp(thumbWidth / 2f, 0, transitionProgress); + rect.top = AndroidUtilities.lerp((height - lineHeight) / 2f, height - AndroidUtilities.dp(3) - smallLineHeight, transitionProgress); + rect.bottom = AndroidUtilities.lerp((height + lineHeight) / 2f, height - AndroidUtilities.dp(3), transitionProgress); + + // background + rect.right = horizontalPadding + AndroidUtilities.lerp(width - thumbWidth / 2f, parentView.getWidth() - horizontalPadding * 2f, transitionProgress); + setPaintColor(selected ? backgroundSelectedColor : backgroundColor, 1f - transitionProgress); + canvas.drawRoundRect(rect, radius, radius, paint); + + // buffered + if (bufferedProgress > 0) { + rect.right = horizontalPadding + AndroidUtilities.lerp(thumbWidth / 2f + bufferedProgress * (width - thumbWidth), parentView.getWidth() - horizontalPadding * 2f, transitionProgress); + setPaintColor(selected ? backgroundSelectedColor : cacheColor, 1f - transitionProgress); + canvas.drawRoundRect(rect, radius, radius, paint); + } + + // progress + rect.right = horizontalPadding + AndroidUtilities.lerp(thumbWidth / 2f + (pressed ? draggingThumbX : thumbX), (parentView.getWidth() - horizontalPadding * 2f) * getProgress(), transitionProgress); + if (transitionProgress > 0f && rect.width() > 0) { + // progress stroke + strokePaint.setAlpha((int) (transitionProgress * 255 * 0.2f)); + canvas.drawRoundRect(rect, radius, radius, strokePaint); + } + setPaintColor(ColorUtils.blendARGB(progressColor, smallLineColor, transitionProgress), 1f); + canvas.drawRoundRect(rect, radius, radius, paint); + + // circle + setPaintColor(ColorUtils.blendARGB(circleColor, getProgress() == 0 ? Color.TRANSPARENT : smallLineColor, transitionProgress), 1f - transitionProgress); + int newRad = AndroidUtilities.dp(pressed ? 8 : 6); + if (currentRadius != newRad) { + long newUpdateTime = SystemClock.elapsedRealtime(); + long dt = newUpdateTime - lastUpdateTime; + lastUpdateTime = newUpdateTime; + if (dt > 18) { + dt = 16; + } + if (currentRadius < newRad) { + currentRadius += AndroidUtilities.dp(1) * (dt / 60.0f); + if (currentRadius > newRad) { + currentRadius = newRad; + } + } else { + currentRadius -= AndroidUtilities.dp(1) * (dt / 60.0f); + if (currentRadius < newRad) { + currentRadius = newRad; + } + } + if (parentView != null) { + parentView.invalidate(); + } + } + final float circleRadius = AndroidUtilities.lerp(currentRadius, 0, transitionProgress); + canvas.drawCircle(rect.right, rect.centerY(), circleRadius, paint); + } + + private void setPaintColor(int color, float alpha) { + if (alpha < 1f) { + color = ColorUtils.setAlphaComponent(color, (int) (Color.alpha(color) * alpha)); + } + paint.setColor(color); + } +} diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelinePlayView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelinePlayView.java index ee6885ad1..4b3830f1a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelinePlayView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelinePlayView.java @@ -309,7 +309,7 @@ public class VideoTimelinePlayView extends View { Canvas canvas = new Canvas(result); float scaleX = (float) frameWidth / (float) bitmap.getWidth(); float scaleY = (float) frameHeight / (float) bitmap.getHeight(); - float scale = scaleX > scaleY ? scaleX : scaleY; + float scale = Math.max(scaleX, scaleY); int w = (int) (bitmap.getWidth() * scale); int h = (int) (bitmap.getHeight() * scale); Rect srcRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelineView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelineView.java index 8c1eeb253..4cca2521b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelineView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelineView.java @@ -325,7 +325,7 @@ public class VideoTimelineView extends View { Canvas canvas = new Canvas(result); float scaleX = (float) frameWidth / (float) bitmap.getWidth(); float scaleY = (float) frameHeight / (float) bitmap.getHeight(); - float scale = scaleX > scaleY ? scaleX : scaleY; + float scale = Math.max(scaleX, scaleY); int w = (int) (bitmap.getWidth() * scale); int h = (int) (bitmap.getHeight() * scale); Rect srcRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); @@ -424,16 +424,15 @@ public class VideoTimelineView extends View { canvas.drawRect(0, topOffset, getMeasuredWidth(), getMeasuredHeight() - topOffset, backgroundGrayPaint); } int offset = 0; - int y = topOffset; for (int a = 0; a < frames.size(); a++) { Bitmap bitmap = frames.get(a); if (bitmap != null) { int x = offset * (isRoundFrames ? frameWidth / 2 : frameWidth); if (isRoundFrames) { - rect2.set(x, y, x + AndroidUtilities.dp(28), y + AndroidUtilities.dp(32)); + rect2.set(x, topOffset, x + AndroidUtilities.dp(28), topOffset + AndroidUtilities.dp(32)); canvas.drawBitmap(bitmap, rect1, rect2, null); } else { - canvas.drawBitmap(bitmap, x, y, null); + canvas.drawBitmap(bitmap, x, topOffset, null); } } offset++; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/WebPlayerView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/WebPlayerView.java index db949547d..17137c4f3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/WebPlayerView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/WebPlayerView.java @@ -1762,7 +1762,7 @@ public class WebPlayerView extends ViewGroup implements VideoPlayer.VideoPlayerD } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { FileLog.e(e); onInitFailed(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ContentPreviewViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/ContentPreviewViewer.java index 4c7a3d10f..cf9c4bfa3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ContentPreviewViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ContentPreviewViewer.java @@ -83,13 +83,17 @@ public class ContentPreviewViewer { return true; } - default void sendGif(Object gif, boolean notify, int scheduleDate) { + default void sendGif(Object gif, Object parent, boolean notify, int scheduleDate) { } default void gifAddedOrDeleted() { } + + default boolean needMenu() { + return true; + } } private final static int CONTENT_TYPE_NONE = -1; @@ -268,7 +272,7 @@ public class ContentPreviewViewer { return; } if (actions.get(which) == 0) { - delegate.sendGif(currentDocument != null ? currentDocument : inlineResult, true, 0); + delegate.sendGif(currentDocument != null ? currentDocument : inlineResult, parentObject, true, 0); } else if (actions.get(which) == 1) { MediaDataController.getInstance(currentAccount).removeRecentGif(currentDocument); delegate.gifAddedOrDeleted(); @@ -281,7 +285,7 @@ public class ContentPreviewViewer { TLRPC.BotInlineResult result = inlineResult; Object parent = parentObject; ContentPreviewViewerDelegate stickerPreviewViewerDelegate = delegate; - AlertsCreator.createScheduleDatePickerDialog(parentActivity, stickerPreviewViewerDelegate.getDialogId(), (notify, scheduleDate) -> stickerPreviewViewerDelegate.sendGif(document != null ? document : result, notify, scheduleDate)); + AlertsCreator.createScheduleDatePickerDialog(parentActivity, stickerPreviewViewerDelegate.getDialogId(), (notify, scheduleDate) -> stickerPreviewViewerDelegate.sendGif(document != null ? document : result, parent, notify, scheduleDate)); } }); visibleDialog.setDimBehind(false); @@ -453,7 +457,7 @@ public class ContentPreviewViewer { clearsInputField = stickerCell.isClearsInputField(); } else if (currentPreviewCell instanceof ContextLinkCell) { ContextLinkCell contextLinkCell = (ContextLinkCell) currentPreviewCell; - open(contextLinkCell.getDocument(), contextLinkCell.getBotInlineResult(), contentType, false, null); + open(contextLinkCell.getDocument(), contextLinkCell.getBotInlineResult(), contentType, false, contextLinkCell.getInlineBot()); if (contentType != CONTENT_TYPE_GIF) { contextLinkCell.setScaled(true); } @@ -550,7 +554,7 @@ public class ContentPreviewViewer { clearsInputField = stickerCell.isClearsInputField(); } else if (currentPreviewCell instanceof ContextLinkCell) { ContextLinkCell contextLinkCell = (ContextLinkCell) currentPreviewCell; - open(contextLinkCell.getDocument(), contextLinkCell.getBotInlineResult(), contentTypeFinal, false, null); + open(contextLinkCell.getDocument(), contextLinkCell.getBotInlineResult(), contentTypeFinal, false, contextLinkCell.getInlineBot()); if (contentTypeFinal != CONTENT_TYPE_GIF) { contextLinkCell.setScaled(true); } @@ -642,7 +646,7 @@ public class ContentPreviewViewer { break; } } - if (newSet != null) { + if (newSet != null && (delegate == null || delegate.needMenu())) { try { if (visibleDialog != null) { visibleDialog.setOnDismissListener(null); @@ -656,7 +660,6 @@ public class ContentPreviewViewer { AndroidUtilities.runOnUIThread(showSheetRunnable, 1300); } currentStickerSet = newSet; - parentObject = parent; TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(document.thumbs, 90); centerImage.setImage(ImageLocation.getForDocument(document), null, ImageLocation.getForDocument(thumb, document), null, "webp", currentStickerSet, 1); for (int a = 0; a < document.attributes.size(); a++) { @@ -672,12 +675,23 @@ public class ContentPreviewViewer { } else { if (document != null) { TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(document.thumbs, 90); - centerImage.setImage(ImageLocation.getForDocument(document), null, ImageLocation.getForDocument(thumb, document), "90_90_b", document.size, null, "gif" + document, 0); + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(document); + ImageLocation location = ImageLocation.getForDocument(document); + location.imageType = FileLoader.IMAGE_TYPE_ANIMATION; + if (videoSize != null) { + centerImage.setImage(location, null, ImageLocation.getForDocument(videoSize, document), null, ImageLocation.getForDocument(thumb, document), "90_90_b", null, document.size, null, "gif" + document, 0); + } else { + centerImage.setImage(location, null, ImageLocation.getForDocument(thumb, document), "90_90_b", document.size, null, "gif" + document, 0); + } } else if (botInlineResult != null) { if (botInlineResult.content == null) { return; } - centerImage.setImage(ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.content)), null, ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.thumb)), "90_90_b", botInlineResult.content.size, null, "gif" + botInlineResult, 1); + if (botInlineResult.thumb instanceof TLRPC.TL_webDocument && "video/mp4".equals(botInlineResult.thumb.mime_type)) { + centerImage.setImage(ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.content)), null, ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.thumb)), null, ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.thumb)), "90_90_b", null, botInlineResult.content.size, null, "gif" + botInlineResult, 1); + } else { + centerImage.setImage(ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.content)), null, ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.thumb)), "90_90_b", botInlineResult.content.size, null, "gif" + botInlineResult, 1); + } } else { return; } @@ -688,6 +702,7 @@ public class ContentPreviewViewer { currentContentType = contentType; currentDocument = document; inlineResult = botInlineResult; + parentObject = parent; containerView.invalidate(); if (!isVisible) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java index c8f65a04a..980b4e932 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Configuration; +import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Outline; import android.graphics.Paint; @@ -32,6 +33,7 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.RectF; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; @@ -128,6 +130,7 @@ import org.telegram.ui.Components.AlertsCreator; import org.telegram.ui.Components.AnimatedArrowDrawable; import org.telegram.ui.Components.AnimationProperties; import org.telegram.ui.Components.FilterTabsView; +import org.telegram.ui.Components.FiltersListBottomSheet; import org.telegram.ui.Components.PullForegroundDrawable; import org.telegram.ui.Components.AvatarDrawable; import org.telegram.ui.Components.BackupImageView; @@ -197,6 +200,8 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. private FilterTabsView filterTabsView; private boolean askingForPermissions; + private View blurredView; + private Paint scrimPaint; private View scrimView; private boolean scrimViewSelected; @@ -231,6 +236,8 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. private ActionBarMenuItem muteItem; private ActionBarMenuItem archive2Item; private ActionBarMenuSubItem pin2Item; + private ActionBarMenuSubItem addToFolderItem; + private ActionBarMenuSubItem removeFromFolderItem; private ActionBarMenuSubItem archiveItem; private ActionBarMenuSubItem clearItem; private ActionBarMenuSubItem readItem; @@ -319,6 +326,8 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. private final static int block = 106; private final static int archive2 = 107; private final static int pin2 = 108; + private final static int add_to_folder = 109; + private final static int remove_from_folder = 110; private final static int ARCHIVE_ITEM_STATE_PINNED = 0; private final static int ARCHIVE_ITEM_STATE_SHOWED = 1; @@ -478,7 +487,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int childCount = getChildCount(); if (commentView != null) { @@ -549,7 +558,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. int paddingBottom; Object tag = commentView != null ? commentView.getTag() : null; - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (tag != null && tag.equals(2)) { paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow ? commentView.getEmojiPadding() : 0; } else { @@ -1043,7 +1052,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. @Override public boolean onTouchEvent(MotionEvent e) { - if (animationRunning || waitingForScrollFinished || dialogRemoveFinished != 0 || dialogInsertFinished != 0 || dialogChangeFinished != 0) { + if (scrollAnimationRunning || waitingForScrollFinished || dialogRemoveFinished != 0 || dialogInsertFinished != 0 || dialogChangeFinished != 0) { return false; } int action = e.getAction(); @@ -1115,7 +1124,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. @Override public boolean onInterceptTouchEvent(MotionEvent e) { - if (animationRunning || waitingForScrollFinished || dialogRemoveFinished != 0 || dialogInsertFinished != 0 || dialogChangeFinished != 0) { + if (scrollAnimationRunning || waitingForScrollFinished || dialogRemoveFinished != 0 || dialogInsertFinished != 0 || dialogChangeFinished != 0) { return false; } if (e.getAction() == MotionEvent.ACTION_DOWN) { @@ -1556,6 +1565,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. floatingButtonContainer.setVisibility(View.GONE); } } + setScrollY(0); updatePasscodeButton(); actionBar.setBackButtonContentDescription(LocaleController.getString("AccDescrGoBack", R.string.AccDescrGoBack)); } @@ -1651,7 +1661,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. scrollToTop(); }); - if (initialDialogsType == 0 && folderId == 0 && !onlySelect) { + if (initialDialogsType == 0 && folderId == 0 && !onlySelect && TextUtils.isEmpty(searchString)) { scrimPaint = new Paint() { @Override public void setAlpha(int a) { @@ -2052,6 +2062,72 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. DialogsActivity dialogsActivity = new DialogsActivity(arguments); dialogsActivity.setDelegate(oldDelegate); launchActivity.presentFragment(dialogsActivity, false, true); + } else if (id == add_to_folder) { + FiltersListBottomSheet sheet = new FiltersListBottomSheet(DialogsActivity.this, selectedDialogs); + sheet.setDelegate(filter -> { + ArrayList alwaysShow = FiltersListBottomSheet.getDialogsCount(DialogsActivity.this, filter, selectedDialogs, true, false); + int currentCount; + if (filter != null) { + currentCount = filter.alwaysShow.size(); + } else { + currentCount = 0; + } + if (currentCount + alwaysShow.size() > 100) { + showDialog(AlertsCreator.createSimpleAlert(getParentActivity(), LocaleController.getString("FilterAddToAlertFullTitle", R.string.FilterAddToAlertFullTitle), LocaleController.getString("FilterAddToAlertFullText", R.string.FilterAddToAlertFullText)).create()); + return; + } + if (filter != null) { + if (!alwaysShow.isEmpty()) { + for (int a = 0; a < alwaysShow.size(); a++) { + filter.neverShow.remove(alwaysShow.get(a)); + } + filter.alwaysShow.addAll(alwaysShow); + FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, true, false, DialogsActivity.this, null); + } + long did; + if (alwaysShow.size() == 1) { + did = alwaysShow.get(0); + } else { + did = 0; + } + getUndoView().showWithAction(did, UndoView.ACTION_ADDED_TO_FOLDER, alwaysShow.size(), filter, null, null); + } else { + presentFragment(new FilterCreateActivity(null, alwaysShow)); + } + hideActionMode(true); + }); + showDialog(sheet); + } else if (id == remove_from_folder) { + MessagesController.DialogFilter filter = getMessagesController().dialogFilters.get(viewPages[0].selectedType); + ArrayList neverShow = FiltersListBottomSheet.getDialogsCount(DialogsActivity.this, filter, selectedDialogs, false, false); + + int currentCount; + if (filter != null) { + currentCount = filter.neverShow.size(); + } else { + currentCount = 0; + } + if (currentCount + neverShow.size() > 100) { + showDialog(AlertsCreator.createSimpleAlert(getParentActivity(), LocaleController.getString("FilterAddToAlertFullTitle", R.string.FilterAddToAlertFullTitle), LocaleController.getString("FilterRemoveFromAlertFullText", R.string.FilterRemoveFromAlertFullText)).create()); + return; + } + if (!neverShow.isEmpty()) { + filter.neverShow.addAll(neverShow); + for (int a = 0; a < neverShow.size(); a++) { + Integer did = neverShow.get(a); + filter.alwaysShow.remove(did); + filter.pinnedDialogs.remove((long) did); + } + FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, false, false, DialogsActivity.this, null); + } + long did; + if (neverShow.size() == 1) { + did = neverShow.get(0); + } else { + did = 0; + } + getUndoView().showWithAction(did, UndoView.ACTION_REMOVED_FROM_FOLDER, neverShow.size(), filter, null, null); + hideActionMode(false); } else if (id == pin || id == read || id == delete || id == clear || id == mute || id == archive || id == block || id == archive2 || id == pin2) { perfromSelectedDialogsAction(id, true); } @@ -2080,6 +2156,8 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. ActionBarMenuItem otherItem = actionMode.addItemWithWidth(0, R.drawable.ic_ab_other, AndroidUtilities.dp(54), LocaleController.getString("AccDescrMoreOptions", R.string.AccDescrMoreOptions)); archiveItem = otherItem.addSubItem(archive, R.drawable.msg_archive, LocaleController.getString("Archive", R.string.Archive)); pin2Item = otherItem.addSubItem(pin2, R.drawable.msg_pin, LocaleController.getString("DialogPin", R.string.DialogPin)); + addToFolderItem = otherItem.addSubItem(add_to_folder, R.drawable.msg_addfolder, LocaleController.getString("FilterAddTo", R.string.FilterAddTo)); + removeFromFolderItem = otherItem.addSubItem(remove_from_folder, R.drawable.msg_removefolder, LocaleController.getString("FilterRemoveFrom", R.string.FilterRemoveFrom)); readItem = otherItem.addSubItem(read, R.drawable.msg_markread, LocaleController.getString("MarkAsRead", R.string.MarkAsRead)); clearItem = otherItem.addSubItem(clear, R.drawable.msg_clear, LocaleController.getString("ClearHistory", R.string.ClearHistory)); blockItem = otherItem.addSubItem(block, R.drawable.msg_block, LocaleController.getString("BlockUser", R.string.BlockUser)); @@ -2875,6 +2953,12 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. actionBar.setSearchTextColor(Theme.getColor(Theme.key_actionBarDefaultArchivedSearchPlaceholder), true); } + if (!onlySelect && initialDialogsType == 0) { + blurredView = new ImageView(context); + blurredView.setVisibility(View.GONE); + contentView.addView(blurredView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + } + updateFilterTabs(false); return fragmentView; @@ -2975,6 +3059,9 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. } } else { if (filterTabsView.getVisibility() != View.GONE) { + filterTabsView.setIsEditing(false); + showDoneItem(false); + maybeStartTracking = false; if (startedTracking) { startedTracking = false; @@ -3048,6 +3135,10 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. @Override public void onResume() { super.onResume(); + if (!parentLayout.isInPreviewMode() && blurredView != null && blurredView.getVisibility() == View.VISIBLE) { + blurredView.setVisibility(View.GONE); + blurredView.setBackground(null); + } if (filterTabsView != null && filterTabsView.getVisibility() == View.VISIBLE) { parentLayout.getDrawerLayoutContainer().setAllowOpenDrawerBySwipe(viewPages[0].selectedType == filterTabsView.getFirstTabId()); } @@ -3185,6 +3276,17 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. } closeSearchFieldOnHide = false; } + if (filterTabsView != null && filterTabsView.getVisibility() == View.VISIBLE) { + int scrollY = (int) -actionBar.getTranslationY(); + int actionBarHeight = ActionBar.getCurrentActionBarHeight(); + if (scrollY != 0 && scrollY != actionBarHeight) { + if (scrollY < actionBarHeight / 2) { + setScrollY(0); + } else if (viewPages[0].listView.canScrollVertically(1)) { + setScrollY(-actionBarHeight); + } + } + } if (undoView[0] != null) { undoView[0].hide(true, 0); } @@ -3240,7 +3342,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. animators.add(ObjectAnimator.ofFloat(searchEmptyView, View.ALPHA, show ? 1.0f : 0.0f)); animators.add(ObjectAnimator.ofFloat(searchEmptyView, View.SCALE_X, show ? 1.0f : 1.05f)); animators.add(ObjectAnimator.ofFloat(searchEmptyView, View.SCALE_Y, show ? 1.0f : 1.05f)); - if (filterTabsView != null) { + if (filterTabsView != null && filterTabsView.getVisibility() == View.VISIBLE) { animators.add(ObjectAnimator.ofFloat(filterTabsView, View.TRANSLATION_Y, show ? -AndroidUtilities.dp(44) : 0)); tabsAlphaAnimator = ObjectAnimator.ofFloat(filterTabsView.getTabsContainer(), View.ALPHA, show ? 0.0f : 1.0f).setDuration(100); tabsAlphaAnimator.addListener(new AnimatorListenerAdapter() { @@ -3321,7 +3423,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. searchEmptyView.setAlpha(show ? 1.0f : 0.0f); searchEmptyView.setScaleX(show ? 1.0f : 1.1f); searchEmptyView.setScaleY(show ? 1.0f : 1.1f); - if (filterTabsView != null) { + if (filterTabsView != null && filterTabsView.getVisibility() == View.VISIBLE) { filterTabsView.setTranslationY(show ? -AndroidUtilities.dp(44) : 0); filterTabsView.getTabsContainer().setAlpha(show ? 0.0f : 1.0f); } @@ -3603,10 +3705,12 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. if (searchString != null) { if (getMessagesController().checkCanOpenChat(args, DialogsActivity.this)) { getNotificationCenter().postNotificationName(NotificationCenter.closeChats); + prepareBlurBitmap(); presentFragmentAsPreview(new ChatActivity(args)); } } else { if (getMessagesController().checkCanOpenChat(args, DialogsActivity.this)) { + prepareBlurBitmap(); presentFragmentAsPreview(new ChatActivity(args)); } } @@ -3745,7 +3849,9 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. scrimView.getLocationInWindow(scrimViewLocation); } actionBar.setTranslationY(value); - filterTabsView.setTranslationY(value); + if (filterTabsView != null) { + filterTabsView.setTranslationY(value); + } if (fragmentContextView != null) { fragmentContextView.setTranslationY(topPadding + value); } @@ -3760,6 +3866,41 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. fragmentView.invalidate(); } + private void prepareBlurBitmap() { + if (blurredView == null) { + return; + } + int w = (int) (fragmentView.getMeasuredWidth() / 6.0f); + int h = (int) (fragmentView.getMeasuredHeight() / 6.0f); + Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + canvas.scale(1.0f / 6.0f, 1.0f / 6.0f); + fragmentView.draw(canvas); + Utilities.stackBlurBitmap(bitmap, Math.max(7, Math.max(w, h) / 180)); + blurredView.setBackground(new BitmapDrawable(bitmap)); + blurredView.setAlpha(0.0f); + blurredView.setVisibility(View.VISIBLE); + } + + @Override + protected void onTransitionAnimationProgress(boolean isOpen, float progress) { + if (blurredView != null && blurredView.getVisibility() == View.VISIBLE) { + if (isOpen) { + blurredView.setAlpha(1.0f - progress); + } else { + blurredView.setAlpha(progress); + } + } + } + + @Override + protected void onTransitionAnimationEnd(boolean isOpen, boolean backward) { + if (isOpen && blurredView != null && blurredView.getVisibility() == View.VISIBLE) { + blurredView.setVisibility(View.GONE); + blurredView.setBackground(null); + } + } + private void resetScroll() { if (actionBar.getTranslationY() == 0) { return; @@ -3789,7 +3930,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. if (!movingDialogFilters.isEmpty()) { for (int a = 0, N = movingDialogFilters.size(); a < N; a++) { MessagesController.DialogFilter filter = movingDialogFilters.get(a); - FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, false, DialogsActivity.this, null); + FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, true, false, DialogsActivity.this, null); } movingDialogFilters.clear(); } @@ -4187,7 +4328,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. } if (action == pin || action == pin2) { if (filter != null) { - FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, false, DialogsActivity.this, null); + FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, false, false, true, true, false, DialogsActivity.this, null); } else { getMessagesController().reorderPinnedDialogs(folderId, null, 0); } @@ -4380,6 +4521,16 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. } else { blockItem.setVisibility(View.VISIBLE); } + if (filterTabsView == null || filterTabsView.getVisibility() != View.VISIBLE || filterTabsView.getCurrentTabId() == Integer.MAX_VALUE) { + removeFromFolderItem.setVisibility(View.GONE); + } else { + removeFromFolderItem.setVisibility(View.VISIBLE); + } + if (filterTabsView != null && filterTabsView.getVisibility() == View.VISIBLE && filterTabsView.getCurrentTabId() == Integer.MAX_VALUE && !FiltersListBottomSheet.getCanAddDialogFilters(this, selectedDialogs).isEmpty()) { + addToFolderItem.setVisibility(View.VISIBLE); + } else { + addToFolderItem.setVisibility(View.GONE); + } if (canUnmuteCount != 0) { muteItem.setIcon(R.drawable.msg_unmute); muteItem.setContentDescription(LocaleController.getString("ChatsUnmute", R.string.ChatsUnmute)); @@ -5393,8 +5544,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. arrayList.add(new ThemeDescription(list, 0, new Class[]{ProfileSearchCell.class}, Theme.dialogs_offlinePaint, null, null, Theme.key_windowBackgroundWhiteGrayText3)); arrayList.add(new ThemeDescription(list, 0, new Class[]{ProfileSearchCell.class}, Theme.dialogs_onlinePaint, null, null, Theme.key_windowBackgroundWhiteBlueText3)); - arrayList.add(new ThemeDescription(list, 0, new Class[]{GraySectionCell.class}, new String[]{"textView"}, null, null, null, Theme.key_graySectionText)); - arrayList.add(new ThemeDescription(list, ThemeDescription.FLAG_CELLBACKGROUNDCOLOR, new Class[]{GraySectionCell.class}, null, null, null, Theme.key_graySection)); + GraySectionCell.createThemeDescriptions(arrayList, list); arrayList.add(new ThemeDescription(list, ThemeDescription.FLAG_TEXTCOLOR, new Class[]{HashtagSearchCell.class}, null, null, null, Theme.key_windowBackgroundWhiteBlackText)); arrayList.add(new ThemeDescription(list, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{ShadowSectionCell.class}, null, null, null, Theme.key_windowBackgroundGrayShadow)); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/FilterCreateActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/FilterCreateActivity.java index 50dc1f4e8..40851a138 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/FilterCreateActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/FilterCreateActivity.java @@ -131,10 +131,14 @@ public class FilterCreateActivity extends BaseFragment { } public FilterCreateActivity() { - this(null); + this(null, null); } public FilterCreateActivity(MessagesController.DialogFilter dialogFilter) { + this(dialogFilter, null); + } + + public FilterCreateActivity(MessagesController.DialogFilter dialogFilter, ArrayList alwaysShow) { super(); filter = dialogFilter; if (filter == null) { @@ -149,6 +153,9 @@ public class FilterCreateActivity extends BaseFragment { newFilterName = filter.name; newFilterFlags = filter.flags; newAlwaysShow = new ArrayList<>(filter.alwaysShow); + if (alwaysShow != null) { + newAlwaysShow.addAll(alwaysShow); + } newNeverShow = new ArrayList<>(filter.neverShow); newPinned = filter.pinnedDialogs.clone(); } @@ -544,15 +551,18 @@ public class FilterCreateActivity extends BaseFragment { } private void processDone() { - saveFilterToServer(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, newPinned, creatingNew, false, hasUserChanged, true, this, () -> { + saveFilterToServer(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, newPinned, creatingNew, false, hasUserChanged, true, true, this, () -> { getNotificationCenter().postNotificationName(NotificationCenter.dialogFiltersUpdated); finishFragment(); }); } - private static void processAddFilter(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList newAlwaysShow, ArrayList newNeverShow, boolean creatingNew, boolean atBegin, boolean hasUserChanged, BaseFragment fragment, Runnable onFinish) { + private static void processAddFilter(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList newAlwaysShow, ArrayList newNeverShow, boolean creatingNew, boolean atBegin, boolean hasUserChanged, boolean resetUnreadCounter, BaseFragment fragment, Runnable onFinish) { if (filter.flags != newFilterFlags || hasUserChanged) { - filter.pendingUnreadCount = filter.unreadCount = -1; + filter.pendingUnreadCount = -1; + if (resetUnreadCounter) { + filter.unreadCount = -1; + } } filter.flags = newFilterFlags; filter.name = newFilterName; @@ -569,7 +579,7 @@ public class FilterCreateActivity extends BaseFragment { } } - public static void saveFilterToServer(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList newAlwaysShow, ArrayList newNeverShow, LongSparseArray newPinned, boolean creatingNew, boolean atBegin, boolean hasUserChanged, boolean progress, BaseFragment fragment, Runnable onFinish) { + public static void saveFilterToServer(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList newAlwaysShow, ArrayList newNeverShow, LongSparseArray newPinned, boolean creatingNew, boolean atBegin, boolean hasUserChanged, boolean resetUnreadCounter, boolean progress, BaseFragment fragment, Runnable onFinish) { if (fragment == null || fragment.getParentActivity() == null) { return; } @@ -671,11 +681,11 @@ public class FilterCreateActivity extends BaseFragment { } catch (Exception e) { FileLog.e(e); } - processAddFilter(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, creatingNew, atBegin, hasUserChanged, fragment, onFinish); + processAddFilter(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, creatingNew, atBegin, hasUserChanged, resetUnreadCounter, fragment, onFinish); } })); if (!progress) { - processAddFilter(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, creatingNew, atBegin, hasUserChanged, fragment, onFinish); + processAddFilter(filter, newFilterFlags, newFilterName, newAlwaysShow, newNeverShow, creatingNew, atBegin, hasUserChanged, resetUnreadCounter, fragment, onFinish); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/FilterUsersActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/FilterUsersActivity.java index 2e20e967a..be01fabb3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/FilterUsersActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/FilterUsersActivity.java @@ -1045,7 +1045,7 @@ public class FilterUsersActivity extends BaseFragment implements NotificationCen View view; switch (viewType) { case 1: - view = new GroupCreateUserCell(context, true, 0); + view = new GroupCreateUserCell(context, true, 0, true); break; case 2: default: @@ -1164,7 +1164,6 @@ public class FilterUsersActivity extends BaseFragment implements NotificationCen } object = contacts.get(position - usersStartRow); } - cell.setObject(object, name, username); int id; if (object instanceof TLRPC.User) { id = ((TLRPC.User) object).id; @@ -1173,6 +1172,21 @@ public class FilterUsersActivity extends BaseFragment implements NotificationCen } else { id = 0; } + if (!searching) { + StringBuilder builder = new StringBuilder(); + ArrayList filters = getMessagesController().dialogFilters; + for (int a = 0, N = filters.size(); a < N; a++) { + MessagesController.DialogFilter filter = filters.get(a); + if (filter.includesDialog(getAccountInstance(), id)) { + if (builder.length() > 0) { + builder.append(", "); + } + builder.append(filter.name); + } + } + username = builder; + } + cell.setObject(object, name, username); if (id != 0) { cell.setChecked(selectedContacts.indexOfKey(id) >= 0, false); cell.setCheckBoxEnabled(true); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/FiltersSetupActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/FiltersSetupActivity.java index 2203ca6d6..e2b7bfdb9 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/FiltersSetupActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/FiltersSetupActivity.java @@ -679,7 +679,7 @@ public class FiltersSetupActivity extends BaseFragment implements NotificationCe filter.flags |= MessagesController.DIALOG_FILTER_FLAG_EXCLUDE_MUTED; } ignoreUpdates = true; - FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, true, true, true, false, FiltersSetupActivity.this, () -> { + FilterCreateActivity.saveFilterToServer(filter, filter.flags, filter.name, filter.alwaysShow, filter.neverShow, filter.pinnedDialogs, true, true, true, true, false, FiltersSetupActivity.this, () -> { getNotificationCenter().postNotificationName(NotificationCenter.dialogFiltersUpdated); ignoreUpdates = false; ArrayList suggestedFilters = getMessagesController().suggestedFilters; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateActivity.java index 30f462e3b..94cde316a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateActivity.java @@ -1185,7 +1185,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen view = new GroupCreateSectionCell(context); break; case 1: - view = new GroupCreateUserCell(context, true, 0); + view = new GroupCreateUserCell(context, true, 0, false); break; case 2: default: diff --git a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java index 22e5ce276..bb340d68a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java @@ -246,7 +246,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize > AndroidUtilities.dp(20)) { ignoreLayout = true; editText.hideEmojiView(); @@ -279,7 +279,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? editText.getEmojiPadding() : 0; setBottomClip(paddingBottom); @@ -830,7 +830,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati view = headerCell; break; case 2: - view = new GroupCreateUserCell(context, false, 3); + view = new GroupCreateUserCell(context, false, 3, false); break; case 3: default: diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java index c1b65accd..681777251 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java @@ -2004,6 +2004,16 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa ChatActivity fragment = new ChatActivity(args); actionBarLayout.presentFragment(fragment); } + }, () -> { + if (!LaunchActivity.this.isFinishing()) { + BaseFragment fragment = mainFragmentsStack.get(mainFragmentsStack.size() - 1); + AlertsCreator.showSimpleAlert(fragment, LocaleController.getString("JoinToGroupErrorNotExist", R.string.JoinToGroupErrorNotExist)); + } + try { + progressDialog.dismiss(); + } catch (Exception e) { + FileLog.e(e); + } }); hideProgressDialog = false; } @@ -2057,6 +2067,16 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa } ChatActivity fragment = new ChatActivity(args); actionBarLayout.presentFragment(fragment); + }, () -> { + if (!LaunchActivity.this.isFinishing()) { + BaseFragment fragment = mainFragmentsStack.get(mainFragmentsStack.size() - 1); + AlertsCreator.showSimpleAlert(fragment, LocaleController.getString("JoinToGroupErrorNotExist", R.string.JoinToGroupErrorNotExist)); + } + try { + progressDialog.dismiss(); + } catch (Exception e) { + FileLog.e(e); + } }); hideProgressDialog = false; } @@ -2655,14 +2675,14 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa } private void onFinish() { - if (finished) { - return; - } - finished = true; if (lockRunnable != null) { AndroidUtilities.cancelRunOnUIThread(lockRunnable); lockRunnable = null; } + if (finished) { + return; + } + finished = true; if (currentAccount != -1) { NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.appDidLogout); NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.mainUserInfoChanged); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LogoutActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LogoutActivity.java index cdeb1145a..2e9fce26a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LogoutActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LogoutActivity.java @@ -12,7 +12,6 @@ import android.animation.AnimatorSet; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; -import android.text.TextUtils; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -142,11 +141,7 @@ public class LogoutActivity extends BaseFragment { } AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); UserConfig userConfig = getUserConfig(); - if (!TextUtils.isEmpty(userConfig.tonEncryptedData) && userConfig.tonCreationFinished) { - builder.setMessage(AndroidUtilities.replaceTags(LocaleController.getString("WalletTelegramLogout", R.string.WalletTelegramLogout))); - } else { - builder.setMessage(LocaleController.getString("AreYouSureLogout", R.string.AreYouSureLogout)); - } + builder.setMessage(LocaleController.getString("AreYouSureLogout", R.string.AreYouSureLogout)); builder.setTitle(LocaleController.getString("LogOut", R.string.LogOut)); builder.setPositiveButton(LocaleController.getString("LogOut", R.string.LogOut), (dialogInterface, i) -> MessagesController.getInstance(currentAccount).performLogout(1)); builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/MediaActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/MediaActivity.java index ad20e9c8b..27873e76f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/MediaActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/MediaActivity.java @@ -2053,7 +2053,7 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No link = ((SharedLinkCell) view).getLink(0); } if (link != null) { - Browser.openUrl(getParentActivity(), link); + openUrl(link); } } catch (Exception e) { FileLog.e(e); @@ -2062,6 +2062,14 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No } } + private void openUrl(String link) { + if (AndroidUtilities.shouldShowUrlInAlert(link)) { + AlertsCreator.showOpenUrlAlert(this, link, true, true); + } else { + Browser.openUrl(getParentActivity(), link); + } + } + private void openWebView(TLRPC.WebPage webPage) { EmbedBottomSheet.show(getParentActivity(), webPage.site_name, webPage.description, webPage.url, webPage.embed_url, webPage.embed_width, webPage.embed_height); } @@ -2136,23 +2144,27 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No } @Override - public void onLinkLongPress(final String urlFinal) { - BottomSheet.Builder builder = new BottomSheet.Builder(getParentActivity()); - builder.setTitle(urlFinal); - builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { - if (which == 0) { - Browser.openUrl(getParentActivity(), urlFinal, true); - } else if (which == 1) { - String url = urlFinal; - if (url.startsWith("mailto:")) { - url = url.substring(7); - } else if (url.startsWith("tel:")) { - url = url.substring(4); + public void onLinkPress(String urlFinal, boolean longPress) { + if (longPress) { + BottomSheet.Builder builder = new BottomSheet.Builder(getParentActivity()); + builder.setTitle(urlFinal); + builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> { + if (which == 0) { + openUrl(urlFinal); + } else if (which == 1) { + String url = urlFinal; + if (url.startsWith("mailto:")) { + url = url.substring(7); + } else if (url.startsWith("tel:")) { + url = url.substring(4); + } + AndroidUtilities.addToClipboard(url); } - AndroidUtilities.addToClipboard(url); - } - }); - showDialog(builder.create()); + }); + showDialog(builder.create()); + } else { + openUrl(urlFinal); + } } }; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PassportActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PassportActivity.java index 90792e3b4..28b689f59 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PassportActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PassportActivity.java @@ -930,7 +930,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter public boolean onFragmentCreate() { NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.FileDidUpload); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.FileDidFailUpload); - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.didSetTwoStepPassword); + NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.twoStepPasswordChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.didRemoveTwoStepPassword); return super.onFragmentCreate(); } @@ -940,7 +940,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter super.onFragmentDestroy(); NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.FileDidUpload); NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.FileDidFailUpload); - NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.didSetTwoStepPassword); + NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.twoStepPasswordChanged); NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.didRemoveTwoStepPassword); callCallback(false); if (chatAttachAlert != null) { @@ -1559,9 +1559,8 @@ public class PassportActivity extends BaseFragment implements NotificationCenter noPasswordSetTextView.setText(LocaleController.getString("TelegramPassportCreatePassword", R.string.TelegramPassportCreatePassword)); linearLayout2.addView(noPasswordSetTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 24, (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.TOP, 21, 9, 21, 0)); noPasswordSetTextView.setOnClickListener(v -> { - TwoStepVerificationActivity activity = new TwoStepVerificationActivity(currentAccount, 1); + TwoStepVerificationSetupActivity activity = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_ENTER_FIRST, currentPassword); activity.setCloseAfterSet(true); - activity.setCurrentPasswordInfo(new byte[0], currentPassword); presentFragment(activity); }); @@ -1640,9 +1639,8 @@ public class PassportActivity extends BaseFragment implements NotificationCenter builder.setMessage(LocaleController.formatString("RestoreEmailSent", R.string.RestoreEmailSent, res.email_pattern)); builder.setTitle(LocaleController.getString("RestoreEmailSentTitle", R.string.RestoreEmailSentTitle)); builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(currentAccount, 1); - fragment.setRecoveryParams(currentPassword); currentPassword.email_unconfirmed_pattern = res.email_pattern; + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_EMAIL_RECOVERY, currentPassword); presentFragment(fragment); }); Dialog dialog = showDialog(builder.create()); @@ -6516,7 +6514,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter } } else if (id == NotificationCenter.FileDidFailUpload) { - } else if (id == NotificationCenter.didSetTwoStepPassword) { + } else if (id == NotificationCenter.twoStepPasswordChanged) { if (args != null && args.length > 0) { if (args[7] != null && inputFields[FIELD_PASSWORD] != null) { inputFields[FIELD_PASSWORD].setText((String) args[7]); @@ -6834,11 +6832,10 @@ public class PassportActivity extends BaseFragment implements NotificationCenter ArrayList photos = new ArrayList<>(); for (int a = 0; a < selectedPhotosOrder.size(); a++) { MediaController.PhotoEntry photoEntry = (MediaController.PhotoEntry) selectedPhotos.get(selectedPhotosOrder.get(a)); - SendMessagesHelper.SendingMediaInfo info = new SendMessagesHelper.SendingMediaInfo(); if (photoEntry.imagePath != null) { info.path = photoEntry.imagePath; - } else if (photoEntry.path != null) { + } else { info.path = photoEntry.path; } photos.add(info); @@ -6872,6 +6869,11 @@ public class PassportActivity extends BaseFragment implements NotificationCenter public void needEnterComment() { } + + @Override + public void doOnIdle(Runnable runnable) { + runnable.run(); + } }); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PaymentFormActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PaymentFormActivity.java index aa0d23789..3636b4f51 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PaymentFormActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PaymentFormActivity.java @@ -273,7 +273,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen @Override public void onClick(View widget) { - presentFragment(new TwoStepVerificationActivity(0)); + presentFragment(new TwoStepVerificationSetupActivity(TwoStepVerificationSetupActivity.TYPE_INTRO, currentPassword)); } } @@ -820,7 +820,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen } phoneField.setText(builder); if (start >= 0) { - phoneField.setSelection(start <= phoneField.length() ? start : phoneField.length()); + phoneField.setSelection(Math.min(start, phoneField.length())); } phoneField.onTextChange(); ignoreOnPhoneChange = false; @@ -1326,7 +1326,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen editable.replace(0, editable.length(), builder); } if (start >= 0) { - phoneField.setSelection(start <= phoneField.length() ? start : phoneField.length()); + phoneField.setSelection(Math.min(start, phoneField.length())); } ignoreOnCardChange = false; } @@ -1442,7 +1442,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen phoneField.setText(builder); if (start >= 0) { - phoneField.setSelection(start <= phoneField.length() ? start : phoneField.length()); + phoneField.setSelection(Math.min(start, phoneField.length())); } ignoreOnCardChange = false; } @@ -2219,7 +2219,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen @Override public boolean onFragmentCreate() { - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.didSetTwoStepPassword); + NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.twoStepPasswordChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.didRemoveTwoStepPassword); if (currentStep != 4) { NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.paymentFinished); @@ -2232,7 +2232,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen if (delegate != null) { delegate.onFragmentDestroyed(); } - NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.didSetTwoStepPassword); + NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.twoStepPasswordChanged); NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.didRemoveTwoStepPassword); if (currentStep != 4) { NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.paymentFinished); @@ -2287,7 +2287,7 @@ public class PaymentFormActivity extends BaseFragment implements NotificationCen @Override public void didReceivedNotification(int id, int account, Object... args) { - if (id == NotificationCenter.didSetTwoStepPassword) { + if (id == NotificationCenter.twoStepPasswordChanged) { paymentForm.password_missing = false; paymentForm.can_save_credentials = true; updateSavePaymentField(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoAlbumPickerActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoAlbumPickerActivity.java index 97fbf68e3..3c269b1f6 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoAlbumPickerActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoAlbumPickerActivity.java @@ -193,7 +193,7 @@ public class PhotoAlbumPickerActivity extends BaseFragment implements Notificati setMeasuredDimension(widthSize, heightSize); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { if (!AndroidUtilities.isInMultiwindow) { heightSize -= commentTextView.getEmojiPadding(); @@ -237,7 +237,7 @@ public class PhotoAlbumPickerActivity extends BaseFragment implements Notificati } final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? commentTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); @@ -633,18 +633,17 @@ public class PhotoAlbumPickerActivity extends BaseFragment implements Notificati media.add(info); if (object instanceof MediaController.PhotoEntry) { MediaController.PhotoEntry photoEntry = (MediaController.PhotoEntry) object; - if (photoEntry.isVideo) { - info.path = photoEntry.path; - info.videoEditedInfo = photoEntry.editedInfo; - } else if (photoEntry.imagePath != null) { + if (photoEntry.imagePath != null) { info.path = photoEntry.imagePath; - } else if (photoEntry.path != null) { + } else { info.path = photoEntry.path; } + info.thumbPath = photoEntry.thumbPath; + info.videoEditedInfo = photoEntry.editedInfo; info.isVideo = photoEntry.isVideo; info.caption = photoEntry.caption != null ? photoEntry.caption.toString() : null; info.entities = photoEntry.entities; - info.masks = !photoEntry.stickers.isEmpty() ? new ArrayList<>(photoEntry.stickers) : null; + info.masks = photoEntry.stickers; info.ttl = photoEntry.ttl; } else if (object instanceof MediaController.SearchImage) { MediaController.SearchImage searchImage = (MediaController.SearchImage) object; @@ -653,10 +652,11 @@ public class PhotoAlbumPickerActivity extends BaseFragment implements Notificati } else { info.searchImage = searchImage; } - + info.thumbPath = searchImage.thumbPath; + info.videoEditedInfo = searchImage.editedInfo; info.caption = searchImage.caption != null ? searchImage.caption.toString() : null; info.entities = searchImage.entities; - info.masks = !searchImage.stickers.isEmpty() ? new ArrayList<>(searchImage.stickers) : null; + info.masks = searchImage.stickers; info.ttl = searchImage.ttl; if (searchImage.inlineResult != null && searchImage.type == 1) { info.inlineResult = searchImage.inlineResult; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerActivity.java index d55768c83..7dc9ceb33 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerActivity.java @@ -344,9 +344,11 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen } MediaController.SearchImage photoEntry = searchResult.get(index); if ((num = addToSelectedPhotos(photoEntry, -1)) == -1) { + photoEntry.editedInfo = videoEditedInfo; num = selectedPhotosOrder.indexOf(photoEntry.id); } else { add = false; + photoEntry.editedInfo = null; } } int count = listView.getChildCount(); @@ -389,7 +391,9 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen if (index < 0 || index >= searchResult.size()) { return; } - addToSelectedPhotos(searchResult.get(index), -1); + MediaController.SearchImage searchImage = searchResult.get(index); + searchImage.editedInfo = videoEditedInfo; + addToSelectedPhotos(searchImage, -1); } } sendSelectedPhotos(notify, scheduleDate); @@ -488,9 +492,16 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen if (isDocumentsPicker) { ActionBarMenu menu = actionBar.createMenu(); ActionBarMenuItem menuItem = menu.addItem(0, R.drawable.ic_ab_other); - menuItem.setSubMenuDelegate(() -> { - showAsListItem.setText(listSort ? LocaleController.getString("ShowAsGrid", R.string.ShowAsGrid) : LocaleController.getString("ShowAsList", R.string.ShowAsList)); - showAsListItem.setIcon(listSort ? R.drawable.msg_media : R.drawable.msg_list); + menuItem.setSubMenuDelegate(new ActionBarMenuItem.ActionBarSubMenuItemDelegate() { + @Override + public void onShowSubMenu() { + showAsListItem.setText(listSort ? LocaleController.getString("ShowAsGrid", R.string.ShowAsGrid) : LocaleController.getString("ShowAsList", R.string.ShowAsList)); + showAsListItem.setIcon(listSort ? R.drawable.msg_media : R.drawable.msg_list); + } + + @Override + public void onHideSubMenu() { + } }); showAsListItem = menuItem.addSubItem(change_sort, R.drawable.msg_list, LocaleController.getString("ShowAsList", R.string.ShowAsList)); menuItem.addSubItem(open_in, R.drawable.msg_openin, LocaleController.getString("OpenInExternalApp", R.string.OpenInExternalApp)); @@ -588,7 +599,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen setMeasuredDimension(widthSize, heightSize); - int kbHeight = getKeyboardHeight(); + int kbHeight = measureKeyboardHeight(); int keyboardSize = SharedConfig.smoothKeyboard ? 0 : kbHeight; if (keyboardSize <= AndroidUtilities.dp(20)) { if (!AndroidUtilities.isInMultiwindow && commentTextView != null && frameLayout2.getParent() == this) { @@ -643,7 +654,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen } final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = commentTextView != null && frameLayout2.getParent() == this && keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? commentTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerSearchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerSearchActivity.java index 841500f67..11eafd01a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerSearchActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoPickerSearchActivity.java @@ -121,7 +121,6 @@ public class PhotoPickerSearchActivity extends BaseFragment { imagesSearch.getActionBar().openSearchField("", false); gifsSearch.getActionBar().openSearchField("", false); searchItem.getSearchField().requestFocus(); - } @Override @@ -241,7 +240,7 @@ public class PhotoPickerSearchActivity extends BaseFragment { setMeasuredDimension(widthSize, heightSize); measureChildWithMargins(actionBar, widthMeasureSpec, 0, heightMeasureSpec, 0); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { if (!AndroidUtilities.isInMultiwindow) { heightSize -= commentTextView.getEmojiPadding(); @@ -291,7 +290,7 @@ public class PhotoPickerSearchActivity extends BaseFragment { protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int keyboardSize = SharedConfig.smoothKeyboard ? 0 : getKeyboardHeight(); + int keyboardSize = SharedConfig.smoothKeyboard ? 0 : measureKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow && !AndroidUtilities.isTablet() ? commentTextView.getEmojiPadding() : 0; setBottomClip(paddingBottom); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java index 6a0345e33..5a06e085b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java @@ -13,6 +13,7 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Dialog; @@ -45,7 +46,15 @@ import android.os.SystemClock; import android.provider.Settings; import androidx.annotation.Keep; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.collection.ArrayMap; +import androidx.core.content.ContextCompat; import androidx.core.content.FileProvider; +import androidx.core.view.ViewCompat; +import androidx.core.widget.NestedScrollView; +import androidx.dynamicanimation.animation.DynamicAnimation; +import androidx.dynamicanimation.animation.SpringAnimation; +import androidx.dynamicanimation.animation.SpringForce; import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearSmoothScrollerEnd; @@ -61,6 +70,17 @@ import android.text.StaticLayout; import android.text.TextPaint; import android.text.TextUtils; import android.text.method.LinkMovementMethod; +import android.text.method.Touch; +import android.text.style.ClickableSpan; +import android.text.style.URLSpan; +import android.transition.ChangeBounds; +import android.transition.Fade; +import android.transition.Transition; +import android.transition.TransitionManager; +import android.transition.TransitionSet; +import android.transition.TransitionValues; +import android.util.FloatProperty; +import android.util.Property; import android.util.SparseArray; import android.util.TypedValue; import android.view.ActionMode; @@ -81,12 +101,13 @@ import android.view.WindowInsets; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; -import android.view.animation.AccelerateInterpolator; import android.view.animation.DecelerateInterpolator; +import android.view.animation.LinearInterpolator; import android.view.animation.OvershootInterpolator; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.OverScroller; import android.widget.Scroller; import android.widget.TextView; import android.widget.Toast; @@ -148,37 +169,48 @@ import org.telegram.ui.Components.ChatAttachAlert; import org.telegram.ui.Components.CheckBox; import org.telegram.ui.Components.ClippingImageView; import org.telegram.messenger.ImageReceiver; +import org.telegram.ui.Components.CombinedDrawable; +import org.telegram.ui.Components.FadingTextViewLayout; +import org.telegram.ui.Components.FilterShaders; import org.telegram.ui.Components.GestureDetector2; import org.telegram.ui.Components.GroupedPhotosListView; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.NumberPicker; import org.telegram.ui.Components.OtherDocumentPlaceholderDrawable; +import org.telegram.ui.Components.PaintingOverlay; import org.telegram.ui.Components.PhotoCropView; import org.telegram.ui.Components.PhotoFilterView; import org.telegram.ui.Components.PhotoPaintView; import org.telegram.ui.Components.PhotoViewerCaptionEnterView; import org.telegram.ui.Components.PickerBottomLayoutViewer; import org.telegram.ui.Components.PipVideoView; +import org.telegram.ui.Components.RLottieDrawable; import org.telegram.ui.Components.RadialProgressView; import org.telegram.ui.Components.RecyclerListView; -import org.telegram.ui.Components.SeekBar; import org.telegram.ui.Components.SizeNotifierFrameLayoutPhoto; import org.telegram.ui.Components.StickersAlert; +import org.telegram.ui.Components.TextViewSwitcher; import org.telegram.ui.Components.Tooltip; import org.telegram.ui.Components.URLSpanNoUnderline; import org.telegram.ui.Components.URLSpanUserMentionPhotoViewer; +import org.telegram.ui.Components.VideoEditTextureView; import org.telegram.ui.Components.VideoForwardDrawable; import org.telegram.ui.Components.VideoPlayer; +import org.telegram.ui.Components.VideoPlayerSeekBar; import org.telegram.ui.Components.VideoSeekPreviewImage; import org.telegram.ui.Components.VideoTimelinePlayView; import java.io.ByteArrayInputStream; import java.io.File; +import java.io.FileOutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Locale; +import java.util.Map; @SuppressWarnings("unchecked") public class PhotoViewer implements NotificationCenter.NotificationCenterDelegate, GestureDetector2.OnGestureListener, GestureDetector2.OnDoubleTapListener { @@ -208,6 +240,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private int currentAccount; + private static final int PROGRESS_NONE = -1; + private static final int PROGRESS_EMPTY = 0; + private static final int PROGRESS_CANCEL = 1; + private static final int PROGRESS_LOAD = 2; + private static final int PROGRESS_PLAY = 3; + private static final int PROGRESS_PAUSE = 4; private static Drawable[] progressDrawables; private WindowManager.LayoutParams windowLayoutParams; @@ -215,8 +253,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private FrameLayout windowView; private ClippingImageView animatingImageView; private FrameLayout bottomLayout; - private TextView nameTextView; - private TextView dateTextView; + private FadingTextViewLayout nameTextView; + private FadingTextViewLayout dateTextView; private TextView docNameTextView; private TextView docInfoTextView; private ActionBarMenuItem menuItem; @@ -224,6 +262,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private ActionBarMenuItem sendItem; private ActionBarMenuItem pipItem; private ActionBarMenuItem masksItem; + private Map actionBarItemsVisibility = new HashMap<>(3); private ImageView shareButton; private BackgroundDrawable backgroundDrawable = new BackgroundDrawable(0xff000000); private Paint blackPaint = new Paint(); @@ -245,7 +284,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private ImageView compressItem; private GroupedPhotosListView groupedPhotosListView; private Tooltip tooltip; - private RecyclerListView selectedPhotosListView; + private SelectedPhotosListView selectedPhotosListView; private ListAdapter selectedPhotosAdapter; private AnimatorSet compressItemAnimation; private ImageReceiver sideImage; @@ -267,10 +306,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private PhotoFilterView photoFilterView; private PhotoPaintView photoPaintView; private AlertDialog visibleDialog; - private TextView captionTextView; - private boolean isSingleLine; - private TextView switchCaptionTextView; - private AnimatorSet currentCaptionAnimation; + private CaptionTextViewSwitcher captionTextViewSwitcher; + private CaptionScrollView captionScrollView; + private FrameLayout captionContainer; private ChatAttachAlert parentAlert; private PhotoViewerCaptionEnterView captionEditText; private int sendPhotoType; @@ -279,6 +317,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private AnimatedFileDrawable currentAnimation; private boolean allowShare; private boolean openedFullScreenVideo; + private boolean dontChangeCaptionPosition; + private boolean captionHwLayerEnabled; + + private Paint bitmapPaint = new Paint(Paint.FILTER_BITMAP_FLAG); private boolean pipAvailable; @@ -297,6 +339,24 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } }; + private Runnable hideActionBarRunnable = new Runnable() { + @Override + public void run() { + if (videoPlayerControlVisible && isPlaying && !ApplicationLoader.mainInterfacePaused) { + if (menuItem != null && menuItem.isSubMenuShowing()) { + return; + } + if (captionScrollView != null && captionScrollView.getScrollY() != 0) { + return; + } + if (miniProgressView != null && miniProgressView.getVisibility() == View.VISIBLE) { + return; + } + toggleActionBar(false, true); + } + } + }; + private AspectRatioFrameLayout aspectRatioFrameLayout; private TextureView videoTextureView; private VideoPlayer videoPlayer; @@ -305,19 +365,24 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private boolean playerInjected; private boolean skipFirstBufferingProgress; private boolean playerWasReady; + private boolean playerWasPlaying; + private boolean playerAutoStarted; + private boolean playerLooping; private float seekToProgressPending; private String shouldSavePositionForCurrentVideo; + private String shouldSavePositionForCurrentVideoShortTerm; + private ArrayMap savedVideoPositions = new ArrayMap<>(); private long lastSaveTime; private float seekToProgressPending2; private boolean streamingAlertShown; private long startedPlayTime; private boolean keepScreenOnFlagSet; - private FrameLayout videoPlayerControlFrameLayout; - private ImageView videoPlayButton; - private ImageView videoForwardButton; - private ImageView videoBackwardButton; + private VideoPlayerControlFrameLayout videoPlayerControlFrameLayout; + private Animator videoPlayerControlAnimator; + private boolean videoPlayerControlVisible = true; private SimpleTextView videoPlayerTime; - private SeekBar videoPlayerSeekbar; + private VideoPlayerSeekBar videoPlayerSeekbar; + private View videoPlayerSeekbarView; private VideoSeekPreviewImage videoPreviewFrame; private AnimatorSet videoPreviewFrameAnimation; private boolean needShowOnReady; @@ -341,6 +406,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private boolean firstAnimationDelay; private long lastBufferedPositionCheck; private View playButtonAccessibilityOverlay; + private StickersAlert masksAlert; + + private int keyboardSize; private int currentPanTranslationY; @@ -348,12 +416,69 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat public final static int SELECT_TYPE_WALLPAPER = 3; public final static int SELECT_TYPE_QR = 10; + private static class SavedVideoPosition { + + public final float position; + public final long timestamp; + + public SavedVideoPosition(float position, long timestamp) { + this.position = position; + this.timestamp = timestamp; + } + } + private class LinkMovementMethodMy extends LinkMovementMethod { @Override public boolean onTouchEvent(@NonNull TextView widget, @NonNull Spannable buffer, @NonNull MotionEvent event) { try { - boolean result = super.onTouchEvent(widget, buffer, event); + + int action = event.getAction(); + boolean result = false; + + if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_DOWN) { + int x = (int) event.getX(); + int y = (int) event.getY(); + + x -= widget.getTotalPaddingLeft(); + y -= widget.getTotalPaddingTop(); + + x += widget.getScrollX(); + y += widget.getScrollY(); + + Layout layout = widget.getLayout(); + int line = layout.getLineForVertical(y); + int off = layout.getOffsetForHorizontal(line, x); + + ClickableSpan[] links = buffer.getSpans(off, off, ClickableSpan.class); + + if (links.length != 0) { + ClickableSpan link = links[0]; + if (action == MotionEvent.ACTION_UP) { + if (link instanceof URLSpan) { + String url = ((URLSpan) link).getURL(); + if (parentChatActivity != null && AndroidUtilities.shouldShowUrlInAlert(url)) { + AlertsCreator.showOpenUrlAlert(parentChatActivity, url, true, true); + } else { + link.onClick(widget); + } + } else { + link.onClick(widget); + } + } else if (action == MotionEvent.ACTION_DOWN) { + Selection.setSelection(buffer, buffer.getSpanStart(link), buffer.getSpanEnd(link)); + } + result = true; + } else { + Selection.removeSelection(buffer); + } + } + if (!result) { + result = Touch.onTouchEvent(widget, buffer, event); + } + if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) { + AndroidUtilities.runOnUIThread(() -> widget.setOnClickListener(openCaptionEnter)); + URLSpanNoUnderline[] links = buffer.getSpans(widget.getSelectionStart(), widget.getSelectionEnd(), URLSpanNoUnderline.class); if (links != null && links.length > 0) { String url = links[0].getURL(); @@ -366,7 +491,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoPlayer.seekTo(seconds * 1000L); } } - + } else if (url.startsWith("#")) { + if (parentActivity instanceof LaunchActivity) { + DialogsActivity fragment = new DialogsActivity(null); + fragment.setSearchString(url); + ((LaunchActivity) parentActivity).presentFragment(fragment, false, true); + closePhoto(false, false); + } } } Selection.removeSelection(buffer); @@ -386,11 +517,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (isCurrentVideo) { if (!videoTimelineView.isDragging()) { float progress = videoPlayer.getCurrentPosition() / (float) videoPlayer.getDuration(); - if (!inPreview && videoTimelineView.getVisibility() == View.VISIBLE) { + if (!inPreview && (currentEditMode != 0 || videoTimelineView.getVisibility() == View.VISIBLE)) { if (progress >= videoTimelineView.getRightProgress()) { videoTimelineView.setProgress(0); videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration())); - if (muteVideo) { + if (muteVideo || currentEditMode != 0) { videoPlayer.play(); } else { videoPlayer.pause(); @@ -454,7 +585,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } - videoPlayerControlFrameLayout.invalidate(); + videoPlayerSeekbarView.invalidate(); if (shouldSavePositionForCurrentVideo != null) { float value = progress; if (value >= 0 && shouldSavePositionForCurrentVideo != null && SystemClock.elapsedRealtime() - lastSaveTime >= 1000) { @@ -596,6 +727,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private int currentEditMode; + private final Runnable updateContainerFlagsRunnable = () -> { + if (isVisible && animationInProgress == 0) { + updateContainerFlags(isActionBarVisible); + } + }; + + private PaintingOverlay paintingOverlay; private ImageReceiver leftImage = new ImageReceiver(); private ImageReceiver centerImage = new ImageReceiver(); private ImageReceiver rightImage = new ImageReceiver(); @@ -603,12 +741,17 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private int switchingToIndex; private MessageObject currentMessageObject; private Uri currentPlayingVideoFile; + private MediaController.SavedFilterState currentSavedFilterState; + private ArrayList currentMediaEntities; + private String currentPaintPath; + private long currentAverageDuration; private TLRPC.BotInlineResult currentBotInlineResult; private ImageLocation currentFileLocation; private SecureDocument currentSecureDocument; private String[] currentFileNames = new String[3]; private PlaceProviderObject currentPlaceObject; private String currentPathObject; + private String currentImagePath; private boolean currentVideoFinishedLoading; private ImageReceiver.BitmapHolder currentThumb; private boolean ignoreDidSetImage; @@ -664,6 +807,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private boolean changingPage; private boolean zooming; private boolean moving; + private int paintViewTouched; private boolean doubleTap; private boolean invalidCoords; private boolean canDragDown = true; @@ -686,6 +830,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private ArrayList imagesArrLocals = new ArrayList<>(); private ImageLocation currentUserAvatarLocation = null; + private android.graphics.Rect hitRect = new android.graphics.Rect(); + private final static int gallery_menu_save = 1; private final static int gallery_menu_showall = 2; private final static int gallery_menu_send = 3; @@ -697,10 +843,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private final static int gallery_menu_openin = 11; private final static int gallery_menu_masks = 13; private final static int gallery_menu_savegif = 14; + private final static int gallery_menu_masks2 = 15; private static DecelerateInterpolator decelerateInterpolator; private static Paint progressPaint; + private int transitionIndex; + private class BackgroundDrawable extends ColorDrawable { private final RectF rect = new RectF(); @@ -782,6 +931,58 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private static class SelectedPhotosListView extends RecyclerListView { + + private Drawable arrowDrawable; + private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + private RectF rect = new RectF(); + + public SelectedPhotosListView(Context context) { + super(context); + setWillNotDraw(false); + + setClipToPadding(false); + setTranslationY(-AndroidUtilities.dp(10)); + DefaultItemAnimator defaultItemAnimator; + setItemAnimator(defaultItemAnimator = new DefaultItemAnimator() { + @Override + protected void onMoveAnimationUpdate(ViewHolder holder) { + invalidate(); + } + }); + defaultItemAnimator.setDelayAnimations(false); + defaultItemAnimator.setSupportsChangeAnimations(false); + setPadding(AndroidUtilities.dp(12), AndroidUtilities.dp(12), AndroidUtilities.dp(12), AndroidUtilities.dp(6)); + paint.setColor(0x7f000000); + + arrowDrawable = context.getResources().getDrawable(R.drawable.photo_tooltip2).mutate(); + } + + @Override + public void onDraw(Canvas c) { + super.onDraw(c); + + int count = getChildCount(); + if (count > 0) { + int x = getMeasuredWidth() - AndroidUtilities.dp(87); + arrowDrawable.setBounds(x, 0, x + arrowDrawable.getIntrinsicWidth(), AndroidUtilities.dp(6)); + arrowDrawable.draw(c); + + int minX = Integer.MAX_VALUE; + int maxX = Integer.MIN_VALUE; + for (int a = 0; a < count; a++) { + View v = getChildAt(a); + minX = (int) Math.min(minX, Math.floor(v.getX())); + maxX = (int) Math.max(maxX, Math.ceil(v.getX() + v.getMeasuredWidth())); + } + if (minX != Integer.MAX_VALUE && maxX != Integer.MIN_VALUE) { + rect.set(minX - AndroidUtilities.dp(6), AndroidUtilities.dp(6), maxX + AndroidUtilities.dp(6), AndroidUtilities.dp(6 + 85 + 12)); + c.drawRoundRect(rect, AndroidUtilities.dp(8), AndroidUtilities.dp(8), paint); + } + } + } + } + private static class CounterView extends View { private StaticLayout staticLayout; @@ -796,7 +997,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat public CounterView(Context context) { super(context); textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); - textPaint.setTextSize(AndroidUtilities.dp(18)); + textPaint.setTextSize(AndroidUtilities.dp(15)); textPaint.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); textPaint.setColor(0xffffffff); @@ -887,9 +1088,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat paint.setAlpha((int) (rotation * 255)); int cx = (int) rect.centerX(); cy = (int) rect.centerY(); - cy -= AndroidUtilities.dp(5) * (1.0f - rotation) + AndroidUtilities.dp(3.0f); - canvas.drawLine(cx + AndroidUtilities.dp(0.5f), cy - AndroidUtilities.dp(0.5f), cx - AndroidUtilities.dp(6), cy + AndroidUtilities.dp(6), paint); - canvas.drawLine(cx - AndroidUtilities.dp(0.5f), cy - AndroidUtilities.dp(0.5f), cx + AndroidUtilities.dp(6), cy + AndroidUtilities.dp(6), paint); + cy -= AndroidUtilities.dp(5) * (1.0f - rotation); + canvas.drawLine(cx + AndroidUtilities.dp(5), cy - AndroidUtilities.dp(5), cx - AndroidUtilities.dp(5), cy + AndroidUtilities.dp(5), paint); + canvas.drawLine(cx - AndroidUtilities.dp(5), cy - AndroidUtilities.dp(5), cx + AndroidUtilities.dp(5), cy + AndroidUtilities.dp(5), paint); } } } @@ -908,10 +1109,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private int size = AndroidUtilities.dp(64); private int previousBackgroundState = -2; private float animatedAlphaValue = 1.0f; - private float alpha = 1.0f; + private float[] animAlphas = new float[3]; + private float[] alphas = new float[3]; private float scale = 1.0f; - public PhotoProgressView(Context context, View parentView) { + public PhotoProgressView(View parentView) { if (decelerateInterpolator == null) { decelerateInterpolator = new DecelerateInterpolator(1.5f); progressPaint = new Paint(Paint.ANTI_ALIAS_FLAG); @@ -921,9 +1123,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat progressPaint.setColor(0xffffffff); } parent = parentView; + resetAlphas(); } - private void updateAnimation() { + private void updateAnimation(boolean withProgressAnimation) { long newTime = System.currentTimeMillis(); long dt = newTime - lastUpdateTime; if (dt > 18) { @@ -931,28 +1134,47 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } lastUpdateTime = newTime; - if (animatedProgressValue != 1 || currentProgress != 1) { - radOffset += 360 * dt / 3000.0f; - float progressDiff = currentProgress - animationProgressStart; - if (Math.abs(progressDiff) > 0) { - currentProgressTime += dt; - if (currentProgressTime >= 300) { - animatedProgressValue = currentProgress; - animationProgressStart = currentProgress; - currentProgressTime = 0; - } else { - animatedProgressValue = animationProgressStart + progressDiff * decelerateInterpolator.getInterpolation(currentProgressTime / 300.0f); + boolean postInvalidate = false; + + if (withProgressAnimation) { + if (animatedProgressValue != 1 || currentProgress != 1) { + radOffset += 360 * dt / 3000.0f; + float progressDiff = currentProgress - animationProgressStart; + if (Math.abs(progressDiff) > 0) { + currentProgressTime += dt; + if (currentProgressTime >= 300) { + animatedProgressValue = currentProgress; + animationProgressStart = currentProgress; + currentProgressTime = 0; + } else { + animatedProgressValue = animationProgressStart + progressDiff * decelerateInterpolator.getInterpolation(currentProgressTime / 300.0f); + } } + postInvalidate = true; + } + + if (animatedAlphaValue > 0 && previousBackgroundState != -2) { + animatedAlphaValue -= dt / 200.0f; + if (animatedAlphaValue <= 0) { + animatedAlphaValue = 0.0f; + previousBackgroundState = -2; + } + postInvalidate = true; } - parent.invalidate(); } - if (animatedProgressValue >= 1 && previousBackgroundState != -2) { - animatedAlphaValue -= dt / 200.0f; - if (animatedAlphaValue <= 0) { - animatedAlphaValue = 0.0f; - previousBackgroundState = -2; + + for (int i = 0; i < alphas.length; i++) { + if (alphas[i] > animAlphas[i]) { + animAlphas[i] = Math.min(1f, animAlphas[i] + dt / 200f); + postInvalidate = true; + } else if (alphas[i] < animAlphas[i]) { + animAlphas[i] = Math.max(0f, animAlphas[i] - dt / 200f); + postInvalidate = true; } - parent.invalidate(); + } + + if (postInvalidate) { + parent.postInvalidateOnAnimation(); } } @@ -984,19 +1206,66 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } public void setAlpha(float value) { - alpha = value; + alphas[0] = animAlphas[0] = value; } public void setScale(float value) { scale = value; } + public void setIndexedAlpha(int index, float alpha, boolean animated) { + if (alphas[index] != alpha) { + alphas[index] = alpha; + if (!animated) { + animAlphas[index] = alpha; + } + parent.invalidate(); + } + } + + public void resetAlphas() { + for (int i = 0; i < alphas.length; i++) { + alphas[i] = animAlphas[i] = 1.0f; + } + } + + private float calculateAlpha() { + float alpha = 1.0f; + for (int i = 0; i < animAlphas.length; i++) { + if (i == 2) { + alpha *= AndroidUtilities.accelerateInterpolator.getInterpolation(animAlphas[i]); + } else { + alpha *= animAlphas[i]; + } + } + return alpha; + } + + public boolean isVisible() { + for (int i = 0; i < alphas.length; i++) { + if (alphas[i] != 1.0f) { + return false; + } + } + return true; + } + + public int getX() { + return (getContainerViewWidth() - (int) (size * scale)) / 2; + } + + public int getY() { + return (getContainerViewHeight() - (int) (size * scale)) / 2; + } + public void onDraw(Canvas canvas) { int sizeScaled = (int) (size * scale); - int x = (getContainerViewWidth() - sizeScaled) / 2; - int y = (getContainerViewHeight() - sizeScaled) / 2; + int x = getX(); + int y = getY(); - if (previousBackgroundState >= 0 && previousBackgroundState < 4) { + final float alpha = calculateAlpha(); + + if (previousBackgroundState >= 0 && previousBackgroundState < progressDrawables.length) { Drawable drawable = progressDrawables[previousBackgroundState]; if (drawable != null) { drawable.setAlpha((int) (255 * animatedAlphaValue * alpha)); @@ -1005,7 +1274,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } - if (backgroundState >= 0 && backgroundState < 4) { + if (backgroundState >= 0 && backgroundState < progressDrawables.length) { Drawable drawable = progressDrawables[backgroundState]; if (drawable != null) { if (previousBackgroundState != -2) { @@ -1018,7 +1287,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } - if (backgroundState == 0 || backgroundState == 1 || previousBackgroundState == 0 || previousBackgroundState == 1) { + if (backgroundState == PROGRESS_EMPTY || backgroundState == PROGRESS_CANCEL || previousBackgroundState == PROGRESS_EMPTY || previousBackgroundState == PROGRESS_CANCEL) { int diff = AndroidUtilities.dp(4); if (previousBackgroundState != -2) { progressPaint.setAlpha((int) (255 * animatedAlphaValue * alpha)); @@ -1027,7 +1296,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } progressRect.set(x + diff, y + diff, x + sizeScaled - diff, y + sizeScaled - diff); canvas.drawArc(progressRect, -90 + radOffset, Math.max(4, 360 * animatedProgressValue), false, progressPaint); - updateAnimation(); + updateAnimation(true); + } else { + updateAnimation(false); } } } @@ -1206,6 +1477,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private Paint paint = new Paint(); private boolean ignoreLayout; + private boolean captionAbove; public FrameLayoutDrawer(Context context) { super(context, false); @@ -1220,25 +1492,57 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat setMeasuredDimension(widthSize, heightSize); - ignoreLayout = true; - captionTextView.setMaxLines(AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y ? 5 : 10); - ignoreLayout = false; + if (!isCurrentVideo) { + ignoreLayout = true; + if (needCaptionLayout) { + final int maxLines = AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y ? 5 : 10; + captionTextViewSwitcher.getCurrentView().setMaxLines(maxLines); + captionTextViewSwitcher.getNextView().setMaxLines(maxLines); + } else { + captionTextViewSwitcher.getCurrentView().setMaxLines(Integer.MAX_VALUE); + captionTextViewSwitcher.getNextView().setMaxLines(Integer.MAX_VALUE); + } + ignoreLayout = false; + } measureChildWithMargins(captionEditText, widthMeasureSpec, 0, heightMeasureSpec, 0); int inputFieldHeight = captionEditText.getMeasuredHeight(); + final int groupedPhotosHeight; + if (groupedPhotosListView != null && groupedPhotosListView.getVisibility() != GONE) { + measureChildWithMargins(groupedPhotosListView, widthMeasureSpec, 0, heightMeasureSpec, 0); + groupedPhotosHeight = groupedPhotosListView.getMeasuredHeight(); + } else { + groupedPhotosHeight = 0; + } + widthSize -= (getPaddingRight() + getPaddingLeft()); heightSize -= getPaddingBottom(); int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View child = getChildAt(i); - if (child.getVisibility() == GONE || child == captionEditText) { + if (child.getVisibility() == GONE || child == captionEditText || child == groupedPhotosListView) { continue; } if (child == aspectRatioFrameLayout) { int heightSpec = MeasureSpec.makeMeasureSpec(AndroidUtilities.displaySize.y + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0), MeasureSpec.EXACTLY); child.measure(widthMeasureSpec, heightSpec); + } else if (child == paintingOverlay) { + int width; + int height; + if (aspectRatioFrameLayout != null && aspectRatioFrameLayout.getVisibility() == VISIBLE) { + width = videoTextureView.getMeasuredWidth(); + height = videoTextureView.getMeasuredHeight(); + } else { + width = centerImage.getBitmapWidth(); + height = centerImage.getBitmapHeight(); + } + if (width == 0 || height == 0) { + width = widthSize; + height = heightSize; + } + paintingOverlay.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); } else if (captionEditText.isPopupView(child)) { if (AndroidUtilities.isInMultiwindow) { if (AndroidUtilities.isTablet()) { @@ -1249,6 +1553,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { child.measure(MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(child.getLayoutParams().height, MeasureSpec.EXACTLY)); } + } else if (child == captionScrollView) { + int bottomMargin = AndroidUtilities.dp(48); + if (dontChangeCaptionPosition) { + if (captionAbove) { + bottomMargin += groupedPhotosHeight; + } + } else if (groupedPhotosListView.hasPhotos()) { + bottomMargin += groupedPhotosHeight; + captionAbove = true; + } else { + captionAbove = false; + } + final int topMargin = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0) + ActionBar.getCurrentActionBarHeight(); + final int height = heightSize - topMargin - bottomMargin; + ((MarginLayoutParams) captionScrollView.getLayoutParams()).bottomMargin = bottomMargin; + child.measure(MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); } else { measureChildWithMargins(child, widthMeasureSpec, 0, heightMeasureSpec, 0); } @@ -1258,7 +1578,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override protected void onLayout(boolean changed, int _l, int t, int _r, int _b) { final int count = getChildCount(); - int keyboardSize = useSmoothKeyboard ? 0 : getKeyboardHeight(); + keyboardSize = useSmoothKeyboard ? 0 : getKeyboardHeight(); int paddingBottom = keyboardSize <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow ? captionEditText.getEmojiPadding() : 0; for (int i = 0; i < count; i++) { @@ -1325,20 +1645,19 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat childTop = captionEditText.getBottom(); } } else if (child == selectedPhotosListView) { - childTop = actionBar.getMeasuredHeight(); - } else if (child == captionTextView || child == switchCaptionTextView) { - if (!groupedPhotosListView.currentPhotos.isEmpty()) { - childTop -= groupedPhotosListView.getMeasuredHeight(); - } - } else if (child == cameraItem) { - childTop = pickerView.getTop() - AndroidUtilities.dp(sendPhotoType == 4 || sendPhotoType == 5 ? 40 : 15) - cameraItem.getMeasuredHeight(); - } else if (child == videoPreviewFrame) { - if (!groupedPhotosListView.currentPhotos.isEmpty()) { - childTop -= groupedPhotosListView.getMeasuredHeight(); - } - if (captionTextView.getVisibility() == VISIBLE) { - childTop -= captionTextView.getMeasuredHeight(); + childTop = actionBar.getMeasuredHeight() + AndroidUtilities.dp(5); + } else if (child == cameraItem || child == muteItem) { + final int top; + + if (videoTimelineView != null && videoTimelineView.getVisibility() == VISIBLE) { + top = videoTimelineView.getTop(); + } else { + top = pickerView.getTop(); } + + childTop = top - AndroidUtilities.dp(sendPhotoType == 4 || sendPhotoType == 5 ? 40 : 15) - child.getMeasuredHeight(); + } else if (child == videoTimelineView) { + childTop -= pickerView.getHeight(); } child.layout(childLeft + l, childTop, childLeft + width + l, childTop + height); } @@ -1366,10 +1685,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { if (child == mentionListView || child == captionEditText) { - if (!captionEditText.isPopupShowing() && captionEditText.getEmojiPadding() == 0 && (AndroidUtilities.usingHardwareInput && captionEditText.getTag() == null || getKeyboardHeight() == 0)) { + if (currentEditMode != 0 || !captionEditText.isPopupShowing() && captionEditText.getEmojiPadding() == 0 && (AndroidUtilities.usingHardwareInput && captionEditText.getTag() == null || getKeyboardHeight() == 0)) { return false; } - } else if (child == cameraItem || child == pickerView || child == pickerViewSendButton || child == captionTextView || muteItem.getVisibility() == VISIBLE && child == bottomLayout) { + } else if (child == cameraItem || child == muteItem || child == pickerView || child == videoTimelineView || child == pickerViewSendButton || child == captionTextViewSwitcher || muteItem.getVisibility() == VISIBLE && child == bottomLayout) { int paddingBottom = getKeyboardHeight() <= AndroidUtilities.dp(20) && !AndroidUtilities.isInMultiwindow ? captionEditText.getEmojiPadding() : 0; if (captionEditText.isPopupShowing() || AndroidUtilities.usingHardwareInput && captionEditText.getTag() != null || getKeyboardHeight() > AndroidUtilities.dp(80) || paddingBottom != 0) { bottomTouchEnabled = false; @@ -1388,7 +1707,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return false; } try { - return child != aspectRatioFrameLayout && super.drawChild(canvas, child, drawingTime); + return child != aspectRatioFrameLayout && child != paintingOverlay && super.drawChild(canvas, child, drawingTime); } catch (Throwable ignore) { return true; } @@ -1440,6 +1759,514 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private static final Property VPC_PROGRESS; + + static { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { + VPC_PROGRESS = new FloatProperty("progress") { + @Override + public void setValue(VideoPlayerControlFrameLayout object, float value) { + object.setProgress(value); + } + + @Override + public Float get(VideoPlayerControlFrameLayout object) { + return object.getProgress(); + } + }; + } else { + VPC_PROGRESS = new Property(Float.class, "progress") { + @Override + public void set(VideoPlayerControlFrameLayout object, Float value) { + object.setProgress(value); + } + + @Override + public Float get(VideoPlayerControlFrameLayout object) { + return object.getProgress(); + } + }; + } + } + + private class VideoPlayerControlFrameLayout extends FrameLayout { + + private float progress = 1f; + private boolean seekBarTransitionEnabled; + + public VideoPlayerControlFrameLayout(@NonNull Context context) { + super(context); + setWillNotDraw(false); + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (progress < 1f) { + return false; + } + if (videoPlayerSeekbar.onTouch(event.getAction(), event.getX() - AndroidUtilities.dp(2), event.getY())) { + getParent().requestDisallowInterceptTouchEvent(true); + videoPlayerSeekbarView.invalidate(); + return true; + } + return true; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + long duration; + if (videoPlayer != null) { + duration = videoPlayer.getDuration(); + if (duration == C.TIME_UNSET) { + duration = 0; + } + } else { + duration = 0; + } + duration /= 1000; + int size = (int) Math.ceil(videoPlayerTime.getPaint().measureText(String.format(Locale.ROOT, "%02d:%02d / %02d:%02d", duration / 60, duration % 60, duration / 60, duration % 60))); + videoPlayerSeekbar.setSize(getMeasuredWidth() - AndroidUtilities.dp(2 + 14) - size, getMeasuredHeight()); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + float progress = 0; + if (videoPlayer != null) { + progress = videoPlayer.getCurrentPosition() / (float) videoPlayer.getDuration(); + if (!inPreview && videoTimelineView.getVisibility() == View.VISIBLE) { + progress -= videoTimelineView.getLeftProgress(); + if (progress < 0) { + progress = 0; + } + progress /= (videoTimelineView.getRightProgress() - videoTimelineView.getLeftProgress()); + if (progress > 1) { + progress = 1; + } + } + } + if (playerWasReady) { + videoPlayerSeekbar.setProgress(progress); + } + videoTimelineView.setProgress(progress); + } + + public float getProgress() { + return progress; + } + + public void setProgress(float progress) { + if (this.progress != progress) { + this.progress = progress; + onProgressChanged(progress); + } + } + + private void onProgressChanged(float progress) { + videoPlayerTime.setAlpha(progress); + if (seekBarTransitionEnabled) { + videoPlayerTime.setPivotX(videoPlayerTime.getWidth()); + videoPlayerTime.setPivotY(videoPlayerTime.getHeight()); + videoPlayerTime.setScaleX(1f - 0.1f * (1f - progress)); + videoPlayerTime.setScaleY(1f - 0.1f * (1f - progress)); + videoPlayerSeekbar.setTransitionProgress(1f - progress); + } else { + setTranslationY(AndroidUtilities.dpf2(24) * (1f - progress)); + videoPlayerSeekbarView.setAlpha(progress); + } + } + + public boolean isSeekBarTransitionEnabled() { + return seekBarTransitionEnabled; + } + + public void setSeekBarTransitionEnabled(boolean seekBarTransitionEnabled) { + if (this.seekBarTransitionEnabled != seekBarTransitionEnabled) { + this.seekBarTransitionEnabled = seekBarTransitionEnabled; + if (seekBarTransitionEnabled) { + setTranslationY(0); + videoPlayerSeekbarView.setAlpha(1f); + } else { + videoPlayerTime.setScaleX(1f); + videoPlayerTime.setScaleY(1f); + videoPlayerSeekbar.setTransitionProgress(0f); + } + onProgressChanged(progress); + } + } + } + + private class CaptionTextViewSwitcher extends TextViewSwitcher { + + private boolean inScrollView = false; + private float alpha = 1.0f; + + public CaptionTextViewSwitcher(Context context) { + super(context); + } + + @Override + public void setVisibility(int visibility) { + setVisibility(visibility, true); + } + + public void setVisibility(int visibility, boolean withScrollView) { + super.setVisibility(visibility); + if (inScrollView && withScrollView) { + captionScrollView.setVisibility(visibility); + } + } + + @Override + public void setAlpha(float alpha) { + this.alpha = alpha; + if (inScrollView) { + captionScrollView.setAlpha(alpha); + } else { + super.setAlpha(alpha); + } + } + + @Override + public float getAlpha() { + if (inScrollView) { + return alpha; + } else { + return super.getAlpha(); + } + } + + @Override + public void setTranslationY(float translationY) { + super.setTranslationY(translationY); + if (inScrollView) { + captionScrollView.invalidate(); // invalidate background drawing + } + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + if (captionContainer != null && getParent() == captionContainer) { + inScrollView = true; + captionScrollView.setVisibility(getVisibility()); + captionScrollView.setAlpha(alpha); + super.setAlpha(1.0f); + } + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + if (inScrollView) { + inScrollView = false; + captionScrollView.setVisibility(View.GONE); + super.setAlpha(alpha); + } + } + } + + private class CaptionScrollView extends NestedScrollView { + + private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); + + private final SpringAnimation springAnimation; + + private boolean nestedScrollStarted; + private float overScrollY; + private float velocitySign; + private float velocityY; + + private Method abortAnimatedScrollMethod; + private OverScroller scroller; + + private boolean isLandscape; + private int textHash; + private int prevHeight; + + private float backgroundAlpha = 1f; + private boolean dontChangeTopMargin; + private int pendingTopMargin = -1; + + public CaptionScrollView(@NonNull Context context) { + super(context); + setClipChildren(false); + setOverScrollMode(View.OVER_SCROLL_NEVER); + + paint.setColor(Color.BLACK); + setFadingEdgeLength(AndroidUtilities.dp(12)); + setVerticalFadingEdgeEnabled(true); + setWillNotDraw(false); + + springAnimation = new SpringAnimation(captionTextViewSwitcher, DynamicAnimation.TRANSLATION_Y, 0); + springAnimation.getSpring().setStiffness(100f); + springAnimation.setMinimumVisibleChange(DynamicAnimation.MIN_VISIBLE_CHANGE_PIXELS); + springAnimation.addUpdateListener((animation, value, velocity) -> { + overScrollY = value; + velocityY = velocity; + }); + springAnimation.getSpring().setDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY); + + try { + abortAnimatedScrollMethod = NestedScrollView.class.getDeclaredMethod("abortAnimatedScroll"); + abortAnimatedScrollMethod.setAccessible(true); + } catch (Exception e) { + abortAnimatedScrollMethod = null; + FileLog.e(e); + } + + try { + final Field scrollerField = NestedScrollView.class.getDeclaredField("mScroller"); + scrollerField.setAccessible(true); + scroller = (OverScroller) scrollerField.get(this); + } catch (Exception e) { + scroller = null; + FileLog.e(e); + } + } + + @Override + public boolean onTouchEvent(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_DOWN && ev.getY() < captionContainer.getTop() - getScrollY() + captionTextViewSwitcher.getTranslationY()) { + return false; + } + return super.onTouchEvent(ev); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + updateTopMargin(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec)); + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + public void applyPendingTopMargin() { + dontChangeTopMargin = false; + if (pendingTopMargin >= 0) { + ((MarginLayoutParams) captionContainer.getLayoutParams()).topMargin = pendingTopMargin; + pendingTopMargin = -1; + requestLayout(); + } + } + + public int getPendingMarginTopDiff() { + if (pendingTopMargin >= 0) { + return pendingTopMargin - ((MarginLayoutParams) captionContainer.getLayoutParams()).topMargin; + } else { + return 0; + } + } + + public void updateTopMargin() { + updateTopMargin(getWidth(), getHeight()); + } + + private void updateTopMargin(int width, int height) { + final int marginTop = calculateNewContainerMarginTop(width, height); + if (marginTop >= 0) { + if (dontChangeTopMargin) { + pendingTopMargin = marginTop; + } else { + ((MarginLayoutParams) captionContainer.getLayoutParams()).topMargin = marginTop; + pendingTopMargin = -1; + } + } + } + + public int calculateNewContainerMarginTop(int width, int height) { + if (width == 0 || height == 0) { + return -1; + } + + final TextView textView = captionTextViewSwitcher.getCurrentView(); + final CharSequence text = textView.getText(); + + final int textHash = text.hashCode(); + final boolean isLandscape = AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y; + + if (this.textHash == textHash && this.isLandscape == isLandscape && this.prevHeight == height) { + return -1; + } + + this.textHash = textHash; + this.isLandscape = isLandscape; + this.prevHeight = height; + + textView.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST)); + + final Layout layout = textView.getLayout(); + final int lineCount = layout.getLineCount(); + + if (isLandscape && lineCount <= 3 || !isLandscape && lineCount <= 5) { + return height - textView.getMeasuredHeight(); + } + + int i = Math.min(isLandscape ? 3 : 5, lineCount); + + cycle: + while (i > 1) { + for (int j = layout.getLineStart(i - 1); j < layout.getLineEnd(i - 1); j++) { + if (Character.isLetterOrDigit(text.charAt(j))) { + break cycle; + } + } + i--; + } + + final int lineHeight = textView.getPaint().getFontMetricsInt(null); + return height - lineHeight * i - AndroidUtilities.dp(8); + } + + public void reset() { + scrollTo(0, 0); + } + + public void stopScrolling() { + if (abortAnimatedScrollMethod != null) { + try { + abortAnimatedScrollMethod.invoke(this); + } catch (Exception e) { + FileLog.e(e); + } + } + } + + @Override + public void fling(int velocityY) { + super.fling(velocityY); + this.velocitySign = Math.signum(velocityY); + this.velocityY = 0f; + } + + @Override + public boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow, int type) { + consumed[1] = 0; + + if (nestedScrollStarted && (overScrollY > 0 && dy > 0 || overScrollY < 0 && dy < 0)) { + final float delta = overScrollY - dy; + + if (overScrollY > 0) { + if (delta < 0) { + overScrollY = 0; + consumed[1] += dy + delta; + } else { + overScrollY = delta; + consumed[1] += dy; + } + } else { + if (delta > 0) { + overScrollY = 0; + consumed[1] += dy + delta; + } else { + overScrollY = delta; + consumed[1] += dy; + } + } + + captionTextViewSwitcher.setTranslationY(overScrollY); + return true; + } + + return false; + } + + @Override + public void dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, @Nullable int[] offsetInWindow, int type, @NonNull int[] consumed) { + if (dyUnconsumed != 0) { + final int topMargin = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0) + ActionBar.getCurrentActionBarHeight(); + final int dy = Math.round(dyUnconsumed * (1f - Math.abs((-overScrollY / (captionContainer.getTop() - topMargin))))); + + if (dy != 0) { + if (!nestedScrollStarted) { + if (!springAnimation.isRunning()) { + int consumedY; + float velocity = scroller != null ? scroller.getCurrVelocity() : Float.NaN; + if (!Float.isNaN(velocity)) { + final float clampedVelocity = Math.min(AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y ? 3000 : 5000, velocity); + consumedY = (int) (dy * clampedVelocity / velocity); + velocity = clampedVelocity * -velocitySign; + } else { + consumedY = dy; + velocity = 0; + } + if (consumedY != 0) { + overScrollY -= consumedY; + captionTextViewSwitcher.setTranslationY(overScrollY); + } + startSpringAnimationIfNotRunning(velocity); + } + } else { + overScrollY -= dy; + captionTextViewSwitcher.setTranslationY(overScrollY); + } + } + } + } + + private void startSpringAnimationIfNotRunning(float velocityY) { + if (!springAnimation.isRunning()) { + springAnimation.setStartVelocity(velocityY); + springAnimation.start(); + } + } + + @Override + public boolean startNestedScroll(int axes, int type) { + if (type == ViewCompat.TYPE_TOUCH) { + springAnimation.cancel(); + nestedScrollStarted = true; + overScrollY = captionTextViewSwitcher.getTranslationY(); + } + return true; + } + + @Override + public void computeScroll() { + super.computeScroll(); + if (!nestedScrollStarted && overScrollY != 0 && scroller != null && scroller.isFinished()) { + startSpringAnimationIfNotRunning(0); + } + } + + @Override + public void stopNestedScroll(int type) { + if (nestedScrollStarted && type == ViewCompat.TYPE_TOUCH) { + nestedScrollStarted = false; + if (overScrollY != 0 && scroller != null && scroller.isFinished()) { + startSpringAnimationIfNotRunning(velocityY); + } + } + } + + @Override + protected float getTopFadingEdgeStrength() { + return 1f; + } + + @Override + protected float getBottomFadingEdgeStrength() { + return 1f; + } + + @Override + public void draw(Canvas canvas) { + paint.setAlpha((int) (backgroundAlpha * 127)); + canvas.drawRect(0, captionContainer.getTop() + captionTextViewSwitcher.getTranslationY(), getWidth(), getHeight() + getScrollY(), paint); + super.draw(canvas); + } + + @Override + public void invalidate() { + super.invalidate(); + if (isActionBarVisible) { + final int progressBottom = photoProgressViews[0].getY() + photoProgressViews[0].size; + final int topMargin = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0) + ActionBar.getCurrentActionBarHeight(); + final int captionTop = captionContainer.getTop() + (int) captionTextViewSwitcher.getTranslationY() - getScrollY() + topMargin - AndroidUtilities.dp(12); + photoProgressViews[0].setIndexedAlpha(2, captionTop > progressBottom ? 1f : 0f, true); + } + } + } + @SuppressLint("StaticFieldLeak") private static volatile PhotoViewer Instance = null; private static volatile PhotoViewer PipInstance = null; @@ -1541,7 +2368,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (pipVideoView != null) { pipVideoView.setBufferedProgress(bufferedProgress); } - videoPlayerControlFrameLayout.invalidate(); + videoPlayerSeekbarView.invalidate(); } checkBufferedProgress(loadProgress); } @@ -1597,7 +2424,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat needSearchImageInArr = false; currentIndex = -1; if (setToImage != -1) { - setImageIndex(setToImage, true); + setImageIndex(setToImage); } else { TLRPC.User user = null; TLRPC.Chat chat = null; @@ -1617,7 +2444,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat imagesArrLocations.add(0, location); avatarsArr.add(0, new TLRPC.TL_photoEmpty()); imagesArrLocationsSizes.add(0, 0); - setImageIndex(0, true); + setImageIndex(0); } } } @@ -1642,7 +2469,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (needSearchImageInArr && isFirstLoading) { isFirstLoading = false; loadingMoreImages = true; - MediaDataController.getInstance(currentAccount).loadMedia(currentDialogId, 80, 0, sharedMediaType, 1, classGuid); + MediaDataController.getInstance(currentAccount).loadMedia(currentDialogId, 20, 0, sharedMediaType, 1, classGuid); } else if (!imagesArr.isEmpty()) { if (opennedFromMedia) { actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, currentIndex + 1, totalImagesCount + totalImagesCountMerge)); @@ -1706,7 +2533,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (foundIndex >= imagesArr.size()) { foundIndex = imagesArr.size() - 1; } - setImageIndex(foundIndex, true); + setImageIndex(foundIndex); } else { int loadFromMaxId; if (opennedFromMedia) { @@ -1730,9 +2557,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (!endReached[loadIndex]) { loadingMoreImages = true; if (opennedFromMedia) { - MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 80, loadFromMaxId, sharedMediaType, 1, classGuid); + MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 40, loadFromMaxId, sharedMediaType, 1, classGuid); } else { - MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 80, loadFromMaxId, sharedMediaType, 1, classGuid); + MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 40, loadFromMaxId, sharedMediaType, 1, classGuid); } } } @@ -1758,7 +2585,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (added != 0) { int index = currentIndex; currentIndex = -1; - setImageIndex(index + added, true); + setImageIndex(index + added); } else { totalImagesCount = imagesArr.size(); totalImagesCountMerge = 0; @@ -1767,15 +2594,15 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } else if (id == NotificationCenter.emojiDidLoad) { - if (captionTextView != null) { - captionTextView.invalidate(); + if (captionTextViewSwitcher != null) { + captionTextViewSwitcher.invalidateViews(); } } else if (id == NotificationCenter.filePreparingFailed) { MessageObject messageObject = (MessageObject) args[0]; if (loadInitialVideo) { loadInitialVideo = false; progressView.setVisibility(View.INVISIBLE); - preparePlayer(currentPlayingVideoFile, false, false); + preparePlayer(currentPlayingVideoFile, false, false, currentSavedFilterState); } else if (tryStartRequestPreviewOnFinish) { releasePlayer(false); tryStartRequestPreviewOnFinish = !MediaController.getInstance().scheduleVideoConvert(videoPreviewMessageObject, true); @@ -1793,8 +2620,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (finalSize != 0) { requestingPreview = false; photoProgressViews[0].setProgress(1f, true); - photoProgressViews[0].setBackgroundState(3, true); - preparePlayer(Uri.fromFile(new File(finalPath)), false, true); + photoProgressViews[0].setBackgroundState(PROGRESS_PLAY, true); + preparePlayer(Uri.fromFile(new File(finalPath)), false, true, currentSavedFilterState); } } } @@ -1903,11 +2730,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat touchSlop = ViewConfiguration.get(parentActivity).getScaledTouchSlop(); if (progressDrawables == null) { - progressDrawables = new Drawable[4]; - progressDrawables[0] = parentActivity.getResources().getDrawable(R.drawable.circle_big); - progressDrawables[1] = parentActivity.getResources().getDrawable(R.drawable.cancel_big); - progressDrawables[2] = parentActivity.getResources().getDrawable(R.drawable.load_big); - progressDrawables[3] = parentActivity.getResources().getDrawable(R.drawable.play_big); + final Drawable circleDrawable = ContextCompat.getDrawable(parentActivity, R.drawable.circle_big); + final CombinedDrawable playDrawable = new CombinedDrawable(circleDrawable.mutate(), ContextCompat.getDrawable(parentActivity, R.drawable.video_play1)); + final CombinedDrawable pauseDrawable = new CombinedDrawable(circleDrawable.mutate(), ContextCompat.getDrawable(parentActivity, R.drawable.video_pause1)); + progressDrawables = new Drawable[] { + circleDrawable, // PROGRESS_EMPTY + ContextCompat.getDrawable(parentActivity, R.drawable.cancel_big), // PROGRESS_CANCEL + ContextCompat.getDrawable(parentActivity, R.drawable.load_big), // PROGRESS_LOAD + playDrawable, // PROGRESS_PLAY + pauseDrawable // PROGRESS_PAUSE + }; } scroller = new Scroller(activity); @@ -1926,6 +2758,33 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return isVisible && PhotoViewer.this.onTouchEvent(event); } + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + int keyCode = event.getKeyCode(); + if (!muteVideo && isCurrentVideo && videoPlayer != null && event.getRepeatCount() == 0 && event.getAction() == KeyEvent.ACTION_DOWN && (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP || event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN)) { + videoPlayer.setVolume(1.0f); + } + return super.dispatchKeyEvent(event); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (videoPlayerControlVisible && isPlaying) { + switch (ev.getActionMasked()) { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_POINTER_UP: + AndroidUtilities.runOnUIThread(hideActionBarRunnable, 3000); + break; + } + } + return super.dispatchTouchEvent(ev); + } + @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { boolean result; @@ -1981,7 +2840,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat LayoutParams layoutParams = (LayoutParams) checkImageView.getLayoutParams(); WindowManager manager = (WindowManager) ApplicationLoader.applicationContext.getSystemService(Activity.WINDOW_SERVICE); int rotation = manager.getDefaultDisplay().getRotation(); - layoutParams.topMargin = (ActionBar.getCurrentActionBarHeight() - AndroidUtilities.dp(40)) / 2 + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0); + layoutParams.topMargin = (ActionBar.getCurrentActionBarHeight() - AndroidUtilities.dp(34)) / 2 + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0); checkImageView.setLayoutParams(layoutParams); layoutParams = (LayoutParams) photosCounterView.getLayoutParams(); @@ -2051,6 +2910,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (Build.VERSION.SDK_INT >= 21) { containerView.setFitsSystemWindows(true); containerView.setOnApplyWindowInsetsListener((v, insets) -> { + if (AndroidUtilities.statusBarHeight != insets.getSystemWindowInsetTop()) { + AndroidUtilities.statusBarHeight = insets.getSystemWindowInsetTop(); + ((LaunchActivity) parentActivity).drawerLayoutContainer.requestLayout(); + } WindowInsets oldInsets = (WindowInsets) lastInsets; lastInsets = insets; if (oldInsets == null || !oldInsets.toString().equals(insets.toString())) { @@ -2063,6 +2926,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } containerView.setPadding(insets.getSystemWindowInsetLeft(), 0, insets.getSystemWindowInsetRight(), 0); + if (actionBar != null) { + AndroidUtilities.cancelRunOnUIThread(updateContainerFlagsRunnable); + if (isVisible && animationInProgress == 0) { + AndroidUtilities.runOnUIThread(updateContainerFlagsRunnable, 200); + } + } return insets.consumeSystemWindowInsets(); }); containerView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); @@ -2086,6 +2955,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat windowLayoutParams.flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; } + paintingOverlay = new PaintingOverlay(parentActivity); + containerView.addView(paintingOverlay, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT)); + actionBar = new ActionBar(activity) { @Override public void setAlpha(float alpha) { @@ -2359,7 +3231,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat index = avatarsArr.size() - 1; } currentIndex = -1; - setImageIndex(index, true); + setImageIndex(index); } } } else if (!secureDocuments.isEmpty()) { @@ -2376,7 +3248,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat index = secureDocuments.size() - 1; } currentIndex = -1; - setImageIndex(index, true); + setImageIndex(index); } } }); @@ -2399,12 +3271,28 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } catch (Exception e) { FileLog.e(e); } - } else if (id == gallery_menu_masks) { - if (parentActivity == null || currentMessageObject == null || currentMessageObject.messageOwner.media == null || currentMessageObject.messageOwner.media.photo == null) { + } else if (id == gallery_menu_masks || id == gallery_menu_masks2) { + if (parentActivity == null || currentMessageObject == null) { return; } - StickersAlert stickersAlert = new StickersAlert(parentActivity, currentMessageObject, currentMessageObject.messageOwner.media.photo); - stickersAlert.show(); + TLObject object; + if (currentMessageObject.messageOwner.media instanceof TLRPC.TL_messageMediaPhoto) { + object = currentMessageObject.messageOwner.media.photo; + } else if (currentMessageObject.messageOwner.media instanceof TLRPC.TL_messageMediaDocument) { + object = currentMessageObject.messageOwner.media.document; + } else { + return; + } + masksAlert = new StickersAlert(parentActivity, currentMessageObject, object) { + @Override + public void dismiss() { + super.dismiss(); + if (masksAlert == this) { + masksAlert = null; + } + } + }; + masksAlert.show(); } else if (id == gallery_menu_pip) { if (pipItem.getAlpha() != 1.0f) { return; @@ -2423,6 +3311,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return; } TLRPC.Document document = currentMessageObject.getDocument(); + if (parentChatActivity != null && parentChatActivity.chatActivityEnterView != null) { + parentChatActivity.chatActivityEnterView.addRecentGif(document); + } else { + MediaDataController.getInstance(currentAccount).addRecentGif(document, (int) (System.currentTimeMillis() / 1000)); + } MessagesController.getInstance(currentAccount).saveGif(currentMessageObject, document); } } @@ -2452,6 +3345,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat allMediaItem.setColors(0xfffafafa, 0xfffafafa); menuItem.addSubItem(gallery_menu_savegif, R.drawable.msg_gif, LocaleController.getString("SaveToGIFs", R.string.SaveToGIFs)).setColors(0xfffafafa, 0xfffafafa); menuItem.addSubItem(gallery_menu_showinchat, R.drawable.msg_message, LocaleController.getString("ShowInChat", R.string.ShowInChat)).setColors(0xfffafafa, 0xfffafafa); + menuItem.addSubItem(gallery_menu_masks2, R.drawable.msg_sticker, LocaleController.getString("ShowStickers", R.string.ShowStickers)).setColors(0xfffafafa, 0xfffafafa); menuItem.addSubItem(gallery_menu_share, R.drawable.msg_shareout, LocaleController.getString("ShareFile", R.string.ShareFile)).setColors(0xfffafafa, 0xfffafafa); menuItem.addSubItem(gallery_menu_save, R.drawable.msg_gallery, LocaleController.getString("SaveToGallery", R.string.SaveToGallery)).setColors(0xfffafafa, 0xfffafafa); menuItem.addSubItem(gallery_menu_delete, R.drawable.msg_delete, LocaleController.getString("Delete", R.string.Delete)).setColors(0xfffafafa, 0xfffafafa); @@ -2459,6 +3353,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat menuItem.redrawPopup(0xf9222222); sendItem.setContentDescription(LocaleController.getString("Forward", R.string.Forward)); + menuItem.setSubMenuDelegate(new ActionBarMenuItem.ActionBarSubMenuItemDelegate() { + @Override + public void onShowSubMenu() { + if (videoPlayerControlVisible && isPlaying) { + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); + } + } + + @Override + public void onHideSubMenu() { + if (videoPlayerControlVisible && isPlaying) { + AndroidUtilities.runOnUIThread(hideActionBarRunnable, 3000); + } + } + }); + bottomLayout = new FrameLayout(actvityContext); bottomLayout.setBackgroundColor(0x7f000000); containerView.addView(bottomLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.BOTTOM | Gravity.LEFT)); @@ -2468,8 +3378,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pressedDrawable[1] = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, new int[] {0x32000000, 0}); pressedDrawable[1].setShape(GradientDrawable.RECTANGLE); - groupedPhotosListView = new GroupedPhotosListView(actvityContext); - containerView.addView(groupedPhotosListView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 62, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 0, 48)); + groupedPhotosListView = new GroupedPhotosListView(actvityContext, AndroidUtilities.dp(10)); + containerView.addView(groupedPhotosListView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 68, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 0, 48)); groupedPhotosListView.setDelegate(new GroupedPhotosListView.GroupedPhotosListViewDelegate() { @Override public int getCurrentIndex() { @@ -2518,16 +3428,18 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat currentThumb.release(); currentThumb = null; } - setImageIndex(index, true); + setImageIndex(index); } }); - captionTextView = createCaptionTextView(); - switchCaptionTextView = createCaptionTextView(); + captionTextViewSwitcher = new CaptionTextViewSwitcher(containerView.getContext()); + captionTextViewSwitcher.setFactory(this::createCaptionTextView); + captionTextViewSwitcher.setVisibility(View.INVISIBLE); + setCaptionHwLayerEnabled(true); for (int a = 0; a < 3; a++) { - photoProgressViews[a] = new PhotoProgressView(containerView.getContext(), containerView); - photoProgressViews[a].setBackgroundState(0, false); + photoProgressViews[a] = new PhotoProgressView(containerView); + photoProgressViews[a].setBackgroundState(PROGRESS_EMPTY, false); } miniProgressView = new RadialProgressView(actvityContext) { @@ -2563,24 +3475,64 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat shareButton.setOnClickListener(v -> onSharePressed()); shareButton.setContentDescription(LocaleController.getString("ShareFile", R.string.ShareFile)); - nameTextView = new TextView(containerView.getContext()); - nameTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); - nameTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - nameTextView.setSingleLine(true); - nameTextView.setMaxLines(1); - nameTextView.setEllipsize(TextUtils.TruncateAt.END); - nameTextView.setTextColor(0xffffffff); - nameTextView.setGravity(Gravity.LEFT); + nameTextView = new FadingTextViewLayout(containerView.getContext()) { + @Override + protected void onTextViewCreated(TextView textView) { + super.onTextViewCreated(textView); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + textView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + textView.setEllipsize(TextUtils.TruncateAt.END); + textView.setTextColor(0xffffffff); + textView.setGravity(Gravity.LEFT); + } + }; + bottomLayout.addView(nameTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.TOP | Gravity.LEFT, 16, 5, 60, 0)); - dateTextView = new TextView(containerView.getContext()); - dateTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13); - dateTextView.setSingleLine(true); - dateTextView.setMaxLines(1); - dateTextView.setEllipsize(TextUtils.TruncateAt.END); - dateTextView.setTextColor(0xffffffff); - dateTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); - dateTextView.setGravity(Gravity.LEFT); + dateTextView = new FadingTextViewLayout(containerView.getContext(), true) { + + private LocaleController.LocaleInfo lastLocaleInfo = null; + private int staticCharsCount = 0; + + @Override + protected void onTextViewCreated(TextView textView) { + super.onTextViewCreated(textView); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13); + textView.setEllipsize(TextUtils.TruncateAt.END); + textView.setTextColor(0xffffffff); + textView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + textView.setGravity(Gravity.LEFT); + } + + @Override + protected int getStaticCharsCount() { + final LocaleController.LocaleInfo localeInfo = LocaleController.getInstance().getCurrentLocaleInfo(); + if (lastLocaleInfo != localeInfo) { + lastLocaleInfo = localeInfo; + staticCharsCount = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, LocaleController.getInstance().formatterYear.format(new Date()), LocaleController.getInstance().formatterDay.format(new Date())).length(); + } + return staticCharsCount; + } + + @Override + public void setText(CharSequence text, boolean animated) { + if (animated) { + boolean dontAnimateUnchangedStaticChars = true; + if (LocaleController.isRTL) { + final int staticCharsCount = getStaticCharsCount(); + if (staticCharsCount > 0) { + if (text.length() != staticCharsCount || getText() == null || getText().length() != staticCharsCount) { + dontAnimateUnchangedStaticChars = false; + } + } + } + setText(text, true, dontAnimateUnchangedStaticChars); + } else { + setText(text, false, false); + } + } + }; + bottomLayout.addView(dateTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.TOP | Gravity.LEFT, 16, 25, 50, 0)); createVideoControlsInterface(); @@ -2643,6 +3595,30 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat public boolean onTouchEvent(MotionEvent event) { return bottomTouchEnabled && super.onTouchEvent(event); } + + @Override + public void setTranslationY(float translationY) { + super.setTranslationY(translationY); + if (videoTimelineView != null && videoTimelineView.getVisibility() != GONE) { + videoTimelineView.setTranslationY(translationY); + } + } + + @Override + public void setAlpha(float alpha) { + super.setAlpha(alpha); + if (videoTimelineView != null && videoTimelineView.getVisibility() != GONE) { + videoTimelineView.setAlpha(alpha); + } + } + + @Override + public void setVisibility(int visibility) { + super.setVisibility(visibility); + if (videoTimelineView != null && videoTimelineView.getVisibility() != GONE) { + videoTimelineView.setVisibility(visibility == VISIBLE ? VISIBLE : INVISIBLE); + } + } }; pickerView.setBackgroundColor(0x7f000000); containerView.addView(pickerView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT)); @@ -2716,7 +3692,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } }); - pickerView.addView(videoTimelineView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 58, Gravity.LEFT | Gravity.TOP, 0, 8, 0, 88)); + videoTimelineView.setVisibility(View.GONE); + videoTimelineView.setBackgroundColor(0x7f000000); + containerView.addView(videoTimelineView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 58, Gravity.LEFT | Gravity.BOTTOM, 0, 8, 0, 0)); pickerViewSendButton = new ImageView(parentActivity) { @Override @@ -2756,22 +3734,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat sendPopupLayout = new ActionBarPopupWindow.ActionBarPopupWindowLayout(parentActivity); sendPopupLayout.setAnimationEnabled(false); - sendPopupLayout.setOnTouchListener(new View.OnTouchListener() { - - private android.graphics.Rect popupRect = new android.graphics.Rect(); - - @Override - public boolean onTouch(View v, MotionEvent event) { - if (event.getActionMasked() == MotionEvent.ACTION_DOWN) { - if (sendPopupWindow != null && sendPopupWindow.isShowing()) { - v.getHitRect(popupRect); - if (!popupRect.contains((int) event.getX(), (int) event.getY())) { - sendPopupWindow.dismiss(); - } + sendPopupLayout.setOnTouchListener((v, event) -> { + if (event.getActionMasked() == MotionEvent.ACTION_DOWN) { + if (sendPopupWindow != null && sendPopupWindow.isShowing()) { + v.getHitRect(hitRect); + if (!hitRect.contains((int) event.getX(), (int) event.getY())) { + sendPopupWindow.dismiss(); } } - return false; } + return false; }); sendPopupLayout.setDispatchKeyEventListener(keyEvent -> { if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK && keyEvent.getRepeatCount() == 0 && sendPopupWindow != null && sendPopupWindow.isShowing()) { @@ -2886,19 +3858,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat }); rotateItem.setContentDescription(LocaleController.getString("AccDescrRotate", R.string.AccDescrRotate)); - paintItem = new ImageView(parentActivity); - paintItem.setScaleType(ImageView.ScaleType.CENTER); - paintItem.setImageResource(R.drawable.photo_paint); - paintItem.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.ACTION_BAR_WHITE_SELECTOR_COLOR)); - itemsLayout.addView(paintItem, LayoutHelper.createLinear(70, 48)); - paintItem.setOnClickListener(v -> { - if (captionEditText.getTag() != null) { - return; - } - switchToEditMode(3); - }); - paintItem.setContentDescription(LocaleController.getString("AccDescrPhotoEditor", R.string.AccDescrPhotoEditor)); - compressItem = new ImageView(parentActivity); compressItem.setTag(1); compressItem.setScaleType(ImageView.ScaleType.CENTER); @@ -2920,7 +3879,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat itemsLayout.addView(compressItem, LayoutHelper.createLinear(70, 48)); compressItem.setPadding(AndroidUtilities.dp(70 - compressIconWidth) / 2, 0, AndroidUtilities.dp(70 - compressIconWidth) / 2, 0); compressItem.setOnClickListener(v -> { - if (captionEditText.getTag() != null) { + if (captionEditText.getTag() != null || muteVideo) { return; } if (compressItem.getTag() == null) { @@ -2933,17 +3892,42 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } return; } - showQualityView(true); requestVideoPreview(1); }); String[] compressionStrings = {"360", "480", "720", "1080"}; compressItem.setContentDescription(LocaleController.getString("AccDescrVideoQuality", R.string.AccDescrVideoQuality) + ", " + compressionStrings[Math.max(0, selectedCompression)]); + paintItem = new ImageView(parentActivity); + paintItem.setScaleType(ImageView.ScaleType.CENTER); + paintItem.setImageResource(R.drawable.photo_paint); + paintItem.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.ACTION_BAR_WHITE_SELECTOR_COLOR)); + itemsLayout.addView(paintItem, LayoutHelper.createLinear(70, 48)); + paintItem.setOnClickListener(v -> { + if (captionEditText.getTag() != null) { + return; + } + if (isCurrentVideo) { + if (!videoConvertSupported) { + return; + } + if (videoTextureView instanceof VideoEditTextureView) { + VideoEditTextureView textureView = (VideoEditTextureView) videoTextureView; + if (textureView.getVideoWidth() <= 0 || textureView.getVideoHeight() <= 0) { + return; + } + } else { + return; + } + } + switchToEditMode(3); + }); + paintItem.setContentDescription(LocaleController.getString("AccDescrPhotoEditor", R.string.AccDescrPhotoEditor)); + muteItem = new ImageView(parentActivity); muteItem.setScaleType(ImageView.ScaleType.CENTER); muteItem.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.ACTION_BAR_WHITE_SELECTOR_COLOR)); - itemsLayout.addView(muteItem, LayoutHelper.createLinear(70, 48)); + containerView.addView(muteItem, LayoutHelper.createFrame(48, 48, Gravity.LEFT | Gravity.BOTTOM, 16, 0, 0, 0)); muteItem.setOnClickListener(v -> { if (captionEditText.getTag() != null) { return; @@ -2955,8 +3939,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat checkImageView.callOnClick(); } else { Object object = imagesArrLocals.get(currentIndex); - if (object instanceof MediaController.PhotoEntry) { - ((MediaController.PhotoEntry) object).editedInfo = getCurrentVideoEditedInfo(); + if (object instanceof MediaController.MediaEditState) { + ((MediaController.MediaEditState) object).editedInfo = getCurrentVideoEditedInfo(); } } }); @@ -2984,6 +3968,19 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (captionEditText.getTag() != null) { return; } + if (isCurrentVideo) { + if (!videoConvertSupported) { + return; + } + if (videoTextureView instanceof VideoEditTextureView) { + VideoEditTextureView textureView = (VideoEditTextureView) videoTextureView; + if (textureView.getVideoWidth() <= 0 || textureView.getVideoHeight() <= 0) { + return; + } + } else { + return; + } + } switchToEditMode(2); }); tuneItem.setContentDescription(LocaleController.getString("AccDescrPhotoAdjust", R.string.AccDescrPhotoAdjust)); @@ -3009,7 +4006,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat titleView.setSingleLine(true); titleView.setText(LocaleController.getString("MessageLifetime", R.string.MessageLifetime)); titleView.setTextColor(0xffffffff); - titleView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); + titleView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + titleView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20); titleView.setEllipsize(TextUtils.TruncateAt.MIDDLE); titleView.setPadding(AndroidUtilities.dp(21), AndroidUtilities.dp(8), AndroidUtilities.dp(21), AndroidUtilities.dp(4)); titleView.setGravity(Gravity.CENTER_VERTICAL); @@ -3066,18 +4064,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { int count = getChildCount(); - View positiveButton = null; int width = right - left; for (int a = 0; a < count; a++) { View child = getChildAt(a); if ((Integer) child.getTag() == Dialog.BUTTON_POSITIVE) { - positiveButton = child; child.layout(width - getPaddingRight() - child.getMeasuredWidth(), getPaddingTop(), width - getPaddingRight() + child.getMeasuredWidth(), getPaddingTop() + child.getMeasuredHeight()); } else if ((Integer) child.getTag() == Dialog.BUTTON_NEGATIVE) { - int x = width - getPaddingRight() - child.getMeasuredWidth(); - if (positiveButton != null) { - x -= positiveButton.getMeasuredWidth() + AndroidUtilities.dp(8); - } + int x = getPaddingLeft(); child.layout(x, getPaddingTop(), x + child.getMeasuredWidth(), getPaddingTop() + child.getMeasuredHeight()); } else { child.layout(getPaddingLeft(), getPaddingTop(), getPaddingLeft() + child.getMeasuredWidth(), getPaddingTop() + child.getMeasuredHeight()); @@ -3128,11 +4121,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat textView.setMinWidth(AndroidUtilities.dp(64)); textView.setTag(Dialog.BUTTON_NEGATIVE); textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); - textView.setTextColor(Theme.getColor(Theme.key_dialogFloatingButton)); + textView.setTextColor(0xffffffff); textView.setGravity(Gravity.CENTER); textView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); textView.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase()); - textView.setBackgroundDrawable(Theme.getRoundRectSelectorDrawable(0xff49bcf2)); + textView.setBackgroundDrawable(Theme.getRoundRectSelectorDrawable(0xffffffff)); textView.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0); buttonsLayout.addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 36, Gravity.TOP | Gravity.RIGHT)); textView.setOnClickListener(v14 -> bottomSheet.dismiss()); @@ -3171,10 +4164,15 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat setDoubleTapEnabled(true); ImageReceiver.ImageReceiverDelegate imageReceiverDelegate = (imageReceiver, set, thumb, memCache) -> { - if (imageReceiver == centerImage && set && !thumb && (currentEditMode == 1 || sendPhotoType == SELECT_TYPE_AVATAR) && photoCropView != null) { - Bitmap bitmap = imageReceiver.getBitmap(); - if (bitmap != null) { - photoCropView.setBitmap(bitmap, imageReceiver.getOrientation(), sendPhotoType != SELECT_TYPE_AVATAR, true); + if (imageReceiver == centerImage && set && !thumb) { + if ((currentEditMode == 1 || sendPhotoType == SELECT_TYPE_AVATAR) && photoCropView != null) { + Bitmap bitmap = imageReceiver.getBitmap(); + if (bitmap != null) { + photoCropView.setBitmap(bitmap, imageReceiver.getOrientation(), sendPhotoType != SELECT_TYPE_AVATAR, true, paintingOverlay); + } + } + if (paintingOverlay.getVisibility() == View.VISIBLE) { + containerView.requestLayout(); } } if (imageReceiver == centerImage && set && placeProvider != null && placeProvider.scaleToFill() && !ignoreDidSetImage) { @@ -3210,11 +4208,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat }; checkImageView.setDrawBackground(true); checkImageView.setHasBorder(true); - checkImageView.setSize(40); + checkImageView.setSize(34); checkImageView.setCheckOffset(AndroidUtilities.dp(1)); checkImageView.setColor(Theme.getColor(Theme.key_dialogFloatingButton), 0xffffffff); checkImageView.setVisibility(View.GONE); - containerView.addView(checkImageView, LayoutHelper.createFrame(40, 40, Gravity.RIGHT | Gravity.TOP, 0, rotation == Surface.ROTATION_270 || rotation == Surface.ROTATION_90 ? 58 : 68, 10, 0)); + containerView.addView(checkImageView, LayoutHelper.createFrame(34, 34, Gravity.RIGHT | Gravity.TOP, 0, rotation == Surface.ROTATION_270 || rotation == Surface.ROTATION_90 ? 61 : 71, 11, 0)); if (Build.VERSION.SDK_INT >= 21) { ((FrameLayout.LayoutParams) checkImageView.getLayoutParams()).topMargin += AndroidUtilities.statusBarHeight; } @@ -3226,7 +4224,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat }); photosCounterView = new CounterView(parentActivity); - containerView.addView(photosCounterView, LayoutHelper.createFrame(40, 40, Gravity.RIGHT | Gravity.TOP, 0, rotation == Surface.ROTATION_270 || rotation == Surface.ROTATION_90 ? 58 : 68, 66, 0)); + containerView.addView(photosCounterView, LayoutHelper.createFrame(40, 40, Gravity.RIGHT | Gravity.TOP, 0, rotation == Surface.ROTATION_270 || rotation == Surface.ROTATION_90 ? 58 : 68, 64, 0)); if (Build.VERSION.SDK_INT >= 21) { ((FrameLayout.LayoutParams) photosCounterView.getLayoutParams()).topMargin += AndroidUtilities.statusBarHeight; } @@ -3237,41 +4235,36 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat togglePhotosListView(!isPhotosListViewVisible, true); }); - selectedPhotosListView = new RecyclerListView(parentActivity); + selectedPhotosListView = new SelectedPhotosListView(parentActivity); selectedPhotosListView.setVisibility(View.GONE); selectedPhotosListView.setAlpha(0.0f); - selectedPhotosListView.setTranslationY(-AndroidUtilities.dp(10)); - selectedPhotosListView.addItemDecoration(new RecyclerView.ItemDecoration() { - @Override - public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { - int position = parent.getChildAdapterPosition(view); - if (view instanceof PhotoPickerPhotoCell && position == 0) { - outRect.left = AndroidUtilities.dp(3); - } else { - outRect.left = 0; - } - outRect.right = AndroidUtilities.dp(3); - } - }); - ((DefaultItemAnimator) selectedPhotosListView.getItemAnimator()).setDelayAnimations(false); - selectedPhotosListView.setBackgroundColor(0x7f000000); - selectedPhotosListView.setPadding(0, AndroidUtilities.dp(3), 0, AndroidUtilities.dp(3)); - selectedPhotosListView.setLayoutManager(new LinearLayoutManager(parentActivity, LinearLayoutManager.HORIZONTAL, false) { + selectedPhotosListView.setLayoutManager(new LinearLayoutManager(parentActivity, LinearLayoutManager.HORIZONTAL, true) { @Override public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) { - LinearSmoothScrollerEnd linearSmoothScroller = new LinearSmoothScrollerEnd(recyclerView.getContext()); + LinearSmoothScrollerEnd linearSmoothScroller = new LinearSmoothScrollerEnd(recyclerView.getContext()) { + @Override + protected int calculateTimeForDeceleration(int dx) { + return Math.max(180, super.calculateTimeForDeceleration(dx)); + } + }; linearSmoothScroller.setTargetPosition(position); startSmoothScroll(linearSmoothScroller); } }); selectedPhotosListView.setAdapter(selectedPhotosAdapter = new ListAdapter(parentActivity)); - containerView.addView(selectedPhotosListView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 88, Gravity.LEFT | Gravity.TOP)); + containerView.addView(selectedPhotosListView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 103, Gravity.LEFT | Gravity.TOP)); selectedPhotosListView.setOnItemClickListener((view, position) -> { + if (!imagesArrLocals.isEmpty() && currentIndex >= 0 && currentIndex < imagesArrLocals.size()) { + Object entry = imagesArrLocals.get(currentIndex); + if (entry instanceof MediaController.MediaEditState) { + ((MediaController.MediaEditState) entry).editedInfo = getCurrentVideoEditedInfo(); + } + } ignoreDidSetImage = true; int idx = imagesArrLocals.indexOf(view.getTag()); if (idx >= 0) { currentIndex = -1; - setImageIndex(idx, true); + setImageIndex(idx); } ignoreDidSetImage = false; }); @@ -3519,6 +4512,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } VideoEditedInfo videoEditedInfo = getCurrentVideoEditedInfo(); + if (!imagesArrLocals.isEmpty() && currentIndex >= 0 && currentIndex < imagesArrLocals.size()) { + Object entry = imagesArrLocals.get(currentIndex); + if (entry instanceof MediaController.MediaEditState) { + ((MediaController.MediaEditState) entry).editedInfo = videoEditedInfo; + } + } placeProvider.sendButtonPressed(currentIndex, videoEditedInfo, notify, scheduleDate); doneButtonPressed = true; closePhoto(false, false); @@ -3547,28 +4546,36 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return false; } + private View.OnClickListener openCaptionEnter = (v) -> { + if (!needCaptionLayout) { + return; + } + openCaptionEnter(); + }; private TextView createCaptionTextView() { TextView textView = new TextView(actvityContext) { @Override public boolean onTouchEvent(MotionEvent event) { - return bottomTouchEnabled && super.onTouchEvent(event); + boolean b = super.onTouchEvent(event); + return bottomTouchEnabled && b; + } + + @Override + public void scrollTo(int x, int y) { + if (getParent().getParent() == pickerView) { + super.scrollTo(x, y); + setOnClickListener(null); + } } }; textView.setMovementMethod(new LinkMovementMethodMy()); - textView.setPadding(AndroidUtilities.dp(20), AndroidUtilities.dp(8), AndroidUtilities.dp(20), AndroidUtilities.dp(8)); + textView.setPadding(AndroidUtilities.dp(16), AndroidUtilities.dp(8), AndroidUtilities.dp(16), AndroidUtilities.dp(8)); textView.setLinkTextColor(0xff76c2f1); textView.setTextColor(0xffffffff); textView.setHighlightColor(0x33ffffff); - //textView.setEllipsize(TextUtils.TruncateAt.END); textView.setGravity(Gravity.CENTER_VERTICAL | (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT)); textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); - textView.setVisibility(View.INVISIBLE); - textView.setOnClickListener(v -> { - if (!needCaptionLayout) { - return; - } - openCaptionEnter(); - }); + textView.setOnClickListener(openCaptionEnter); return textView; } @@ -3650,7 +4657,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat ObjectAnimator.ofInt(backgroundDrawable, AnimationProperties.COLOR_DRAWABLE_ALPHA, 0), ObjectAnimator.ofFloat(actionBar, View.ALPHA, 0.0f), ObjectAnimator.ofFloat(bottomLayout, View.ALPHA, 0.0f), - ObjectAnimator.ofFloat(captionTextView, View.ALPHA, 0.0f), + ObjectAnimator.ofFloat(captionTextViewSwitcher, View.ALPHA, 0.0f), ObjectAnimator.ofFloat(groupedPhotosListView, View.ALPHA, 0.0f) ); animatorSet.setInterpolator(new DecelerateInterpolator()); @@ -3738,7 +4745,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void updateVideoSeekPreviewPosition() { - int x = videoPlayerSeekbar.getThumbX() + AndroidUtilities.dp(48) - videoPreviewFrame.getMeasuredWidth() / 2; + int x = videoPlayerSeekbar.getThumbX() + AndroidUtilities.dp(2) - videoPreviewFrame.getMeasuredWidth() / 2; int min = AndroidUtilities.dp(10); int max = videoPlayerControlFrameLayout.getMeasuredWidth() - AndroidUtilities.dp(10) - videoPreviewFrame.getMeasuredWidth() / 2; if (x < min) { @@ -3774,73 +4781,21 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void createVideoControlsInterface() { - videoPlayerControlFrameLayout = new FrameLayout(containerView.getContext()) { - - @Override - public boolean onTouchEvent(MotionEvent event) { - int x = (int) event.getX(); - int y = (int) event.getY(); - if (videoPlayerSeekbar.onTouch(event.getAction(), event.getX() - AndroidUtilities.dp(48), event.getY())) { - getParent().requestDisallowInterceptTouchEvent(true); - invalidate(); - return true; - } - return true; - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - long duration; - if (videoPlayer != null) { - duration = videoPlayer.getDuration(); - if (duration == C.TIME_UNSET) { - duration = 0; - } - } else { - duration = 0; - } - duration /= 1000; - int size = (int) Math.ceil(videoPlayerTime.getPaint().measureText(String.format("%02d:%02d / %02d:%02d", duration / 60, duration % 60, duration / 60, duration % 60))); - videoPlayerSeekbar.setSize(getMeasuredWidth() - AndroidUtilities.dp(48 + 16) - size, getMeasuredHeight()); - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - float progress = 0; - if (videoPlayer != null) { - progress = videoPlayer.getCurrentPosition() / (float) videoPlayer.getDuration(); - if (!inPreview && videoTimelineView.getVisibility() == View.VISIBLE) { - progress -= videoTimelineView.getLeftProgress(); - if (progress < 0) { - progress = 0; - } - progress /= (videoTimelineView.getRightProgress() - videoTimelineView.getLeftProgress()); - if (progress > 1) { - progress = 1; - } - } - } - videoPlayerSeekbar.setProgress(progress); - videoTimelineView.setProgress(progress); - } + videoPlayerControlFrameLayout = new VideoPlayerControlFrameLayout(containerView.getContext()); + containerView.addView(videoPlayerControlFrameLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.BOTTOM | Gravity.LEFT)); + videoPlayerSeekbarView = new View(containerView.getContext()) { @Override protected void onDraw(Canvas canvas) { - canvas.save(); - canvas.translate(AndroidUtilities.dp(48), 0); videoPlayerSeekbar.draw(canvas); - canvas.restore(); } }; - videoPlayerControlFrameLayout.setWillNotDraw(false); - bottomLayout.addView(videoPlayerControlFrameLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.LEFT)); + videoPlayerControlFrameLayout.addView(videoPlayerSeekbarView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); - videoPlayerSeekbar = new SeekBar(videoPlayerControlFrameLayout); - videoPlayerSeekbar.setLineHeight(AndroidUtilities.dp(4)); - videoPlayerSeekbar.setColors(0x66ffffff, 0x66ffffff, 0xffd5d0d7, 0xffffffff, 0xffffffff); - videoPlayerSeekbar.setDelegate(new SeekBar.SeekBarDelegate() { + videoPlayerSeekbar = new VideoPlayerSeekBar(videoPlayerSeekbarView); + videoPlayerSeekbar.setHorizontalPadding(AndroidUtilities.dp(2)); + videoPlayerSeekbar.setColors(0x33ffffff, 0x33ffffff, Color.WHITE, Color.WHITE, Color.WHITE, 0x59ffffff); + videoPlayerSeekbar.setDelegate(new VideoPlayerSeekBar.SeekBarDelegate() { @Override public void onSeekBarDrag(float progress) { if (videoPlayer != null) { @@ -3890,37 +4845,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoPreviewFrame.setAlpha(0.0f); containerView.addView(videoPreviewFrame, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 0, 48 + 10)); - videoPlayButton = new ImageView(containerView.getContext()); - videoPlayButton.setScaleType(ImageView.ScaleType.CENTER); - videoPlayerControlFrameLayout.addView(videoPlayButton, LayoutHelper.createFrame(48, 48, Gravity.LEFT | Gravity.TOP, 4, 0, 0, 0)); - videoPlayButton.setFocusable(true); - videoPlayButton.setContentDescription(LocaleController.getString("AccActionPlay", R.string.AccActionPlay)); - videoPlayButton.setOnClickListener(v -> { - if (videoPlayer == null) { - return; - } - if (isPlaying) { - videoPlayer.pause(); - } else { - if (isCurrentVideo) { - if (Math.abs(videoTimelineView.getProgress() - 1.0f) < 0.01f || videoPlayer.getCurrentPosition() == videoPlayer.getDuration()) { - videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration())); - } - } else { - if (Math.abs(videoPlayerSeekbar.getProgress() - 1.0f) < 0.01f || videoPlayer.getCurrentPosition() == videoPlayer.getDuration()) { - videoPlayer.seekTo(0); - } - } - videoPlayer.play(); - } - containerView.invalidate(); - }); - videoPlayerTime = new SimpleTextView(containerView.getContext()); videoPlayerTime.setTextColor(0xffffffff); videoPlayerTime.setGravity(Gravity.RIGHT | Gravity.TOP); - videoPlayerTime.setTextSize(13); - videoPlayerControlFrameLayout.addView(videoPlayerTime, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.MATCH_PARENT, Gravity.RIGHT | Gravity.TOP, 0, 17, 7, 0)); + videoPlayerTime.setTextSize(14); + videoPlayerControlFrameLayout.addView(videoPlayerTime, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.RIGHT | Gravity.TOP, 0, 15, 12, 0)); } private void openCaptionEnter() { @@ -3946,6 +4875,44 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private VideoEditedInfo getCurrentVideoEditedInfo() { + if (!isCurrentVideo && hasAnimatedMediaEntities() && centerImage.getBitmapWidth() > 0) { + VideoEditedInfo videoEditedInfo = new VideoEditedInfo(); + videoEditedInfo.start = videoEditedInfo.startTime = 0; + videoEditedInfo.endTime = Math.min(3000, currentAverageDuration); + while (videoEditedInfo.endTime > 0 && videoEditedInfo.endTime < 1000) { + videoEditedInfo.endTime *= 2; + } + videoEditedInfo.end = videoEditedInfo.endTime; + videoEditedInfo.rotationValue = 0; + videoEditedInfo.originalPath = currentImagePath; + videoEditedInfo.estimatedSize = (int) (videoEditedInfo.endTime / 1000.0f * 115200); + videoEditedInfo.estimatedDuration = videoEditedInfo.endTime; + videoEditedInfo.framerate = 30; + videoEditedInfo.originalDuration = videoEditedInfo.endTime; + videoEditedInfo.filterState = currentSavedFilterState; + videoEditedInfo.paintPath = currentPaintPath; + videoEditedInfo.mediaEntities = currentMediaEntities; + videoEditedInfo.isPhoto = true; + int width = centerImage.getBitmapWidth(); + int height = centerImage.getBitmapHeight(); + float scale = Math.max(width / 854.0f, height / 854.0f); + if (scale < 1) { + scale = 1; + } + width /= scale; + height /= scale; + if (width % 16 != 0) { + width = Math.round(width / 16.0f) * 16; + } + if (height % 16 != 0) { + height = Math.round(height / 16.0f) * 16; + } + videoEditedInfo.originalWidth = videoEditedInfo.resultWidth = width; + videoEditedInfo.originalHeight = videoEditedInfo.resultHeight = height; + videoEditedInfo.bitrate = -1; + videoEditedInfo.muted = true; + return videoEditedInfo; + } if (!isCurrentVideo || currentPlayingVideoFile == null || compressionsCount == 0) { return null; } @@ -3958,11 +4925,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoEditedInfo.originalWidth = originalWidth; videoEditedInfo.originalHeight = originalHeight; videoEditedInfo.bitrate = bitrate; - videoEditedInfo.originalPath = currentPlayingVideoFile.getPath(); + videoEditedInfo.originalPath = currentPathObject; videoEditedInfo.estimatedSize = estimatedSize != 0 ? estimatedSize : 1; videoEditedInfo.estimatedDuration = estimatedDuration; videoEditedInfo.framerate = videoFramerate; videoEditedInfo.originalDuration = (long) (videoDuration * 1000); + videoEditedInfo.filterState = currentSavedFilterState; + videoEditedInfo.paintPath = currentPaintPath; + videoEditedInfo.mediaEntities = currentMediaEntities != null && !currentMediaEntities.isEmpty() ? currentMediaEntities : null; if (!muteVideo && (compressItem.getTag() == null || (videoEditedInfo.resultWidth == originalWidth && videoEditedInfo.resultHeight == originalHeight))) { videoEditedInfo.resultWidth = originalWidth; @@ -4017,7 +4987,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat lastTitle = null; } if (isCurrentVideo) { - actionBar.setSubtitle(muteVideo ? null : currentSubtitle); + actionBar.setSubtitle(muteVideo ? LocaleController.getString("SoundMuted", R.string.SoundMuted) : currentSubtitle); } updateCaptionTextForCurrentPhoto(object); if (captionEditText.isPopupShowing()) { @@ -4106,9 +5076,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (tuneItem != null && tuneItem.getColorFilter() != null) { tuneItem.setColorFilter(filter); } - if (muteItem != null && muteItem.getColorFilter() != null) { - muteItem.setColorFilter(filter); - } if (editorDoneLayout != null) { editorDoneLayout.doneButton.setTextColor(color); } @@ -4133,6 +5100,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } + if (masksAlert != null) { + masksAlert.updateColors(true); + } } public void injectVideoPlayer(VideoPlayer player) { @@ -4157,7 +5127,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat skipFirstBufferingProgress = false; } } else { - toggleMiniProgress(seekToProgressPending != 0 || playbackState == ExoPlayer.STATE_BUFFERING, true); + final boolean buffering = seekToProgressPending != 0 || playbackState == ExoPlayer.STATE_BUFFERING; + if (buffering) { + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); + } else { + AndroidUtilities.runOnUIThread(hideActionBarRunnable, 3000); + } + toggleMiniProgress(buffering, true); } } if (playWhenReady && (playbackState != ExoPlayer.STATE_ENDED && playbackState != ExoPlayer.STATE_IDLE)) { @@ -4195,7 +5171,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (!pipItem.isEnabled()) { pipAvailable = true; pipItem.setEnabled(true); - pipItem.setAlpha(1.0f); + pipItem.animate().alpha(1.0f).setDuration(175).withEndAction(null).start(); } playerWasReady = true; if (currentMessageObject != null && currentMessageObject.isVideo()) { @@ -4211,41 +5187,49 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } - if (videoPlayer.isPlaying() && playbackState != ExoPlayer.STATE_ENDED) { if (!isPlaying) { isPlaying = true; - videoPlayButton.setImageResource(R.drawable.inline_video_pause); + photoProgressViews[0].setBackgroundState(isCurrentVideo ? PROGRESS_NONE : PROGRESS_PAUSE, false); + photoProgressViews[0].setIndexedAlpha(1, !isCurrentVideo && ((playerAutoStarted && !playerWasPlaying) || !isActionBarVisible) ? 0f : 1f, false); + playerWasPlaying = true; AndroidUtilities.runOnUIThread(updateProgressRunnable); } } else if (isPlaying) { isPlaying = false; - videoPlayButton.setImageResource(R.drawable.inline_video_play); + if (currentEditMode != 3) { + photoProgressViews[0].setIndexedAlpha(1, 1f, false); + photoProgressViews[0].setBackgroundState(PROGRESS_PLAY, false); + } AndroidUtilities.cancelRunOnUIThread(updateProgressRunnable); if (playbackState == ExoPlayer.STATE_ENDED) { if (isCurrentVideo) { if (!videoTimelineView.isDragging()) { videoTimelineView.setProgress(0.0f); - if (!inPreview && videoTimelineView.getVisibility() == View.VISIBLE) { + if (!inPreview && (currentEditMode != 0 || videoTimelineView.getVisibility() == View.VISIBLE)) { videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration())); } else { videoPlayer.seekTo(0); } - videoPlayer.pause(); + if (currentEditMode == 0) { + videoPlayer.pause(); + } else { + videoPlayer.play(); + } containerView.invalidate(); } } else { - if (!isActionBarVisible) { - toggleActionBar(true, true); - } videoPlayerSeekbar.setProgress(0.0f); - videoPlayerControlFrameLayout.invalidate(); + videoPlayerSeekbarView.invalidate(); if (!inPreview && videoTimelineView.getVisibility() == View.VISIBLE) { videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration())); } else { videoPlayer.seekTo(0); } videoPlayer.pause(); + if (!isActionBarVisible) { + toggleActionBar(true, true); + } } if (pipVideoView != null) { pipVideoView.onVideoCompleted(); @@ -4259,8 +5243,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void preparePlayer(Uri uri, boolean playWhenReady, boolean preview) { + preparePlayer(uri, playWhenReady, preview, null); + } + + private void preparePlayer(Uri uri, boolean playWhenReady, boolean preview, MediaController.SavedFilterState savedFilterState) { if (!preview) { currentPlayingVideoFile = uri; + currentSavedFilterState = savedFilterState; } if (parentActivity == null) { return; @@ -4272,31 +5261,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat firstAnimationDelay = true; inPreview = preview; releasePlayer(false); - if (videoTextureView == null) { - aspectRatioFrameLayout = new AspectRatioFrameLayout(parentActivity) { - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - if (textureImageView != null) { - ViewGroup.LayoutParams layoutParams = textureImageView.getLayoutParams(); - layoutParams.width = getMeasuredWidth(); - layoutParams.height = getMeasuredHeight(); - } - } - }; - aspectRatioFrameLayout.setVisibility(View.INVISIBLE); - containerView.addView(aspectRatioFrameLayout, 0, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.CENTER)); - - videoTextureView = new TextureView(parentActivity); - if (injectingVideoPlayerSurface != null) { - videoTextureView.setSurfaceTexture(injectingVideoPlayerSurface); - textureUploaded = true; - injectingVideoPlayerSurface = null; - } - videoTextureView.setPivotX(0); - videoTextureView.setPivotY(0); - videoTextureView.setOpaque(false); - aspectRatioFrameLayout.addView(videoTextureView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.CENTER)); + if (imagesArrLocals.isEmpty()) { + createVideoTextureView(null); } if (Build.VERSION.SDK_INT >= 21 && textureImageView == null) { textureImageView = new ImageView(parentActivity); @@ -4308,10 +5274,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } textureUploaded = false; videoCrossfadeStarted = false; - videoTextureView.setAlpha(videoCrossfadeAlpha = 0.0f); - videoPlayButton.setImageResource(R.drawable.inline_video_play); boolean newPlayerCreated = false; playerWasReady = false; + playerWasPlaying = false; if (videoPlayer == null) { if (injectingVideoPlayer != null) { videoPlayer = injectingVideoPlayer; @@ -4319,10 +5284,26 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat playerInjected = true; updatePlayerState(videoPlayer.getPlayWhenReady(), videoPlayer.getPlaybackState()); } else { - videoPlayer = new VideoPlayer(); + videoPlayer = new VideoPlayer() { + @Override + public void play() { + super.play(); + playOrStopAnimatedStickers(true); + } + + @Override + public void pause() { + super.pause(); + if (currentEditMode == 0) { + playOrStopAnimatedStickers(false); + } + } + }; newPlayerCreated = true; } - videoPlayer.setTextureView(videoTextureView); + if (videoTextureView != null) { + videoPlayer.setTextureView(videoTextureView); + } videoPlayer.setDelegate(new VideoPlayer.VideoPlayerDelegate() { @Override public void onStateChanged(boolean playWhenReady, int playbackState) { @@ -4330,8 +5311,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } @Override - public void onError(Exception e) { - if (videoPlayer == null) { + public void onError(VideoPlayer player, Exception e) { + if (videoPlayer != player) { return; } FileLog.e(e); @@ -4362,6 +5343,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat height = temp; } aspectRatioFrameLayout.setAspectRatio(height == 0 ? 1 : (width * pixelWidthHeightRatio) / height, unappliedRotationDegrees); + if (videoTextureView instanceof VideoEditTextureView) { + ((VideoEditTextureView) videoTextureView).setVideoSize((int) (width * pixelWidthHeightRatio), height); + } } } @@ -4407,8 +5391,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat aspectRatioFrameLayout.getLocationInWindow(pipPosition); //pipPosition[0] -= getLeftInset(); pipPosition[1] -= containerView.getTranslationY(); - textureImageView.setTranslationX(textureImageView.getTranslationX()+getLeftInset()); - videoTextureView.setTranslationX(videoTextureView.getTranslationX()+getLeftInset()-aspectRatioFrameLayout.getX()); + textureImageView.setTranslationX(textureImageView.getTranslationX() + getLeftInset()); + videoTextureView.setTranslationX(videoTextureView.getTranslationX() + getLeftInset() - aspectRatioFrameLayout.getX()); AnimatorSet animatorSet = new AnimatorSet(); animatorSet.playTogether( @@ -4423,7 +5407,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat ObjectAnimator.ofInt(backgroundDrawable, AnimationProperties.COLOR_DRAWABLE_ALPHA, 255), ObjectAnimator.ofFloat(actionBar, View.ALPHA, 1.0f), ObjectAnimator.ofFloat(bottomLayout, View.ALPHA, 1.0f), - ObjectAnimator.ofFloat(captionTextView, View.ALPHA, 1.0f), + ObjectAnimator.ofFloat(captionTextViewSwitcher, View.ALPHA, 1.0f), ObjectAnimator.ofFloat(groupedPhotosListView, View.ALPHA, 1.0f) ); animatorSet.setInterpolator(new DecelerateInterpolator()); @@ -4444,31 +5428,67 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } }); } + if (!imagesArrLocals.isEmpty()) { + createVideoTextureView(savedFilterState); + } + videoTextureView.setAlpha(videoCrossfadeAlpha = 0.0f); + if (paintingOverlay != null) { + paintingOverlay.setAlpha(videoCrossfadeAlpha); + } shouldSavePositionForCurrentVideo = null; + shouldSavePositionForCurrentVideoShortTerm = null; lastSaveTime = 0; if (newPlayerCreated) { seekToProgressPending = seekToProgressPending2; - videoPlayer.preparePlayer(uri, "other"); videoPlayerSeekbar.setProgress(0); videoTimelineView.setProgress(0); videoPlayerSeekbar.setBufferedProgress(0); - videoPlayer.setPlayWhenReady(playWhenReady); + if (currentMessageObject != null) { - String name = currentMessageObject.getFileName(); - if (!TextUtils.isEmpty(name) && currentMessageObject.getDuration() >= 20 * 60) { - if (currentMessageObject.forceSeekTo < 0) { - SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("media_saved_pos", Activity.MODE_PRIVATE); - float pos = preferences.getFloat(name, -1); - if (pos > 0 && pos < 0.999f) { - currentMessageObject.forceSeekTo = pos; - videoPlayerSeekbar.setProgress(pos); + final int duration = currentMessageObject.getDuration(); + final String name = currentMessageObject.getFileName(); + if (!TextUtils.isEmpty(name)) { + if (duration >= 20 * 60) { + if (currentMessageObject.forceSeekTo < 0) { + SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("media_saved_pos", Activity.MODE_PRIVATE); + float pos = preferences.getFloat(name, -1); + if (pos > 0 && pos < 0.999f) { + currentMessageObject.forceSeekTo = pos; + videoPlayerSeekbar.setProgress(pos); + } } + shouldSavePositionForCurrentVideo = name; + } else if (duration >= 10) { + SavedVideoPosition videoPosition = null; + for (int i = savedVideoPositions.size() - 1; i >= 0; i--) { + final SavedVideoPosition item = savedVideoPositions.valueAt(i); + if (item.timestamp < SystemClock.elapsedRealtime() - 5 * 1000) { + savedVideoPositions.removeAt(i); + } else if (videoPosition == null && savedVideoPositions.keyAt(i).equals(name)) { + videoPosition = item; + } + } + if (currentMessageObject.forceSeekTo < 0 && videoPosition != null) { + float pos = videoPosition.position; + if (pos > 0 && pos < 0.999f) { + currentMessageObject.forceSeekTo = pos; + videoPlayerSeekbar.setProgress(pos); + } + } + shouldSavePositionForCurrentVideoShortTerm = name; } - shouldSavePositionForCurrentVideo = name; } } + + videoPlayer.preparePlayer(uri, "other"); + videoPlayer.setPlayWhenReady(playWhenReady); } + + playerLooping = currentMessageObject != null && currentMessageObject.getDuration() <= 30; + videoPlayerControlFrameLayout.setSeekBarTransitionEnabled(playerLooping); + videoPlayer.setLooping(playerLooping); + if (currentMessageObject != null && currentMessageObject.forceSeekTo >= 0) { seekToProgressPending = currentMessageObject.forceSeekTo; currentMessageObject.forceSeekTo = -1; @@ -4481,25 +5501,67 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { bottomLayout.setPadding(0, 0, 0, 0); } - videoPlayerControlFrameLayout.setVisibility(isCurrentVideo ? View.GONE : View.VISIBLE); - - dateTextView.setVisibility(View.GONE); - nameTextView.setVisibility(View.GONE); - if (allowShare) { - shareButton.setVisibility(View.GONE); - menuItem.showSubItem(gallery_menu_share); + setVideoPlayerControlVisible(!isCurrentVideo, true); + if (!isCurrentVideo) { + AndroidUtilities.runOnUIThread(hideActionBarRunnable, playerAutoStarted ? 3000 : 1000); } + inPreview = preview; updateAccessibilityOverlayVisibility(); } + private void createVideoTextureView(MediaController.SavedFilterState savedFilterState) { + if (videoTextureView != null) { + return; + } + aspectRatioFrameLayout = new AspectRatioFrameLayout(parentActivity) { + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + if (textureImageView != null) { + ViewGroup.LayoutParams layoutParams = textureImageView.getLayoutParams(); + layoutParams.width = getMeasuredWidth(); + layoutParams.height = getMeasuredHeight(); + } + } + }; + aspectRatioFrameLayout.setVisibility(View.INVISIBLE); + containerView.addView(aspectRatioFrameLayout, 0, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.CENTER)); + + if (imagesArrLocals.isEmpty()) { + videoTextureView = new TextureView(parentActivity); + } else { + VideoEditTextureView videoEditTextureView = new VideoEditTextureView(parentActivity, videoPlayer); + if (savedFilterState != null) { + videoEditTextureView.setDelegate(thread -> thread.setFilterGLThreadDelegate(FilterShaders.getFilterShadersDelegate(savedFilterState))); + } + videoTextureView = videoEditTextureView; + } + if (injectingVideoPlayerSurface != null) { + videoTextureView.setSurfaceTexture(injectingVideoPlayerSurface); + textureUploaded = true; + injectingVideoPlayerSurface = null; + } + videoTextureView.setPivotX(0); + videoTextureView.setPivotY(0); + videoTextureView.setOpaque(false); + aspectRatioFrameLayout.addView(videoTextureView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.CENTER)); + } + private void releasePlayer(boolean onClose) { if (videoPlayer != null) { AndroidUtilities.cancelRunOnUIThread(setLoadingRunnable); + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); + if (shouldSavePositionForCurrentVideoShortTerm != null) { + final float progress = videoPlayer.getCurrentPosition() / (float) videoPlayer.getDuration(); + savedVideoPositions.put(shouldSavePositionForCurrentVideoShortTerm, new SavedVideoPosition(progress, SystemClock.elapsedRealtime())); + } videoPlayer.releasePlayer(true); videoPlayer = null; updateAccessibilityOverlayVisibility(); + } else { + playerWasPlaying = false; } videoPreviewFrame.close(); toggleMiniProgress(false, false); @@ -4507,7 +5569,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat playerInjected = false; if (pipItem.isEnabled()) { pipItem.setEnabled(false); - pipItem.setAlpha(0.5f); + pipItem.animate().alpha(0.5f).setDuration(175).withEndAction(null).start(); } if (keepScreenOnFlagSet) { try { @@ -4526,22 +5588,83 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat aspectRatioFrameLayout = null; } if (videoTextureView != null) { + if (videoTextureView instanceof VideoEditTextureView) { + ((VideoEditTextureView) videoTextureView).release(); + } videoTextureView = null; } if (isPlaying) { isPlaying = false; - if (!onClose) { - videoPlayButton.setImageResource(R.drawable.inline_video_play); - } AndroidUtilities.cancelRunOnUIThread(updateProgressRunnable); } if (!onClose && !inPreview && !requestingPreview) { - videoPlayerControlFrameLayout.setVisibility(View.GONE); - dateTextView.setVisibility(View.VISIBLE); - nameTextView.setVisibility(View.VISIBLE); + setVideoPlayerControlVisible(false, true); + } + photoProgressViews[0].resetAlphas(); + } + + private void setVideoPlayerControlVisible(boolean visible, boolean animated) { + if (videoPlayerControlVisible != visible) { + if (videoPlayerControlAnimator != null) { + videoPlayerControlAnimator.cancel(); + } + videoPlayerControlVisible = visible; + if (animated) { + if (visible) { + videoPlayerControlFrameLayout.setVisibility(View.VISIBLE); + } else { + dateTextView.setVisibility(View.VISIBLE); + nameTextView.setVisibility(View.VISIBLE); + if (allowShare) { + shareButton.setVisibility(View.VISIBLE); + } + } + final boolean shareWasAllowed = allowShare; + final ValueAnimator anim = ValueAnimator.ofFloat(videoPlayerControlFrameLayout.getAlpha(), visible ? 1f : 0f); + anim.setDuration(200); + anim.addUpdateListener(a -> { + final float alpha = (float) a.getAnimatedValue(); + videoPlayerControlFrameLayout.setAlpha(alpha); + dateTextView.setAlpha(1f - alpha); + nameTextView.setAlpha(1f - alpha); + if (shareWasAllowed) { + shareButton.setAlpha(1f - alpha); + } + }); + anim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (!visible) { + videoPlayerControlFrameLayout.setVisibility(View.GONE); + } else { + dateTextView.setVisibility(View.GONE); + nameTextView.setVisibility(View.GONE); + if (shareWasAllowed) { + shareButton.setVisibility(View.GONE); + } + } + } + }); + videoPlayerControlAnimator = anim; + anim.start(); + } else { + videoPlayerControlFrameLayout.setVisibility(visible ? View.VISIBLE : View.GONE); + videoPlayerControlFrameLayout.setAlpha(visible ? 1f : 0f); + dateTextView.setVisibility(visible ? View.GONE : View.VISIBLE); + dateTextView.setAlpha(visible ? 0f : 1f); + nameTextView.setVisibility(visible ? View.GONE : View.VISIBLE); + nameTextView.setAlpha(visible ? 0f : 1f); + if (allowShare) { + shareButton.setVisibility(visible ? View.GONE : View.VISIBLE); + shareButton.setAlpha(visible ? 0f : 1f); + } + } if (allowShare) { - shareButton.setVisibility(View.VISIBLE); - menuItem.hideSubItem(gallery_menu_share); + if (visible) { + menuItem.showSubItem(gallery_menu_share); + } else { + menuItem.hideSubItem(gallery_menu_share); + } } } } @@ -4584,77 +5707,300 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private static final int thumbSize = 512; + + private void mergeThumbs(String finalPath, String thumbPath, Bitmap thumb, Bitmap bitmap, boolean reverse) { + try { + boolean recycle = false; + if (thumb == null) { + thumb = BitmapFactory.decodeFile(thumbPath); + recycle = true; + } + int w = thumb.getWidth(); + int h = thumb.getHeight(); + float size = thumbSize; + if (w > size || h > size) { + float scale = Math.max(w, h) / size; + w /= scale; + h /= scale; + } + Bitmap dst = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(dst); + Rect dstRect = new Rect(0, 0, w, h); + if (reverse) { + canvas.drawBitmap(bitmap, null, dstRect, bitmapPaint); + canvas.drawBitmap(thumb, null, dstRect, bitmapPaint); + } else { + canvas.drawBitmap(thumb, null, dstRect, bitmapPaint); + canvas.drawBitmap(bitmap, null, dstRect, bitmapPaint); + } + FileOutputStream stream = new FileOutputStream(new File(finalPath)); + dst.compress(Bitmap.CompressFormat.JPEG, 83, stream); + try { + stream.close(); + } catch (Exception e) { + FileLog.e(e); + } + if (recycle) { + thumb.recycle(); + } + dst.recycle(); + } catch (Throwable e) { + FileLog.e(e); + } + } + + private void playOrStopAnimatedStickers(boolean play) { + if (currentMediaEntities != null) { + for (int a = 0, N = currentMediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = currentMediaEntities.get(a); + if (entity.type == 0 && (entity.subType & 1) != 0 && entity.view instanceof BackupImageView) { + ImageReceiver imageReceiver = ((BackupImageView) entity.view).getImageReceiver(); + RLottieDrawable drawable = imageReceiver.getLottieAnimation(); + if (drawable == null) { + continue; + } + if (play) { + drawable.start(); + } else { + drawable.stop(); + } + } + } + } + } + + private boolean hasAnimatedMediaEntities() { + if (currentMediaEntities != null) { + for (int a = 0, N = currentMediaEntities.size(); a < N; a++) { + VideoEditedInfo.MediaEntity entity = currentMediaEntities.get(a); + if (entity.type == 0 && (entity.subType & 1) != 0) { + return true; + } + } + } + return false; + } + private void applyCurrentEditMode() { Bitmap bitmap = null; + Bitmap[] paintThumbBitmap = new Bitmap[1]; ArrayList stickers = null; MediaController.SavedFilterState savedFilterState = null; - boolean removeSavedState = false; + ArrayList entities = null; + MediaController.MediaEditState entry = (MediaController.MediaEditState) imagesArrLocals.get(currentIndex); if (currentEditMode == 1 || currentEditMode == 0 && sendPhotoType == SELECT_TYPE_AVATAR) { - bitmap = photoCropView.getBitmap(); - removeSavedState = true; + bitmap = photoCropView.getBitmap(entry); } else if (currentEditMode == 2) { bitmap = photoFilterView.getBitmap(); savedFilterState = photoFilterView.getSavedFilterState(); } else if (currentEditMode == 3) { - bitmap = photoPaintView.getBitmap(); + if (Build.VERSION.SDK_INT >= 18 && (sendPhotoType == 0 || sendPhotoType == 2)) { + entities = new ArrayList<>(); + } + bitmap = photoPaintView.getBitmap(entities, paintThumbBitmap); stickers = photoPaintView.getMasks(); - removeSavedState = true; } if (bitmap != null) { - TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(bitmap, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); + TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(bitmap, currentEditMode == 3 ? Bitmap.CompressFormat.PNG : Bitmap.CompressFormat.JPEG, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); if (size != null) { - Object object = imagesArrLocals.get(currentIndex); - if (object instanceof MediaController.PhotoEntry) { - MediaController.PhotoEntry entry = (MediaController.PhotoEntry) object; - entry.imagePath = FileLoader.getPathToAttach(size, true).toString(); - size = ImageLoader.scaleAndSaveImage(bitmap, AndroidUtilities.dp(120), AndroidUtilities.dp(120), 70, false, 101, 101); - if (size != null) { + if (entry.thumbPath != null) { + new File(entry.thumbPath).delete(); + entry.thumbPath = null; + } + + if (currentEditMode == 1 || currentEditMode == 0 && sendPhotoType == SELECT_TYPE_AVATAR) { + if (entry.filterPath == null) { + if (entry.croppedPath != null) { + new File(entry.croppedPath).delete(); + } + entry.croppedPath = currentImagePath = FileLoader.getPathToAttach(size, true).toString(); + } else { + if (entry.filterPath != null) { + new File(entry.filterPath).delete(); + } + entry.filterPath = currentImagePath = FileLoader.getPathToAttach(size, true).toString(); + } + if (entry.imagePath != null) { + new File(entry.imagePath).delete(); + } + if (entry.paintPath != null) { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + mergeThumbs(entry.thumbPath = f.getAbsolutePath(), entry.fullPaintPath, null, bitmap, true); + + Bitmap paintBitmap = BitmapFactory.decodeFile(entry.paintPath); + paintingOverlay.setBitmap(paintBitmap); + if (entry.fullPaintPath != null && !entry.paintPath.equals(entry.fullPaintPath)) { + paintBitmap = BitmapFactory.decodeFile(hasAnimatedMediaEntities() ? entry.paintPath : entry.fullPaintPath); + } + Bitmap canvasBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); + Canvas b = new Canvas(canvasBitmap); + b.drawBitmap(bitmap, null, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmapPaint); + b.drawBitmap(paintBitmap, null, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmapPaint); + size = ImageLoader.scaleAndSaveImage(canvasBitmap, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); + entry.imagePath = FileLoader.getPathToAttach(size, true).toString(); + canvasBitmap.recycle(); + paintingOverlay.setEntities(currentMediaEntities, isCurrentVideo, true); + } else { + size = ImageLoader.scaleAndSaveImage(bitmap, thumbSize, thumbSize, 70, false, 101, 101); entry.thumbPath = FileLoader.getPathToAttach(size, true).toString(); + + try { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + AndroidUtilities.copyFile(new File(entry.croppedPath), f); + entry.imagePath = f.getAbsolutePath(); + } catch (Exception e) { + FileLog.e(e); + } } - if (stickers != null) { - entry.stickers.addAll(stickers); + } else if (currentEditMode == 2) { + if (entry.filterPath != null) { + new File(entry.filterPath).delete(); } - if (currentEditMode == 1) { - cropItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isCropped = true; - } else if (currentEditMode == 2) { - tuneItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isFiltered = true; - } else if (currentEditMode == 3) { - paintItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isPainted = true; - } - if (savedFilterState != null) { - entry.savedFilterState = savedFilterState; - } else if (removeSavedState) { - entry.savedFilterState = null; - } - } else if (object instanceof MediaController.SearchImage) { - MediaController.SearchImage entry = (MediaController.SearchImage) object; - entry.imagePath = FileLoader.getPathToAttach(size, true).toString(); - size = ImageLoader.scaleAndSaveImage(bitmap, AndroidUtilities.dp(120), AndroidUtilities.dp(120), 70, false, 101, 101); - if (size != null) { + entry.filterPath = currentImagePath = FileLoader.getPathToAttach(size, true).toString(); + if (entry.paintPath != null && !hasAnimatedMediaEntities() && !isCurrentVideo) { + Bitmap paintBitmap; + boolean recycle; + if (entry.paintPath.equals(entry.fullPaintPath)) { + paintBitmap = paintingOverlay.getBitmap(); + recycle = false; + } else { + paintBitmap = BitmapFactory.decodeFile(entry.fullPaintPath); + recycle = true; + } + Bitmap canvasBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); + Canvas b = new Canvas(canvasBitmap); + b.drawBitmap(bitmap, null, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmapPaint); + b.drawBitmap(paintBitmap, null, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmapPaint); + size = ImageLoader.scaleAndSaveImage(canvasBitmap, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); + if (entry.imagePath != null) { + new File(entry.imagePath).delete(); + } + entry.imagePath = FileLoader.getPathToAttach(size, true).toString(); + + size = ImageLoader.scaleAndSaveImage(canvasBitmap, thumbSize, thumbSize, 70, false, 101, 101); entry.thumbPath = FileLoader.getPathToAttach(size, true).toString(); + if (recycle) { + paintBitmap.recycle(); + } + canvasBitmap.recycle(); + } else if (entry.paintPath == null) { + try { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + AndroidUtilities.copyFile(new File(entry.filterPath), f); + entry.thumbPath = f.getAbsolutePath(); + } catch (Exception e) { + FileLog.e(e); + } + if (!hasAnimatedMediaEntities()) { + if (entry.imagePath != null) { + new File(entry.imagePath).delete(); + } + try { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + AndroidUtilities.copyFile(new File(entry.filterPath), f); + entry.imagePath = f.getAbsolutePath(); + } catch (Exception e) { + FileLog.e(e); + } + } + } else { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + mergeThumbs(entry.thumbPath = f.getAbsolutePath(), entry.fullPaintPath, entry.paintPath.equals(entry.fullPaintPath) ? paintingOverlay.getThumb() : null, paintThumbBitmap[0] != null ? paintThumbBitmap[0] : bitmap, true); } - if (stickers != null) { - entry.stickers.addAll(stickers); + } else if (currentEditMode == 3) { + if (entry.paintPath != null) { + new File(entry.paintPath).delete(); + if (!entry.paintPath.equals(entry.fullPaintPath)) { + new File(entry.fullPaintPath).delete(); + } } - if (currentEditMode == 1) { - cropItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isCropped = true; - } else if (currentEditMode == 2) { - tuneItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isFiltered = true; - } else if (currentEditMode == 3) { - paintItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); - entry.isPainted = true; + entry.paintPath = currentPaintPath = FileLoader.getPathToAttach(size, true).toString(); + paintingOverlay.setEntities(entry.mediaEntities = currentMediaEntities = entities == null || entities.isEmpty() ? null : entities, isCurrentVideo, true); + entry.averageDuration = currentAverageDuration = photoPaintView.getLcm(); + if (entry.mediaEntities != null && paintThumbBitmap[0] != null) { + size = ImageLoader.scaleAndSaveImage(paintThumbBitmap[0], Bitmap.CompressFormat.PNG, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); + entry.fullPaintPath = FileLoader.getPathToAttach(size, true).toString(); + } else { + entry.fullPaintPath = entry.paintPath; } - if (savedFilterState != null) { - entry.savedFilterState = savedFilterState; - } else if (removeSavedState) { - entry.savedFilterState = null; + paintingOverlay.setBitmap(bitmap); + + if (!hasAnimatedMediaEntities() && !isCurrentVideo) { + String path; + if (entry.filterPath != null) { + path = entry.filterPath; + } else if (entry.croppedPath != null) { + path = entry.croppedPath; + } else { + path = entry.getPath(); + } + Bitmap originalBitmap = ImageLoader.loadBitmap(path, null, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), true); + if (originalBitmap != null && !originalBitmap.isMutable()) { + originalBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true); + } + if (originalBitmap != null) { + Canvas b = new Canvas(originalBitmap); + b.drawBitmap(paintThumbBitmap[0] != null ? paintThumbBitmap[0] : bitmap, null, new Rect(0, 0, originalBitmap.getWidth(), originalBitmap.getHeight()), bitmapPaint); + size = ImageLoader.scaleAndSaveImage(originalBitmap, AndroidUtilities.getPhotoSize(), AndroidUtilities.getPhotoSize(), 80, false, 101, 101); + if (entry.imagePath != null) { + new File(entry.imagePath).delete(); + } + entry.imagePath = FileLoader.getPathToAttach(size, true).toString(); + + size = ImageLoader.scaleAndSaveImage(originalBitmap, thumbSize, thumbSize, 70, false, 101, 101); + entry.thumbPath = FileLoader.getPathToAttach(size, true).toString(); + } + } else if (entry.filterPath == null) { + if (entry.imagePath != null) { + new File(entry.imagePath).delete(); + entry.imagePath = null; + } + Bitmap originalBitmap; + if (isCurrentVideo) { + VideoEditTextureView textureView = (VideoEditTextureView) videoTextureView; + originalBitmap = SendMessagesHelper.createVideoThumbnailAtTime(entry.getPath(), (long) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration() * 1000L)); + } else { + String path; + if (entry.croppedPath != null) { + path = entry.croppedPath; + } else { + path = entry.getPath(); + } + originalBitmap = ImageLoader.loadBitmap(path, null, thumbSize, thumbSize, true); + if (originalBitmap != null && !originalBitmap.isMutable()) { + originalBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true); + } + } + if (originalBitmap != null) { + Canvas b = new Canvas(originalBitmap); + b.drawBitmap(paintThumbBitmap[0] != null ? paintThumbBitmap[0] : bitmap, null, new Rect(0, 0, originalBitmap.getWidth(), originalBitmap.getHeight()), bitmapPaint); + size = ImageLoader.scaleAndSaveImage(originalBitmap, thumbSize, thumbSize, 70, false, 101, 101); + entry.thumbPath = FileLoader.getPathToAttach(size, true).toString(); + } + } else { + File f = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), SharedConfig.getLastLocalId() + "_temp.jpg"); + mergeThumbs(entry.thumbPath = f.getAbsolutePath(), entry.filterPath, null, paintThumbBitmap[0] != null ? paintThumbBitmap[0] : bitmap, false); } } + + SharedConfig.saveConfig(); + + entry.stickers = stickers; + if (savedFilterState != null) { + entry.savedFilterState = currentSavedFilterState = savedFilterState; + } + if (currentEditMode == 1) { + entry.isCropped = true; + cropItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); + } else if (currentEditMode == 2) { + entry.isFiltered = true; + tuneItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); + } else if (currentEditMode == 3) { + entry.isPainted = true; + paintItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); + } + if ((sendPhotoType == 0 || sendPhotoType == 4) && placeProvider != null) { placeProvider.updatePhotoAtIndex(currentIndex); if (!placeProvider.isPhotoChecked(currentIndex)) { @@ -4673,9 +6019,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat photoCropView.onDisappear(); } centerImage.setParentView(null); - centerImage.setOrientation(0, true); ignoreDidSetImage = true; - centerImage.setImageBitmap(bitmap); + if (!isCurrentVideo && currentEditMode != 3) { + centerImage.setImageBitmap(bitmap); + centerImage.setOrientation(0, true); + containerView.requestLayout(); + } ignoreDidSetImage = false; centerImage.setParentView(containerView); if (sendPhotoType == SELECT_TYPE_AVATAR) { @@ -4705,6 +6054,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat selectedPhotosListView.smoothScrollToPosition(num); } else { selectedPhotosAdapter.notifyItemRemoved(num); + if (num == 0) { + selectedPhotosAdapter.notifyItemChanged(0); + } } } updateSelectedCount(); @@ -4723,7 +6075,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void switchToEditMode(final int mode) { - if (currentEditMode == mode || centerImage.getBitmap() == null || changeModeAnimation != null || imageMoveAnimation != null || photoProgressViews[0].backgroundState != -1 || captionEditText.getTag() != null) { + if (currentEditMode == mode || (isCurrentVideo && photoProgressViews[0].backgroundState != 3) && !isCurrentVideo && (centerImage.getBitmap() == null || photoProgressViews[0].backgroundState != -1) || changeModeAnimation != null || imageMoveAnimation != null || captionEditText.getTag() != null) { return; } if (mode == 0) { // no edit mode @@ -4770,8 +6122,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else if (currentEditMode == 2) { photoFilterView.shutdown(); animators.add(ObjectAnimator.ofFloat(photoFilterView.getToolsView(), View.TRANSLATION_Y, AndroidUtilities.dp(186))); + animators.add(ObjectAnimator.ofFloat(photoFilterView.getCurveControl(), View.ALPHA, 0.0f)); + animators.add(ObjectAnimator.ofFloat(photoFilterView.getBlurControl(), View.ALPHA, 0.0f)); animators.add(ObjectAnimator.ofFloat(PhotoViewer.this, AnimationProperties.PHOTO_VIEWER_ANIMATION_VALUE, 0, 1)); } else if (currentEditMode == 3) { + paintingOverlay.showAll(); + containerView.invalidate(); photoPaintView.shutdown(); animators.add(ObjectAnimator.ofFloat(photoPaintView.getToolsView(), View.TRANSLATION_Y, AndroidUtilities.dp(126))); animators.add(ObjectAnimator.ofFloat(photoPaintView.getColorPicker(), View.TRANSLATION_Y, AndroidUtilities.dp(126))); @@ -4795,7 +6151,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat imageMoveAnimation = null; currentEditMode = mode; applying = false; - if (sendPhotoType != SELECT_TYPE_AVATAR) { + if (sendPhotoType == SELECT_TYPE_AVATAR) { + photoCropView.setVisibility(View.VISIBLE); + } else { animateToScale = 1; animateToX = 0; animateToY = 0; @@ -4812,7 +6170,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat arrayList.add(ObjectAnimator.ofFloat(actionBar, View.TRANSLATION_Y, 0)); } if (needCaptionLayout) { - arrayList.add(ObjectAnimator.ofFloat(captionTextView, View.TRANSLATION_Y, 0)); + arrayList.add(ObjectAnimator.ofFloat(captionTextViewSwitcher, View.TRANSLATION_Y, 0)); } if (sendPhotoType == 0 || sendPhotoType == 4) { arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.ALPHA, 1)); @@ -4824,6 +6182,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat cameraItem.setVisibility(View.VISIBLE); arrayList.add(ObjectAnimator.ofFloat(cameraItem, View.ALPHA, 1)); } + if (muteItem.getTag() != null) { + muteItem.setVisibility(View.VISIBLE); + arrayList.add(ObjectAnimator.ofFloat(muteItem, View.ALPHA, 1)); + } animatorSet.playTogether(arrayList); animatorSet.setDuration(200); animatorSet.addListener(new AnimatorListenerAdapter() { @@ -4833,7 +6195,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pickerViewSendButton.setVisibility(View.VISIBLE); actionBar.setVisibility(View.VISIBLE); if (needCaptionLayout) { - captionTextView.setVisibility(captionTextView.getTag() != null ? View.VISIBLE : View.INVISIBLE); + captionTextViewSwitcher.setVisibility(captionTextViewSwitcher.getTag() != null ? View.VISIBLE : View.INVISIBLE); } if (sendPhotoType == 0 || sendPhotoType == 4 || (sendPhotoType == 2 || sendPhotoType == 5) && imagesArrLocals.size() > 1) { checkImageView.setVisibility(View.VISIBLE); @@ -4856,11 +6218,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat changeModeAnimation = new AnimatorSet(); ArrayList arrayList = new ArrayList<>(); - arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); - arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); + arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); + arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); arrayList.add(ObjectAnimator.ofFloat(actionBar, View.TRANSLATION_Y, 0, -actionBar.getHeight())); if (needCaptionLayout) { - arrayList.add(ObjectAnimator.ofFloat(captionTextView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); + arrayList.add(ObjectAnimator.ofFloat(captionTextViewSwitcher, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); } if (sendPhotoType == 0 || sendPhotoType == 4) { arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.ALPHA, 1, 0)); @@ -4872,6 +6234,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (cameraItem.getTag() != null) { arrayList.add(ObjectAnimator.ofFloat(cameraItem, View.ALPHA, 1, 0)); } + if (muteItem.getTag() != null) { + arrayList.add(ObjectAnimator.ofFloat(muteItem, View.ALPHA, 1, 0)); + } changeModeAnimation.playTogether(arrayList); changeModeAnimation.setDuration(200); changeModeAnimation.addListener(new AnimatorListenerAdapter() { @@ -4881,6 +6246,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pickerView.setVisibility(View.GONE); pickerViewSendButton.setVisibility(View.GONE); cameraItem.setVisibility(View.GONE); + muteItem.setVisibility(View.GONE); selectedPhotosListView.setVisibility(View.GONE); selectedPhotosListView.setAlpha(0.0f); selectedPhotosListView.setTranslationY(-AndroidUtilities.dp(10)); @@ -4888,7 +6254,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat selectedPhotosListView.setEnabled(false); isPhotosListViewVisible = false; if (needCaptionLayout) { - captionTextView.setVisibility(View.INVISIBLE); + captionTextViewSwitcher.setVisibility(View.INVISIBLE); } if (sendPhotoType == 0 || sendPhotoType == 4 || (sendPhotoType == 2 || sendPhotoType == 5) && imagesArrLocals.size() > 1) { checkImageView.setVisibility(View.GONE); @@ -4897,7 +6263,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat final Bitmap bitmap = centerImage.getBitmap(); if (bitmap != null) { - photoCropView.setBitmap(bitmap, centerImage.getOrientation(), sendPhotoType != SELECT_TYPE_AVATAR, false); + photoCropView.setBitmap(bitmap, centerImage.getOrientation(), sendPhotoType != SELECT_TYPE_AVATAR, false, paintingOverlay); photoCropView.onDisappear(); int bitmapWidth = centerImage.getBitmapWidth(); int bitmapHeight = centerImage.getBitmapHeight(); @@ -4956,6 +6322,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat }); changeModeAnimation.start(); } else if (mode == 2) { // filter + if (isCurrentVideo && videoPlayer != null && !videoPlayer.isPlaying()) { + if (!muteVideo) { + videoPlayer.setVolume(0); + } + toggleVideoPlayer(); + } if (photoFilterView == null) { MediaController.SavedFilterState state = null; Bitmap bitmap; @@ -4965,25 +6337,29 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat Object object = imagesArrLocals.get(currentIndex); if (object instanceof MediaController.PhotoEntry) { MediaController.PhotoEntry entry = (MediaController.PhotoEntry) object; - if (entry.imagePath == null) { - originalPath = entry.path; - state = entry.savedFilterState; - } orientation = entry.orientation; - } else if (object instanceof MediaController.SearchImage) { - MediaController.SearchImage entry = (MediaController.SearchImage) object; - state = entry.savedFilterState; - originalPath = entry.imageUrl; + } + MediaController.MediaEditState editState = (MediaController.MediaEditState) object; + state = editState.savedFilterState; + if (editState.croppedPath != null) { + originalPath = editState.croppedPath; + orientation = 0; + } else { + originalPath = editState.getPath(); } } - if (state == null) { - bitmap = centerImage.getBitmap(); - orientation = centerImage.getOrientation(); + if (videoTextureView != null) { + bitmap = null; } else { - bitmap = BitmapFactory.decodeFile(originalPath); + if (state == null) { + bitmap = centerImage.getBitmap(); + orientation = centerImage.getOrientation(); + } else { + bitmap = BitmapFactory.decodeFile(originalPath); + } } - photoFilterView = new PhotoFilterView(parentActivity, bitmap, orientation, state); + photoFilterView = new PhotoFilterView(parentActivity, videoTextureView != null ? (VideoEditTextureView) videoTextureView : null, bitmap, orientation, state, isCurrentVideo ? null : paintingOverlay); containerView.addView(photoFilterView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); photoFilterView.getDoneTextView().setOnClickListener(v -> { applyCurrentEditMode(); @@ -5009,8 +6385,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat changeModeAnimation = new AnimatorSet(); ArrayList arrayList = new ArrayList<>(); - arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); - arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); + arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); + arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); arrayList.add(ObjectAnimator.ofFloat(actionBar, View.TRANSLATION_Y, 0, -actionBar.getHeight())); if (sendPhotoType == 0 || sendPhotoType == 4) { arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.ALPHA, 1, 0)); @@ -5024,6 +6400,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (cameraItem.getTag() != null) { arrayList.add(ObjectAnimator.ofFloat(cameraItem, View.ALPHA, 1, 0)); } + if (muteItem.getTag() != null) { + arrayList.add(ObjectAnimator.ofFloat(muteItem, View.ALPHA, 1, 0)); + } changeModeAnimation.playTogether(arrayList); changeModeAnimation.setDuration(200); changeModeAnimation.addListener(new AnimatorListenerAdapter() { @@ -5034,6 +6413,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pickerViewSendButton.setVisibility(View.GONE); actionBar.setVisibility(View.GONE); cameraItem.setVisibility(View.GONE); + muteItem.setVisibility(View.GONE); + if (photoCropView != null) { + photoCropView.setVisibility(View.INVISIBLE); + } selectedPhotosListView.setVisibility(View.GONE); selectedPhotosListView.setAlpha(0.0f); selectedPhotosListView.setTranslationY(-AndroidUtilities.dp(10)); @@ -5041,7 +6424,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat selectedPhotosListView.setEnabled(false); isPhotosListViewVisible = false; if (needCaptionLayout) { - captionTextView.setVisibility(View.INVISIBLE); + captionTextViewSwitcher.setVisibility(View.INVISIBLE); } if (sendPhotoType == 0 || sendPhotoType == 4 || (sendPhotoType == 2 || sendPhotoType == 5) && imagesArrLocals.size() > 1) { checkImageView.setVisibility(View.GONE); @@ -5101,8 +6484,43 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat }); changeModeAnimation.start(); } else if (mode == 3) { + if (isCurrentVideo && videoPlayer != null && !videoPlayer.isPlaying()) { + if (!muteVideo) { + videoPlayer.setVolume(0); + } + toggleVideoPlayer(); + } if (photoPaintView == null) { - photoPaintView = new PhotoPaintView(parentActivity, centerImage.getBitmap(), centerImage.getOrientation()); + int w; + int h; + if (videoTextureView != null) { + VideoEditTextureView textureView = (VideoEditTextureView) videoTextureView; + w = textureView.getVideoWidth(); + h = textureView.getVideoHeight(); + while (w > 1280 || h > 1280) { + w /= 2; + h /= 2; + } + } else { + w = centerImage.getBitmapWidth(); + h = centerImage.getBitmapHeight(); + } + Bitmap bitmap = paintingOverlay.getBitmap(); + if (bitmap == null) { + bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); + } + photoPaintView = new PhotoPaintView(parentActivity, bitmap, isCurrentVideo ? null : centerImage.getBitmap(), centerImage.getOrientation(), currentMediaEntities, () -> paintingOverlay.hideBitmap()) { + @Override + protected void onOpenCloseStickersAlert(boolean open) { + if (videoPlayer != null) { + if (open) { + videoPlayer.pause(); + } else { + videoPlayer.play(); + } + } + } + }; containerView.addView(photoPaintView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); photoPaintView.getDoneTextView().setOnClickListener(v -> { applyCurrentEditMode(); @@ -5115,12 +6533,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat changeModeAnimation = new AnimatorSet(); ArrayList arrayList = new ArrayList<>(); - arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); - arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); + arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); + arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); arrayList.add(ObjectAnimator.ofFloat(actionBar, View.TRANSLATION_Y, 0, -actionBar.getHeight())); if (needCaptionLayout) { - arrayList.add(ObjectAnimator.ofFloat(captionTextView, View.TRANSLATION_Y, 0, AndroidUtilities.dp(96))); + arrayList.add(ObjectAnimator.ofFloat(captionTextViewSwitcher, View.TRANSLATION_Y, 0, AndroidUtilities.dp(isCurrentVideo ? 154 : 96))); } if (sendPhotoType == 0 || sendPhotoType == 4) { arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.ALPHA, 1, 0)); @@ -5134,6 +6552,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (cameraItem.getTag() != null) { arrayList.add(ObjectAnimator.ofFloat(cameraItem, View.ALPHA, 1, 0)); } + if (muteItem.getTag() != null) { + arrayList.add(ObjectAnimator.ofFloat(muteItem, View.ALPHA, 1, 0)); + } changeModeAnimation.playTogether(arrayList); changeModeAnimation.setDuration(200); changeModeAnimation.addListener(new AnimatorListenerAdapter() { @@ -5143,6 +6564,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pickerView.setVisibility(View.GONE); pickerViewSendButton.setVisibility(View.GONE); cameraItem.setVisibility(View.GONE); + muteItem.setVisibility(View.GONE); + if (photoCropView != null) { + photoCropView.setVisibility(View.INVISIBLE); + } selectedPhotosListView.setVisibility(View.GONE); selectedPhotosListView.setAlpha(0.0f); selectedPhotosListView.setTranslationY(-AndroidUtilities.dp(10)); @@ -5150,7 +6575,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat selectedPhotosListView.setEnabled(false); isPhotosListViewVisible = false; if (needCaptionLayout) { - captionTextView.setVisibility(View.INVISIBLE); + captionTextViewSwitcher.setVisibility(View.INVISIBLE); } if (sendPhotoType == 0 || sendPhotoType == 4 || (sendPhotoType == 2 || sendPhotoType == 5) && imagesArrLocals.size() > 1) { checkImageView.setVisibility(View.GONE); @@ -5192,6 +6617,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public void onAnimationEnd(Animator animation) { photoPaintView.init(); + paintingOverlay.hideEntities(); imageMoveAnimation = null; currentEditMode = mode; animateToScale = 1; @@ -5216,14 +6642,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private void toggleCheckImageView(boolean show) { AnimatorSet animatorSet = new AnimatorSet(); ArrayList arrayList = new ArrayList<>(); + final float offsetY = AndroidUtilities.dpf2(24); arrayList.add(ObjectAnimator.ofFloat(pickerView, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(pickerView, View.TRANSLATION_Y, show ? 0.0f : offsetY)); arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.ALPHA, show ? 1.0f : 0.0f)); - if (needCaptionLayout) { - arrayList.add(ObjectAnimator.ofFloat(captionTextView, View.ALPHA, show ? 1.0f : 0.0f)); - } + arrayList.add(ObjectAnimator.ofFloat(pickerViewSendButton, View.TRANSLATION_Y, show ? 0.0f : offsetY)); if (sendPhotoType == 0 || sendPhotoType == 4) { arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(checkImageView, View.TRANSLATION_Y, show ? 0.0f : -offsetY)); arrayList.add(ObjectAnimator.ofFloat(photosCounterView, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(photosCounterView, View.TRANSLATION_Y, show ? 0.0f : -offsetY)); } animatorSet.playTogether(arrayList); animatorSet.setDuration(200); @@ -5259,6 +6687,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void toggleMiniProgress(final boolean show, final boolean animated) { + AndroidUtilities.cancelRunOnUIThread(miniProgressShowRunnable); if (animated) { toggleMiniProgressInternal(show); if (show) { @@ -5266,7 +6695,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat miniProgressAnimator.cancel(); miniProgressAnimator = null; } - AndroidUtilities.cancelRunOnUIThread(miniProgressShowRunnable); if (firstAnimationDelay) { firstAnimationDelay = false; toggleMiniProgressInternal(true); @@ -5274,7 +6702,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat AndroidUtilities.runOnUIThread(miniProgressShowRunnable, 500); } } else { - AndroidUtilities.cancelRunOnUIThread(miniProgressShowRunnable); if (miniProgressAnimator != null) { miniProgressAnimator.cancel(); toggleMiniProgressInternal(false); @@ -5290,6 +6717,19 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private void updateContainerFlags(boolean actionBarVisible) { + if (Build.VERSION.SDK_INT >= 21 && sendPhotoType != SELECT_TYPE_AVATAR && containerView != null) { + int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; + if (!actionBarVisible) { + flags |= View.SYSTEM_UI_FLAG_FULLSCREEN; + if (containerView.getPaddingLeft() > 0 || containerView.getPaddingRight() > 0) { + flags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + } + } + containerView.setSystemUiVisibility(flags); + } + } + private void toggleActionBar(final boolean show, final boolean animated) { if (actionBarAnimator != null) { actionBarAnimator.cancel(); @@ -5299,32 +6739,50 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (bottomLayout.getTag() != null) { bottomLayout.setVisibility(View.VISIBLE); } - if (captionTextView.getTag() != null) { - captionTextView.setVisibility(View.VISIBLE); + if (captionTextViewSwitcher.getTag() != null) { + captionTextViewSwitcher.setVisibility(View.VISIBLE); if (videoPreviewFrame != null) { videoPreviewFrame.requestLayout(); } } } isActionBarVisible = show; - if (Build.VERSION.SDK_INT >= 21 && sendPhotoType != SELECT_TYPE_AVATAR) { - int flags = View.SYSTEM_UI_FLAG_FULLSCREEN | (containerView.getPaddingLeft() > 0 || containerView.getPaddingRight() > 0 ? (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) : 0); - if (show) { - containerView.setSystemUiVisibility(containerView.getSystemUiVisibility() & ~flags); - } else { - containerView.setSystemUiVisibility(containerView.getSystemUiVisibility() | flags); - } + updateContainerFlags(show); + + if (videoPlayerControlVisible && isPlaying && show) { + AndroidUtilities.runOnUIThread(hideActionBarRunnable, 3000); + } else { + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); } + final float offsetY = AndroidUtilities.dpf2(24); + if (animated) { ArrayList arrayList = new ArrayList<>(); arrayList.add(ObjectAnimator.ofFloat(actionBar, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(actionBar, View.TRANSLATION_Y, show ? 0 : -offsetY)); if (bottomLayout != null) { arrayList.add(ObjectAnimator.ofFloat(bottomLayout, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(bottomLayout, View.TRANSLATION_Y, show ? 0 : offsetY)); + } + if (videoPlayerControlVisible) { + arrayList.add(ObjectAnimator.ofFloat(videoPlayerControlFrameLayout, VPC_PROGRESS, show ? 1.0f : 0.0f)); + } else { + videoPlayerControlFrameLayout.setProgress(show ? 1.0f : 0.0f); } arrayList.add(ObjectAnimator.ofFloat(groupedPhotosListView, View.ALPHA, show ? 1.0f : 0.0f)); - if (captionTextView.getTag() != null) { - arrayList.add(ObjectAnimator.ofFloat(captionTextView, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(groupedPhotosListView, View.TRANSLATION_Y, show ? 0 : offsetY)); + if (!needCaptionLayout && captionScrollView != null) { + arrayList.add(ObjectAnimator.ofFloat(captionScrollView, View.ALPHA, show ? 1.0f : 0.0f)); + arrayList.add(ObjectAnimator.ofFloat(captionScrollView, View.TRANSLATION_Y, show ? 0 : offsetY)); + } + if (videoPlayerControlVisible && isPlaying) { + final ValueAnimator anim = ValueAnimator.ofFloat(photoProgressViews[0].animAlphas[1], show ? 1.0f : 0.0f); + anim.addUpdateListener(a -> photoProgressViews[0].setIndexedAlpha(1, (float) a.getAnimatedValue(), false)); + arrayList.add(anim); + } + if (muteItem.getTag() != null) { + arrayList.add(ObjectAnimator.ofFloat(muteItem, View.ALPHA, show ? 1.0f : 0.0f)); } actionBarAnimator = new AnimatorSet(); actionBarAnimator.playTogether(arrayList); @@ -5338,8 +6796,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (bottomLayout.getTag() != null) { bottomLayout.setVisibility(View.INVISIBLE); } - if (captionTextView.getTag() != null) { - captionTextView.setVisibility(View.INVISIBLE); + if (captionTextViewSwitcher.getTag() != null) { + captionTextViewSwitcher.setVisibility(View.INVISIBLE); } } actionBarAnimator = null; @@ -5356,9 +6814,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat actionBarAnimator.start(); } else { actionBar.setAlpha(show ? 1.0f : 0.0f); + actionBar.setTranslationY(show ? 0 : -offsetY); bottomLayout.setAlpha(show ? 1.0f : 0.0f); + bottomLayout.setTranslationY(show ? 0 : offsetY); groupedPhotosListView.setAlpha(show ? 1.0f : 0.0f); - captionTextView.setAlpha(show ? 1.0f : 0.0f); + groupedPhotosListView.setTranslationY(show ? 0 : offsetY); + if (!needCaptionLayout && captionScrollView != null) { + captionScrollView.setAlpha(show ? 1.0f : 0.0f); + captionScrollView.setTranslationY(show ? 0 : offsetY); + } + videoPlayerControlFrameLayout.setProgress(show ? 1.0f : 0.0f); + if (muteItem.getTag() != null) { + muteItem.setAlpha(show ? 1.0f : 0.0f); + } + if (videoPlayerControlVisible && isPlaying) { + photoProgressViews[0].setIndexedAlpha(1, show ? 1f : 0f, false); + } } } @@ -5402,6 +6873,29 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private void toggleVideoPlayer() { + if (videoPlayer == null) { + return; + } + AndroidUtilities.cancelRunOnUIThread(hideActionBarRunnable); + if (isPlaying) { + videoPlayer.pause(); + } else { + if (isCurrentVideo) { + if (Math.abs(videoTimelineView.getProgress() - 1.0f) < 0.01f || videoPlayer.getCurrentPosition() == videoPlayer.getDuration()) { + videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoPlayer.getDuration())); + } + } else { + if (Math.abs(videoPlayerSeekbar.getProgress() - 1.0f) < 0.01f || videoPlayer.getCurrentPosition() == videoPlayer.getDuration()) { + videoPlayer.seekTo(0); + } + AndroidUtilities.runOnUIThread(hideActionBarRunnable, 1000); + } + videoPlayer.play(); + } + containerView.invalidate(); + } + private String getFileName(int index) { if (index < 0) { return null; @@ -5615,6 +7109,32 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } + private void setItemVisible(View itemView, boolean visible, boolean animate) { + setItemVisible(itemView, visible, animate, 1.0f); + } + + private void setItemVisible(View itemView, boolean visible, boolean animate, float maxAlpha) { + Boolean visibleNow = actionBarItemsVisibility.get(itemView); + if (visibleNow == null || visibleNow != visible) { + actionBarItemsVisibility.put(itemView, visible); + itemView.animate().cancel(); + final float alpha = (visible ? 1f : 0f) * maxAlpha; + if (animate && visibleNow != null) { + if (visible) { + itemView.setVisibility(View.VISIBLE); + } + itemView.animate().alpha(alpha).setDuration(100).setInterpolator(new LinearInterpolator()).withEndAction(() -> { + if (!visible) { + itemView.setVisibility(View.GONE); + } + }).start(); + } else { + itemView.setVisibility(visible ? View.VISIBLE : View.GONE); + itemView.setAlpha(alpha); + } + } + } + private void onPhotoShow(final MessageObject messageObject, final TLRPC.FileLocation fileLocation, ImageLocation imageLocation, final ArrayList messages, final ArrayList documents, final ArrayList photos, int index, final PlaceProviderObject object) { classGuid = ConnectionsManager.generateClassGuid(); currentMessageObject = null; @@ -5639,6 +7159,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat opennedFromMedia = false; needCaptionLayout = false; containerView.setTag(1); + playerAutoStarted = false; isCurrentVideo = false; imagesArr.clear(); imagesArrLocations.clear(); @@ -5661,14 +7182,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat sharedMediaType = MediaDataController.MEDIA_PHOTOVIDEO; allMediaItem.setText(LocaleController.getString("ShowAllMedia", R.string.ShowAllMedia)); menuItem.setVisibility(View.VISIBLE); - sendItem.setVisibility(View.GONE); - pipItem.setVisibility(View.GONE); + setItemVisible(sendItem, false, false); + setItemVisible(pipItem, false, true); cameraItem.setVisibility(View.GONE); cameraItem.setTag(null); bottomLayout.setVisibility(View.VISIBLE); bottomLayout.setTag(1); bottomLayout.setTranslationY(0); - captionTextView.setTranslationY(0); + captionTextViewSwitcher.setTranslationY(0); shareButton.setVisibility(View.GONE); if (qualityChooseView != null) { qualityChooseView.setVisibility(View.INVISIBLE); @@ -5689,12 +7210,15 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat menuItem.hideSubItem(gallery_menu_share); menuItem.hideSubItem(gallery_menu_openin); menuItem.hideSubItem(gallery_menu_savegif); + menuItem.hideSubItem(gallery_menu_masks2); actionBar.setTranslationY(0); checkImageView.setAlpha(1.0f); + checkImageView.setTranslationY(0.0f); checkImageView.setVisibility(View.GONE); actionBar.setTitleRightMargin(0); photosCounterView.setAlpha(1.0f); + photosCounterView.setTranslationY(0.0f); photosCounterView.setVisibility(View.GONE); pickerView.setVisibility(View.GONE); @@ -5705,8 +7229,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pickerView.setTranslationY(0); paintItem.setVisibility(View.GONE); + paintItem.setTag(null); cropItem.setVisibility(View.GONE); tuneItem.setVisibility(View.GONE); + tuneItem.setTag(null); timeItem.setVisibility(View.GONE); rotateItem.setVisibility(View.GONE); @@ -5718,13 +7244,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat captionEditText.setVisibility(View.GONE); mentionListView.setVisibility(View.GONE); muteItem.setVisibility(View.GONE); + muteItem.setTag(null); actionBar.setSubtitle(null); - masksItem.setVisibility(View.GONE); + setItemVisible(masksItem, false, true); muteVideo = false; - muteItem.setImageResource(R.drawable.volume_on); + muteItem.setImageResource(R.drawable.video_send_unmute); editorDoneLayout.setVisibility(View.GONE); - captionTextView.setTag(null); - captionTextView.setVisibility(View.INVISIBLE); + captionTextViewSwitcher.setTag(null); + captionTextViewSwitcher.setVisibility(View.INVISIBLE); if (photoCropView != null) { photoCropView.setVisibility(View.GONE); } @@ -5734,7 +7261,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat for (int a = 0; a < 3; a++) { if (photoProgressViews[a] != null) { - photoProgressViews[a].setBackgroundState(-1, false); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, false); } } @@ -5767,7 +7294,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (idx < 0) { idx = 0; } - setImageIndex(idx, true); + setImageIndex(idx); } } } @@ -5785,19 +7312,21 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat needSearchImageInArr = false; } else if (currentAnimation != null) { needSearchImageInArr = false; - sendItem.setVisibility(View.VISIBLE); + if (messageObject.canForwardMessage()) { + setItemVisible(sendItem, true, false); + } } else if (!messageObject.scheduled && !(messageObject.messageOwner.media instanceof TLRPC.TL_messageMediaInvoice) && !(messageObject.messageOwner.media instanceof TLRPC.TL_messageMediaWebPage) && (messageObject.messageOwner.action == null || messageObject.messageOwner.action instanceof TLRPC.TL_messageActionEmpty)) { needSearchImageInArr = true; imagesByIds[0].put(messageObject.getId(), messageObject); menuItem.showSubItem(gallery_menu_showinchat); menuItem.showSubItem(gallery_menu_showall); - sendItem.setVisibility(View.VISIBLE); + setItemVisible(sendItem, true, false); } - setImageIndex(0, true); + setImageIndex(0); } } else if (documents != null) { secureDocuments.addAll(documents); - setImageIndex(index, true); + setImageIndex(index); } else if (fileLocation != null) { avatarsDialogId = object.dialogId; if (imageLocation == null) { @@ -5816,7 +7345,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat currentUserAvatarLocation = imageLocation; imagesArrLocationsSizes.add(object.size); avatarsArr.add(new TLRPC.TL_photoEmpty()); - shareButton.setVisibility(videoPlayerControlFrameLayout.getVisibility() != View.VISIBLE ? View.VISIBLE : View.GONE); + shareButton.setVisibility(!videoPlayerControlVisible ? View.VISIBLE : View.GONE); allowShare = true; menuItem.hideSubItem(gallery_menu_showall); if (shareButton.getVisibility() == View.VISIBLE) { @@ -5824,7 +7353,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { menuItem.showSubItem(gallery_menu_share); } - setImageIndex(0, true); + setImageIndex(0); } else if (messages != null) { imagesArr.addAll(messages); for (int a = 0; a < imagesArr.size(); a++) { @@ -5835,7 +7364,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (!openingObject.scheduled) { opennedFromMedia = true; menuItem.showSubItem(gallery_menu_showinchat); - sendItem.setVisibility(View.VISIBLE); + if (openingObject.canForwardMessage()) { + setItemVisible(sendItem, true, false); + } if (openingObject.canPreviewDocument()) { sharedMediaType = MediaDataController.MEDIA_FILE; allMediaItem.setText(LocaleController.getString("ShowAllFiles", R.string.ShowAllFiles)); @@ -5846,7 +7377,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { totalImagesCount = imagesArr.size(); } - setImageIndex(index, true); + setImageIndex(index); } else if (photos != null) { if (sendPhotoType == 0 || sendPhotoType == 4 || (sendPhotoType == 2 || sendPhotoType == 5) && photos.size() > 1) { checkImageView.setVisibility(View.VISIBLE); @@ -5908,13 +7439,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat bottomLayout.setVisibility(View.GONE); bottomLayout.setTag(null); containerView.setTag(null); - setImageIndex(index, true); + setImageIndex(index); if (sendPhotoType == SELECT_TYPE_AVATAR) { paintItem.setVisibility(View.VISIBLE); tuneItem.setVisibility(View.VISIBLE); } else if (sendPhotoType != 4 && sendPhotoType != 5) { - paintItem.setVisibility(cropItem.getVisibility()); - tuneItem.setVisibility(cropItem.getVisibility()); + paintItem.setVisibility(paintItem.getTag() != null ? View.VISIBLE : View.GONE); + tuneItem.setVisibility(tuneItem.getTag() != null ? View.VISIBLE : View.GONE); } else { paintItem.setVisibility(View.GONE); tuneItem.setVisibility(View.GONE); @@ -5933,6 +7464,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } if (currentMessageObject != null && currentMessageObject.isVideo() || currentBotInlineResult != null && (currentBotInlineResult.type.equals("video") || MessageObject.isVideoDocument(currentBotInlineResult.document))) { + playerAutoStarted = true; onActionClick(false); } else if (!imagesArrLocals.isEmpty()) { Object entry = imagesArrLocals.get(index); @@ -5942,10 +7474,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (entry instanceof TLRPC.BotInlineResult) { allowTimeItem = false; } else if (entry instanceof MediaController.PhotoEntry) { - MediaController.PhotoEntry photoEntry = ((MediaController.PhotoEntry) entry); - if (photoEntry.isVideo) { - preparePlayer(Uri.fromFile(new File(photoEntry.path)), false, false); - } + } else if (allowTimeItem && entry instanceof MediaController.SearchImage) { allowTimeItem = ((MediaController.SearchImage) entry).type == 0; } @@ -5972,7 +7501,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } - private void setIsAboutToSwitchToIndex(int index, boolean init) { + private void setIsAboutToSwitchToIndex(int index, boolean init, boolean animateCaption) { if (!init && switchingToIndex == index) { return; } @@ -5992,16 +7521,15 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat isVideo = newMessageObject.isVideo(); boolean isInvoice = newMessageObject.isInvoice(); if (isInvoice) { - masksItem.setVisibility(View.GONE); + setItemVisible(masksItem, false, true); menuItem.hideSubItem(gallery_menu_delete); menuItem.hideSubItem(gallery_menu_openin); caption = newMessageObject.messageOwner.media.description; allowShare = false; bottomLayout.setTranslationY(AndroidUtilities.dp(48)); - captionTextView.setTranslationY(AndroidUtilities.dp(48)); + captionTextViewSwitcher.setTranslationY(AndroidUtilities.dp(48)); } else { - masksItem.setVisibility(newMessageObject.hasPhotoStickers() && (int) newMessageObject.getDialogId() != 0 ? View.VISIBLE : View.GONE); - if (newMessageObject.isNewGif()) { + if (newMessageObject.isNewGif() && ((int) currentDialogId) != 0) { menuItem.showSubItem(gallery_menu_savegif); } if (newMessageObject.canDeleteMessage(parentChatActivity != null && parentChatActivity.isInScheduleMode(), null) && slideshowMessageId == 0) { @@ -6011,52 +7539,67 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (isVideo) { menuItem.showSubItem(gallery_menu_openin); - if (pipItem.getVisibility() != View.VISIBLE) { - pipItem.setVisibility(View.VISIBLE); + final boolean masksItemVisible = masksItem.getVisibility() == View.VISIBLE; + if (masksItemVisible) { + setItemVisible(masksItem, false, false); } if (!pipAvailable) { pipItem.setEnabled(false); - pipItem.setAlpha(0.5f); + setItemVisible(pipItem, true, !masksItemVisible, 0.5f); + } else { + setItemVisible(pipItem, true, !masksItemVisible); + } + if (newMessageObject.hasAttachedStickers() && (int) newMessageObject.getDialogId() != 0) { + menuItem.showSubItem(gallery_menu_masks2); + } else { + menuItem.hideSubItem(gallery_menu_masks2); } } else { menuItem.hideSubItem(gallery_menu_openin); - if (pipItem.getVisibility() != View.GONE) { - pipItem.setVisibility(View.GONE); + final boolean pipItemVisible = pipItem.getVisibility() == View.VISIBLE; + final boolean shouldMasksItemBeVisible = newMessageObject.hasAttachedStickers() && (int) newMessageObject.getDialogId() != 0; + if (pipItemVisible) { + setItemVisible(pipItem, false, !shouldMasksItemBeVisible); } + setItemVisible(masksItem, shouldMasksItemBeVisible, !pipItemVisible); } - if (nameOverride != null) { - nameTextView.setText(nameOverride); - } else { - if (newMessageObject.isFromUser()) { - TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(newMessageObject.messageOwner.from_id); - if (user != null) { - nameTextView.setText(UserObject.getUserName(user)); - } else { - nameTextView.setText(""); - } + final boolean shouldAutoPlayed = shouldMessageObjectAutoPlayed(newMessageObject); + if (!shouldAutoPlayed) { + final boolean animated = !playerWasPlaying; + if (nameOverride != null) { + nameTextView.setText(nameOverride); } else { - TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(newMessageObject.messageOwner.to_id.channel_id); - if (ChatObject.isChannel(chat) && chat.megagroup && newMessageObject.isForwardedChannelPost()) { - chat = MessagesController.getInstance(currentAccount).getChat(newMessageObject.messageOwner.fwd_from.channel_id); - } - if (chat != null) { - nameTextView.setText(chat.title); + if (newMessageObject.isFromUser()) { + TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(newMessageObject.messageOwner.from_id); + if (user != null) { + nameTextView.setText(UserObject.getUserName(user), animated); + } else { + nameTextView.setText("", animated); + } } else { - nameTextView.setText(""); + TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(newMessageObject.messageOwner.to_id.channel_id); + if (ChatObject.isChannel(chat) && chat.megagroup && newMessageObject.isForwardedChannelPost()) { + chat = MessagesController.getInstance(currentAccount).getChat(newMessageObject.messageOwner.fwd_from.channel_id); + } + if (chat != null) { + nameTextView.setText(chat.title, animated); + } else { + nameTextView.setText("", animated); + } } } - } - long date; - if (dateOverride != 0) { - date = (long) dateOverride * 1000; - } else { - date = (long) newMessageObject.messageOwner.date * 1000; - } - String dateString = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, LocaleController.getInstance().formatterYear.format(new Date(date)), LocaleController.getInstance().formatterDay.format(new Date(date))); - if (newFileName != null && isVideo) { - dateTextView.setText(String.format("%s (%s)", dateString, AndroidUtilities.formatFileSize(newMessageObject.getDocument().size))); - } else { - dateTextView.setText(dateString); + long date; + if (dateOverride != 0) { + date = (long) dateOverride * 1000; + } else { + date = (long) newMessageObject.messageOwner.date * 1000; + } + String dateString = LocaleController.formatString("formatDateAtTime", R.string.formatDateAtTime, LocaleController.getInstance().formatterYear.format(new Date(date)), LocaleController.getInstance().formatterDay.format(new Date(date))); + if (newFileName != null && isVideo) { + dateTextView.setText(String.format("%s (%s)", dateString, AndroidUtilities.formatFileSize(newMessageObject.getDocument().size)), animated); + } else { + dateTextView.setText(dateString, animated); + } } caption = newMessageObject.caption; } @@ -6083,7 +7626,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } - MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 80, loadFromMaxId, sharedMediaType, 1, classGuid); + MediaDataController.getInstance(currentAccount).loadMedia(loadIndex == 0 ? currentDialogId : mergeDialogId, 40, loadFromMaxId, sharedMediaType, 1, classGuid); loadingMoreImages = true; } actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, switchingToIndex + 1, totalImagesCount + totalImagesCountMerge)); @@ -6119,7 +7662,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat actionBar.setTitle(LocaleController.getString("AttachDocument", R.string.AttachDocument)); } if ((int) currentDialogId == 0) { - sendItem.setVisibility(View.GONE); + setItemVisible(sendItem, false, false); } if (newMessageObject.messageOwner.ttl != 0 && newMessageObject.messageOwner.ttl < 60 * 60) { allowShare = false; @@ -6129,7 +7672,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { allowShare = true; menuItem.showSubItem(gallery_menu_save); - shareButton.setVisibility(videoPlayerControlFrameLayout.getVisibility() != View.VISIBLE ? View.VISIBLE : View.GONE); + shareButton.setVisibility(!videoPlayerControlVisible ? View.VISIBLE : View.GONE); if (shareButton.getVisibility() == View.VISIBLE) { menuItem.hideSubItem(gallery_menu_share); } else { @@ -6162,7 +7705,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } menuItem.showSubItem(gallery_menu_save); allowShare = true; - shareButton.setVisibility(videoPlayerControlFrameLayout.getVisibility() != View.VISIBLE ? View.VISIBLE : View.GONE); + shareButton.setVisibility(!videoPlayerControlVisible ? View.VISIBLE : View.GONE); if (shareButton.getVisibility() == View.VISIBLE) { menuItem.hideSubItem(gallery_menu_share); } else { @@ -6186,20 +7729,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat isVideo = botInlineResult.type.equals("video"); } } else { - String pathObject = null; boolean isAnimation = false; if (object instanceof MediaController.PhotoEntry) { MediaController.PhotoEntry photoEntry = ((MediaController.PhotoEntry) object); - pathObject = photoEntry.path; + currentPathObject = photoEntry.path; isVideo = photoEntry.isVideo; } else if (object instanceof MediaController.SearchImage) { MediaController.SearchImage searchImage = (MediaController.SearchImage) object; - pathObject = searchImage.getPathToAttach(); + currentPathObject = searchImage.getPathToAttach(); if (searchImage.type == 1) { isAnimation = true; } } if (isVideo) { + if (!isCurrentVideo) { + animateCaption = false; + } isCurrentVideo = true; updateAccessibilityOverlayVisibility(); boolean isMuted = false; @@ -6213,38 +7758,59 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat end = photoEntry.editedInfo.end; } } - processOpenVideo(pathObject, isMuted, start, end); + processOpenVideo(currentPathObject, isMuted, start, end); if (isDocumentsPicker) { videoTimelineView.setVisibility(View.GONE); muteItem.setVisibility(View.GONE); + muteItem.setTag(null); compressItem.setVisibility(View.GONE); } else { videoTimelineView.setVisibility(View.VISIBLE); muteItem.setVisibility(View.VISIBLE); + muteItem.setTag(1); compressItem.setVisibility(View.VISIBLE); } - paintItem.setVisibility(View.GONE); cropItem.setVisibility(View.GONE); - tuneItem.setVisibility(View.GONE); + if (isDocumentsPicker || Build.VERSION.SDK_INT < 18) { + tuneItem.setVisibility(View.GONE); + tuneItem.setTag(null); + paintItem.setVisibility(View.GONE); + paintItem.setTag(null); + } else { + tuneItem.setVisibility(View.VISIBLE); + tuneItem.setTag(1); + paintItem.setVisibility(View.VISIBLE); + paintItem.setTag(1); + } rotateItem.setVisibility(View.GONE); } else { videoTimelineView.setVisibility(View.GONE); muteItem.setVisibility(View.GONE); + muteItem.setTag(null); + if (isCurrentVideo) { + animateCaption = false; + } isCurrentVideo = false; updateAccessibilityOverlayVisibility(); compressItem.setVisibility(View.GONE); if (isAnimation || sendPhotoType == SELECT_TYPE_QR || isDocumentsPicker) { paintItem.setVisibility(View.GONE); + paintItem.setTag(null); cropItem.setVisibility(View.GONE); rotateItem.setVisibility(View.GONE); tuneItem.setVisibility(View.GONE); + tuneItem.setTag(null); } else { if (sendPhotoType == 4 || sendPhotoType == 5) { paintItem.setVisibility(View.GONE); + paintItem.setTag(null); tuneItem.setVisibility(View.GONE); + tuneItem.setTag(null); } else { paintItem.setVisibility(View.VISIBLE); + paintItem.setTag(1); tuneItem.setVisibility(View.VISIBLE); + tuneItem.setTag(1); } cropItem.setVisibility(sendPhotoType != SELECT_TYPE_AVATAR ? View.VISIBLE : View.GONE); rotateItem.setVisibility(sendPhotoType != SELECT_TYPE_AVATAR ? View.GONE : View.VISIBLE); @@ -6307,7 +7873,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat cropItem.setColorFilter(isCropped ? filter : null); tuneItem.setColorFilter(isFiltered ? filter : null); } - setCurrentCaption(newMessageObject, caption, !init); + setCurrentCaption(newMessageObject, caption, animateCaption); } private TLRPC.FileLocation getFileLocation(ImageLocation location) { @@ -6317,7 +7883,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return location.location; } - private void setImageIndex(int index, boolean init) { + private void setImageIndex(int index) { + setImageIndex(index, true, false); + } + + private void setImageIndex(int index, boolean init, boolean animateCaption) { if (currentIndex == index || placeProvider == null) { return; } @@ -6335,11 +7905,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat int prevIndex = currentIndex; currentIndex = index; - setIsAboutToSwitchToIndex(currentIndex, init); + setIsAboutToSwitchToIndex(currentIndex, init, animateCaption); boolean isVideo = false; boolean sameImage = false; Uri videoPath = null; + MediaController.SavedFilterState savedFilterState = null; + currentPaintPath = null; + currentMediaEntities = null; if (!imagesArr.isEmpty()) { if (currentIndex < 0 || currentIndex >= imagesArr.size()) { @@ -6403,6 +7976,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat return; } isVideo = entry.isVideo; + savedFilterState = entry.savedFilterState; + currentPaintPath = entry.paintPath; + currentAverageDuration = entry.averageDuration; + currentMediaEntities = entry.mediaEntities; File file = new File(entry.path); videoPath = Uri.fromFile(file); if (isDocumentsPicker) { @@ -6432,6 +8009,20 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else if (object instanceof MediaController.SearchImage) { MediaController.SearchImage searchImage = (MediaController.SearchImage) object; currentPathObject = searchImage.getPathToAttach(); + savedFilterState = searchImage.savedFilterState; + currentPaintPath = searchImage.paintPath; + currentAverageDuration = searchImage.averageDuration; + currentMediaEntities = searchImage.mediaEntities; + } + if (object instanceof MediaController.MediaEditState) { + MediaController.MediaEditState state = (MediaController.MediaEditState) object; + if (state.filterPath != null) { + currentImagePath = state.filterPath; + } else if (state.croppedPath != null) { + currentImagePath = state.croppedPath; + } else { + currentImagePath = currentPathObject; + } } } } @@ -6477,6 +8068,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat moveStartY = 0; zooming = false; moving = false; + paintViewTouched = 0; doubleTap = false; invalidCoords = false; canDragDown = true; @@ -6490,7 +8082,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (isVideo && videoPath != null) { isStreaming = false; - preparePlayer(videoPath, false, false); + preparePlayer(videoPath, false, false, savedFilterState); + } + + if (!imagesArrLocals.isEmpty()) { + paintingOverlay.setVisibility(View.VISIBLE); + paintingOverlay.setData(currentPaintPath, currentMediaEntities, isCurrentVideo, false); + } else { + paintingOverlay.setVisibility(View.GONE); + currentPaintPath = null; + currentMediaEntities = null; } if (prevIndex == -1) { @@ -6533,36 +8134,194 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat private void setCurrentCaption(MessageObject messageObject, final CharSequence caption, boolean animated) { if (needCaptionLayout) { - if (captionTextView.getParent() != pickerView) { - captionTextView.setBackgroundDrawable(null); - containerView.removeView(captionTextView); - pickerView.addView(captionTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 76, 48)); + if (captionTextViewSwitcher.getParent() != pickerView) { + if (captionContainer != null) { + captionContainer.removeView(captionTextViewSwitcher); + } + captionTextViewSwitcher.setMeasureAllChildren(false); + pickerView.addView(captionTextViewSwitcher, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 76, 48)); } } else { - if (captionTextView.getParent() != containerView) { - captionTextView.setBackgroundColor(0x7f000000); - pickerView.removeView(captionTextView); - containerView.addView(captionTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT, 0, 0, 0, 48)); + if (captionScrollView == null) { + captionScrollView = new CaptionScrollView(containerView.getContext()); + captionContainer = new FrameLayout(containerView.getContext()); + captionContainer.setClipChildren(false); + captionScrollView.addView(captionContainer, new ViewGroup.LayoutParams(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT)); + containerView.addView(captionScrollView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.BOTTOM)); + } + if (captionTextViewSwitcher.getParent() != captionContainer) { + pickerView.removeView(captionTextViewSwitcher); + captionTextViewSwitcher.setMeasureAllChildren(true); + captionContainer.addView(captionTextViewSwitcher, LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT); + videoPreviewFrame.bringToFront(); } } + + final boolean isCaptionEmpty = TextUtils.isEmpty(caption); + final boolean isCurrentCaptionEmpty = TextUtils.isEmpty(captionTextViewSwitcher.getCurrentView().getText()); + + TextView captionTextView = animated ? captionTextViewSwitcher.getNextView() : captionTextViewSwitcher.getCurrentView(); + if (isCurrentVideo) { if (captionTextView.getMaxLines() != 1) { - captionTextView.setMaxLines(1); - } - if (!isSingleLine) { - captionTextView.setSingleLine(isSingleLine = true); + captionTextViewSwitcher.getCurrentView().setMaxLines(1); + captionTextViewSwitcher.getNextView().setMaxLines(1); + captionTextViewSwitcher.getCurrentView().setSingleLine(true); + captionTextViewSwitcher.getNextView().setSingleLine(true); + captionTextViewSwitcher.getCurrentView().setEllipsize(TextUtils.TruncateAt.END); + captionTextViewSwitcher.getNextView().setEllipsize(TextUtils.TruncateAt.END); } } else { - if (isSingleLine) { - captionTextView.setSingleLine(isSingleLine = false); + final int maxLines = captionTextView.getMaxLines(); + if (maxLines == 1) { + captionTextViewSwitcher.getCurrentView().setSingleLine(false); + captionTextViewSwitcher.getNextView().setSingleLine(false); } - int newCount = AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y ? 5 : 10; - if (captionTextView.getMaxLines() != newCount) { - captionTextView.setMaxLines(newCount); + final int newCount; + if (needCaptionLayout) { + newCount = AndroidUtilities.displaySize.x > AndroidUtilities.displaySize.y ? 5 : 10; + } else { + newCount = Integer.MAX_VALUE; + } + if (maxLines != newCount) { + captionTextViewSwitcher.getCurrentView().setMaxLines(newCount); + captionTextViewSwitcher.getNextView().setMaxLines(newCount); + captionTextViewSwitcher.getCurrentView().setEllipsize(null); + captionTextViewSwitcher.getNextView().setEllipsize(null); } } - boolean wasVisisble = captionTextView.getTag() != null; - if (!TextUtils.isEmpty(caption)) { + + captionTextView.setScrollX(0); + dontChangeCaptionPosition = !needCaptionLayout && animated && isCaptionEmpty; + boolean withTransition = false; + + if (!needCaptionLayout) { + captionScrollView.dontChangeTopMargin = false; + } + + if (animated && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + withTransition = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + TransitionManager.endTransitions(needCaptionLayout ? pickerView : captionScrollView); + } + if (needCaptionLayout) { + final TransitionSet transitionSet = new TransitionSet(); + transitionSet.setOrdering(TransitionSet.ORDERING_TOGETHER); + transitionSet.addTransition(new ChangeBounds()); + transitionSet.addTransition(new Fade(Fade.OUT)); + transitionSet.addTransition(new Fade(Fade.IN)); + transitionSet.setDuration(200); + TransitionManager.beginDelayedTransition(pickerView, transitionSet); + } else { + final TransitionSet transition = new TransitionSet() + .addTransition(new Fade(Fade.OUT) { + @Override + public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) { + final Animator animator = super.onDisappear(sceneRoot, view, startValues, endValues); + if (!isCurrentCaptionEmpty && isCaptionEmpty && view == captionTextViewSwitcher) { + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + captionScrollView.setVisibility(View.INVISIBLE); + captionScrollView.backgroundAlpha = 1f; + } + }); + ((ObjectAnimator) animator).addUpdateListener(animation -> { + captionScrollView.backgroundAlpha = (float) animation.getAnimatedValue(); + captionScrollView.invalidate(); + }); + } + return animator; + } + }) + .addTransition(new Fade(Fade.IN) { + @Override + public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) { + final Animator animator = super.onAppear(sceneRoot, view, startValues, endValues); + if (isCurrentCaptionEmpty && !isCaptionEmpty && view == captionTextViewSwitcher) { + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + captionScrollView.backgroundAlpha = 1f; + } + }); + ((ObjectAnimator) animator).addUpdateListener(animation -> { + captionScrollView.backgroundAlpha = (float) animation.getAnimatedValue(); + captionScrollView.invalidate(); + }); + } + return animator; + } + }) + .setDuration(200); + + if (!isCurrentCaptionEmpty) { + captionScrollView.dontChangeTopMargin = true; + transition.addTransition(new Transition() { + @Override + public void captureStartValues(TransitionValues transitionValues) { + if (transitionValues.view == captionScrollView) { + transitionValues.values.put("scrollY", captionScrollView.getScrollY()); + } + } + + @Override + public void captureEndValues(TransitionValues transitionValues) { + if (transitionValues.view == captionTextViewSwitcher) { + transitionValues.values.put("translationY", captionScrollView.getPendingMarginTopDiff()); + } + } + + @Override + public Animator createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) { + if (startValues.view == captionScrollView) { + final ValueAnimator animator = ValueAnimator.ofInt((Integer) startValues.values.get("scrollY"), 0); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + captionTextViewSwitcher.getNextView().setText(null); + captionScrollView.applyPendingTopMargin(); + } + + @Override + public void onAnimationStart(Animator animation) { + captionScrollView.stopScrolling(); + } + }); + animator.addUpdateListener(a -> captionScrollView.scrollTo(0, (Integer) a.getAnimatedValue())); + return animator; + } else if (endValues.view == captionTextViewSwitcher) { + final int endValue = (int) endValues.values.get("translationY"); + if (endValue != 0) { + final ObjectAnimator animator = ObjectAnimator.ofFloat(captionTextViewSwitcher, View.TRANSLATION_Y, 0, endValue); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + captionTextViewSwitcher.setTranslationY(0); + } + }); + return animator; + } + } + return null; + } + }); + } + + if (isCurrentCaptionEmpty && !isCaptionEmpty) { + transition.addTarget(captionTextViewSwitcher); + } + + TransitionManager.beginDelayedTransition(captionScrollView, transition); + } + } else { + captionTextViewSwitcher.getCurrentView().setText(null); + if (captionScrollView != null) { + captionScrollView.scrollTo(0, 0); + } + } + + if (!isCaptionEmpty) { Theme.createChatResources(null, true); CharSequence str; if (messageObject != null && !messageObject.messageOwner.entities.isEmpty()) { @@ -6575,94 +8334,41 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { str = Emoji.replaceEmoji(new SpannableStringBuilder(caption), captionTextView.getPaint().getFontMetricsInt(), AndroidUtilities.dp(20), false); } - captionTextView.setTag(str); - if (currentCaptionAnimation != null) { - currentCaptionAnimation.cancel(); - currentCaptionAnimation = null; - } - /*if (animated) { - TextView temp = switchCaptionTextView; - switchCaptionTextView = captionTextView; - captionTextView = temp; - try { - switchCaptionTextView.setText(str); - } catch (Exception e) { - FileLog.e(e); - } - }*/ + captionTextViewSwitcher.setTag(str); try { - captionTextView.setText(str); + captionTextViewSwitcher.setText(str, animated); + captionScrollView.updateTopMargin(); } catch (Exception e) { FileLog.e(e); } captionTextView.setScrollY(0); captionTextView.setTextColor(0xffffffff); boolean visible = isActionBarVisible && (bottomLayout.getVisibility() == View.VISIBLE || pickerView.getVisibility() == View.VISIBLE); - if (visible) { - captionTextView.setVisibility(View.VISIBLE); - if (animated && !wasVisisble) { - currentCaptionAnimation = new AnimatorSet(); - currentCaptionAnimation.setDuration(200); - currentCaptionAnimation.setInterpolator(decelerateInterpolator); - currentCaptionAnimation.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (animation.equals(currentCaptionAnimation)) { - currentCaptionAnimation = null; - } - } - }); - currentCaptionAnimation.playTogether( - ObjectAnimator.ofFloat(captionTextView, View.ALPHA, 0.0f, 1.0f), - ObjectAnimator.ofFloat(captionTextView, View.TRANSLATION_Y, AndroidUtilities.dp(5), 0.0f)); - currentCaptionAnimation.start(); - } else { - captionTextView.setAlpha(1.0f); - } - } else if (captionTextView.getVisibility() == View.VISIBLE) { - captionTextView.setVisibility(View.INVISIBLE); - captionTextView.setAlpha(0.0f); - } + captionTextViewSwitcher.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); } else { if (needCaptionLayout) { - captionTextView.setText(LocaleController.getString("AddCaption", R.string.AddCaption)); - captionTextView.setTag("empty"); - captionTextView.setVisibility(View.VISIBLE); - captionTextView.setTextColor(0xb2ffffff); + captionTextViewSwitcher.setText(LocaleController.getString("AddCaption", R.string.AddCaption), animated); + captionTextViewSwitcher.getCurrentView().setTextColor(0xb2ffffff); + captionTextViewSwitcher.setTag("empty"); + captionTextViewSwitcher.setVisibility(View.VISIBLE); } else { - captionTextView.setTextColor(0xffffffff); - captionTextView.setTag(null); - if (animated && wasVisisble) { - currentCaptionAnimation = new AnimatorSet(); - currentCaptionAnimation.setDuration(200); - currentCaptionAnimation.setInterpolator(decelerateInterpolator); - currentCaptionAnimation.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (animation.equals(currentCaptionAnimation)) { - captionTextView.setVisibility(View.INVISIBLE); - currentCaptionAnimation = null; - } - } - - @Override - public void onAnimationCancel(Animator animation) { - if (animation.equals(currentCaptionAnimation)) { - currentCaptionAnimation = null; - } - } - }); - currentCaptionAnimation.playTogether( - ObjectAnimator.ofFloat(captionTextView, View.ALPHA, 0.0f), - ObjectAnimator.ofFloat(captionTextView, View.TRANSLATION_Y, AndroidUtilities.dp(5))); - currentCaptionAnimation.start(); - } else { - captionTextView.setVisibility(View.INVISIBLE); - } + captionTextViewSwitcher.setText(null, animated); + captionTextViewSwitcher.getCurrentView().setTextColor(0xffffffff); + captionTextViewSwitcher.setVisibility(View.INVISIBLE, !withTransition || isCurrentCaptionEmpty); + captionTextViewSwitcher.setTag(null); } } } + private void setCaptionHwLayerEnabled(boolean enabled) { + if (captionHwLayerEnabled != enabled) { + captionHwLayerEnabled = enabled; + captionTextViewSwitcher.setLayerType(View.LAYER_TYPE_HARDWARE, null); + captionTextViewSwitcher.getCurrentView().setLayerType(View.LAYER_TYPE_HARDWARE, null); + captionTextViewSwitcher.getNextView().setLayerType(View.LAYER_TYPE_HARDWARE, null); + } + } + private void checkProgress(int a, boolean scroll, boolean animated) { int index = currentIndex; if (a == 1) { @@ -6675,14 +8381,15 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat File f2 = null; boolean isVideo = false; boolean canStream = false; + MessageObject messageObject = null; if (currentMessageObject != null) { if (index < 0 || index >= imagesArr.size()) { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); return; } - MessageObject messageObject = imagesArr.get(index); + messageObject = imagesArr.get(index); if (sharedMediaType == MediaDataController.MEDIA_FILE && !messageObject.canPreviewDocument()) { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); return; } if (!TextUtils.isEmpty(messageObject.messageOwner.attachPath)) { @@ -6694,11 +8401,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { f2 = FileLoader.getPathToMessage(messageObject.messageOwner); } - canStream = SharedConfig.streamMedia && messageObject.isVideo() && messageObject.canStreamVideo() && (int) messageObject.getDialogId() != 0; - isVideo = messageObject.isVideo(); + if (messageObject.isVideo()) { + canStream = SharedConfig.streamMedia && messageObject.canStreamVideo() && (int) messageObject.getDialogId() != 0; + isVideo = true; + } + } else if (currentBotInlineResult != null) { if (index < 0 || index >= imagesArrLocals.size()) { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); return; } TLRPC.BotInlineResult botInlineResult = (TLRPC.BotInlineResult) imagesArrLocals.get(index); @@ -6717,14 +8427,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat f2 = new File(FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE), currentFileNames[a]); } else if (currentFileLocation != null) { if (index < 0 || index >= imagesArrLocations.size()) { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); return; } ImageLocation location = imagesArrLocations.get(index); f1 = FileLoader.getPathToAttach(location.location, avatarsDialogId != 0 || isEvent); } else if (currentSecureDocument != null) { if (index < 0 || index >= secureDocuments.size()) { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); return; } SecureDocument location = secureDocuments.get(index); @@ -6735,8 +8445,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } File f1Final = f1; File f2Final = f2; + MessageObject messageObjectFinal = messageObject; boolean canStreamFinal = canStream; - boolean isVideoFianl = isVideo; + boolean isVideoFinal = isVideo; Utilities.globalQueue.postRunnable(() -> { boolean exists = false; if (f1Final != null) { @@ -6745,13 +8456,25 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (!exists && f2Final != null) { exists = f2Final.exists(); } + if (!exists && a != 0 && messageObjectFinal != null && canStreamFinal) { + if (DownloadController.getInstance(currentAccount).canDownloadMedia(messageObjectFinal.messageOwner) != 0) { + if ((parentChatActivity == null || parentChatActivity.getCurrentEncryptedChat() == null) && !messageObjectFinal.shouldEncryptPhotoOrVideo()) { + final TLRPC.Document document = messageObjectFinal.getDocument(); + if (document != null) { + FileLoader.getInstance(currentAccount).loadFile(document, messageObjectFinal, 0, 10); + } + } + } + } boolean existsFinal = exists; AndroidUtilities.runOnUIThread(() -> { if ((f1Final != null || f2Final != null) && (existsFinal || canStreamFinal)) { - if (isVideoFianl) { - photoProgressViews[a].setBackgroundState(3, animated); - } else { - photoProgressViews[a].setBackgroundState(-1, animated); + if (a != 0 || !isPlaying) { + if (isVideoFinal && (!shouldMessageObjectAutoPlayed(messageObjectFinal) || a == 0 && playerWasPlaying)) { + photoProgressViews[a].setBackgroundState(PROGRESS_PLAY, animated); + } else { + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); + } } if (a == 0) { if (!existsFinal) { @@ -6765,14 +8488,14 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } else { - if (isVideoFianl) { + if (isVideoFinal) { if (!FileLoader.getInstance(currentAccount).isLoadingFile(currentFileNames[a])) { - photoProgressViews[a].setBackgroundState(2, false); + photoProgressViews[a].setBackgroundState(PROGRESS_LOAD, false); } else { - photoProgressViews[a].setBackgroundState(1, false); + photoProgressViews[a].setBackgroundState(PROGRESS_CANCEL, false); } } else { - photoProgressViews[a].setBackgroundState(0, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_EMPTY, animated); } Float progress = ImageLoader.getInstance().getFileProgress(currentFileNames[a]); if (progress == null) { @@ -6795,9 +8518,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } if (isLocalVideo) { - photoProgressViews[a].setBackgroundState(3, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_PLAY, animated); } else { - photoProgressViews[a].setBackgroundState(-1, animated); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, animated); } } } @@ -6837,6 +8560,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat String path = null; TLRPC.Document document = null; WebFile webDocument = null; + ImageLocation videoThumb = null; TLRPC.PhotoSize photo = null; TLObject photoObject = null; int imageSize = 0; @@ -6846,20 +8570,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (object instanceof MediaController.PhotoEntry) { MediaController.PhotoEntry photoEntry = (MediaController.PhotoEntry) object; isVideo = photoEntry.isVideo; - if (!photoEntry.isVideo) { - if (photoEntry.imagePath != null) { - path = photoEntry.imagePath; - } else { - imageReceiver.setOrientation(photoEntry.orientation, false); - path = photoEntry.path; - } - filter = String.format(Locale.US, "%d_%d", size, size); - } else { + if (photoEntry.isVideo) { if (photoEntry.thumbPath != null) { path = photoEntry.thumbPath; } else { path = "vthumb://" + photoEntry.imageId + ":" + photoEntry.path; } + } else { + if (photoEntry.filterPath != null) { + path = photoEntry.filterPath; + } else if (photoEntry.croppedPath != null) { + path = photoEntry.croppedPath; + } else { + imageReceiver.setOrientation(photoEntry.orientation, false); + path = photoEntry.path; + } + filter = String.format(Locale.US, "%d_%d", size, size); } } else if (object instanceof TLRPC.BotInlineResult) { cacheType = 1; @@ -6874,6 +8600,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else if (botInlineResult.type.equals("gif") && botInlineResult.document != null) { document = botInlineResult.document; imageSize = botInlineResult.document.size; + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(botInlineResult.document); + if (videoSize != null) { + videoThumb = ImageLocation.getForDocument(videoSize, document); + } filter = "d"; } else if (botInlineResult.photo != null) { TLRPC.PhotoSize sizeFull = FileLoader.getClosestPhotoSizeWithSize(botInlineResult.photo.sizes, AndroidUtilities.getPhotoSize()); @@ -6884,6 +8614,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else if (botInlineResult.content instanceof TLRPC.TL_webDocument) { if (botInlineResult.type.equals("gif")) { filter = "d"; + if (botInlineResult.thumb instanceof TLRPC.TL_webDocument && "video/mp4".equals(botInlineResult.thumb.mime_type)) { + videoThumb = ImageLocation.getForWebFile(WebFile.createWithWebDocument(botInlineResult.thumb)); + } } else { filter = String.format(Locale.US, "%d_%d", size, size); } @@ -6896,8 +8629,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat photo = photoEntry.photoSize; photoObject = photoEntry.photo; imageSize = photoEntry.photoSize.size; - } else if (photoEntry.imagePath != null) { - path = photoEntry.imagePath; + } else if (photoEntry.filterPath != null) { + path = photoEntry.filterPath; + } else if (photoEntry.croppedPath != null) { + path = photoEntry.croppedPath; } else if (photoEntry.document != null) { document = photoEntry.document; imageSize = photoEntry.document.size; @@ -6909,11 +8644,19 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (document != null) { TLRPC.PhotoSize thumb = FileLoader.getClosestPhotoSizeWithSize(document.thumbs, 90); - imageReceiver.setImage(ImageLocation.getForDocument(document), "d", placeHolder == null ? ImageLocation.getForDocument(thumb, document) : null, String.format(Locale.US, "%d_%d", size, size), placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, imageSize, null, object, cacheType); + if (videoThumb != null) { + imageReceiver.setImage(ImageLocation.getForDocument(document), "d", videoThumb, null, placeHolder == null ? ImageLocation.getForDocument(thumb, document) : null, String.format(Locale.US, "%d_%d", size, size), placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, imageSize, null, object, cacheType); + } else { + imageReceiver.setImage(ImageLocation.getForDocument(document), "d", placeHolder == null ? ImageLocation.getForDocument(thumb, document) : null, String.format(Locale.US, "%d_%d", size, size), placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, imageSize, null, object, cacheType); + } } else if (photo != null) { imageReceiver.setImage(ImageLocation.getForObject(photo, photoObject), filter, placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, imageSize, null, object, cacheType); } else if (webDocument != null) { - imageReceiver.setImage(ImageLocation.getForWebFile(webDocument), filter, placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : (isVideo && parentActivity != null ? parentActivity.getResources().getDrawable(R.drawable.nophotos) : null), null, object, cacheType); + if (videoThumb != null) { + imageReceiver.setImage(ImageLocation.getForWebFile(webDocument), filter, videoThumb, null, null, object, cacheType); + } else { + imageReceiver.setImage(ImageLocation.getForWebFile(webDocument), filter, placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : (isVideo && parentActivity != null ? parentActivity.getResources().getDrawable(R.drawable.nophotos) : null), null, object, cacheType); + } } else { imageReceiver.setImage(path, filter, placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : (isVideo && parentActivity != null ? parentActivity.getResources().getDrawable(R.drawable.nophotos) : null), null, imageSize); } @@ -6931,13 +8674,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (messageObject != null) { if (messageObject.isVideo()) { - imageReceiver.setNeedsQualityThumb(true); if (messageObject.photoThumbs != null && !messageObject.photoThumbs.isEmpty()) { ImageReceiver.BitmapHolder placeHolder = null; if (currentThumb != null && imageReceiver == centerImage) { placeHolder = currentThumb; } - TLRPC.PhotoSize thumbLocation = FileLoader.getClosestPhotoSizeWithSize(messageObject.photoThumbs, 100); + TLRPC.PhotoSize thumbLocation = FileLoader.getClosestPhotoSizeWithSize(messageObject.photoThumbs, 320); + imageReceiver.setNeedsQualityThumb(thumbLocation.w < 100 && thumbLocation.h < 100); imageReceiver.setImage(null, null, placeHolder == null ? ImageLocation.getForObject(thumbLocation, messageObject.photoThumbsObject) : null, "b", placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, 0, null, messageObject, 1); } else { imageReceiver.setImageBitmap(parentActivity.getResources().getDrawable(R.drawable.photoview_placeholder)); @@ -6992,8 +8735,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } boolean cacheOnly = messageObject != null && messageObject.isWebpage() || avatarsDialogId != 0 || isEvent; Object parentObject; + ImageLocation videoThumb = null; if (messageObject != null) { parentObject = messageObject; + if (sharedMediaType == MediaDataController.MEDIA_GIF) { + TLRPC.Document document = messageObject.getDocument(); + TLRPC.TL_videoSize videoSize = MessageObject.getDocumentVideoThumb(document); + if (videoSize != null) { + videoThumb = ImageLocation.getForDocument(videoSize, document); + } + } } else if (avatarsDialogId != 0) { if (avatarsDialogId > 0) { parentObject = MessagesController.getInstance(currentAccount).getUser(avatarsDialogId); @@ -7003,7 +8754,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } else { parentObject = null; } - imageReceiver.setImage(imageLocation, null, placeHolder == null ? ImageLocation.getForObject(thumbLocation, photoObject) : null, "b", placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, size[0], null, parentObject, cacheOnly ? 1 : 0); + if (videoThumb != null) { + imageReceiver.setImage(imageLocation, null, videoThumb, null, placeHolder == null ? ImageLocation.getForObject(thumbLocation, photoObject) : null, "b", placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, size[0], null, parentObject, cacheOnly ? 1 : 0); + } else { + imageReceiver.setImage(imageLocation, null, placeHolder == null ? ImageLocation.getForObject(thumbLocation, photoObject) : null, "b", placeHolder != null ? new BitmapDrawable(placeHolder.bitmap) : null, size[0], null, parentObject, cacheOnly ? 1 : 0); + } } else { imageReceiver.setNeedsQualityThumb(true); if (size[0] == 0) { @@ -7175,7 +8930,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat orientation = animatingImageView.getOrientation(); } if (bitmap != null) { - photoCropView.setBitmap(bitmap, orientation, false, false); + photoCropView.setBitmap(bitmap, orientation, false, false, paintingOverlay); if (currentEditMode == 0) { setCropTranslations(false); } @@ -7186,7 +8941,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (sendPhotoType != SELECT_TYPE_AVATAR) { return; } - photoCropView.setBitmap(null, 0, false, false); + photoCropView.setBitmap(null, 0, false, false, null); photoCropView.onAppear(); photoCropView.setVisibility(View.VISIBLE); photoCropView.setAlpha(1.0f); @@ -7498,21 +9253,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public void onAnimationEnd(Animator animation) { AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(transitionIndex); if (animationEndRunnable != null) { animationEndRunnable.run(); animationEndRunnable = null; } + setCaptionHwLayerEnabled(true); }); } }); if (Build.VERSION.SDK_INT >= 18) { containerView.setLayerType(View.LAYER_TYPE_HARDWARE, null); } + setCaptionHwLayerEnabled(false); transitionAnimationStartTime = System.currentTimeMillis(); AndroidUtilities.runOnUIThread(() -> { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaDidLoad, NotificationCenter.dialogPhotosLoaded}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); + transitionIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(transitionIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaDidLoad, NotificationCenter.dialogPhotosLoaded}); animatorSet.start(); }); } else { @@ -7571,6 +9327,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat public void injectVideoPlayerToMediaController() { if (videoPlayer.isPlaying()) { + if (playerLooping) { + videoPlayer.setLooping(false); + } MediaController.getInstance().injectVideoPlayer(videoPlayer, currentMessageObject); videoPlayer = null; updateAccessibilityOverlayVisibility(); @@ -7599,11 +9358,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } catch (Exception e) { FileLog.e(e); } - if (Build.VERSION.SDK_INT >= 21 && actionBar != null) { - int flagsToClear = containerView.getSystemUiVisibility() & (View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); - if (flagsToClear != 0) { - containerView.setSystemUiVisibility(containerView.getSystemUiVisibility() & ~flagsToClear); - } + if (Build.VERSION.SDK_INT >= 21 && containerView != null) { + AndroidUtilities.cancelRunOnUIThread(updateContainerFlagsRunnable); + updateContainerFlags(true); } if (currentEditMode != 0) { if (currentEditMode == 2) { @@ -7629,6 +9386,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (captionEditText.hideActionMode() && !fromEditMode) { return; } + if (!doneButtonPressed && !imagesArrLocals.isEmpty() && currentIndex >= 0 && currentIndex < imagesArrLocals.size()) { + Object entry = imagesArrLocals.get(currentIndex); + if (entry instanceof MediaController.MediaEditState) { + ((MediaController.MediaEditState) entry).editedInfo = getCurrentVideoEditedInfo(); + } + } final PlaceProviderObject object = placeProvider.getPlaceForPhoto(currentMessageObject, getFileLocation(currentFileLocation), currentIndex, true); if (videoPlayer != null && object != null) { AnimatedFileDrawable animation = object.imageReceiver.getAnimation(); @@ -7647,7 +9410,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } if (currentMessageObject != null) { - animation.seekTo(videoPlayer.getCurrentPosition(), !FileLoader.getInstance(currentMessageObject.currentAccount).isLoadingVideo(currentMessageObject.getDocument(), true)); + long startTime = animation.getStartTime(); + long seekTo = videoPlayer.getCurrentPosition() + (startTime > 0 ? startTime : 0); + animation.seekTo(seekTo, !FileLoader.getInstance(currentMessageObject.currentAccount).isLoadingVideo(currentMessageObject.getDocument(), true)); } object.imageReceiver.setAllowStartAnimation(true); object.imageReceiver.startAnimation(); @@ -7701,8 +9466,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat animatingImageViews[i].setImageBitmap(object.thumb); } } else { - layoutParams.width = centerImage.getImageWidth(); - layoutParams.height = centerImage.getImageHeight(); + layoutParams.width = (int) centerImage.getImageWidth(); + layoutParams.height = (int) centerImage.getImageHeight(); for (int i = 0; i < animatingImageViews.length; i++) { animatingImageViews[i].setOrientation(centerImage.getOrientation()); animatingImageViews[i].setImageBitmap(centerImage.getBitmapSafe()); @@ -7940,9 +9705,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat currentSecureDocument = null; currentPathObject = null; if (videoPlayerControlFrameLayout != null) { - videoPlayerControlFrameLayout.setVisibility(View.GONE); - dateTextView.setVisibility(View.VISIBLE); - nameTextView.setVisibility(View.VISIBLE); + setVideoPlayerControlVisible(false, false); + } + if (captionScrollView != null) { + captionScrollView.reset(); + } + if (groupedPhotosListView != null) { + groupedPhotosListView.reset(); } sendPhotoType = 0; isDocumentsPicker = false; @@ -7957,7 +9726,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } for (int a = 0; a < 3; a++) { if (photoProgressViews[a] != null) { - photoProgressViews[a].setBackgroundState(-1, false); + photoProgressViews[a].setBackgroundState(PROGRESS_NONE, false); } } requestVideoPreview(0); @@ -8008,6 +9777,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat redraw(0); //workaround for camera bug if (videoPlayer != null) { videoPlayer.seekTo(videoPlayer.getCurrentPosition() + 1); + if (playerLooping) { + videoPlayer.setLooping(true); + } + } + if (photoPaintView != null) { + photoPaintView.onResume(); } } @@ -8025,6 +9800,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (lastTitle != null) { closeCaptionEnter(true); } + if (videoPlayer != null && playerLooping) { + videoPlayer.setLooping(false); + } } public boolean isVisible() { @@ -8032,8 +9810,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private void updateMinMax(float scale) { + if (currentEditMode == 3 && aspectRatioFrameLayout != null && aspectRatioFrameLayout.getVisibility() == View.VISIBLE && textureUploaded) { + scale *= Math.min(getContainerViewWidth() / (float) videoTextureView.getMeasuredWidth(), getContainerViewHeight() / (float) videoTextureView.getMeasuredHeight()); + } int maxW = (int) (centerImage.getImageWidth() * scale - getContainerViewWidth()) / 2; int maxH = (int) (centerImage.getImageHeight() * scale - getContainerViewHeight()) / 2; + if (maxW > 0) { minX = -maxW; maxX = maxW; @@ -8081,9 +9863,18 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private int getContainerViewHeight(int mode) { - int height = AndroidUtilities.displaySize.y; - if (mode == 0 && Build.VERSION.SDK_INT >= 21) { - height += AndroidUtilities.statusBarHeight; + return getContainerViewHeight(false, mode); + } + + private int getContainerViewHeight(boolean trueHeight, int mode) { + int height; + if (trueHeight) { + height = containerView.getMeasuredHeight(); + } else { + height = AndroidUtilities.displaySize.y; + if (mode == 0 && Build.VERSION.SDK_INT >= 21) { + height += AndroidUtilities.statusBarHeight; + } } if (mode == 1) { height -= AndroidUtilities.dp(48 + 32 + 64); @@ -8096,6 +9887,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } private boolean onTouchEvent(MotionEvent ev) { + if (currentEditMode == 3 && animationStartTime != 0 && (ev.getActionMasked() == MotionEvent.ACTION_DOWN || ev.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN)) { + if (ev.getPointerCount() >= 2) { + cancelMoveZoomAnimation(); + } else { + return true; + } + } if (animationInProgress != 0 || animationStartTime != 0) { return false; } @@ -8103,7 +9901,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (currentEditMode == 2) { photoFilterView.onTouch(ev); return true; - } else if (currentEditMode == 1 || sendPhotoType == SELECT_TYPE_AVATAR) { + } else if (currentEditMode == 1 || currentEditMode != 3 && sendPhotoType == SELECT_TYPE_AVATAR) { return true; } @@ -8135,6 +9933,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (!draggingDown && !changingPage) { if (canZoom && ev.getPointerCount() == 2) { + if (paintViewTouched == 1) { + MotionEvent event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_CANCEL, 0, 0, 0); + photoPaintView.onTouch(event); + event.recycle(); + paintViewTouched = 2; + } pinchStartDistance = (float) Math.hypot(ev.getX(1) - ev.getX(0), ev.getY(1) - ev.getY(0)); pinchStartScale = scale; pinchCenterX = (ev.getX(0) + ev.getX(1)) / 2.0f; @@ -8143,29 +9947,76 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat pinchStartY = translationY; zooming = true; moving = false; + if (currentEditMode == 3) { + moveStartX = pinchCenterX; + moveStartY = pinchCenterY; + draggingDown = false; + canDragDown = false; + } hidePressedDrawables(); if (velocityTracker != null) { velocityTracker.clear(); } } else if (ev.getPointerCount() == 1) { - moveStartX = ev.getX(); - dragY = moveStartY = ev.getY(); - draggingDown = false; - canDragDown = true; - if (velocityTracker != null) { - velocityTracker.clear(); + if (currentEditMode == 3) { + if (paintViewTouched == 0) { + photoPaintView.getHitRect(hitRect); + if (hitRect.contains((int) ev.getX(), (int) ev.getY())) { + MotionEvent event = MotionEvent.obtain(ev); + event.offsetLocation(-photoPaintView.getX(), -photoPaintView.getY()); + photoPaintView.onTouch(event); + event.recycle(); + paintViewTouched = 1; + } + } + } else { + moveStartX = ev.getX(); + dragY = moveStartY = ev.getY(); + draggingDown = false; + canDragDown = true; + if (velocityTracker != null) { + velocityTracker.clear(); + } } } } } else if (ev.getActionMasked() == MotionEvent.ACTION_MOVE) { if (canZoom && ev.getPointerCount() == 2 && !draggingDown && zooming && !changingPage) { discardTap = true; + if (currentEditMode == 3) { + float newPinchCenterX = (ev.getX(0) + ev.getX(1)) / 2.0f; + float newPinchCenterY = (ev.getY(0) + ev.getY(1)) / 2.0f; + float moveDx = moveStartX - newPinchCenterX; + float moveDy = moveStartY - newPinchCenterY; + moveStartX = newPinchCenterX; + moveStartY = newPinchCenterY; + if (translationX < minX || translationX > maxX) { + moveDx /= 3.0f; + } + if (translationY < minY || translationY > maxY) { + moveDy /= 3.0f; + } + pinchStartX = (pinchCenterX - getContainerViewWidth() / 2) - ((pinchCenterX - getContainerViewWidth() / 2) - translationX) / (scale / pinchStartScale) - moveDx; + pinchStartY = (pinchCenterY - getContainerViewHeight() / 2) - ((pinchCenterY - getContainerViewHeight() / 2) - translationY) / (scale / pinchStartScale) - moveDy; + pinchCenterX = newPinchCenterX; + pinchCenterY = newPinchCenterY; + } scale = (float) Math.hypot(ev.getX(1) - ev.getX(0), ev.getY(1) - ev.getY(0)) / pinchStartDistance * pinchStartScale; translationX = (pinchCenterX - getContainerViewWidth() / 2) - ((pinchCenterX - getContainerViewWidth() / 2) - pinchStartX) * (scale / pinchStartScale); translationY = (pinchCenterY - getContainerViewHeight() / 2) - ((pinchCenterY - getContainerViewHeight() / 2) - pinchStartY) * (scale / pinchStartScale); + if (currentEditMode == 3) { + photoPaintView.setTransform(scale, translationX, translationY); + } updateMinMax(scale); containerView.invalidate(); } else if (ev.getPointerCount() == 1) { + if (paintViewTouched == 1) { + MotionEvent event = MotionEvent.obtain(ev); + event.offsetLocation(-photoPaintView.getX(), -photoPaintView.getY()); + photoPaintView.onTouch(event); + event.recycle(); + return true; + } if (velocityTracker != null) { velocityTracker.addMovement(ev); } @@ -8230,6 +10081,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (scale != 1 || currentEditMode != 0) { translationY -= moveDy; } + if (currentEditMode == 3) { + photoPaintView.setTransform(scale, translationX, translationY); + } containerView.invalidate(); } @@ -8240,6 +10094,17 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } else if (ev.getActionMasked() == MotionEvent.ACTION_CANCEL || ev.getActionMasked() == MotionEvent.ACTION_UP || ev.getActionMasked() == MotionEvent.ACTION_POINTER_UP) { + if (paintViewTouched == 1) { + if (photoPaintView != null) { + MotionEvent event = MotionEvent.obtain(ev); + event.offsetLocation(-photoPaintView.getX(), -photoPaintView.getY()); + photoPaintView.onTouch(event); + event.recycle(); + } + paintViewTouched = 0; + return true; + } + paintViewTouched = 0; if (zooming) { invalidCoords = true; if (scale < 1.0f) { @@ -8262,8 +10127,25 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat animateTo(3.0f, atx, aty, true); } else { checkMinMax(true); + if (currentEditMode == 3) { + float moveToX = translationX; + float moveToY = translationY; + updateMinMax(scale); + if (translationX < minX) { + moveToX = minX; + } else if (translationX > maxX) { + moveToX = maxX; + } + if (translationY < minY) { + moveToY = minY; + } else if (translationY > maxY) { + moveToY = maxY; + } + animateTo(scale, moveToX, moveToY, false); + } } zooming = false; + moving = false; } else if (draggingDown) { if (Math.abs(dragY - ev.getY()) > getContainerViewHeight() / 6.0f) { closePhoto(true, false); @@ -8349,6 +10231,24 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat animateTo(scale, maxX + getContainerViewWidth() + extra + AndroidUtilities.dp(30) / 2, translationY, false); } + private void cancelMoveZoomAnimation() { + if (imageMoveAnimation == null) { + return; + } + + float ts = scale + (animateToScale - scale) * animationValue; + float tx = translationX + (animateToX - translationX) * animationValue; + float ty = translationY + (animateToY - translationY) * animationValue; + imageMoveAnimation.cancel(); + scale = ts; + translationX = tx; + translationY = ty; + animationStartTime = 0; + updateMinMax(scale); + zoomAnimation = false; + containerView.invalidate(); + } + private void animateTo(float newScale, float newTx, float newTy, boolean isZoom) { animateTo(newScale, newTx, newTy, isZoom, 250); } @@ -8394,13 +10294,19 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat releasePlayer(false); FileLoader.getInstance(currentAccount).cancelLoadFile(currentMessageObject.getDocument()); } - setImageIndex(currentIndex + add, init); - if (currentMessageObject != null && currentMessageObject.isVideo() && (currentMessageObject.mediaExists || currentMessageObject.attachPathExists || currentMessageObject.canStreamVideo() && SharedConfig.streamMedia) && SharedConfig.autoplayVideo) { + playerAutoStarted = false; + setImageIndex(currentIndex + add, init, true); + if (shouldMessageObjectAutoPlayed(currentMessageObject)) { + playerAutoStarted = true; onActionClick(true); checkProgress(0, false, true); } } + private boolean shouldMessageObjectAutoPlayed(MessageObject messageObject) { + return messageObject != null && messageObject.isVideo() && (messageObject.mediaExists || messageObject.attachPathExists || messageObject.canStreamVideo() && SharedConfig.streamMedia) && SharedConfig.autoplayVideo; + } + @SuppressLint({"NewApi", "DrawAllocation"}) private void onDraw(Canvas canvas) { if (animationInProgress == 1 || animationInProgress == 3 || !isVisible && animationInProgress != 2 && !pipAnimationInProgress) { @@ -8463,8 +10369,8 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat openedFullScreenVideo = false; if (!imagesArrLocals.isEmpty() && currentIndex >= 0 && currentIndex < imagesArrLocals.size()) { Object object = imagesArrLocals.get(currentIndex); - if (object instanceof MediaController.PhotoEntry) { - ((MediaController.PhotoEntry) object).editedInfo = getCurrentVideoEditedInfo(); + if (object instanceof MediaController.MediaEditState) { + ((MediaController.MediaEditState) object).editedInfo = getCurrentVideoEditedInfo(); } } if (switchImageAfterAnimation == 1) { @@ -8481,6 +10387,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat aty = translationY; } } + if (currentEditMode == 3) { + photoPaintView.setTransform(currentScale, currentTranslationX, currentTranslationY); + } if (animationInProgress != 2 && !pipAnimationInProgress && !isInline) { if (currentEditMode == 0 && sendPhotoType != SELECT_TYPE_AVATAR && scale == 1 && aty != -1 && !zoomAnimation) { @@ -8560,6 +10469,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat canvas.translate(getContainerViewWidth() / 2 + getAdditionX(), getContainerViewHeight() / 2 + getAdditionY()); canvas.translate(translateX, currentTranslationY + currentPanTranslationY); canvas.scale(currentScale - scaleDiff, currentScale - scaleDiff); + if (currentEditMode == 3 && keyboardSize > AndroidUtilities.dp(20)) { + int trueH = getContainerViewHeight(true, 0); + int h = getContainerViewHeight(false, 0); + if (trueH != h) { + canvas.translate(0, (trueH - h) / 2); + } + } int bitmapWidth; int bitmapHeight; @@ -8582,19 +10498,22 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat centerImage.setImageCoords(-width / 2, -height / 2, width, height); centerImage.draw(canvas); } + if (drawTextureView || paintingOverlay.getVisibility() == View.VISIBLE) { + canvas.translate(-width / 2, -height / 2); + canvas.scale(scale, scale); + } if (drawTextureView) { - scaleX = (float) canvas.getWidth() / (float) bitmapWidth; - scaleY = (float) canvas.getHeight() / (float) bitmapHeight; - scale = Math.min(scaleX, scaleY); - height = (int) (bitmapHeight * scale); if (!videoCrossfadeStarted && textureUploaded) { videoCrossfadeStarted = true; videoCrossfadeAlpha = 0.0f; videoCrossfadeAlphaLastTime = System.currentTimeMillis(); + containerView.getMeasuredHeight(); } - canvas.translate(-width / 2, -height / 2); videoTextureView.setAlpha(alpha * videoCrossfadeAlpha); aspectRatioFrameLayout.draw(canvas); + if (videoTextureView instanceof VideoEditTextureView) { + ((VideoEditTextureView) videoTextureView).setViewRect((getContainerViewWidth() - width) / 2 + getAdditionX() + translateX, (getContainerViewHeight() - height) / 2 + getAdditionY() + currentTranslationY + currentPanTranslationY, width, height); + } if (videoCrossfadeStarted && videoCrossfadeAlpha < 1.0f) { videoCrossfadeAlpha += dt / (playerInjected ? 100.0f : 200.0f); containerView.invalidate(); @@ -8602,6 +10521,11 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoCrossfadeAlpha = 1.0f; } } + paintingOverlay.setAlpha(alpha * videoCrossfadeAlpha); + } + if (paintingOverlay.getVisibility() == View.VISIBLE) { + canvas.clipRect(0, 0, paintingOverlay.getMeasuredWidth(), paintingOverlay.getMeasuredHeight()); + paintingOverlay.draw(canvas); } canvas.restore(); for (int a = 0; a < pressedDrawable.length; a++) { @@ -8637,20 +10561,29 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (isCurrentVideo) { drawProgress = videoPlayer == null || !videoPlayer.isPlaying(); } else { - drawProgress = !drawTextureView && videoPlayerControlFrameLayout.getVisibility() != View.VISIBLE; - if (drawProgress && currentAnimation != null && !currentAnimation.isLoadingStream()) { - drawProgress = false; - } + drawProgress = true; } + boolean drawMiniProgress = miniProgressView.getVisibility() == View.VISIBLE || miniProgressAnimator != null; if (drawProgress) { + final float tx = !zoomAnimation && -translateX > maxX ? translateX + maxX : 0; + float ty = currentScale == 1.0f ? currentTranslationY : 0; + float progressAlpha = alpha; + if (drawMiniProgress) { + progressAlpha *= 1f - miniProgressView.getAlpha(); + } + if (pipAnimationInProgress) { + progressAlpha *= actionBar.getAlpha(); + } else if (photoProgressViews[0].backgroundState == PROGRESS_PAUSE) { + ty += AndroidUtilities.dpf2(8) * (1f - actionBar.getAlpha()); + } canvas.save(); - canvas.translate(translateX, currentTranslationY / currentScale); + canvas.translate(tx, ty); photoProgressViews[0].setScale(1.0f - scaleDiff); - photoProgressViews[0].setAlpha(alpha); + photoProgressViews[0].setAlpha(progressAlpha); photoProgressViews[0].onDraw(canvas); canvas.restore(); } - if (!pipAnimationInProgress && (miniProgressView.getVisibility() == View.VISIBLE || miniProgressAnimator != null)) { + if (drawMiniProgress && !pipAnimationInProgress) { canvas.save(); canvas.translate(miniProgressView.getLeft() + translateX, miniProgressView.getTop() + currentTranslationY / currentScale); miniProgressView.draw(canvas); @@ -8927,14 +10860,23 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } } else { - if (photoProgressViews[0] != null && containerView != null && !drawTextureView) { + if (photoProgressViews[0] != null && containerView != null) { int state = photoProgressViews[0].backgroundState; - if (state > 0 && state <= 3) { - if (x >= (getContainerViewWidth() - AndroidUtilities.dp(100)) / 2.0f && x <= (getContainerViewWidth() + AndroidUtilities.dp(100)) / 2.0f && - y >= (getContainerViewHeight() - AndroidUtilities.dp(100)) / 2.0f && y <= (getContainerViewHeight() + AndroidUtilities.dp(100)) / 2.0f) { - onActionClick(true); - checkProgress(0, false, true); - return true; + if (x >= (getContainerViewWidth() - AndroidUtilities.dp(100)) / 2.0f && x <= (getContainerViewWidth() + AndroidUtilities.dp(100)) / 2.0f && + y >= (getContainerViewHeight() - AndroidUtilities.dp(100)) / 2.0f && y <= (getContainerViewHeight() + AndroidUtilities.dp(100)) / 2.0f) { + if (!drawTextureView) { + if (state > PROGRESS_EMPTY && state <= PROGRESS_PLAY) { + onActionClick(true); + checkProgress(0, false, true); + return true; + } + } else { + if (state == PROGRESS_PLAY || state == PROGRESS_PAUSE) { + if (photoProgressViews[0].isVisible()) { + toggleVideoPlayer(); + return true; + } + } } } } @@ -8942,7 +10884,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat toggleActionBar(!isActionBarVisible, true); } else if (sendPhotoType == 0 || sendPhotoType == 4) { if (isCurrentVideo) { - videoPlayButton.callOnClick(); + if (videoPlayer != null && !muteVideo) { + videoPlayer.setVolume(1.0f); + } + toggleVideoPlayer(); } else { checkImageView.performClick(); } @@ -8959,7 +10904,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } } else if (sendPhotoType == 2) { if (isCurrentVideo) { - videoPlayButton.callOnClick(); + toggleVideoPlayer(); } } return true; @@ -8979,7 +10924,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public boolean onDoubleTap(MotionEvent e) { - if (videoPlayer != null && videoPlayerControlFrameLayout.getVisibility() == View.VISIBLE) { + if (videoPlayer != null && videoPlayerControlVisible) { long current = videoPlayer.getCurrentPosition(); long total = videoPlayer.getDuration(); float x = e.getX(); @@ -9002,7 +10947,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoPlayer.seekTo(current); containerView.invalidate(); videoPlayerSeekbar.setProgress(current / (float) total); - videoPlayerControlFrameLayout.invalidate(); + videoPlayerSeekbarView.invalidate(); return true; } } @@ -9193,23 +11138,23 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat muteItem.setClickable(true); muteItem.animate().alpha(1f).setDuration(180).start(); if (muteVideo) { - actionBar.setSubtitle(null); - muteItem.setImageResource(R.drawable.volume_off); - muteItem.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_dialogFloatingButton), PorterDuff.Mode.MULTIPLY)); + actionBar.setSubtitle(LocaleController.getString("SoundMuted", R.string.SoundMuted)); + muteItem.setImageResource(R.drawable.video_send_mute); if (compressItem.getTag() != null) { compressItem.setAlpha(0.5f); + compressItem.setEnabled(false); } - videoTimelineView.setMaxProgressDiff(30000.0f / videoDuration); + //videoTimelineView.setMaxProgressDiff(30000.0f / videoDuration); muteItem.setContentDescription(LocaleController.getString("NoSound", R.string.NoSound)); } else { - muteItem.setColorFilter(null); actionBar.setSubtitle(currentSubtitle); - muteItem.setImageResource(R.drawable.volume_on); + muteItem.setImageResource(R.drawable.video_send_unmute); muteItem.setContentDescription(LocaleController.getString("Sound", R.string.Sound)); if (compressItem.getTag() != null) { compressItem.setAlpha(1.0f); + compressItem.setEnabled(true); } - videoTimelineView.setMaxProgressDiff(1.0f); + //videoTimelineView.setMaxProgressDiff(1.0f); } } } @@ -9284,7 +11229,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat String videoDimension = String.format("%dx%d", width, height); String videoTimeSize = String.format("%s, ~%s", AndroidUtilities.formatShortDuration((int) (estimatedDuration / 1000)), AndroidUtilities.formatFileSize(estimatedSize)); currentSubtitle = String.format("%s, %s", videoDimension, videoTimeSize); - actionBar.setSubtitle(muteVideo ? null : currentSubtitle); + actionBar.setSubtitle(muteVideo ? LocaleController.getString("SoundMuted", R.string.SoundMuted) : currentSubtitle); } private void requestVideoPreview(int request) { @@ -9299,9 +11244,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat if (resultHeight == originalHeight && resultWidth == originalWidth) { tryStartRequestPreviewOnFinish = false; photoProgressViews[0].setProgress(0,photoProgressViews[0].backgroundState == 0 || photoProgressViews[0].previousBackgroundState == 0); - photoProgressViews[0].setBackgroundState(3,false); + photoProgressViews[0].setBackgroundState(PROGRESS_PLAY, false); if (!wasRequestingPreview) { - preparePlayer(currentPlayingVideoFile, false, false); + preparePlayer(currentPlayingVideoFile, false, false, currentSavedFilterState); videoPlayer.seekTo((long) (videoTimelineView.getLeftProgress() * videoDuration)); } else { loadInitialVideo = true; @@ -9347,13 +11292,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat requestingPreview = true; photoProgressViews[0].setProgress(0,photoProgressViews[0].backgroundState == 0 || photoProgressViews[0].previousBackgroundState == 0); - photoProgressViews[0].setBackgroundState(0,false); + photoProgressViews[0].setBackgroundState(PROGRESS_EMPTY, false); } } else { tryStartRequestPreviewOnFinish = false; - photoProgressViews[0].setBackgroundState(3,false); + photoProgressViews[0].setBackgroundState(PROGRESS_PLAY, false); if (request == 2) { - preparePlayer(currentPlayingVideoFile, false, false); + preparePlayer(currentPlayingVideoFile, false, false, currentSavedFilterState); videoPlayer.seekTo((long) (videoTimelineView.getLeftProgress() * videoDuration)); } } @@ -9457,7 +11402,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } }); qualityChooseViewAnimation.setDuration(200); - qualityChooseViewAnimation.setInterpolator(new AccelerateInterpolator()); + qualityChooseViewAnimation.setInterpolator(AndroidUtilities.decelerateInterpolator); qualityChooseViewAnimation.start(); } @@ -9467,7 +11412,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } }); qualityChooseViewAnimation.setDuration(200); - qualityChooseViewAnimation.setInterpolator(new DecelerateInterpolator()); + qualityChooseViewAnimation.setInterpolator(AndroidUtilities.accelerateInterpolator); qualityChooseViewAnimation.start(); if (cameraItem.getVisibility() == View.VISIBLE) { @@ -9476,6 +11421,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat .alpha(show ? 0 : 1) .setDuration(200); } + if (muteItem.getVisibility() == View.VISIBLE) { + muteItem.animate().scaleX(show ? 0.25f : 1f) + .scaleY(show ? 0.25f : 1f) + .alpha(show ? 0 : 1) + .setDuration(200); + } } private ByteArrayInputStream cleanBuffer(byte[] data) { @@ -9505,10 +11456,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat videoTimelineView.setVideoPath(videoPath, start, end); videoPreviewMessageObject = null; muteVideo = muted; - Object object = imagesArrLocals.get(currentIndex); - if (object instanceof MediaController.PhotoEntry) { - ((MediaController.PhotoEntry) object).editedInfo = getCurrentVideoEditedInfo(); - } compressionsCount = -1; rotationValue = 0; @@ -9554,7 +11501,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat selectedCompression = preferences.getInt("compress_video2", selectCompression()); updateWidthHeightBitrateForCompression(); - if (selectedCompression > compressionsCount - 1) selectedCompression = compressionsCount - 1; + if (selectedCompression > compressionsCount - 1) { + selectedCompression = compressionsCount - 1; + } setCompressItemEnabled(compressionsCount > 1, true); if (BuildVars.LOGS_ENABLED) { @@ -9641,7 +11590,10 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (animated) { compressItemAnimation = new AnimatorSet(); - compressItemAnimation.playTogether(ObjectAnimator.ofFloat(compressItem, View.ALPHA, enabled ? 1.0f : 0.5f)); + compressItemAnimation.playTogether( + ObjectAnimator.ofFloat(compressItem, View.ALPHA, enabled ? 1.0f : 0.5f), + ObjectAnimator.ofFloat(paintItem, View.ALPHA, videoConvertSupported ? 1.0f : 0.5f), + ObjectAnimator.ofFloat(tuneItem, View.ALPHA, videoConvertSupported ? 1.0f : 0.5f)); compressItemAnimation.setDuration(180); compressItemAnimation.setInterpolator(decelerateInterpolator); compressItemAnimation.start(); @@ -9670,7 +11622,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public boolean isEnabled(RecyclerView.ViewHolder holder) { - return true; + return false; } @Override @@ -9683,7 +11635,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - PhotoPickerPhotoCell cell = new PhotoPickerPhotoCell(mContext, false); + PhotoPickerPhotoCell cell = new PhotoPickerPhotoCell(mContext); cell.checkFrame.setOnClickListener(v -> { Object photoEntry = ((View) v.getParent()).getTag(); int idx = imagesArrLocals.indexOf(photoEntry); @@ -9695,12 +11647,18 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat } if (num >= 0) { selectedPhotosAdapter.notifyItemRemoved(num); + if (num == 0) { + selectedPhotosAdapter.notifyItemChanged(0); + } } updateSelectedCount(); } else { int num = placeProvider.setPhotoUnchecked(photoEntry); if (num >= 0) { selectedPhotosAdapter.notifyItemRemoved(num); + if (num == 0) { + selectedPhotosAdapter.notifyItemChanged(0); + } updateSelectedCount(); } } @@ -9711,7 +11669,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { PhotoPickerPhotoCell cell = (PhotoPickerPhotoCell) holder.itemView; - cell.itemWidth = AndroidUtilities.dp(82); + cell.setItemWidth(AndroidUtilities.dp(85), position != 0 ? AndroidUtilities.dp(6) : 0); BackupImageView imageView = cell.imageView; boolean showing; imageView.setOrientation(0, true); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java index 0ace93a10..5601530b2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java @@ -187,7 +187,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC setMeasuredDimension(widthSize, heightSize); - int keyboardSize = getKeyboardHeight(); + int keyboardSize = measureKeyboardHeight(); if (keyboardSize <= AndroidUtilities.dp(20)) { heightSize -= chatActivityEnterView.getEmojiPadding(); @@ -213,7 +213,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC protected void onLayout(boolean changed, int l, int t, int r, int b) { final int count = getChildCount(); - int paddingBottom = getKeyboardHeight() <= AndroidUtilities.dp(20) ? chatActivityEnterView.getEmojiPadding() : 0; + int paddingBottom = measureKeyboardHeight() <= AndroidUtilities.dp(20) ? chatActivityEnterView.getEmojiPadding() : 0; for (int i = 0; i < count; i++) { final View child = getChildAt(i); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java index 36d6b1c20..c33d9f09b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java @@ -10,6 +10,7 @@ package org.telegram.ui; import android.content.Context; import android.content.DialogInterface; +import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; @@ -56,6 +57,8 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio @SuppressWarnings("FieldCanBeLocal") private LinearLayoutManager layoutManager; + private TLRPC.TL_account_password currentPassword; + private int privacySectionRow; private int blockedRow; private int phoneNumberRow; @@ -111,6 +114,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio getNotificationCenter().addObserver(this, NotificationCenter.privacyRulesUpdated); getNotificationCenter().addObserver(this, NotificationCenter.blockedUsersDidLoad); + getNotificationCenter().addObserver(this, NotificationCenter.didSetOrRemoveTwoStepPassword); return true; } @@ -120,6 +124,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio super.onFragmentDestroy(); getNotificationCenter().removeObserver(this, NotificationCenter.privacyRulesUpdated); getNotificationCenter().removeObserver(this, NotificationCenter.blockedUsersDidLoad); + getNotificationCenter().removeObserver(this, NotificationCenter.didSetOrRemoveTwoStepPassword); if (currentSync != newSync) { getUserConfig().syncContacts = newSync; getUserConfig().saveConfig(false); @@ -284,7 +289,25 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio } else if (position == forwardsRow) { presentFragment(new PrivacyControlActivity(ContactsController.PRIVACY_RULES_TYPE_FORWARDS)); } else if (position == passwordRow) { - presentFragment(new TwoStepVerificationActivity(0)); + if (currentPassword == null) { + return; + } + if (!TwoStepVerificationActivity.canHandleCurrentPassword(currentPassword, false)) { + AlertsCreator.showUpdateAppAlert(getParentActivity(), LocaleController.getString("UpdateAppAlert", R.string.UpdateAppAlert), true); + } + if (currentPassword.has_password) { + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + fragment.setPassword(currentPassword); + presentFragment(fragment); + } else { + int type; + if (TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern)) { + type = TwoStepVerificationSetupActivity.TYPE_INTRO; + } else { + type = TwoStepVerificationSetupActivity.TYPE_EMAIL_CONFIRM; + } + presentFragment(new TwoStepVerificationSetupActivity(type, currentPassword)); + } } else if (position == passcodeRow) { if (SharedConfig.passcodeHash.length() > 0) { presentFragment(new PasscodeActivity(2)); @@ -447,6 +470,15 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio } } else if (id == NotificationCenter.blockedUsersDidLoad) { listAdapter.notifyItemChanged(blockedRow); + } else if (id == NotificationCenter.didSetOrRemoveTwoStepPassword) { + if (args.length > 0) { + currentPassword = (TLRPC.TL_account_password) args[0]; + if (listAdapter != null) { + listAdapter.notifyItemChanged(passwordRow); + } + } else { + loadPasswordSettings(); + } } } @@ -494,20 +526,23 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio } private void loadPasswordSettings() { - if (getUserConfig().hasSecureData) { - return; - } TLRPC.TL_account_getPassword req = new TLRPC.TL_account_getPassword(); getConnectionsManager().sendRequest(req, (response, error) -> { if (response != null) { TLRPC.TL_account_password password = (TLRPC.TL_account_password) response; - if (password.has_secure_values) { - AndroidUtilities.runOnUIThread(() -> { + AndroidUtilities.runOnUIThread(() -> { + currentPassword = password; + TwoStepVerificationActivity.initPasswordNewAlgo(currentPassword); + if (!getUserConfig().hasSecureData && password.has_secure_values) { getUserConfig().hasSecureData = true; getUserConfig().saveConfig(false); updateRows(); - }); - } + } else { + if (listAdapter != null) { + listAdapter.notifyItemChanged(passwordRow); + } + } + }); } }, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); } @@ -696,7 +731,15 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio } else if (position == webSessionsRow) { textCell.setText(LocaleController.getString("WebSessionsTitle", R.string.WebSessionsTitle), false); } else if (position == passwordRow) { - textCell.setText(LocaleController.getString("TwoStepVerification", R.string.TwoStepVerification), true); + String value; + if (currentPassword == null) { + value = LocaleController.getString("Loading", R.string.Loading); + } else if (currentPassword.has_password) { + value = LocaleController.getString("PasswordOn", R.string.PasswordOn); + } else { + value = LocaleController.getString("PasswordOff", R.string.PasswordOff); + } + textCell.setTextAndValue(LocaleController.getString("TwoStepVerification", R.string.TwoStepVerification), value, true); } else if (position == passcodeRow) { textCell.setText(LocaleController.getString("Passcode", R.string.Passcode), true); } else if (position == phoneNumberRow) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java index f098fc29e..bb5258de2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java @@ -292,6 +292,8 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. private int joinRow; private int lastSectionRow; + private int transitionIndex; + private final Property HEADER_SHADOW = new AnimationProperties.FloatProperty("headerShadow") { @Override public void setValue(ProfileActivity object, float value) { @@ -1480,6 +1482,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. nameTextView[1].setTextColor(Color.WHITE); onlineTextView[1].setTextColor(Color.argb(179, 255, 255, 255)); actionBar.setItemsBackgroundColor(Theme.ACTION_BAR_WHITE_SELECTOR_COLOR, false); + actionBar.setItemsColor(Color.WHITE, false); overlaysView.setOverlaysVisible(); overlaysView.setAlphaValue(1.0f, false); avatarImage.setForegroundAlpha(1.0f); @@ -2600,6 +2603,18 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. otherItem.setIconColor(Theme.getColor(Theme.key_actionBarDefaultIcon)); callItem.setIconColor(Theme.getColor(Theme.key_actionBarDefaultIcon)); editItem.setIconColor(Theme.getColor(Theme.key_actionBarDefaultIcon)); + + if (verifiedDrawable != null) { + color1 = Theme.getColor(Theme.key_profile_verifiedBackground); + color2 = Theme.getColor(Theme.key_player_actionBarTitle); + verifiedDrawable.setColorFilter(AndroidUtilities.getOffsetColor(color1, color2, value, 1.0f), PorterDuff.Mode.MULTIPLY); + } + + if (verifiedCheckDrawable != null) { + color1 = Theme.getColor(Theme.key_profile_verifiedCheck); + color2 = Theme.getColor(Theme.key_windowBackgroundWhite); + verifiedCheckDrawable.setColorFilter(AndroidUtilities.getOffsetColor(color1, color2, value, 1.0f), PorterDuff.Mode.MULTIPLY); + } } @Override @@ -2717,6 +2732,10 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. } private void checkListViewScroll() { + if (sharedMediaLayoutAttached) { + sharedMediaLayout.setVisibleHeight(listView.getMeasuredHeight() - sharedMediaLayout.getTop()); + } + if (listView.getChildCount() <= 0 || openAnimationInProgress) { return; } @@ -3374,8 +3393,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. openAnimationInProgress = true; } if (isOpen) { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaCountsDidLoad}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); + transitionIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(transitionIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaCountsDidLoad}); } } @@ -3390,7 +3408,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. } } } - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(transitionIndex); } } @@ -4401,7 +4419,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. break; } case 3: { - view = new AboutLinkCell(mContext) { + view = new AboutLinkCell(mContext, ProfileActivity.this) { @Override protected void didPressUrl(String url) { if (url.startsWith("@")) { @@ -4912,8 +4930,13 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. arrayList.add(new ThemeDescription(listView, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_CELLBACKGROUNDCOLOR, new Class[]{TextInfoPrivacyCell.class}, null, null, null, Theme.key_windowBackgroundGray)); arrayList.add(new ThemeDescription(listView, 0, new Class[]{TextInfoPrivacyCell.class}, new String[]{"textView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText4)); - arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedCheckDrawable}, null, Theme.key_profile_verifiedCheck)); - arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedDrawable}, null, Theme.key_profile_verifiedBackground)); + if (mediaHeaderVisible) { + arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedCheckDrawable}, null, Theme.key_player_actionBarTitle)); + arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedDrawable}, null, Theme.key_windowBackgroundWhite)); + } else { + arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedCheckDrawable}, null, Theme.key_profile_verifiedCheck)); + arrayList.add(new ThemeDescription(nameTextView[1], 0, null, null, new Drawable[]{verifiedDrawable}, null, Theme.key_profile_verifiedBackground)); + } return arrayList; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SecretMediaViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/SecretMediaViewer.java index 7ecdb754c..d94094dbb 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SecretMediaViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SecretMediaViewer.java @@ -446,7 +446,7 @@ public class SecretMediaViewer implements NotificationCenter.NotificationCenterD } @Override - public void onError(Exception e) { + public void onError(VideoPlayer player, Exception e) { if (playerRetryPlayCount > 0) { playerRetryPlayCount--; AndroidUtilities.runOnUIThread(() -> preparePlayer(file), 100); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java index d85a8100f..781da92dc 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java @@ -195,6 +195,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter private int rowCount; private String currentBio; + private int transitionIndex; private final static int edit_name = 1; private final static int logout = 2; @@ -1154,8 +1155,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter openAnimationInProgress = true; } if (isOpen) { - NotificationCenter.getInstance(currentAccount).setAllowedNotificationsDutingAnimation(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaCountsDidLoad, NotificationCenter.userInfoDidLoad}); - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(true); + transitionIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(transitionIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaCountsDidLoad, NotificationCenter.userInfoDidLoad}); } } @@ -1165,7 +1165,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter if (!backward && playProfileAnimation && allowProfileAnimation) { openAnimationInProgress = false; } - NotificationCenter.getInstance(currentAccount).setAnimationInProgress(false); + NotificationCenter.getInstance(currentAccount).onAnimationFinish(transitionIndex); } } @@ -1727,7 +1727,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter new SearchResult(106, LocaleController.getString("Calls", R.string.Calls), LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new PrivacyControlActivity(ContactsController.PRIVACY_RULES_TYPE_CALLS, true))), new SearchResult(107, LocaleController.getString("GroupsAndChannels", R.string.GroupsAndChannels), LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new PrivacyControlActivity(ContactsController.PRIVACY_RULES_TYPE_INVITE, true))), new SearchResult(108, LocaleController.getString("Passcode", R.string.Passcode), LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new PasscodeActivity(SharedConfig.passcodeHash.length() > 0 ? 2 : 0))), - new SearchResult(109, LocaleController.getString("TwoStepVerification", R.string.TwoStepVerification), LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new TwoStepVerificationActivity(0))), + new SearchResult(109, LocaleController.getString("TwoStepVerification", R.string.TwoStepVerification), LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new TwoStepVerificationActivity())), new SearchResult(110, LocaleController.getString("SessionsTitle", R.string.SessionsTitle), R.drawable.menu_secret, () -> presentFragment(new SessionsActivity(0))), new SearchResult(111, LocaleController.getString("PrivacyDeleteCloudDrafts", R.string.PrivacyDeleteCloudDrafts), "clearDraftsRow", LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new PrivacySettingsActivity())), new SearchResult(112, LocaleController.getString("DeleteAccountIfAwayFor2", R.string.DeleteAccountIfAwayFor2), "deleteAccountRow", LocaleController.getString("PrivacySettings", R.string.PrivacySettings), R.drawable.menu_secret, () -> presentFragment(new PrivacySettingsActivity())), diff --git a/TMessagesProj/src/main/java/org/telegram/ui/StatisticActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/StatisticActivity.java index c60dc8cd1..9fc72ee49 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/StatisticActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/StatisticActivity.java @@ -25,7 +25,6 @@ import androidx.annotation.NonNull; import androidx.collection.ArraySet; import androidx.core.graphics.ColorUtils; import androidx.interpolator.view.animation.FastOutSlowInInterpolator; -import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -166,7 +165,7 @@ public class StatisticActivity extends BaseFragment implements NotificationCente if (recentPostsAll.size() > 0) { int lastPostId = recentPostsAll.get(0).counters.msg_id; int count = recentPostsAll.size(); - getMessagesStorage().getMessages(-chat.id, count, lastPostId, 0, 0, classGuid, 0, true, false, 0); + getMessagesStorage().getMessages(-chat.id, 0, false, count, lastPostId, 0, 0, classGuid, 0, true, false, 0); } AndroidUtilities.runOnUIThread(() -> { @@ -219,6 +218,7 @@ public class StatisticActivity extends BaseFragment implements NotificationCente super.onFragmentDestroy(); } + @SuppressWarnings("unchecked") @Override public void didReceivedNotification(int id, int account, Object... args) { if (id == NotificationCenter.messagesDidLoad) { @@ -1737,11 +1737,11 @@ public class StatisticActivity extends BaseFragment implements NotificationCente public OverviewData(TLRPC.TL_stats_broadcastStats stats) { int dif = (int) (stats.followers.current - stats.followers.previous); - float difPercent = Math.abs(dif / (float) stats.followers.previous * 100f); + float difPercent = stats.followers.previous == 0 ? 0 : Math.abs(dif / (float) stats.followers.previous * 100f); followersTitle = LocaleController.getString("FollowersChartTitle", R.string.FollowersChartTitle); followersPrimary = AndroidUtilities.formatWholeNumber((int) stats.followers.current, 0); - if (dif == 0) { + if (dif == 0 || difPercent == 0) { followersSecondary = ""; } else if (difPercent == (int) difPercent) { followersSecondary = String.format(Locale.ENGLISH, "%s (%d%s)", (dif > 0 ? "+" : "") + AndroidUtilities.formatWholeNumber(dif, 0), (int) difPercent, "%"); @@ -1751,11 +1751,11 @@ public class StatisticActivity extends BaseFragment implements NotificationCente followersUp = dif >= 0; dif = (int) (stats.shares_per_post.current - stats.shares_per_post.previous); - difPercent = Math.abs(dif / (float) stats.shares_per_post.previous * 100f); + difPercent = stats.shares_per_post.previous == 0 ? 0 : Math.abs(dif / (float) stats.shares_per_post.previous * 100f); sharesTitle = LocaleController.getString("SharesPerPost", R.string.SharesPerPost); sharesPrimary = AndroidUtilities.formatWholeNumber((int) stats.shares_per_post.current, 0); - if (dif == 0) { + if (dif == 0 || difPercent == 0) { sharesSecondary = ""; } else if (difPercent == (int) difPercent) { sharesSecondary = String.format(Locale.ENGLISH, "%s (%d%s)", (dif > 0 ? "+" : "") + AndroidUtilities.formatWholeNumber(dif, 0), (int) difPercent, "%"); @@ -1765,10 +1765,10 @@ public class StatisticActivity extends BaseFragment implements NotificationCente sharesUp = dif >= 0; dif = (int) (stats.views_per_post.current - stats.views_per_post.previous); - difPercent = Math.abs(dif / (float) stats.views_per_post.previous * 100f); + difPercent = stats.views_per_post.previous == 0 ? 0 : Math.abs(dif / (float) stats.views_per_post.previous * 100f); viewsTitle = LocaleController.getString("ViewsPerPost", R.string.ViewsPerPost); viewsPrimary = AndroidUtilities.formatWholeNumber((int) stats.views_per_post.current, 0); - if (dif == 0) { + if (dif == 0 || difPercent == 0) { viewsSecondary = ""; } else if (difPercent == (int) difPercent) { viewsSecondary = String.format(Locale.ENGLISH, "%s (%d%s)", (dif > 0 ? "+" : "") + AndroidUtilities.formatWholeNumber(dif, 0), (int) difPercent, "%"); @@ -1782,7 +1782,7 @@ public class StatisticActivity extends BaseFragment implements NotificationCente if (difPercent == (int) difPercent) { notificationsPrimary = String.format(Locale.ENGLISH, "%d%s", (int) difPercent, "%"); } else { - notificationsPrimary = String.format(Locale.ENGLISH, "%.1f%s", difPercent, "%"); + notificationsPrimary = String.format(Locale.ENGLISH, "%.2f%s", difPercent, "%"); } } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/StickersActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/StickersActivity.java index 7b5c10a70..25ce88e67 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/StickersActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/StickersActivity.java @@ -86,6 +86,7 @@ public class StickersActivity extends BaseFragment implements NotificationCenter private DefaultItemAnimator itemAnimator; private ItemTouchHelper itemTouchHelper; private NumberTextView selectedCountTextView; + private TrendingStickersAlert trendingStickersAlert; private ActionBarMenuItem archiveMenuItem; private ActionBarMenuItem deleteMenuItem; @@ -281,7 +282,8 @@ public class StickersActivity extends BaseFragment implements NotificationCenter MediaDataController.getInstance(currentAccount).toggleStickerSet(getParentActivity(), stickerSet, 0, StickersActivity.this, false, false); } }; - new TrendingStickersAlert(context, this, new TrendingStickersLayout(context, trendingDelegate)).show(); + trendingStickersAlert = new TrendingStickersAlert(context, this, new TrendingStickersLayout(context, trendingDelegate)); + trendingStickersAlert.show(); } else if (position == archivedRow) { presentFragment(new ArchivedStickersActivity(currentType)); } else if (position == masksRow) { @@ -1012,6 +1014,10 @@ public class StickersActivity extends BaseFragment implements NotificationCenter themeDescriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_CHECKBOX, new Class[]{StickerSetCell.class}, new String[]{"checkBox"}, null, null, null, Theme.key_windowBackgroundWhite)); themeDescriptions.add(new ThemeDescription(listView, ThemeDescription.FLAG_CHECKBOXCHECK, new Class[]{StickerSetCell.class}, new String[]{"checkBox"}, null, null, null, Theme.key_checkboxCheck)); + if (trendingStickersAlert != null) { + themeDescriptions.addAll(trendingStickersAlert.getThemeDescriptions()); + } + return themeDescriptions; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ThemePreviewActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ThemePreviewActivity.java index 39afc3f34..bf39f96ba 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ThemePreviewActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ThemePreviewActivity.java @@ -568,7 +568,7 @@ public class ThemePreviewActivity extends BaseFragment implements DownloadContro int viewHeight = getMeasuredHeight(); float scaleX = (float) getMeasuredWidth() / (float) background.getIntrinsicWidth(); float scaleY = (float) (viewHeight) / (float) background.getIntrinsicHeight(); - float scale = scaleX < scaleY ? scaleY : scaleX; + float scale = Math.max(scaleX, scaleY); int width = (int) Math.ceil(background.getIntrinsicWidth() * scale * parallaxScale); int height = (int) Math.ceil(background.getIntrinsicHeight() * scale * parallaxScale); int x = (getMeasuredWidth() - width) / 2; @@ -2717,7 +2717,7 @@ public class ThemePreviewActivity extends BaseFragment implements DownloadContro } } - public class DialogsAdapter extends RecyclerListView.SelectionAdapter { + public static class DialogsAdapter extends RecyclerListView.SelectionAdapter { private Context mContext; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/TooManyCommunitiesActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/TooManyCommunitiesActivity.java index 923ad9aab..214399ddf 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/TooManyCommunitiesActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/TooManyCommunitiesActivity.java @@ -481,7 +481,7 @@ public class TooManyCommunitiesActivity extends BaseFragment { break; case 4: default: - view = new GroupCreateUserCell(parent.getContext(), true, 0); + view = new GroupCreateUserCell(parent.getContext(), true, 0, false); break; } @@ -547,7 +547,7 @@ public class TooManyCommunitiesActivity extends BaseFragment { @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return new RecyclerListView.Holder(new GroupCreateUserCell(parent.getContext(), true, 0)); + return new RecyclerListView.Holder(new GroupCreateUserCell(parent.getContext(), true, 0, false)); } @Override diff --git a/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationActivity.java index 581219f2b..4fc4737b2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationActivity.java @@ -8,19 +8,12 @@ package org.telegram.ui; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; -import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.graphics.Typeface; import android.os.Vibrator; -import android.text.Editable; import android.text.InputType; import android.text.TextUtils; -import android.text.TextWatcher; import android.text.method.PasswordTransformationMethod; import android.util.TypedValue; import android.view.ActionMode; @@ -34,7 +27,6 @@ import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.TextView; -import android.widget.Toast; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.LocaleController; @@ -59,13 +51,11 @@ import org.telegram.ui.Cells.EditTextSettingsCell; import org.telegram.ui.Cells.TextInfoPrivacyCell; import org.telegram.ui.Cells.TextSettingsCell; import org.telegram.ui.Components.AlertsCreator; -import org.telegram.ui.Components.ContextProgressView; import org.telegram.ui.Components.EditTextBoldCursor; import org.telegram.ui.Components.EmptyTextProgressView; import org.telegram.ui.Components.LayoutHelper; import org.telegram.ui.Components.RecyclerListView; -import java.math.BigInteger; import java.util.ArrayList; import androidx.recyclerview.widget.LinearLayoutManager; @@ -82,15 +72,8 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific private AlertDialog progressDialog; private EmptyTextProgressView emptyView; private ActionBarMenuItem doneItem; - private ContextProgressView progressView; private ScrollView scrollView; - private EditTextSettingsCell codeFieldCell; - private AnimatorSet doneItemAnimation; - - private int type; - private int passwordSetState; - private int emailCodeLength = 6; private String firstPassword; private String hint; private String email; @@ -98,26 +81,18 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific private boolean loading; private boolean destroyed; private boolean paused; - private boolean waitingForEmail; private TLRPC.TL_account_password currentPassword; private boolean passwordEntered = true; private byte[] currentPasswordHash = new byte[0]; private long currentSecretId; private byte[] currentSecret; - private Runnable shortPollRunnable; - private boolean closeAfterSet; private int setPasswordRow; private int setPasswordDetailRow; private int changePasswordRow; - private int shadowRow; private int turnPasswordOffRow; private int setRecoveryEmailRow; private int changeRecoveryEmailRow; - private int resendCodeRow; - private int abortPasswordRow; - private int passwordSetupDetailRow; - private int passwordCodeFieldRow; private int passwordEnabledDetailRow; private int rowCount; @@ -129,49 +104,44 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific private final static int done_button = 1; - public TwoStepVerificationActivity(int type) { + public TwoStepVerificationActivity() { super(); - this.type = type; - if (type == 0) { - loadPasswordInfo(false); - } + } - public TwoStepVerificationActivity(int account, int type) { + public TwoStepVerificationActivity(int account) { super(); currentAccount = account; - this.type = type; - if (type == 0) { - loadPasswordInfo(false); - } } - protected void setRecoveryParams(TLRPC.TL_account_password password) { + public void setPassword(TLRPC.TL_account_password password) { currentPassword = password; - passwordSetState = 4; + } + + public void setCurrentPasswordParams(TLRPC.TL_account_password password, byte[] passwordHash, long secretId, byte[] secret) { + currentPassword = password; + currentPasswordHash = passwordHash; + currentSecret = secret; + currentSecretId = secretId; + passwordEntered = currentPasswordHash != null && currentPasswordHash.length > 0 || !currentPassword.has_password; } @Override public boolean onFragmentCreate() { super.onFragmentCreate(); - updateRows(); - if (type == 0) { - NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.didSetTwoStepPassword); + if (currentPassword == null || currentPassword.current_algo == null || currentPasswordHash == null || currentPasswordHash.length <= 0) { + loadPasswordInfo(false); } + updateRows(); + NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.twoStepPasswordChanged); return true; } @Override public void onFragmentDestroy() { super.onFragmentDestroy(); - if (type == 0) { - NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.didSetTwoStepPassword); - if (shortPollRunnable != null) { - AndroidUtilities.cancelRunOnUIThread(shortPollRunnable); - shortPollRunnable = null; - } - destroyed = true; - } + NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.twoStepPasswordChanged); + destroyed = true; if (progressDialog != null) { try { progressDialog.dismiss(); @@ -204,12 +174,6 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific ActionBarMenu menu = actionBar.createMenu(); doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56)); - progressView = new ContextProgressView(context, 1); - progressView.setAlpha(0.0f); - progressView.setScaleX(0.1f); - progressView.setScaleY(0.1f); - progressView.setVisibility(View.INVISIBLE); - doneItem.addView(progressView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); scrollView = new ScrollView(context); scrollView.setFillViewport(true); @@ -284,191 +248,99 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific bottomButton.setPadding(0, AndroidUtilities.dp(10), 0, 0); linearLayout2.addView(bottomButton, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.BOTTOM, 40, 0, 40, 14)); bottomButton.setOnClickListener(v -> { - if (type == 0) { - if (currentPassword.has_recovery) { - needShowProgress(); - TLRPC.TL_auth_requestPasswordRecovery req = new TLRPC.TL_auth_requestPasswordRecovery(); - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { - needHideProgress(); - if (error == null) { - final TLRPC.TL_auth_passwordRecovery res = (TLRPC.TL_auth_passwordRecovery) response; - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setMessage(LocaleController.formatString("RestoreEmailSent", R.string.RestoreEmailSent, res.email_pattern)); - builder.setTitle(LocaleController.getString("RestoreEmailSentTitle", R.string.RestoreEmailSentTitle)); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(currentAccount, 1); - fragment.currentPassword = currentPassword; - fragment.currentPassword.email_unconfirmed_pattern = res.email_pattern; - fragment.currentSecretId = currentSecretId; - fragment.currentSecret = currentSecret; - fragment.passwordSetState = 4; - presentFragment(fragment); - }); - Dialog dialog = showDialog(builder.create()); - if (dialog != null) { - dialog.setCanceledOnTouchOutside(false); - dialog.setCancelable(false); - } - } else { - if (error.text.startsWith("FLOOD_WAIT")) { - int time = Utilities.parseInt(error.text); - String timeString; - if (time < 60) { - timeString = LocaleController.formatPluralString("Seconds", time); - } else { - timeString = LocaleController.formatPluralString("Minutes", time / 60); - } - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + if (currentPassword.has_recovery) { + needShowProgress(); + TLRPC.TL_auth_requestPasswordRecovery req = new TLRPC.TL_auth_requestPasswordRecovery(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + needHideProgress(); + if (error == null) { + final TLRPC.TL_auth_passwordRecovery res = (TLRPC.TL_auth_passwordRecovery) response; + currentPassword.email_unconfirmed_pattern = res.email_pattern; + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_EMAIL_RECOVERY, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, false); + presentFragment(fragment); + } else { + if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); } else { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); + timeString = LocaleController.formatPluralString("Minutes", time / 60); } + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); } - }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); - } else { - if (getParentActivity() == null) { - return; } - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null); - builder.setNegativeButton(LocaleController.getString("RestorePasswordResetAccount", R.string.RestorePasswordResetAccount), (dialog, which) -> Browser.openUrl(getParentActivity(), "https://telegram.org/deactivate?phone=" + UserConfig.getInstance(currentAccount).getClientPhone())); - builder.setTitle(LocaleController.getString("RestorePasswordNoEmailTitle", R.string.RestorePasswordNoEmailTitle)); - builder.setMessage(LocaleController.getString("RestorePasswordNoEmailText", R.string.RestorePasswordNoEmailText)); - showDialog(builder.create()); - } + }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); } else { - if (passwordSetState == 4) { - showAlertWithText(LocaleController.getString("RestorePasswordNoEmailTitle", R.string.RestorePasswordNoEmailTitle), LocaleController.getString("RestoreEmailTroubleText", R.string.RestoreEmailTroubleText)); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setMessage(LocaleController.getString("YourEmailSkipWarningText", R.string.YourEmailSkipWarningText)); - builder.setTitle(LocaleController.getString("YourEmailSkipWarning", R.string.YourEmailSkipWarning)); - builder.setPositiveButton(LocaleController.getString("YourEmailSkip", R.string.YourEmailSkip), (dialogInterface, i) -> { - email = ""; - setNewPassword(false); - }); - builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); - showDialog(builder.create()); + if (getParentActivity() == null) { + return; + } + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null); + builder.setNegativeButton(LocaleController.getString("RestorePasswordResetAccount", R.string.RestorePasswordResetAccount), (dialog, which) -> Browser.openUrl(getParentActivity(), "https://telegram.org/deactivate?phone=" + UserConfig.getInstance(currentAccount).getClientPhone())); + builder.setTitle(LocaleController.getString("RestorePasswordNoEmailTitle", R.string.RestorePasswordNoEmailTitle)); + builder.setMessage(LocaleController.getString("RestorePasswordNoEmailText", R.string.RestorePasswordNoEmailText)); + showDialog(builder.create()); + } + }); + + emptyView = new EmptyTextProgressView(context); + emptyView.showProgress(); + frameLayout.addView(emptyView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + + listView = new RecyclerListView(context); + listView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)); + listView.setEmptyView(emptyView); + listView.setVerticalScrollBarEnabled(false); + frameLayout.addView(listView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + listView.setAdapter(listAdapter = new ListAdapter(context)); + listView.setOnItemClickListener((view, position) -> { + if (position == setPasswordRow || position == changePasswordRow) { + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_ENTER_FIRST, currentPassword); + fragment.addFragmentToClose(this); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, false); + presentFragment(fragment); + } else if (position == setRecoveryEmailRow || position == changeRecoveryEmailRow) { + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_ENTER_EMAIL, currentPassword); + fragment.addFragmentToClose(this); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, true); + presentFragment(fragment); + } else if (position == turnPasswordOffRow) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + + String text = LocaleController.getString("TurnPasswordOffQuestion", R.string.TurnPasswordOffQuestion); + if (currentPassword.has_secure_values) { + text += "\n\n" + LocaleController.getString("TurnPasswordOffPassport", R.string.TurnPasswordOffPassport); + } + String title = LocaleController.getString("TurnPasswordOffQuestionTitle", R.string.TurnPasswordOffQuestionTitle); + String buttonText = LocaleController.getString("Disable", R.string.Disable); + + builder.setMessage(text); + builder.setTitle(title); + builder.setPositiveButton(buttonText, (dialogInterface, i) -> clearPassword()); + builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); + AlertDialog alertDialog = builder.create(); + showDialog(alertDialog); + TextView button = (TextView) alertDialog.getButton(DialogInterface.BUTTON_POSITIVE); + if (button != null) { + button.setTextColor(Theme.getColor(Theme.key_dialogTextRed2)); } } }); - if (type == 0) { - emptyView = new EmptyTextProgressView(context); - emptyView.showProgress(); - frameLayout.addView(emptyView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); + updateRows(); - listView = new RecyclerListView(context); - listView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)); - listView.setEmptyView(emptyView); - listView.setVerticalScrollBarEnabled(false); - frameLayout.addView(listView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT)); - listView.setAdapter(listAdapter = new ListAdapter(context)); - listView.setOnItemClickListener((view, position) -> { - if (position == setPasswordRow || position == changePasswordRow) { - TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(currentAccount, 1); - fragment.currentPasswordHash = currentPasswordHash; - fragment.currentPassword = currentPassword; - fragment.currentSecretId = currentSecretId; - fragment.currentSecret = currentSecret; - presentFragment(fragment); - } else if (position == setRecoveryEmailRow || position == changeRecoveryEmailRow) { - TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(currentAccount, 1); - fragment.currentPasswordHash = currentPasswordHash; - fragment.currentPassword = currentPassword; - fragment.currentSecretId = currentSecretId; - fragment.currentSecret = currentSecret; - fragment.emailOnly = true; - fragment.passwordSetState = 3; - presentFragment(fragment); - } else if (position == turnPasswordOffRow || position == abortPasswordRow) { - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - String text; - String buttonText; - String title; - if (position == abortPasswordRow) { - if (currentPassword != null && currentPassword.has_password) { - text = LocaleController.getString("CancelEmailQuestion", R.string.CancelEmailQuestion); - } else { - text = LocaleController.getString("CancelPasswordQuestion", R.string.CancelPasswordQuestion); - } - title = LocaleController.getString("CancelEmailQuestionTitle", R.string.CancelEmailQuestionTitle); - buttonText = LocaleController.getString("Abort", R.string.Abort); - } else { - text = LocaleController.getString("TurnPasswordOffQuestion", R.string.TurnPasswordOffQuestion); - if (currentPassword.has_secure_values) { - text += "\n\n" + LocaleController.getString("TurnPasswordOffPassport", R.string.TurnPasswordOffPassport); - } - title = LocaleController.getString("TurnPasswordOffQuestionTitle", R.string.TurnPasswordOffQuestionTitle); - buttonText = LocaleController.getString("Disable", R.string.Disable); - } - builder.setMessage(text); - builder.setTitle(title); - builder.setPositiveButton(buttonText, (dialogInterface, i) -> setNewPassword(true)); - builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); - AlertDialog alertDialog = builder.create(); - showDialog(alertDialog); - TextView button = (TextView) alertDialog.getButton(DialogInterface.BUTTON_POSITIVE); - if (button != null) { - button.setTextColor(Theme.getColor(Theme.key_dialogTextRed2)); - } - } else if (position == resendCodeRow) { - TLRPC.TL_account_resendPasswordEmail req = new TLRPC.TL_account_resendPasswordEmail(); - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> { - - }); - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setMessage(LocaleController.getString("ResendCodeInfo", R.string.ResendCodeInfo)); - builder.setTitle(LocaleController.getString("AppName", R.string.AppName)); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null); - showDialog(builder.create()); - } - }); - - codeFieldCell = new EditTextSettingsCell(context); - codeFieldCell.setTextAndHint("", LocaleController.getString("PasswordCode", R.string.PasswordCode), false); - codeFieldCell.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite)); - EditTextBoldCursor editText = codeFieldCell.getTextView(); - editText.setInputType(InputType.TYPE_CLASS_PHONE); - editText.setImeOptions(EditorInfo.IME_ACTION_DONE); - editText.setOnEditorActionListener((textView, i, keyEvent) -> { - if (i == EditorInfo.IME_ACTION_DONE) { - processDone(); - return true; - } - return false; - }); - editText.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (emailCodeLength != 0 && s.length() == emailCodeLength) { - processDone(); - } - } - }); - - updateRows(); - - actionBar.setTitle(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle)); - if (delegate != null) { - titleTextView.setText(LocaleController.getString("PleaseEnterCurrentPasswordTransfer", R.string.PleaseEnterCurrentPasswordTransfer)); - } else { - titleTextView.setText(LocaleController.getString("PleaseEnterCurrentPassword", R.string.PleaseEnterCurrentPassword)); - } - } else if (type == 1) { - setPasswordSetState(passwordSetState); + actionBar.setTitle(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle)); + if (delegate != null) { + titleTextView.setText(LocaleController.getString("PleaseEnterCurrentPasswordTransfer", R.string.PleaseEnterCurrentPasswordTransfer)); + } else { + titleTextView.setText(LocaleController.getString("PleaseEnterCurrentPassword", R.string.PleaseEnterCurrentPassword)); } - if (passwordEntered && type != 1) { + if (passwordEntered) { fragmentView.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundGray)); fragmentView.setTag(Theme.key_windowBackgroundGray); } else { @@ -481,15 +353,9 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific @Override public void didReceivedNotification(int id, int account, Object... args) { - if (id == NotificationCenter.didSetTwoStepPassword) { + if (id == NotificationCenter.twoStepPasswordChanged) { if (args != null && args.length > 0 && args[0] != null) { currentPasswordHash = (byte[]) args[0]; - if (closeAfterSet) { - String email = (String) args[4]; - if (TextUtils.isEmpty(email) && closeAfterSet) { - removeSelfFromStack(); - } - } } loadPasswordInfo(false); updateRows(); @@ -506,28 +372,9 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific public void onResume() { super.onResume(); paused = false; - if (type == 1) { - AndroidUtilities.runOnUIThread(() -> { - if (passwordEditText != null) { - passwordEditText.requestFocus(); - AndroidUtilities.showKeyboard(passwordEditText); - } - }, 200); - } else if (type == 0 && codeFieldCell != null && codeFieldCell.getVisibility() == View.VISIBLE) { - AndroidUtilities.runOnUIThread(() -> { - if (codeFieldCell != null) { - codeFieldCell.getTextView().requestFocus(); - AndroidUtilities.showKeyboard(codeFieldCell.getTextView()); - } - }, 200); - } AndroidUtilities.requestAdjustResize(getParentActivity(), classGuid); } - public void setCloseAfterSet(boolean value) { - closeAfterSet = value; - } - public void setCurrentPasswordInfo(byte[] hash, TLRPC.TL_account_password password) { if (hash != null) { currentPasswordHash = hash; @@ -539,17 +386,6 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific delegate = twoStepVerificationActivityDelegate; } - @Override - public void onTransitionAnimationEnd(boolean isOpen, boolean backward) { - if (isOpen) { - if (type == 1) { - AndroidUtilities.showKeyboard(passwordEditText); - } else if (type == 0 && codeFieldCell != null && codeFieldCell.getVisibility() == View.VISIBLE) { - AndroidUtilities.showKeyboard(codeFieldCell.getTextView()); - } - } - } - public static boolean canHandleCurrentPassword(TLRPC.TL_account_password password, boolean login) { if (login) { if (password.current_algo instanceof TLRPC.TL_passwordKdfAlgoUnknown) { @@ -601,95 +437,13 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific if (!silent) { passwordEntered = currentPasswordHash != null && currentPasswordHash.length > 0 || !currentPassword.has_password; } - waitingForEmail = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); initPasswordNewAlgo(currentPassword); - if (!paused && closeAfterSet && currentPassword.has_password) { - TLRPC.PasswordKdfAlgo pendingCurrentAlgo = currentPassword.current_algo; - TLRPC.SecurePasswordKdfAlgo pendingNewSecureAlgo = currentPassword.new_secure_algo; - byte[] pendingSecureRandom = currentPassword.secure_random; - String pendingEmail = currentPassword.has_recovery ? "1" : null; - String pendingHint = currentPassword.hint != null ? currentPassword.hint : ""; - - if (!waitingForEmail && pendingCurrentAlgo != null) { - NotificationCenter.getInstance(currentAccount).removeObserver(TwoStepVerificationActivity.this, NotificationCenter.didSetTwoStepPassword); - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword, null, pendingCurrentAlgo, pendingNewSecureAlgo, pendingSecureRandom, pendingEmail, pendingHint, null, null); - finishFragment(); - } - } - } - if (type == 0 && !destroyed && shortPollRunnable == null && currentPassword != null && !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern)) { - startShortpoll(); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); } updateRows(); }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); } - private void startShortpoll() { - if (shortPollRunnable != null) { - AndroidUtilities.cancelRunOnUIThread(shortPollRunnable); - } - shortPollRunnable = () -> { - if (shortPollRunnable == null) { - return; - } - loadPasswordInfo(true); - shortPollRunnable = null; - }; - AndroidUtilities.runOnUIThread(shortPollRunnable, 5000); - } - - private void setPasswordSetState(int state) { - if (passwordEditText == null) { - return; - } - passwordSetState = state; - if (passwordSetState == 0) { - actionBar.setTitle(LocaleController.getString("YourPassword", R.string.YourPassword)); - if (currentPassword.has_password) { - titleTextView.setText(LocaleController.getString("PleaseEnterPassword", R.string.PleaseEnterPassword)); - } else { - titleTextView.setText(LocaleController.getString("PleaseEnterFirstPassword", R.string.PleaseEnterFirstPassword)); - } - passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT); - passwordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); - bottomTextView.setVisibility(View.INVISIBLE); - bottomButton.setVisibility(View.INVISIBLE); - } else if (passwordSetState == 1) { - actionBar.setTitle(LocaleController.getString("YourPassword", R.string.YourPassword)); - titleTextView.setText(LocaleController.getString("PleaseReEnterPassword", R.string.PleaseReEnterPassword)); - passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT); - passwordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); - bottomTextView.setVisibility(View.INVISIBLE); - bottomButton.setVisibility(View.INVISIBLE); - } else if (passwordSetState == 2) { - actionBar.setTitle(LocaleController.getString("PasswordHint", R.string.PasswordHint)); - titleTextView.setText(LocaleController.getString("PasswordHintText", R.string.PasswordHintText)); - passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT); - passwordEditText.setTransformationMethod(null); - bottomTextView.setVisibility(View.INVISIBLE); - bottomButton.setVisibility(View.INVISIBLE); - } else if (passwordSetState == 3) { - actionBar.setTitle(LocaleController.getString("RecoveryEmail", R.string.RecoveryEmail)); - titleTextView.setText(LocaleController.getString("YourEmail", R.string.YourEmail)); - passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT); - passwordEditText.setTransformationMethod(null); - passwordEditText.setInputType(EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); - bottomTextView.setVisibility(View.VISIBLE); - bottomButton.setVisibility(emailOnly ? View.INVISIBLE : View.VISIBLE); - } else if (passwordSetState == 4) { - actionBar.setTitle(LocaleController.getString("PasswordRecovery", R.string.PasswordRecovery)); - titleTextView.setText(LocaleController.getString("PasswordCode", R.string.PasswordCode)); - bottomTextView.setText(LocaleController.getString("RestoreEmailSentInfo", R.string.RestoreEmailSentInfo)); - bottomButton.setText(LocaleController.formatString("RestoreEmailTrouble", R.string.RestoreEmailTrouble, currentPassword.email_unconfirmed_pattern != null ? currentPassword.email_unconfirmed_pattern : "")); - passwordEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); - passwordEditText.setTransformationMethod(null); - passwordEditText.setInputType(InputType.TYPE_CLASS_PHONE); - bottomTextView.setVisibility(View.VISIBLE); - bottomButton.setVisibility(View.VISIBLE); - } - passwordEditText.setText(""); - } - private void updateRows() { StringBuilder lastValue = new StringBuilder(); lastValue.append(setPasswordRow); @@ -698,16 +452,9 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific lastValue.append(turnPasswordOffRow); lastValue.append(setRecoveryEmailRow); lastValue.append(changeRecoveryEmailRow); - lastValue.append(resendCodeRow); - lastValue.append(abortPasswordRow); - lastValue.append(passwordSetupDetailRow); - lastValue.append(passwordCodeFieldRow); lastValue.append(passwordEnabledDetailRow); - lastValue.append(shadowRow); lastValue.append(rowCount); - boolean wasCodeField = passwordCodeFieldRow != -1; - rowCount = 0; setPasswordRow = -1; setPasswordDetailRow = -1; @@ -715,20 +462,9 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific turnPasswordOffRow = -1; setRecoveryEmailRow = -1; changeRecoveryEmailRow = -1; - abortPasswordRow = -1; - resendCodeRow = -1; - passwordSetupDetailRow = -1; - passwordCodeFieldRow = -1; passwordEnabledDetailRow = -1; - shadowRow = -1; if (!loading && currentPassword != null) { - if (waitingForEmail) { - passwordCodeFieldRow = rowCount++; - passwordSetupDetailRow = rowCount++; - resendCodeRow = rowCount++; - abortPasswordRow = rowCount++; - shadowRow = rowCount++; - } else if (currentPassword.has_password) { + if (currentPassword.has_password) { changePasswordRow = rowCount++; turnPasswordOffRow = rowCount++; if (currentPassword.has_recovery) { @@ -749,19 +485,10 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific newValue.append(turnPasswordOffRow); newValue.append(setRecoveryEmailRow); newValue.append(changeRecoveryEmailRow); - newValue.append(resendCodeRow); - newValue.append(abortPasswordRow); - newValue.append(passwordSetupDetailRow); - newValue.append(passwordCodeFieldRow); newValue.append(passwordEnabledDetailRow); - newValue.append(shadowRow); newValue.append(rowCount); if (listAdapter != null && !lastValue.toString().equals(newValue.toString())) { listAdapter.notifyDataSetChanged(); - if (passwordCodeFieldRow == -1 && getParentActivity() != null && wasCodeField) { - AndroidUtilities.hideKeyboard(getParentActivity().getCurrentFocus()); - codeFieldCell.setText("", false); - } } if (fragmentView != null) { if (loading || passwordEntered) { @@ -770,9 +497,7 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific scrollView.setVisibility(View.INVISIBLE); listView.setEmptyView(emptyView); } - if (waitingForEmail && currentPassword != null) { - doneItem.setVisibility(View.VISIBLE); - } else if (passwordEditText != null) { + if (passwordEditText != null) { doneItem.setVisibility(View.GONE); passwordEditText.setVisibility(View.INVISIBLE); titleTextView.setVisibility(View.INVISIBLE); @@ -813,55 +538,6 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific } } - private void showDoneProgress(final boolean show) { - if (doneItemAnimation != null) { - doneItemAnimation.cancel(); - } - doneItemAnimation = new AnimatorSet(); - if (show) { - progressView.setVisibility(View.VISIBLE); - doneItem.setEnabled(false); - doneItemAnimation.playTogether( - ObjectAnimator.ofFloat(doneItem.getContentView(), "scaleX", 0.1f), - ObjectAnimator.ofFloat(doneItem.getContentView(), "scaleY", 0.1f), - ObjectAnimator.ofFloat(doneItem.getContentView(), "alpha", 0.0f), - ObjectAnimator.ofFloat(progressView, "scaleX", 1.0f), - ObjectAnimator.ofFloat(progressView, "scaleY", 1.0f), - ObjectAnimator.ofFloat(progressView, "alpha", 1.0f)); - } else { - doneItem.getContentView().setVisibility(View.VISIBLE); - doneItem.setEnabled(true); - doneItemAnimation.playTogether( - ObjectAnimator.ofFloat(progressView, "scaleX", 0.1f), - ObjectAnimator.ofFloat(progressView, "scaleY", 0.1f), - ObjectAnimator.ofFloat(progressView, "alpha", 0.0f), - ObjectAnimator.ofFloat(doneItem.getContentView(), "scaleX", 1.0f), - ObjectAnimator.ofFloat(doneItem.getContentView(), "scaleY", 1.0f), - ObjectAnimator.ofFloat(doneItem.getContentView(), "alpha", 1.0f)); - } - doneItemAnimation.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (doneItemAnimation != null && doneItemAnimation.equals(animation)) { - if (!show) { - progressView.setVisibility(View.INVISIBLE); - } else { - doneItem.getContentView().setVisibility(View.INVISIBLE); - } - } - } - - @Override - public void onAnimationCancel(Animator animation) { - if (doneItemAnimation != null && doneItemAnimation.equals(animation)) { - doneItemAnimation = null; - } - } - }); - doneItemAnimation.setDuration(150); - doneItemAnimation.start(); - } - private void needShowProgress() { if (getParentActivity() == null || getParentActivity().isFinishing() || progressDialog != null) { return; @@ -883,15 +559,6 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific progressDialog = null; } - private boolean isValidEmail(String text) { - if (text == null || text.length() < 3) { - return false; - } - int dot = text.lastIndexOf('.'); - int dog = text.lastIndexOf('@'); - return !(dog < 0 || dot < dog); - } - private void showAlertWithText(String title, String text) { if (getParentActivity() == null) { return; @@ -903,77 +570,42 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific showDialog(builder.create()); } - private void setNewPassword(final boolean clear) { - if (clear && waitingForEmail && currentPassword.has_password) { - needShowProgress(); - TLRPC.TL_account_cancelPasswordEmail req = new TLRPC.TL_account_cancelPasswordEmail(); - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { - needHideProgress(); - if (error == null) { - loadPasswordInfo(false); - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didRemoveTwoStepPassword); - updateRows(); - } - })); - return; - } + private void clearPassword() { final String password = firstPassword; final TLRPC.TL_account_updatePasswordSettings req = new TLRPC.TL_account_updatePasswordSettings(); if (currentPasswordHash == null || currentPasswordHash.length == 0) { req.password = new TLRPC.TL_inputCheckPasswordEmpty(); } req.new_settings = new TLRPC.TL_account_passwordInputSettings(); - if (clear) { - UserConfig.getInstance(currentAccount).resetSavedPassword(); - currentSecret = null; - if (waitingForEmail) { - req.new_settings.flags = 2; - req.new_settings.email = ""; - req.password = new TLRPC.TL_inputCheckPasswordEmpty(); - } else { - req.new_settings.flags = 3; - req.new_settings.hint = ""; - req.new_settings.new_password_hash = new byte[0]; - req.new_settings.new_algo = new TLRPC.TL_passwordKdfAlgoUnknown(); - req.new_settings.email = ""; - } - } else { - if (hint == null && currentPassword != null) { - hint = currentPassword.hint; - } - if (hint == null) { - hint = ""; - } - if (password != null) { - req.new_settings.flags |= 1; - req.new_settings.hint = hint; - req.new_settings.new_algo = currentPassword.new_algo; - } - if (email.length() > 0) { - req.new_settings.flags |= 2; - req.new_settings.email = email.trim(); - } - } + + UserConfig.getInstance(currentAccount).resetSavedPassword(); + currentSecret = null; + req.new_settings.flags = 3; + req.new_settings.hint = ""; + req.new_settings.new_password_hash = new byte[0]; + req.new_settings.new_algo = new TLRPC.TL_passwordKdfAlgoUnknown(); + req.new_settings.email = ""; + needShowProgress(); Utilities.globalQueue.postRunnable(() -> { if (req.password == null) { + if (currentPassword.current_algo == null) { + TLRPC.TL_account_getPassword getPasswordReq = new TLRPC.TL_account_getPassword(); + ConnectionsManager.getInstance(currentAccount).sendRequest(getPasswordReq, (response2, error2) -> AndroidUtilities.runOnUIThread(() -> { + if (error2 == null) { + currentPassword = (TLRPC.TL_account_password) response2; + initPasswordNewAlgo(currentPassword); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + clearPassword(); + } + }), ConnectionsManager.RequestFlagWithoutLogin); + return; + } req.password = getNewSrpPassword(); } - byte[] newPasswordBytes; - byte[] newPasswordHash; - if (!clear && password != null) { - newPasswordBytes = AndroidUtilities.getStringBytes(password); - if (currentPassword.new_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { - TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.new_algo; - newPasswordHash = SRPHelper.getX(newPasswordBytes, algo); - } else { - newPasswordHash = null; - } - } else { - newPasswordBytes = null; - newPasswordHash = null; - } + byte[] newPasswordBytes = null; + byte[] newPasswordHash = null; RequestDelegate requestDelegate = (response, error) -> AndroidUtilities.runOnUIThread(() -> { if (error != null && "SRP_ID_INVALID".equals(error.text)) { @@ -982,121 +614,35 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific if (error2 == null) { currentPassword = (TLRPC.TL_account_password) response2; initPasswordNewAlgo(currentPassword); - setNewPassword(clear); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + clearPassword(); } }), ConnectionsManager.RequestFlagWithoutLogin); return; } needHideProgress(); if (error == null && response instanceof TLRPC.TL_boolTrue) { - if (clear) { - currentPassword = null; - currentPasswordHash = new byte[0]; - loadPasswordInfo(false); - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didRemoveTwoStepPassword); - updateRows(); - } else { - if (getParentActivity() == null) { - return; - } - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword, newPasswordHash, req.new_settings.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, null, firstPassword); - finishFragment(); - }); - if (password == null && currentPassword != null && currentPassword.has_password) { - builder.setMessage(LocaleController.getString("YourEmailSuccessText", R.string.YourEmailSuccessText)); - } else { - builder.setMessage(LocaleController.getString("YourPasswordSuccessText", R.string.YourPasswordSuccessText)); - } - builder.setTitle(LocaleController.getString("YourPasswordSuccess", R.string.YourPasswordSuccess)); - Dialog dialog = showDialog(builder.create()); - if (dialog != null) { - dialog.setCanceledOnTouchOutside(false); - dialog.setCancelable(false); - } - } + currentPassword = null; + currentPasswordHash = new byte[0]; + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didRemoveTwoStepPassword); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword); + finishFragment(); } else if (error != null) { - if ("EMAIL_UNCONFIRMED".equals(error.text) || error.text.startsWith("EMAIL_UNCONFIRMED_")) { - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword); - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - if (closeAfterSet) { - TwoStepVerificationActivity activity = new TwoStepVerificationActivity(currentAccount, 0); - activity.setCloseAfterSet(true); - parentLayout.addFragmentToStack(activity, parentLayout.fragmentsStack.size() - 1); - } - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword, newPasswordHash, req.new_settings.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, email, firstPassword); - finishFragment(); - }); - builder.setMessage(LocaleController.getString("YourEmailAlmostThereText", R.string.YourEmailAlmostThereText)); - builder.setTitle(LocaleController.getString("YourEmailAlmostThere", R.string.YourEmailAlmostThere)); - Dialog dialog = showDialog(builder.create()); - if (dialog != null) { - dialog.setCanceledOnTouchOutside(false); - dialog.setCancelable(false); - } - } else { - if ("EMAIL_INVALID".equals(error.text)) { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.getString("PasswordEmailInvalid", R.string.PasswordEmailInvalid)); - } else if (error.text.startsWith("FLOOD_WAIT")) { - int time = Utilities.parseInt(error.text); - String timeString; - if (time < 60) { - timeString = LocaleController.formatPluralString("Seconds", time); - } else { - timeString = LocaleController.formatPluralString("Minutes", time / 60); - } - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); } else { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); + timeString = LocaleController.formatPluralString("Minutes", time / 60); } + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); } } }); - - if (!clear) { - if (password != null && currentSecret != null && currentSecret.length == 32) { - if (currentPassword.new_secure_algo instanceof TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000) { - TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000 newAlgo = (TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000) currentPassword.new_secure_algo; - - byte[] passwordHash = Utilities.computePBKDF2(newPasswordBytes, newAlgo.salt); - byte[] key = new byte[32]; - System.arraycopy(passwordHash, 0, key, 0, 32); - byte[] iv = new byte[16]; - System.arraycopy(passwordHash, 32, iv, 0, 16); - - byte[] encryptedSecret = new byte[32]; - System.arraycopy(currentSecret, 0, encryptedSecret, 0, 32); - Utilities.aesCbcEncryptionByteArraySafe(encryptedSecret, key, iv, 0, encryptedSecret.length, 0, 1); - - req.new_settings.new_secure_settings = new TLRPC.TL_secureSecretSettings(); - req.new_settings.new_secure_settings.secure_algo = newAlgo; - req.new_settings.new_secure_settings.secure_secret = encryptedSecret; - req.new_settings.new_secure_settings.secure_secret_id = currentSecretId; - req.new_settings.flags |= 4; - } - } - - if (currentPassword.new_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { - if (password != null) { - TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.new_algo; - req.new_settings.new_password_hash = SRPHelper.getVBytes(newPasswordBytes, algo); - if (req.new_settings.new_password_hash == null) { - TLRPC.TL_error error = new TLRPC.TL_error(); - error.text = "ALGO_INVALID"; - requestDelegate.run(null, error); - } - } - ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); - } else { - TLRPC.TL_error error = new TLRPC.TL_error(); - error.text = "PASSWORD_HASH_INVALID"; - requestDelegate.run(null, error); - } - } else { - ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); - } + ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); }); } @@ -1149,255 +695,111 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific return true; } - private static byte[] getBigIntegerBytes(BigInteger value) { - byte[] bytes = value.toByteArray(); - if (bytes.length > 256) { - byte[] correctedAuth = new byte[256]; - System.arraycopy(bytes, 1, correctedAuth, 0, 256); - return correctedAuth; - } - return bytes; - } - private void processDone() { - if (type == 0) { - if (!passwordEntered) { - String oldPassword = passwordEditText.getText().toString(); - if (oldPassword.length() == 0) { - onFieldError(passwordEditText, false); - return; - } - final byte[] oldPasswordBytes = AndroidUtilities.getStringBytes(oldPassword); - - needShowProgress(); - Utilities.globalQueue.postRunnable(() -> { - final TLRPC.TL_account_getPasswordSettings req = new TLRPC.TL_account_getPasswordSettings(); - final byte[] x_bytes; - if (currentPassword.current_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { - TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.current_algo; - x_bytes = SRPHelper.getX(oldPasswordBytes, algo); - } else { - x_bytes = null; - } - - RequestDelegate requestDelegate = (response, error) -> { - if (error == null) { - Utilities.globalQueue.postRunnable(() -> { - boolean secretOk = checkSecretValues(oldPasswordBytes, (TLRPC.TL_account_passwordSettings) response); - AndroidUtilities.runOnUIThread(() -> { - if (delegate == null || !secretOk) { - needHideProgress(); - } - if (secretOk) { - currentPasswordHash = x_bytes; - passwordEntered = true; - AndroidUtilities.hideKeyboard(passwordEditText); - if (delegate != null) { - delegate.didEnterPassword(getNewSrpPassword()); - } else { - updateRows(); - } - } else { - AlertsCreator.showUpdateAppAlert(getParentActivity(), LocaleController.getString("UpdateAppAlert", R.string.UpdateAppAlert), true); - } - }); - }); - } else { - AndroidUtilities.runOnUIThread(() -> { - if ("SRP_ID_INVALID".equals(error.text)) { - TLRPC.TL_account_getPassword getPasswordReq = new TLRPC.TL_account_getPassword(); - ConnectionsManager.getInstance(currentAccount).sendRequest(getPasswordReq, (response2, error2) -> AndroidUtilities.runOnUIThread(() -> { - if (error2 == null) { - currentPassword = (TLRPC.TL_account_password) response2; - initPasswordNewAlgo(currentPassword); - processDone(); - } - }), ConnectionsManager.RequestFlagWithoutLogin); - return; - } - needHideProgress(); - if ("PASSWORD_HASH_INVALID".equals(error.text)) { - onFieldError(passwordEditText, true); - } else if (error.text.startsWith("FLOOD_WAIT")) { - int time = Utilities.parseInt(error.text); - String timeString; - if (time < 60) { - timeString = LocaleController.formatPluralString("Seconds", time); - } else { - timeString = LocaleController.formatPluralString("Minutes", time / 60); - } - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); - } else { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); - } - }); - } - }; - - if (currentPassword.current_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { - TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.current_algo; - req.password = SRPHelper.startCheck(x_bytes, currentPassword.srp_id, currentPassword.srp_B, algo); - if (req.password == null) { - TLRPC.TL_error error = new TLRPC.TL_error(); - error.text = "ALGO_INVALID"; - requestDelegate.run(null, error); - return; - } - ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); - } else { - TLRPC.TL_error error = new TLRPC.TL_error(); - error.text = "PASSWORD_HASH_INVALID"; - requestDelegate.run(null, error); - } - }); - } else if (waitingForEmail && currentPassword != null) { - if (codeFieldCell.length() == 0) { - onFieldError(codeFieldCell.getTextView(), false); - return; - } - sendEmailConfirm(codeFieldCell.getText()); - showDoneProgress(true); + if (!passwordEntered) { + String oldPassword = passwordEditText.getText().toString(); + if (oldPassword.length() == 0) { + onFieldError(passwordEditText, false); + return; } - } else if (type == 1) { - if (passwordSetState == 0) { - if (passwordEditText.getText().length() == 0) { - onFieldError(passwordEditText, false); - return; - } - titleTextView.setText(LocaleController.getString("ReEnterYourPasscode", R.string.ReEnterYourPasscode)); - firstPassword = passwordEditText.getText().toString(); - setPasswordSetState(1); - } else if (passwordSetState == 1) { - if (!firstPassword.equals(passwordEditText.getText().toString())) { - try { - Toast.makeText(getParentActivity(), LocaleController.getString("PasswordDoNotMatch", R.string.PasswordDoNotMatch), Toast.LENGTH_SHORT).show(); - } catch (Exception e) { - FileLog.e(e); - } - onFieldError(passwordEditText, true); - return; - } - setPasswordSetState(2); - } else if (passwordSetState == 2) { - hint = passwordEditText.getText().toString(); - if (hint.toLowerCase().equals(firstPassword.toLowerCase())) { - try { - Toast.makeText(getParentActivity(), LocaleController.getString("PasswordAsHintError", R.string.PasswordAsHintError), Toast.LENGTH_SHORT).show(); - } catch (Exception e) { - FileLog.e(e); - } - onFieldError(passwordEditText, false); - return; - } - if (!currentPassword.has_recovery) { - setPasswordSetState(3); + final byte[] oldPasswordBytes = AndroidUtilities.getStringBytes(oldPassword); + + needShowProgress(); + Utilities.globalQueue.postRunnable(() -> { + final TLRPC.TL_account_getPasswordSettings req = new TLRPC.TL_account_getPasswordSettings(); + final byte[] x_bytes; + if (currentPassword.current_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { + TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.current_algo; + x_bytes = SRPHelper.getX(oldPasswordBytes, algo); } else { - email = ""; - setNewPassword(false); + x_bytes = null; } - } else if (passwordSetState == 3) { - email = passwordEditText.getText().toString(); - if (!isValidEmail(email)) { - onFieldError(passwordEditText, false); - return; - } - setNewPassword(false); - } else if (passwordSetState == 4) { - String code = passwordEditText.getText().toString(); - if (code.length() == 0) { - onFieldError(passwordEditText, false); - return; - } - TLRPC.TL_auth_recoverPassword req = new TLRPC.TL_auth_recoverPassword(); - req.code = code; - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + + RequestDelegate requestDelegate = (response, error) -> { if (error == null) { - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword); - finishFragment(); + Utilities.globalQueue.postRunnable(() -> { + boolean secretOk = checkSecretValues(oldPasswordBytes, (TLRPC.TL_account_passwordSettings) response); + AndroidUtilities.runOnUIThread(() -> { + if (delegate == null || !secretOk) { + needHideProgress(); + } + if (secretOk) { + currentPasswordHash = x_bytes; + passwordEntered = true; + if (delegate != null) { + AndroidUtilities.hideKeyboard(passwordEditText); + delegate.didEnterPassword(getNewSrpPassword()); + } else { + if (!TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern)) { + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TwoStepVerificationSetupActivity.TYPE_EMAIL_CONFIRM, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, true); + presentFragment(fragment, true); + } else { + AndroidUtilities.hideKeyboard(passwordEditText); + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + fragment.passwordEntered = true; + fragment.currentPasswordHash = currentPasswordHash; + fragment.currentPassword = currentPassword; + fragment.currentSecret = currentSecret; + fragment.currentSecretId = currentSecretId; + presentFragment(fragment, true); + } + } + } else { + AlertsCreator.showUpdateAppAlert(getParentActivity(), LocaleController.getString("UpdateAppAlert", R.string.UpdateAppAlert), true); + } + }); }); - builder.setMessage(LocaleController.getString("PasswordReset", R.string.PasswordReset)); - builder.setTitle(LocaleController.getString("AppName", R.string.AppName)); - Dialog dialog = showDialog(builder.create()); - if (dialog != null) { - dialog.setCanceledOnTouchOutside(false); - dialog.setCancelable(false); - } } else { - if (error.text.startsWith("CODE_INVALID")) { - onFieldError(passwordEditText, true); - } else if (error.text.startsWith("FLOOD_WAIT")) { - int time = Utilities.parseInt(error.text); - String timeString; - if (time < 60) { - timeString = LocaleController.formatPluralString("Seconds", time); - } else { - timeString = LocaleController.formatPluralString("Minutes", time / 60); + AndroidUtilities.runOnUIThread(() -> { + if ("SRP_ID_INVALID".equals(error.text)) { + TLRPC.TL_account_getPassword getPasswordReq = new TLRPC.TL_account_getPassword(); + ConnectionsManager.getInstance(currentAccount).sendRequest(getPasswordReq, (response2, error2) -> AndroidUtilities.runOnUIThread(() -> { + if (error2 == null) { + currentPassword = (TLRPC.TL_account_password) response2; + initPasswordNewAlgo(currentPassword); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + processDone(); + } + }), ConnectionsManager.RequestFlagWithoutLogin); + return; } - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); - } else { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); - } + needHideProgress(); + if ("PASSWORD_HASH_INVALID".equals(error.text)) { + onFieldError(passwordEditText, true); + } else if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); + } else { + timeString = LocaleController.formatPluralString("Minutes", time / 60); + } + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); + } + }); } - }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); - } - } - } + }; - private void sendEmailConfirm(String code) { - TLRPC.TL_account_confirmPasswordEmail req = new TLRPC.TL_account_confirmPasswordEmail(); - req.code = code; - ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { - if (type == 0 && waitingForEmail) { - showDoneProgress(false); - } - if (error == null) { - if (getParentActivity() == null) { - return; - } - if (shortPollRunnable != null) { - AndroidUtilities.cancelRunOnUIThread(shortPollRunnable); - shortPollRunnable = null; - } - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { - if (type == 0) { - loadPasswordInfo(false); - doneItem.setVisibility(View.GONE); - } else { - NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetTwoStepPassword, currentPasswordHash, currentPassword.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, null, firstPassword); - finishFragment(); + if (currentPassword.current_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { + TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.current_algo; + req.password = SRPHelper.startCheck(x_bytes, currentPassword.srp_id, currentPassword.srp_B, algo); + if (req.password == null) { + TLRPC.TL_error error = new TLRPC.TL_error(); + error.text = "ALGO_INVALID"; + requestDelegate.run(null, error); + return; } - }); - if (currentPassword != null && currentPassword.has_password) { - builder.setMessage(LocaleController.getString("YourEmailSuccessText", R.string.YourEmailSuccessText)); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); } else { - builder.setMessage(LocaleController.getString("YourPasswordSuccessText", R.string.YourPasswordSuccessText)); + TLRPC.TL_error error = new TLRPC.TL_error(); + error.text = "PASSWORD_HASH_INVALID"; + requestDelegate.run(null, error); } - builder.setTitle(LocaleController.getString("YourPasswordSuccess", R.string.YourPasswordSuccess)); - Dialog dialog = showDialog(builder.create()); - if (dialog != null) { - dialog.setCanceledOnTouchOutside(false); - dialog.setCancelable(false); - } - } else { - if (error.text.startsWith("CODE_INVALID")) { - onFieldError(waitingForEmail ? codeFieldCell.getTextView() : passwordEditText, true); - } else if (error.text.startsWith("FLOOD_WAIT")) { - int time = Utilities.parseInt(error.text); - String timeString; - if (time < 60) { - timeString = LocaleController.formatPluralString("Seconds", time); - } else { - timeString = LocaleController.formatPluralString("Minutes", time / 60); - } - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); - } else { - showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); - } - } - }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + }); + } } private void onFieldError(TextView field, boolean clear) { @@ -1442,14 +844,8 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific view.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite)); break; case 1: - view = new TextInfoPrivacyCell(mContext); - break; - case 2: default: - view = codeFieldCell; - if (view.getParent() != null) { - ((ViewGroup) view.getParent()).removeView(view); - } + view = new TextInfoPrivacyCell(mContext); break; } return new RecyclerListView.Holder(view); @@ -1469,19 +865,9 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific } else if (position == turnPasswordOffRow) { textCell.setText(LocaleController.getString("TurnPasswordOff", R.string.TurnPasswordOff), true); } else if (position == changeRecoveryEmailRow) { - textCell.setText(LocaleController.getString("ChangeRecoveryEmail", R.string.ChangeRecoveryEmail), abortPasswordRow != -1); - } else if (position == resendCodeRow) { - textCell.setText(LocaleController.getString("ResendCode", R.string.ResendCode), true); + textCell.setText(LocaleController.getString("ChangeRecoveryEmail", R.string.ChangeRecoveryEmail), false); } else if (position == setRecoveryEmailRow) { textCell.setText(LocaleController.getString("SetRecoveryEmail", R.string.SetRecoveryEmail), false); - } else if (position == abortPasswordRow) { - textCell.setTag(Theme.key_windowBackgroundWhiteRedText3); - textCell.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteRedText3)); - if (currentPassword != null && currentPassword.has_password) { - textCell.setText(LocaleController.getString("AbortEmail", R.string.AbortEmail), false); - } else { - textCell.setText(LocaleController.getString("AbortPassword", R.string.AbortPassword), false); - } } break; case 1: @@ -1489,16 +875,6 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific if (position == setPasswordDetailRow) { privacyCell.setText(LocaleController.getString("SetAdditionalPasswordInfo", R.string.SetAdditionalPasswordInfo)); privacyCell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); - } else if (position == shadowRow) { - privacyCell.setText(""); - privacyCell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); - } else if (position == passwordSetupDetailRow) { - if (currentPassword != null && currentPassword.has_password) { - privacyCell.setText(LocaleController.formatString("EmailPasswordConfirmText3", R.string.EmailPasswordConfirmText3, currentPassword.email_unconfirmed_pattern != null ? currentPassword.email_unconfirmed_pattern : "")); - } else { - privacyCell.setText(LocaleController.formatString("EmailPasswordConfirmText2", R.string.EmailPasswordConfirmText2, currentPassword.email_unconfirmed_pattern != null ? currentPassword.email_unconfirmed_pattern : "")); - } - privacyCell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_top, Theme.key_windowBackgroundGrayShadow)); } else if (position == passwordEnabledDetailRow) { privacyCell.setText(LocaleController.getString("EnabledPasswordText", R.string.EnabledPasswordText)); privacyCell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); @@ -1509,10 +885,8 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific @Override public int getItemViewType(int position) { - if (position == setPasswordDetailRow || position == shadowRow || position == passwordSetupDetailRow || position == passwordEnabledDetailRow) { + if (position == setPasswordDetailRow || position == passwordEnabledDetailRow) { return 1; - } else if (position == passwordCodeFieldRow) { - return 2; } return 0; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationSetupActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationSetupActivity.java new file mode 100644 index 000000000..48cfd8ab4 --- /dev/null +++ b/TMessagesProj/src/main/java/org/telegram/ui/TwoStepVerificationSetupActivity.java @@ -0,0 +1,1526 @@ +/* + * This is the source code of Telegram for Android v. 3.x.x + * It is licensed under GNU GPL v. 2 or later. + * You should have received a copy of the license in this archive (see LICENSE). + * + * Copyright Nikolai Kudashov, 2013-2017. + */ + +package org.telegram.ui; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; +import android.graphics.Rect; +import android.graphics.Typeface; +import android.os.Build; +import android.os.Vibrator; +import android.text.Editable; +import android.text.InputType; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.text.method.PasswordTransformationMethod; +import android.util.TypedValue; +import android.view.ActionMode; +import android.view.Gravity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.EditorInfo; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import android.widget.Toast; + +import org.telegram.messenger.AndroidUtilities; +import org.telegram.messenger.FileLog; +import org.telegram.messenger.LocaleController; +import org.telegram.messenger.NotificationCenter; +import org.telegram.messenger.R; +import org.telegram.messenger.SRPHelper; +import org.telegram.messenger.UserConfig; +import org.telegram.messenger.Utilities; +import org.telegram.tgnet.ConnectionsManager; +import org.telegram.tgnet.RequestDelegate; +import org.telegram.tgnet.TLRPC; +import org.telegram.ui.ActionBar.ActionBar; +import org.telegram.ui.ActionBar.ActionBarMenu; +import org.telegram.ui.ActionBar.ActionBarMenuItem; +import org.telegram.ui.ActionBar.AlertDialog; +import org.telegram.ui.ActionBar.BaseFragment; +import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ActionBar.ThemeDescription; +import org.telegram.ui.Components.AlertsCreator; +import org.telegram.ui.Components.EditTextBoldCursor; +import org.telegram.ui.Components.LayoutHelper; +import org.telegram.ui.Components.RLottieDrawable; +import org.telegram.ui.Components.RLottieImageView; + +import java.util.ArrayList; + +public class TwoStepVerificationSetupActivity extends BaseFragment { + + private RLottieImageView imageView; + private TextView buttonTextView; + private TextView titleTextView; + private TextView descriptionText; + private TextView descriptionText2; + private TextView topButton; + private EditTextBoldCursor passwordEditText; + private ScrollView scrollView; + private View actionBarBackground; + private ImageView showPasswordButton; + + private AnimatorSet buttonAnimation; + + private ArrayList fragmentsToClose = new ArrayList<>(); + + private AnimatorSet actionBarAnimator; + + private AlertDialog progressDialog; + + private boolean ignoreTextChange; + + private boolean doneAfterPasswordLoad; + + private int currentType; + private int emailCodeLength = 6; + private String firstPassword; + private String hint; + private String email; + private boolean paused; + private boolean waitingForEmail; + private TLRPC.TL_account_password currentPassword; + private byte[] currentPasswordHash = new byte[0]; + private long currentSecretId; + private byte[] currentSecret; + private boolean closeAfterSet; + private boolean emailOnly; + + private RLottieDrawable[] animationDrawables; + private Runnable setAnimationRunnable; + + public static final int TYPE_ENTER_FIRST = 0; + public static final int TYPE_ENTER_SECOND = 1; + public static final int TYPE_ENTER_HINT = 2; + public static final int TYPE_ENTER_EMAIL = 3; + public static final int TYPE_EMAIL_RECOVERY = 4; + public static final int TYPE_EMAIL_CONFIRM = 5; + public static final int TYPE_INTRO = 6; + public static final int TYPE_PASSWORD_SET = 7; + + private static final int item_abort = 1; + private static final int item_resend = 2; + + public TwoStepVerificationSetupActivity(int type, TLRPC.TL_account_password password) { + super(); + currentType = type; + currentPassword = password; + if (currentPassword == null && currentType == TYPE_INTRO) { + loadPasswordInfo(); + } else { + waitingForEmail = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); + } + } + + public TwoStepVerificationSetupActivity(int account, int type, TLRPC.TL_account_password password) { + super(); + currentAccount = account; + currentType = type; + currentPassword = password; + waitingForEmail = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); + if (currentPassword == null && currentType == TYPE_INTRO) { + loadPasswordInfo(); + } + } + + public void setCurrentPasswordParams(byte[] passwordHash, long secretId, byte[] secret, boolean email) { + currentPasswordHash = passwordHash; + currentSecret = secret; + currentSecretId = secretId; + emailOnly = email; + } + + public void addFragmentToClose(BaseFragment fragment) { + fragmentsToClose.add(fragment); + } + + @Override + public void onFragmentDestroy() { + super.onFragmentDestroy(); + doneAfterPasswordLoad = false; + if (setAnimationRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(setAnimationRunnable); + setAnimationRunnable = null; + } + if (animationDrawables != null) { + for (int a = 0; a < animationDrawables.length; a++) { + animationDrawables[a].recycle(); + } + animationDrawables = null; + } + if (progressDialog != null) { + try { + progressDialog.dismiss(); + } catch (Exception e) { + FileLog.e(e); + } + progressDialog = null; + } + AndroidUtilities.removeAdjustResize(getParentActivity(), classGuid); + } + + @Override + public View createView(Context context) { + actionBar.setBackgroundDrawable(null); + actionBar.setBackButtonImage(R.drawable.ic_ab_back); + actionBar.setAllowOverlayTitle(false); + actionBar.setTitleColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText)); + actionBar.setItemsColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2), false); + actionBar.setItemsBackgroundColor(Theme.getColor(Theme.key_actionBarWhiteSelector), false); + actionBar.setCastShadows(false); + actionBar.setAddToContainer(false); + if (!AndroidUtilities.isTablet()) { + actionBar.showActionModeTop(); + } + actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { + @Override + public void onItemClick(int id) { + if (id == -1) { + finishFragment(); + } else if (id == item_resend) { + TLRPC.TL_account_resendPasswordEmail req = new TLRPC.TL_account_resendPasswordEmail(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> { + + }); + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setMessage(LocaleController.getString("ResendCodeInfo", R.string.ResendCodeInfo)); + builder.setTitle(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle)); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null); + showDialog(builder.create()); + } else if (id == item_abort) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + String text; + if (currentPassword != null && currentPassword.has_password) { + text = LocaleController.getString("CancelEmailQuestion", R.string.CancelEmailQuestion); + } else { + text = LocaleController.getString("CancelPasswordQuestion", R.string.CancelPasswordQuestion); + } + String title = LocaleController.getString("CancelEmailQuestionTitle", R.string.CancelEmailQuestionTitle); + String buttonText = LocaleController.getString("Abort", R.string.Abort); + builder.setMessage(text); + builder.setTitle(title); + builder.setPositiveButton(buttonText, (dialogInterface, i) -> setNewPassword(true)); + builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); + AlertDialog alertDialog = builder.create(); + showDialog(alertDialog); + TextView button = (TextView) alertDialog.getButton(DialogInterface.BUTTON_POSITIVE); + if (button != null) { + button.setTextColor(Theme.getColor(Theme.key_dialogTextRed2)); + } + } + } + }); + + if (currentType == TYPE_EMAIL_CONFIRM) { + ActionBarMenu menu = actionBar.createMenu(); + ActionBarMenuItem item = menu.addItem(0, R.drawable.ic_ab_other); + item.addSubItem(item_resend, LocaleController.getString("ResendCode", R.string.ResendCode)); + item.addSubItem(item_abort, LocaleController.getString("AbortPasswordMenu", R.string.AbortPasswordMenu)); + } + + topButton = new TextView(context); + topButton.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText2)); + topButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + topButton.setGravity(Gravity.CENTER_VERTICAL); + topButton.setVisibility(View.GONE); + actionBar.addView(topButton, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.MATCH_PARENT, Gravity.TOP | Gravity.RIGHT, 0, 0, 22, 0)); + topButton.setOnClickListener(v -> { + if (currentType == TYPE_ENTER_EMAIL) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setMessage(LocaleController.getString("YourEmailSkipWarningText", R.string.YourEmailSkipWarningText)); + builder.setTitle(LocaleController.getString("YourEmailSkipWarning", R.string.YourEmailSkipWarning)); + builder.setPositiveButton(LocaleController.getString("YourEmailSkip", R.string.YourEmailSkip), (dialogInterface, i) -> { + email = ""; + setNewPassword(false); + }); + builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null); + AlertDialog alertDialog = builder.create(); + showDialog(alertDialog); + TextView button = (TextView) alertDialog.getButton(DialogInterface.BUTTON_POSITIVE); + if (button != null) { + button.setTextColor(Theme.getColor(Theme.key_dialogTextRed2)); + } + } else if (currentType == TYPE_ENTER_HINT) { + onHintDone(); + } + }); + + imageView = new RLottieImageView(context); + imageView.setScaleType(ImageView.ScaleType.CENTER); + + titleTextView = new TextView(context); + titleTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText)); + titleTextView.setGravity(Gravity.CENTER_HORIZONTAL); + titleTextView.setPadding(AndroidUtilities.dp(32), 0, AndroidUtilities.dp(32), 0); + titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 24); + + descriptionText = new TextView(context); + descriptionText.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText6)); + descriptionText.setGravity(Gravity.CENTER_HORIZONTAL); + descriptionText.setLineSpacing(AndroidUtilities.dp(2), 1); + descriptionText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15); + descriptionText.setVisibility(View.GONE); + descriptionText.setPadding(AndroidUtilities.dp(32), 0, AndroidUtilities.dp(32), 0); + + descriptionText2 = new TextView(context); + descriptionText2.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText6)); + descriptionText2.setGravity(Gravity.CENTER_HORIZONTAL); + descriptionText2.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + descriptionText2.setLineSpacing(AndroidUtilities.dp(2), 1); + descriptionText2.setPadding(AndroidUtilities.dp(32), 0, AndroidUtilities.dp(32), 0); + descriptionText2.setVisibility(View.GONE); + + buttonTextView = new TextView(context); + buttonTextView.setMinWidth(AndroidUtilities.dp(220)); + buttonTextView.setPadding(AndroidUtilities.dp(34), 0, AndroidUtilities.dp(34), 0); + buttonTextView.setGravity(Gravity.CENTER); + buttonTextView.setTextColor(Theme.getColor(Theme.key_featuredStickers_buttonText)); + buttonTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14); + buttonTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf")); + buttonTextView.setBackgroundDrawable(Theme.createSimpleSelectorRoundRectDrawable(AndroidUtilities.dp(4), Theme.getColor(Theme.key_featuredStickers_addButton), Theme.getColor(Theme.key_featuredStickers_addButtonPressed))); + buttonTextView.setOnClickListener(v -> { + if (getParentActivity() == null) { + return; + } + switch (currentType) { + case TYPE_INTRO: { + if (currentPassword == null) { + needShowProgress(); + doneAfterPasswordLoad = true; + return; + } + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TYPE_ENTER_FIRST, currentPassword); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment, true); + break; + } + case TYPE_PASSWORD_SET: { + if (closeAfterSet) { + finishFragment(); + } else { + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + fragment.setCurrentPasswordParams(currentPassword, currentPasswordHash, currentSecretId, currentSecret); + presentFragment(fragment, true); + } + break; + } + case TYPE_ENTER_FIRST: { + if (passwordEditText.length() == 0) { + onFieldError(passwordEditText, false); + return; + } + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TYPE_ENTER_SECOND, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.firstPassword = passwordEditText.getText().toString(); + fragment.fragmentsToClose.addAll(fragmentsToClose); + fragment.fragmentsToClose.add(this); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment); + break; + } + case TYPE_ENTER_SECOND: { + if (!firstPassword.equals(passwordEditText.getText().toString())) { + try { + Toast.makeText(getParentActivity(), LocaleController.getString("PasswordDoNotMatch", R.string.PasswordDoNotMatch), Toast.LENGTH_SHORT).show(); + } catch (Exception e) { + FileLog.e(e); + } + onFieldError(passwordEditText, false); + return; + } + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TYPE_ENTER_HINT, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.firstPassword = firstPassword; + fragment.fragmentsToClose.addAll(fragmentsToClose); + fragment.fragmentsToClose.add(this); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment); + break; + } + case TYPE_ENTER_HINT: { + String hint = passwordEditText.getText().toString(); + if (hint.toLowerCase().equals(firstPassword.toLowerCase())) { + try { + Toast.makeText(getParentActivity(), LocaleController.getString("PasswordAsHintError", R.string.PasswordAsHintError), Toast.LENGTH_SHORT).show(); + } catch (Exception e) { + FileLog.e(e); + } + onFieldError(passwordEditText, false); + return; + } + onHintDone(); + break; + } + case TYPE_ENTER_EMAIL: { + email = passwordEditText.getText().toString(); + if (!isValidEmail(email)) { + onFieldError(passwordEditText, false); + return; + } + setNewPassword(false); + break; + } + case TYPE_EMAIL_RECOVERY: { + String code = passwordEditText.getText().toString(); + if (code.length() == 0) { + onFieldError(passwordEditText, false); + return; + } + TLRPC.TL_auth_recoverPassword req = new TLRPC.TL_auth_recoverPassword(); + req.code = code; + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + if (error == null) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged); + finishFragment(); + }); + builder.setMessage(LocaleController.getString("PasswordReset", R.string.PasswordReset)); + builder.setTitle(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle)); + Dialog dialog = showDialog(builder.create()); + if (dialog != null) { + dialog.setCanceledOnTouchOutside(false); + dialog.setCancelable(false); + } + } else { + if (error.text.startsWith("CODE_INVALID")) { + onFieldError(passwordEditText, true); + } else if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); + } else { + timeString = LocaleController.formatPluralString("Minutes", time / 60); + } + showAlertWithText(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle), error.text); + } + } + }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + break; + } + case TYPE_EMAIL_CONFIRM: { + if (passwordEditText.length() == 0) { + onFieldError(passwordEditText, false); + return; + } + TLRPC.TL_account_confirmPasswordEmail req = new TLRPC.TL_account_confirmPasswordEmail(); + req.code = passwordEditText.getText().toString(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + needHideProgress(); + if (error == null) { + if (getParentActivity() == null) { + return; + } + if (currentPassword.has_password) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged, currentPasswordHash, currentPassword.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, null, firstPassword); + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + currentPassword.has_password = true; + currentPassword.has_recovery = true; + currentPassword.email_unconfirmed_pattern = ""; + fragment.setCurrentPasswordParams(currentPassword, currentPasswordHash, currentSecretId, currentSecret); + presentFragment(fragment, true); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + }); + if (currentPassword.has_recovery) { + builder.setMessage(LocaleController.getString("YourEmailSuccessChangedText", R.string.YourEmailSuccessChangedText)); + } else { + builder.setMessage(LocaleController.getString("YourEmailSuccessText", R.string.YourEmailSuccessText)); + } + builder.setTitle(LocaleController.getString("YourPasswordSuccess", R.string.YourPasswordSuccess)); + Dialog dialog = showDialog(builder.create()); + if (dialog != null) { + dialog.setCanceledOnTouchOutside(false); + dialog.setCancelable(false); + } + } else { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + currentPassword.has_password = true; + currentPassword.has_recovery = true; + currentPassword.email_unconfirmed_pattern = ""; + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(TYPE_PASSWORD_SET, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment, true); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged, currentPasswordHash, currentPassword.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, null, firstPassword); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + } + } else { + if (error.text.startsWith("CODE_INVALID")) { + onFieldError(passwordEditText, true); + } else if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); + } else { + timeString = LocaleController.formatPluralString("Minutes", time / 60); + } + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); + } + } + }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + needShowProgress(); + } + } + }); + + switch (currentType) { + case TYPE_INTRO: + case TYPE_PASSWORD_SET: { + ViewGroup container = new ViewGroup(context) { + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = MeasureSpec.getSize(widthMeasureSpec); + int height = MeasureSpec.getSize(heightMeasureSpec); + + actionBar.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), heightMeasureSpec); + + if (width > height) { + imageView.measure(MeasureSpec.makeMeasureSpec((int) (width * 0.45f), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) (height * 0.68f), MeasureSpec.EXACTLY)); + titleTextView.measure(MeasureSpec.makeMeasureSpec((int) (width * 0.6f), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + descriptionText.measure(MeasureSpec.makeMeasureSpec((int) (width * 0.6f), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + descriptionText2.measure(MeasureSpec.makeMeasureSpec((int) (width * 0.6f), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + buttonTextView.measure(MeasureSpec.makeMeasureSpec((int) (width * 0.6f), MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY)); + } else { + imageView.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec((int) (height * 0.399f), MeasureSpec.EXACTLY)); + titleTextView.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + descriptionText.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + descriptionText2.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.UNSPECIFIED)); + buttonTextView.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY)); + } + + setMeasuredDimension(width, height); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + actionBar.layout(0, 0, r, actionBar.getMeasuredHeight()); + + int width = r - l; + int height = b - t; + + if (r > b) { + int y = (height - imageView.getMeasuredHeight()) / 2; + imageView.layout(0, y, imageView.getMeasuredWidth(), y + imageView.getMeasuredHeight()); + int x = (int) (width * 0.4f); + y = (int) (height * 0.22f); + titleTextView.layout(x, y, x + titleTextView.getMeasuredWidth(), y + titleTextView.getMeasuredHeight()); + x = (int) (width * 0.4f); + y = (int) (height * 0.39f); + descriptionText.layout(x, y, x + descriptionText.getMeasuredWidth(), y + descriptionText.getMeasuredHeight()); + x = (int) (width * 0.4f + (width * 0.6f - buttonTextView.getMeasuredWidth()) / 2); + y = (int) (height * 0.64f); + buttonTextView.layout(x, y, x + buttonTextView.getMeasuredWidth(), y + buttonTextView.getMeasuredHeight()); + } else { + int y = (int) (height * 0.148f); + imageView.layout(0, y, imageView.getMeasuredWidth(), y + imageView.getMeasuredHeight()); + y = (int) (height * 0.458f); + titleTextView.layout(0, y, titleTextView.getMeasuredWidth(), y + titleTextView.getMeasuredHeight()); + y += titleTextView.getMeasuredHeight() + AndroidUtilities.dp(12); + descriptionText.layout(0, y, descriptionText.getMeasuredWidth(), y + descriptionText.getMeasuredHeight()); + int x = (width - buttonTextView.getMeasuredWidth()) / 2; + y = (int) (height * 0.791f); + buttonTextView.layout(x, y, x + buttonTextView.getMeasuredWidth(), y + buttonTextView.getMeasuredHeight()); + } + } + }; + container.setOnTouchListener((v, event) -> true); + container.addView(actionBar); + container.addView(imageView); + container.addView(titleTextView); + container.addView(descriptionText); + container.addView(buttonTextView); + fragmentView = container; + break; + } + case TYPE_ENTER_FIRST: + case TYPE_ENTER_SECOND: + case TYPE_EMAIL_CONFIRM: + case TYPE_EMAIL_RECOVERY: + case TYPE_ENTER_HINT: + case TYPE_ENTER_EMAIL: { + ViewGroup container = new ViewGroup(context) { + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = MeasureSpec.getSize(widthMeasureSpec); + int height = MeasureSpec.getSize(heightMeasureSpec); + + if (topButton != null) { + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) topButton.getLayoutParams(); + layoutParams.topMargin = AndroidUtilities.statusBarHeight; + } + + actionBar.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), heightMeasureSpec); + actionBarBackground.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(actionBar.getMeasuredHeight() + AndroidUtilities.dp(3), MeasureSpec.EXACTLY)); + scrollView.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), heightMeasureSpec); + + setMeasuredDimension(width, height); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + actionBar.layout(0, 0, actionBar.getMeasuredWidth(), actionBar.getMeasuredHeight()); + actionBarBackground.layout(0, 0, actionBarBackground.getMeasuredWidth(), actionBarBackground.getMeasuredHeight()); + scrollView.layout(0, 0, scrollView.getMeasuredWidth(), scrollView.getMeasuredHeight()); + } + }; + + scrollView = new ScrollView(context) { + + private int[] location = new int[2]; + private Rect tempRect = new Rect(); + private boolean isLayoutDirty = true; + private int scrollingUp; + + @Override + protected void onScrollChanged(int l, int t, int oldl, int oldt) { + super.onScrollChanged(l, t, oldl, oldt); + + if (titleTextView == null) { + return; + } + titleTextView.getLocationOnScreen(location); + boolean show = location[1] + titleTextView.getMeasuredHeight() < actionBar.getBottom(); + boolean visible = titleTextView.getTag() == null; + if (show != visible) { + titleTextView.setTag(show ? null : 1); + if (actionBarAnimator != null) { + actionBarAnimator.cancel(); + actionBarAnimator = null; + } + actionBarAnimator = new AnimatorSet(); + actionBarAnimator.playTogether( + ObjectAnimator.ofFloat(actionBarBackground, View.ALPHA, show ? 1.0f : 0.0f), + ObjectAnimator.ofFloat(actionBar.getTitleTextView(), View.ALPHA, show ? 1.0f : 0.0f) + ); + actionBarAnimator.setDuration(150); + actionBarAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (animation.equals(actionBarAnimator)) { + actionBarAnimator = null; + } + } + }); + actionBarAnimator.start(); + } + } + + @Override + public void scrollToDescendant(View child) { + child.getDrawingRect(tempRect); + offsetDescendantRectToMyCoords(child, tempRect); + + tempRect.bottom += AndroidUtilities.dp(120); + + int scrollDelta = computeScrollDeltaToGetChildRectOnScreen(tempRect); + if (scrollDelta < 0) { + scrollDelta -= (scrollingUp = (getMeasuredHeight() - child.getMeasuredHeight()) / 2); + } else { + scrollingUp = 0; + } + if (scrollDelta != 0) { + smoothScrollBy(0, scrollDelta); + } + } + + @Override + public void requestChildFocus(View child, View focused) { + if (Build.VERSION.SDK_INT < 29) { + if (focused != null && !isLayoutDirty) { + scrollToDescendant(focused); + } + } + super.requestChildFocus(child, focused); + } + + @Override + public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) { + if (Build.VERSION.SDK_INT < 23) { + + rectangle.bottom += AndroidUtilities.dp(120); + + if (scrollingUp != 0) { + rectangle.top -= scrollingUp; + rectangle.bottom -= scrollingUp; + scrollingUp = 0; + } + } + return super.requestChildRectangleOnScreen(child, rectangle, immediate); + } + + @Override + public void requestLayout() { + isLayoutDirty = true; + super.requestLayout(); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + isLayoutDirty = false; + super.onLayout(changed, l, t, r, b); + } + }; + scrollView.setVerticalScrollBarEnabled(false); + container.addView(scrollView); + + LinearLayout scrollViewLinearLayout = new LinearLayout(context); + scrollViewLinearLayout.setOrientation(LinearLayout.VERTICAL); + scrollView.addView(scrollViewLinearLayout, LayoutHelper.createScroll(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, Gravity.LEFT | Gravity.TOP)); + + scrollViewLinearLayout.addView(imageView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP, 0, 69, 0, 0)); + scrollViewLinearLayout.addView(titleTextView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP, 0, 8, 0, 0)); + scrollViewLinearLayout.addView(descriptionText, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP, 0, 9, 0, 0)); + + FrameLayout frameLayout = new FrameLayout(context); + scrollViewLinearLayout.addView(frameLayout, LayoutHelper.createLinear(220, 36, Gravity.TOP | Gravity.CENTER_HORIZONTAL, 40, 32, 40, 0)); + + passwordEditText = new EditTextBoldCursor(context); + passwordEditText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 17); + passwordEditText.setPadding(0, AndroidUtilities.dp(2), 0, 0); + passwordEditText.setHintTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteHintText)); + passwordEditText.setCursorColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText)); + passwordEditText.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText)); + passwordEditText.setHintColor(Theme.getColor(Theme.key_windowBackgroundWhiteHintText)); + passwordEditText.setBackgroundDrawable(Theme.createEditTextDrawable(context, false)); + passwordEditText.setMaxLines(1); + passwordEditText.setLines(1); + passwordEditText.setGravity(Gravity.LEFT); + passwordEditText.setCursorSize(AndroidUtilities.dp(20)); + passwordEditText.setSingleLine(true); + passwordEditText.setCursorWidth(1.5f); + frameLayout.addView(passwordEditText, LayoutHelper.createFrame(220, 36, Gravity.TOP | Gravity.CENTER_HORIZONTAL)); + passwordEditText.setOnEditorActionListener((textView, i, keyEvent) -> { + if (i == EditorInfo.IME_ACTION_NEXT || i == EditorInfo.IME_ACTION_DONE) { + buttonTextView.callOnClick(); + return true; + } + return false; + }); + passwordEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback() { + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + return false; + } + + public void onDestroyActionMode(ActionMode mode) { + } + + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + return false; + } + + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + return false; + } + }); + + showPasswordButton = new ImageView(context); + showPasswordButton.setImageResource(R.drawable.msg_message); + showPasswordButton.setScaleType(ImageView.ScaleType.CENTER); + if (Build.VERSION.SDK_INT >= 21) { + showPasswordButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector))); + } + showPasswordButton.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_messagePanelIcons), PorterDuff.Mode.MULTIPLY)); + showPasswordButton.setVisibility(View.GONE); + frameLayout.addView(showPasswordButton, LayoutHelper.createFrame(36, 36, Gravity.RIGHT | Gravity.TOP, 0, -5, 0, 0)); + showPasswordButton.setOnClickListener(v -> { + ignoreTextChange = true; + if (passwordEditText.getTransformationMethod() == null) { + passwordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); + showPasswordButton.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_messagePanelIcons), PorterDuff.Mode.MULTIPLY)); + if (currentType == TYPE_ENTER_FIRST) { + if (passwordEditText.length() > 0) { + animationDrawables[3].setCustomEndFrame(-1); + if (imageView.getAnimatedDrawable() != animationDrawables[3]) { + imageView.setAnimation(animationDrawables[3]); + animationDrawables[3].setCurrentFrame(18, false); + } + imageView.playAnimation(); + } + } + } else { + passwordEditText.setTransformationMethod(null); + showPasswordButton.setColorFilter(new PorterDuffColorFilter(Theme.getColor(Theme.key_chat_messagePanelSend), PorterDuff.Mode.MULTIPLY)); + if (currentType == TYPE_ENTER_FIRST) { + if (passwordEditText.length() > 0) { + animationDrawables[3].setCustomEndFrame(18); + if (imageView.getAnimatedDrawable() != animationDrawables[3]) { + imageView.setAnimation(animationDrawables[3]); + } + animationDrawables[3].setProgress(0.0f, false); + imageView.playAnimation(); + } + } + } + passwordEditText.setSelection(passwordEditText.length()); + ignoreTextChange = false; + }); + + FrameLayout frameLayout2 = new FrameLayout(context); + scrollViewLinearLayout.addView(frameLayout2, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP, 0, 36, 0, 33)); + + frameLayout2.addView(buttonTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 42, Gravity.CENTER_HORIZONTAL | Gravity.TOP)); + frameLayout2.addView(descriptionText2, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP)); + + fragmentView = container; + + actionBarBackground = new View(context) { + + private Paint paint = new Paint(); + + @Override + protected void onDraw(Canvas canvas) { + paint.setColor(Theme.getColor(Theme.key_windowBackgroundWhite)); + int h = getMeasuredHeight() - AndroidUtilities.dp(3); + canvas.drawRect(0, 0, getMeasuredWidth(), h, paint); + parentLayout.drawHeaderShadow(canvas, h); + } + }; + actionBarBackground.setAlpha(0.0f); + container.addView(actionBarBackground); + container.addView(actionBar); + break; + } + } + + fragmentView.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite)); + + switch (currentType) { + case TYPE_INTRO: { + titleTextView.setText(LocaleController.getString("TwoStepVerificationTitle", R.string.TwoStepVerificationTitle)); + descriptionText.setText(LocaleController.getString("SetAdditionalPasswordInfo", R.string.SetAdditionalPasswordInfo)); + buttonTextView.setText(LocaleController.getString("TwoStepVerificationSetPassword", R.string.TwoStepVerificationSetPassword)); + descriptionText.setVisibility(View.VISIBLE); + + imageView.setAnimation(R.raw.tsv_setup_intro, 120, 120); + imageView.playAnimation(); + break; + } + case TYPE_PASSWORD_SET: { + titleTextView.setText(LocaleController.getString("TwoStepVerificationPasswordSet", R.string.TwoStepVerificationPasswordSet)); + descriptionText.setText(LocaleController.getString("TwoStepVerificationPasswordSetInfo", R.string.TwoStepVerificationPasswordSetInfo)); + if (closeAfterSet) { + buttonTextView.setText(LocaleController.getString("TwoStepVerificationPasswordReturnPassport", R.string.TwoStepVerificationPasswordReturnPassport)); + } else { + buttonTextView.setText(LocaleController.getString("TwoStepVerificationPasswordReturnSettings", R.string.TwoStepVerificationPasswordReturnSettings)); + } + descriptionText.setVisibility(View.VISIBLE); + + imageView.setAnimation(R.raw.wallet_allset, 120, 120); + imageView.playAnimation(); + break; + } + case TYPE_ENTER_FIRST: { + if (currentPassword.has_password) { + actionBar.setTitle(LocaleController.getString("PleaseEnterNewFirstPassword", R.string.PleaseEnterNewFirstPassword)); + titleTextView.setText(LocaleController.getString("PleaseEnterNewFirstPassword", R.string.PleaseEnterNewFirstPassword)); + } else { + actionBar.setTitle(LocaleController.getString("PleaseEnterFirstPassword", R.string.PleaseEnterFirstPassword)); + titleTextView.setText(LocaleController.getString("PleaseEnterFirstPassword", R.string.PleaseEnterFirstPassword)); + } + actionBar.getTitleTextView().setAlpha(0.0f); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("LoginPassword", R.string.LoginPassword)); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + passwordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); + passwordEditText.setTypeface(Typeface.DEFAULT); + showPasswordButton.setVisibility(View.VISIBLE); + passwordEditText.setPadding(0, AndroidUtilities.dp(2), AndroidUtilities.dp(36), 0); + + animationDrawables = new RLottieDrawable[6]; + animationDrawables[0] = new RLottieDrawable(R.raw.tsv_setup_monkey_idle1, "" + R.raw.tsv_setup_monkey_idle1, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[1] = new RLottieDrawable(R.raw.tsv_setup_monkey_idle2, "" + R.raw.tsv_setup_monkey_idle2, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[2] = new RLottieDrawable(R.raw.tsv_monkey_close, "" + R.raw.tsv_monkey_close, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[3] = new RLottieDrawable(R.raw.tsv_setup_monkey_peek, "" + R.raw.tsv_setup_monkey_peek, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[4] = new RLottieDrawable(R.raw.tsv_setup_monkey_close_and_peek_to_idle, "" + R.raw.tsv_setup_monkey_close_and_peek_to_idle, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[5] = new RLottieDrawable(R.raw.tsv_setup_monkey_close_and_peek, "" + R.raw.tsv_setup_monkey_close_and_peek, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[2].setOnFinishCallback(() -> { + if (passwordEditText.length() != 0) { + animationDrawables[2].setCustomEndFrame(49); + animationDrawables[2].setProgress(0.0f, false); + imageView.playAnimation(); + } else { + setRandomMonkeyIdleAnimation(true); + } + }, 97); + setRandomMonkeyIdleAnimation(true); + break; + } + case TYPE_ENTER_SECOND: { + actionBar.setTitle(LocaleController.getString("PleaseReEnterPassword", R.string.PleaseReEnterPassword)); + actionBar.getTitleTextView().setAlpha(0.0f); + titleTextView.setText(LocaleController.getString("PleaseReEnterPassword", R.string.PleaseReEnterPassword)); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("LoginPassword", R.string.LoginPassword)); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + passwordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); + passwordEditText.setTypeface(Typeface.DEFAULT); + showPasswordButton.setVisibility(View.VISIBLE); + passwordEditText.setPadding(0, AndroidUtilities.dp(2), AndroidUtilities.dp(36), 0); + + animationDrawables = new RLottieDrawable[1]; + animationDrawables[0] = new RLottieDrawable(R.raw.tsv_setup_monkey_tracking, "" + R.raw.tsv_setup_monkey_tracking, AndroidUtilities.dp(120), AndroidUtilities.dp(120), true, null); + animationDrawables[0].setPlayInDirectionOfCustomEndFrame(true); + animationDrawables[0].setCustomEndFrame(19); + imageView.setAnimation(animationDrawables[0]); + imageView.playAnimation(); + break; + } + case TYPE_ENTER_HINT: { + actionBar.setTitle(LocaleController.getString("PasswordHint", R.string.PasswordHint)); + actionBar.getTitleTextView().setAlpha(0.0f); + topButton.setVisibility(View.VISIBLE); + topButton.setText(LocaleController.getString("YourEmailSkip", R.string.YourEmailSkip)); + titleTextView.setText(LocaleController.getString("PasswordHint", R.string.PasswordHint)); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("PasswordHintPlaceholder", R.string.PasswordHintPlaceholder)); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + + imageView.setAnimation(R.raw.tsv_setup_hint, 120, 120); + imageView.playAnimation(); + break; + } + case TYPE_ENTER_EMAIL: { + actionBar.setTitle(LocaleController.getString("RecoveryEmailTitle", R.string.RecoveryEmailTitle)); + actionBar.getTitleTextView().setAlpha(0.0f); + if (!emailOnly) { + topButton.setVisibility(View.VISIBLE); + topButton.setText(LocaleController.getString("YourEmailSkip", R.string.YourEmailSkip)); + } + titleTextView.setText(LocaleController.getString("RecoveryEmailTitle", R.string.RecoveryEmailTitle)); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("PaymentShippingEmailPlaceholder", R.string.PaymentShippingEmailPlaceholder)); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + passwordEditText.setInputType(EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); + + imageView.setAnimation(R.raw.tsv_setup_email_sent, 120, 120); + imageView.playAnimation(); + break; + } + case TYPE_EMAIL_CONFIRM: { + actionBar.setTitle(LocaleController.getString("VerificationCode", R.string.VerificationCode)); + actionBar.getTitleTextView().setAlpha(0.0f); + titleTextView.setText(LocaleController.getString("VerificationCode", R.string.VerificationCode)); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("EnterCode", R.string.EnterCode)); + passwordEditText.setInputType(InputType.TYPE_CLASS_PHONE); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + descriptionText2.setText(LocaleController.formatString("EmailPasswordConfirmText2", R.string.EmailPasswordConfirmText2, currentPassword.email_unconfirmed_pattern != null ? currentPassword.email_unconfirmed_pattern : "")); + descriptionText2.setVisibility(View.VISIBLE); + buttonTextView.setVisibility(View.INVISIBLE); + buttonTextView.setAlpha(0.0f); + buttonTextView.setScaleX(0.9f); + buttonTextView.setScaleY(0.9f); + + imageView.setAnimation(R.raw.tsv_setup_mail, 120, 120); + imageView.playAnimation(); + break; + } + case TYPE_EMAIL_RECOVERY: { + actionBar.setTitle(LocaleController.getString("PasswordRecovery", R.string.PasswordRecovery)); + actionBar.getTitleTextView().setAlpha(0.0f); + titleTextView.setText(LocaleController.getString("PasswordRecovery", R.string.PasswordRecovery)); + buttonTextView.setText(LocaleController.getString("Continue", R.string.Continue)); + passwordEditText.setHint(LocaleController.getString("EnterCode", R.string.EnterCode)); + passwordEditText.setInputType(InputType.TYPE_CLASS_PHONE); + passwordEditText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI); + descriptionText2.setText(LocaleController.formatString("RestoreEmailSent", R.string.RestoreEmailSent, currentPassword.email_unconfirmed_pattern != null ? currentPassword.email_unconfirmed_pattern : "")); + descriptionText2.setVisibility(View.VISIBLE); + buttonTextView.setVisibility(View.INVISIBLE); + buttonTextView.setAlpha(0.0f); + buttonTextView.setScaleX(0.9f); + buttonTextView.setScaleY(0.9f); + + imageView.setAnimation(R.raw.tsv_setup_mail, 120, 120); + imageView.playAnimation(); + break; + } + } + + if (passwordEditText != null) { + passwordEditText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + if (ignoreTextChange) { + return; + } + if (currentType == TYPE_ENTER_FIRST) { + RLottieDrawable currentDrawable = imageView.getAnimatedDrawable(); + if (passwordEditText.length() > 0) { + if (passwordEditText.getTransformationMethod() == null) { + if (currentDrawable != animationDrawables[3] && currentDrawable != animationDrawables[5]) { + imageView.setAnimation(animationDrawables[5]); + animationDrawables[5].setProgress(0.0f, false); + imageView.playAnimation(); + } + } else { + if (currentDrawable != animationDrawables[3]) { + if (currentDrawable != animationDrawables[2]) { + imageView.setAnimation(animationDrawables[2]); + animationDrawables[2].setCustomEndFrame(49); + animationDrawables[2].setProgress(0.0f, false); + imageView.playAnimation(); + } else { + if (animationDrawables[2].getCurrentFrame() < 49) { + animationDrawables[2].setCustomEndFrame(49); + } + } + } + } + } else { + if (currentDrawable == animationDrawables[3] && passwordEditText.getTransformationMethod() == null || currentDrawable == animationDrawables[5]) { + imageView.setAnimation(animationDrawables[4]); + animationDrawables[4].setProgress(0.0f, false); + imageView.playAnimation(); + } else { + animationDrawables[2].setCustomEndFrame(-1); + if (currentDrawable != animationDrawables[2]) { + imageView.setAnimation(animationDrawables[2]); + animationDrawables[2].setCurrentFrame(49, false); + } + imageView.playAnimation(); + } + } + } else if (currentType == TYPE_ENTER_SECOND) { + try { + float progress = Math.min(1.0f, passwordEditText.getLayout().getLineWidth(0) / passwordEditText.getWidth()); + animationDrawables[0].setCustomEndFrame((int) (18 + progress * (160 - 18))); + imageView.playAnimation(); + } catch (Exception e) { + FileLog.e(e); + } + } else if (currentType == TYPE_EMAIL_CONFIRM || currentType == TYPE_EMAIL_RECOVERY) { + if (emailCodeLength != 0 && s.length() == emailCodeLength) { + buttonTextView.callOnClick(); + } + showDoneButton(s.length() > 0); + } + } + }); + } + + return fragmentView; + } + + @Override + public void onPause() { + super.onPause(); + paused = true; + } + + @Override + public void onResume() { + super.onResume(); + paused = false; + if (passwordEditText != null && passwordEditText.getVisibility() == View.VISIBLE) { + AndroidUtilities.runOnUIThread(() -> { + if (passwordEditText != null) { + passwordEditText.requestFocus(); + AndroidUtilities.showKeyboard(passwordEditText); + } + }, 200); + } + AndroidUtilities.requestAdjustResize(getParentActivity(), classGuid); + } + + @Override + protected boolean hideKeyboardOnShow() { + return currentType == TYPE_PASSWORD_SET; + } + + private void onHintDone() { + if (!currentPassword.has_recovery) { + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(currentAccount, TYPE_ENTER_EMAIL, currentPassword); + fragment.setCurrentPasswordParams(currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.firstPassword = firstPassword; + fragment.hint = hint; + fragment.fragmentsToClose.addAll(fragmentsToClose); + fragment.fragmentsToClose.add(this); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment); + } else { + email = ""; + setNewPassword(false); + } + } + + private void showDoneButton(boolean show) { + if (show == (buttonTextView.getTag() != null)) { + return; + } + if (buttonAnimation != null) { + buttonAnimation.cancel(); + } + buttonTextView.setTag(show ? 1 : null); + buttonAnimation = new AnimatorSet(); + if (show) { + buttonTextView.setVisibility(View.VISIBLE); + buttonAnimation.playTogether( + ObjectAnimator.ofFloat(descriptionText2, View.SCALE_X, 0.9f), + ObjectAnimator.ofFloat(descriptionText2, View.SCALE_Y, 0.9f), + ObjectAnimator.ofFloat(descriptionText2, View.ALPHA, 0.0f), + ObjectAnimator.ofFloat(buttonTextView, View.SCALE_X, 1.0f), + ObjectAnimator.ofFloat(buttonTextView, View.SCALE_Y, 1.0f), + ObjectAnimator.ofFloat(buttonTextView, View.ALPHA, 1.0f)); + } else { + descriptionText2.setVisibility(View.VISIBLE); + buttonAnimation.playTogether( + ObjectAnimator.ofFloat(buttonTextView, View.SCALE_X, 0.9f), + ObjectAnimator.ofFloat(buttonTextView, View.SCALE_Y, 0.9f), + ObjectAnimator.ofFloat(buttonTextView, View.ALPHA, 0.0f), + ObjectAnimator.ofFloat(descriptionText2, View.SCALE_X, 1.0f), + ObjectAnimator.ofFloat(descriptionText2, View.SCALE_Y, 1.0f), + ObjectAnimator.ofFloat(descriptionText2, View.ALPHA, 1.0f)); + } + buttonAnimation.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (buttonAnimation != null && buttonAnimation.equals(animation)) { + if (show) { + descriptionText2.setVisibility(View.INVISIBLE); + } else { + buttonTextView.setVisibility(View.INVISIBLE); + } + } + } + + @Override + public void onAnimationCancel(Animator animation) { + if (buttonAnimation != null && buttonAnimation.equals(animation)) { + buttonAnimation = null; + } + } + }); + buttonAnimation.setDuration(150); + buttonAnimation.start(); + } + + private void setRandomMonkeyIdleAnimation(boolean first) { + if (currentType != TYPE_ENTER_FIRST) { + return; + } + if (setAnimationRunnable != null) { + AndroidUtilities.cancelRunOnUIThread(setAnimationRunnable); + } + RLottieDrawable currentAnimation = imageView.getAnimatedDrawable(); + if (first || (currentAnimation == animationDrawables[0] || currentAnimation == animationDrawables[1]) || passwordEditText.length() == 0 && (currentAnimation == null || !currentAnimation.isRunning())) { + if (Utilities.random.nextInt() % 2 == 0) { + imageView.setAnimation(animationDrawables[0]); + animationDrawables[0].setProgress(0.0f); + } else { + imageView.setAnimation(animationDrawables[1]); + animationDrawables[1].setProgress(0.0f); + } + if (!first) { + imageView.playAnimation(); + } + } + AndroidUtilities.runOnUIThread(setAnimationRunnable = () -> { + if (setAnimationRunnable == null) { + return; + } + setRandomMonkeyIdleAnimation(false); + }, Utilities.random.nextInt(2000) + 5000); + } + + public void setCloseAfterSet(boolean value) { + closeAfterSet = value; + } + + @Override + public void onTransitionAnimationEnd(boolean isOpen, boolean backward) { + if (isOpen) { + if (passwordEditText != null && passwordEditText.getVisibility() == View.VISIBLE) { + AndroidUtilities.showKeyboard(passwordEditText); + } + } + } + + private void loadPasswordInfo() { + TLRPC.TL_account_getPassword req = new TLRPC.TL_account_getPassword(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + if (error == null) { + currentPassword = (TLRPC.TL_account_password) response; + if (!TwoStepVerificationActivity.canHandleCurrentPassword(currentPassword, false)) { + AlertsCreator.showUpdateAppAlert(getParentActivity(), LocaleController.getString("UpdateAppAlert", R.string.UpdateAppAlert), true); + return; + } + waitingForEmail = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); + TwoStepVerificationActivity.initPasswordNewAlgo(currentPassword); + if (!paused && closeAfterSet && currentPassword.has_password) { + TLRPC.PasswordKdfAlgo pendingCurrentAlgo = currentPassword.current_algo; + TLRPC.SecurePasswordKdfAlgo pendingNewSecureAlgo = currentPassword.new_secure_algo; + byte[] pendingSecureRandom = currentPassword.secure_random; + String pendingEmail = currentPassword.has_recovery ? "1" : null; + String pendingHint = currentPassword.hint != null ? currentPassword.hint : ""; + + if (!waitingForEmail && pendingCurrentAlgo != null) { + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged, null, pendingCurrentAlgo, pendingNewSecureAlgo, pendingSecureRandom, pendingEmail, pendingHint, null, null); + finishFragment(); + } + } + if (doneAfterPasswordLoad) { + needHideProgress(); + buttonTextView.callOnClick(); + } + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + } + }), ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + } + + private void needShowProgress() { + if (getParentActivity() == null || getParentActivity().isFinishing() || progressDialog != null) { + return; + } + progressDialog = new AlertDialog(getParentActivity(), 3); + progressDialog.setCanCacnel(false); + progressDialog.show(); + } + + protected void needHideProgress() { + if (progressDialog == null) { + return; + } + try { + progressDialog.dismiss(); + } catch (Exception e) { + FileLog.e(e); + } + progressDialog = null; + } + + private boolean isValidEmail(String text) { + if (text == null || text.length() < 3) { + return false; + } + int dot = text.lastIndexOf('.'); + int dog = text.lastIndexOf('@'); + return !(dog < 0 || dot < dog); + } + + private void showAlertWithText(String title, String text) { + if (getParentActivity() == null) { + return; + } + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null); + builder.setTitle(title); + builder.setMessage(text); + showDialog(builder.create()); + } + + private void setNewPassword(final boolean clear) { + if (clear && waitingForEmail && currentPassword.has_password) { + needShowProgress(); + TLRPC.TL_account_cancelPasswordEmail req = new TLRPC.TL_account_cancelPasswordEmail(); + ConnectionsManager.getInstance(currentAccount).sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> { + needHideProgress(); + if (error == null) { + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + currentPassword.has_recovery = false; + currentPassword.email_unconfirmed_pattern = ""; + fragment.setCurrentPasswordParams(currentPassword, currentPasswordHash, currentSecretId, currentSecret); + presentFragment(fragment, true); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didRemoveTwoStepPassword); + } + })); + return; + } + final String password = firstPassword; + final TLRPC.TL_account_updatePasswordSettings req = new TLRPC.TL_account_updatePasswordSettings(); + if (currentPasswordHash == null || currentPasswordHash.length == 0) { + req.password = new TLRPC.TL_inputCheckPasswordEmpty(); + } + req.new_settings = new TLRPC.TL_account_passwordInputSettings(); + if (clear) { + UserConfig.getInstance(currentAccount).resetSavedPassword(); + currentSecret = null; + if (waitingForEmail) { + req.new_settings.flags = 2; + req.new_settings.email = ""; + req.password = new TLRPC.TL_inputCheckPasswordEmpty(); + } else { + req.new_settings.flags = 3; + req.new_settings.hint = ""; + req.new_settings.new_password_hash = new byte[0]; + req.new_settings.new_algo = new TLRPC.TL_passwordKdfAlgoUnknown(); + req.new_settings.email = ""; + } + } else { + if (hint == null && currentPassword != null) { + hint = currentPassword.hint; + } + if (hint == null) { + hint = ""; + } + if (password != null) { + req.new_settings.flags |= 1; + req.new_settings.hint = hint; + req.new_settings.new_algo = currentPassword.new_algo; + } + if (email.length() > 0) { + req.new_settings.flags |= 2; + req.new_settings.email = email.trim(); + } + } + needShowProgress(); + Utilities.globalQueue.postRunnable(() -> { + if (req.password == null) { + req.password = getNewSrpPassword(); + } + + byte[] newPasswordBytes; + byte[] newPasswordHash; + if (!clear && password != null) { + newPasswordBytes = AndroidUtilities.getStringBytes(password); + if (currentPassword.new_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { + TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.new_algo; + newPasswordHash = SRPHelper.getX(newPasswordBytes, algo); + } else { + newPasswordHash = null; + } + } else { + newPasswordBytes = null; + newPasswordHash = null; + } + + RequestDelegate requestDelegate = (response, error) -> AndroidUtilities.runOnUIThread(() -> { + if (error != null && "SRP_ID_INVALID".equals(error.text)) { + TLRPC.TL_account_getPassword getPasswordReq = new TLRPC.TL_account_getPassword(); + ConnectionsManager.getInstance(currentAccount).sendRequest(getPasswordReq, (response2, error2) -> AndroidUtilities.runOnUIThread(() -> { + if (error2 == null) { + currentPassword = (TLRPC.TL_account_password) response2; + TwoStepVerificationActivity.initPasswordNewAlgo(currentPassword); + setNewPassword(clear); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + } + }), ConnectionsManager.RequestFlagWithoutLogin); + return; + } + needHideProgress(); + if (error == null && response instanceof TLRPC.TL_boolTrue) { + if (clear) { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didRemoveTwoStepPassword); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword); + finishFragment(); + } else { + if (getParentActivity() == null) { + return; + } + if (currentPassword.has_password) { + AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); + builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + TwoStepVerificationActivity fragment = new TwoStepVerificationActivity(); + currentPassword.has_password = true; + if (!currentPassword.has_recovery) { + currentPassword.has_recovery = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); + } + fragment.setCurrentPasswordParams(currentPassword, newPasswordHash != null ? newPasswordHash : currentPasswordHash, currentSecretId, currentSecret); + presentFragment(fragment, true); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + }); + if (password == null && currentPassword != null && currentPassword.has_password) { + builder.setMessage(LocaleController.getString("YourEmailSuccessText", R.string.YourEmailSuccessText)); + } else { + builder.setMessage(LocaleController.getString("YourPasswordChangedSuccessText", R.string.YourPasswordChangedSuccessText)); + } + builder.setTitle(LocaleController.getString("YourPasswordSuccess", R.string.YourPasswordSuccess)); + Dialog dialog = showDialog(builder.create()); + if (dialog != null) { + dialog.setCanceledOnTouchOutside(false); + dialog.setCancelable(false); + } + } else { + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + currentPassword.has_password = true; + if (!currentPassword.has_recovery) { + currentPassword.has_recovery = !TextUtils.isEmpty(currentPassword.email_unconfirmed_pattern); + } + if (closeAfterSet) { + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged); + } + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(TYPE_PASSWORD_SET, currentPassword); + fragment.setCurrentPasswordParams(newPasswordHash != null ? newPasswordHash : currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment, true); + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didSetOrRemoveTwoStepPassword, currentPassword); + } + } + } else if (error != null) { + if ("EMAIL_UNCONFIRMED".equals(error.text) || error.text.startsWith("EMAIL_UNCONFIRMED_")) { + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged); + for (int a = 0, N = fragmentsToClose.size(); a < N; a++) { + fragmentsToClose.get(a).removeSelfFromStack(); + } + NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.twoStepPasswordChanged, newPasswordHash, req.new_settings.new_algo, currentPassword.new_secure_algo, currentPassword.secure_random, email, hint, email, firstPassword); + currentPassword.email_unconfirmed_pattern = email; + TwoStepVerificationSetupActivity fragment = new TwoStepVerificationSetupActivity(TwoStepVerificationSetupActivity.TYPE_EMAIL_CONFIRM, currentPassword); + fragment.setCurrentPasswordParams(newPasswordHash != null ? newPasswordHash : currentPasswordHash, currentSecretId, currentSecret, emailOnly); + fragment.closeAfterSet = closeAfterSet; + presentFragment(fragment, true); + } else { + if ("EMAIL_INVALID".equals(error.text)) { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.getString("PasswordEmailInvalid", R.string.PasswordEmailInvalid)); + } else if (error.text.startsWith("FLOOD_WAIT")) { + int time = Utilities.parseInt(error.text); + String timeString; + if (time < 60) { + timeString = LocaleController.formatPluralString("Seconds", time); + } else { + timeString = LocaleController.formatPluralString("Minutes", time / 60); + } + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString)); + } else { + showAlertWithText(LocaleController.getString("AppName", R.string.AppName), error.text); + } + } + } + }); + + if (!clear) { + if (password != null && currentSecret != null && currentSecret.length == 32) { + if (currentPassword.new_secure_algo instanceof TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000) { + TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000 newAlgo = (TLRPC.TL_securePasswordKdfAlgoPBKDF2HMACSHA512iter100000) currentPassword.new_secure_algo; + + byte[] passwordHash = Utilities.computePBKDF2(newPasswordBytes, newAlgo.salt); + byte[] key = new byte[32]; + System.arraycopy(passwordHash, 0, key, 0, 32); + byte[] iv = new byte[16]; + System.arraycopy(passwordHash, 32, iv, 0, 16); + + byte[] encryptedSecret = new byte[32]; + System.arraycopy(currentSecret, 0, encryptedSecret, 0, 32); + Utilities.aesCbcEncryptionByteArraySafe(encryptedSecret, key, iv, 0, encryptedSecret.length, 0, 1); + + req.new_settings.new_secure_settings = new TLRPC.TL_secureSecretSettings(); + req.new_settings.new_secure_settings.secure_algo = newAlgo; + req.new_settings.new_secure_settings.secure_secret = encryptedSecret; + req.new_settings.new_secure_settings.secure_secret_id = currentSecretId; + req.new_settings.flags |= 4; + } + } + + if (currentPassword.new_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { + if (password != null) { + TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.new_algo; + req.new_settings.new_password_hash = SRPHelper.getVBytes(newPasswordBytes, algo); + if (req.new_settings.new_password_hash == null) { + TLRPC.TL_error error = new TLRPC.TL_error(); + error.text = "ALGO_INVALID"; + requestDelegate.run(null, error); + } + } + ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + } else { + TLRPC.TL_error error = new TLRPC.TL_error(); + error.text = "PASSWORD_HASH_INVALID"; + requestDelegate.run(null, error); + } + } else { + ConnectionsManager.getInstance(currentAccount).sendRequest(req, requestDelegate, ConnectionsManager.RequestFlagFailOnServerErrors | ConnectionsManager.RequestFlagWithoutLogin); + } + }); + } + + protected TLRPC.TL_inputCheckPasswordSRP getNewSrpPassword() { + if (currentPassword.current_algo instanceof TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) { + TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow algo = (TLRPC.TL_passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow) currentPassword.current_algo; + return SRPHelper.startCheck(currentPasswordHash, currentPassword.srp_id, currentPassword.srp_B, algo); + } + return null; + } + + private void onFieldError(TextView field, boolean clear) { + if (getParentActivity() == null) { + return; + } + Vibrator v = (Vibrator) getParentActivity().getSystemService(Context.VIBRATOR_SERVICE); + if (v != null) { + v.vibrate(200); + } + if (clear) { + field.setText(""); + } + AndroidUtilities.shakeView(field, 2, 0); + } + + @Override + public ArrayList getThemeDescriptions() { + ArrayList themeDescriptions = new ArrayList<>(); + + themeDescriptions.add(new ThemeDescription(fragmentView, ThemeDescription.FLAG_BACKGROUND | ThemeDescription.FLAG_CHECKTAG, null, null, null, null, Theme.key_windowBackgroundWhite)); + themeDescriptions.add(new ThemeDescription(fragmentView, ThemeDescription.FLAG_BACKGROUND | ThemeDescription.FLAG_CHECKTAG, null, null, null, null, Theme.key_windowBackgroundGray)); + + themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_actionBarDefault)); + themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_ITEMSCOLOR, null, null, null, null, Theme.key_actionBarDefaultIcon)); + themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_TITLECOLOR, null, null, null, null, Theme.key_actionBarDefaultTitle)); + themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_SELECTORCOLOR, null, null, null, null, Theme.key_actionBarDefaultSelector)); + + themeDescriptions.add(new ThemeDescription(titleTextView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteGrayText6)); + themeDescriptions.add(new ThemeDescription(passwordEditText, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteBlackText)); + themeDescriptions.add(new ThemeDescription(passwordEditText, ThemeDescription.FLAG_HINTTEXTCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteHintText)); + themeDescriptions.add(new ThemeDescription(passwordEditText, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, Theme.key_windowBackgroundWhiteInputField)); + themeDescriptions.add(new ThemeDescription(passwordEditText, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, Theme.key_windowBackgroundWhiteInputFieldActivated)); + + return themeDescriptions; + } +} diff --git a/TMessagesProj/src/main/res/drawable-hdpi/menu_bots.png b/TMessagesProj/src/main/res/drawable-hdpi/menu_bots.png new file mode 100644 index 0000000000000000000000000000000000000000..ed180f1293377be76557cde1d203dbf581411642 GIT binary patch literal 783 zcmV+q1MvKbP)-Bccbw!T6$@q7iUDptGvjO<=MdC5a?Jv|?oFrqa=;z-8&&a)R@~WIh!7 z;q-n>ISQFQs67ClS_5=5^wRtM*1gyeCv@<@lP=yX`g%E8ry17f6cy zBuTHK=Wu+4YnUjOWAE5_B=iO|J886-00qR?xC1ElM>UNi~ckB z0`G%Pq*jwH>Ao*G$fKOOe;QgGyR<#r`uMyG?zmXoglrC&G~yM-84xv$3_Vwz9f?9P z;m9^4>CrG;{%?wjXhAFi!gW6&w(j0Erunq0aQ?} z`eT9gsR_SkQ28aQ*L@X3(sDP6K4TDc5jC(4LLz$&985=)Q}F2-G?~x2vt3x)U~M1M zP9GI`HDK};Wfk0Wt@e&U=QeekmQW; z^w3LIyYO_YB^zCM>n&PRKV29Hyr6UF)_>&LL+TM{d=qkdHuD?bb7fSkr}{eOBw~Y6 zXS8KXexG}KNd4%Hr$SE8W`5&)u8iu})A1{j(BPVQUORuRdFC9G+>Yoo2WQgpj33LV zda5f)2iNNIOOg9_-&12mf!DLuY9+{N&--Pwr7g}oZg6^?45W^T0;lHqYD({ON>BU% zu-B!{_HJdISAj`%U$O{@`+h@sxpXH?&YC@K@mw%3?M&+EqQF(+!tYi;t?B`jL`W8@cgAw#a zY&YdYzew{K*j0W&e*s>BZIBnu)M;=Y90jA`DS0lDa}8ZNbzU5ijx4BtOO5;z&~_5W zHVQriiOyX*kapb*RYE++SDZw7ly3^y#=EzZuuC{WplymedfVv&wRt6ST^-GeQ?L`| zEB*~(6$tjfzHFc?<}cHdbHxqL@~K&prgSa->+SvFspmL$uT$hGCZTdg=r?gIZx zwYq}ajK$gh7a7jq_0MMHBL6+} YF90FORj(E`z5oCK07*qoM6N<$f~-3bzyJUM literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/menu_unread.png b/TMessagesProj/src/main/res/drawable-hdpi/menu_unread.png new file mode 100644 index 0000000000000000000000000000000000000000..c17d11d237b182ec32638f8d16ebb337260d35ca GIT binary patch literal 917 zcmV;G18V$2#2nNeW{Vn1YAQBsSFXwj-#MYs}z78TK=Hc|^) zW)y{spnVZp5(UxE!esqXNxF0-yXU_TF z_Z(;D&YY>Dq8#NjP(A~hGmy%(@@S;fY3a7YE?5Eeun0cE5WI!1R4VnEoC$O-92|yi zuCteXox1z(xbTE|BV2-Eh>C8TiNZ>_nM0tlN~_N+Bdmu`_zixH(9sV)@EXS87o4_9 zXt#sKdm5J=YFo5hee8^KCk&Ybc>=oO2rLgXqJNh4)2;(8R`DEa17o$WPh+a7v$4ob z@lp5#7I$fEj1&e6sBbngc}HMqvZ=nnc(XqqdW@h2#+~ph`A}$KL?^m7=b<#;FIQh+ zyv-k=7oCtmK?m5g3f<;G?g_#z!;`~}M zdgfL(NS@sv_g#N!r;c{_7pIrFV(?!o?Y~^2{V<>$Hj}@&1+Hi;thfYyt$41417Y6&;)Y$3 zwm>rx4Q`STVUzibd*_OlajI*=1jXvZe=c52ouBr9)52feQ&&+%-ZQPbxE*`3o9!&M z>C7GcHPxVZsp3xV>SUw%-9Av~i2@-460sbjH5rLj03A!No z)uuBR>mi@(TXCP8b%0I48(RU!da7Rp-N;X%5A=lBD{nDq;!U9E4vPL rnHpdbHK0d{?HXok>he7Q{~7oTO6W|F1ry&x00000NkvXXu0mjfSfsKy literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/msg_addfolder.png b/TMessagesProj/src/main/res/drawable-hdpi/msg_addfolder.png new file mode 100644 index 0000000000000000000000000000000000000000..b6edc8122c2f18c48ac27195843822c427c55049 GIT binary patch literal 710 zcmV;%0y+JOP)kW@qPaMA!o#XXf7Xx@WGl zcPuL_NvQ+LI*`icp2=i1Hw69A0=aB2nEMW&QmND-+P+ZCOIU+Aa*nYUkVpboP2d%x z4w}e+&<7z|s+sG63b=$`I<yWy%SOQ>>YLK zD|T%VxIeREsQVw_HM|2gU;*4hz*V!n4fl-wJMz@PzR7oj_Ai3LKG=qVTqQ8~3MQdG zmrcIo#CQ*ms9W&`?`0F=7_FCP!Ggd3LLEsv`z3C`P2SLxIWi9kfxD)q+&Gr>G!egoQ^w&ZP+ zKzdUzfpk-WfwY(rs06*;r{Q6Qc6Y;H^Q`}&N8?t4kL!`e^}n|#P~u_~%t}E7>4HR^ zaaQInsL(g{3;~~m_RJW+@}HdqNwu#aD(-|u>5$+mU=N0E7896{LRLVcb9K>$Jg!ac z>kt(<2eam)S96!(MOL2Etn0f=DxOw*5S@9`J_Cyb#4m?Ukmxh&iSLBQU;{b#p%%_y z7Jh0p4JOBUy07*qoM6N<$f>Vk@Qvd(} literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/msg_removefolder.png b/TMessagesProj/src/main/res/drawable-hdpi/msg_removefolder.png new file mode 100644 index 0000000000000000000000000000000000000000..2948a7e80d2f6b2ba1c7254c700aa360f34598a0 GIT binary patch literal 667 zcmV;M0%ZM(P)UNhu}T3hCvWFEHPB*_JsXgV?XxL)d`xG^qK>O65=Yq30d~1-h?#(P5S!)f zt^W**^b_%6xCF5$uznLP)WZTad##lkW1viRD^-@27P!|U4pJ-LjHn~Op~@m<>1CL0 z;q@^zYV%Re`|m^ysLqJuWj|C<$IziZL698kA-hd3*F(e)y4<6O%Qy5A?0|^-fL(ZiTrI}N{Qg|fwsDAq*bDUK zs>ba;Y8gHUjd&?8q^x!@0Ixi>k#aZ?=xRKpSYX{QvcFo{tUEQVkT(r*F0EV#XqQJz#PRc-4_ zwOYj!EVoFxLE6TqZF4e|{|TJ)G0D?z$^LE!z5zxa;m_=`uBQM1002ovPDHLkV1g)J BD`5Zt literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/msg_text_check.png b/TMessagesProj/src/main/res/drawable-hdpi/msg_text_check.png new file mode 100644 index 0000000000000000000000000000000000000000..05c1476eb8e39ab16e20cdc84eb9898f76c96caf GIT binary patch literal 293 zcmV+=0owkFP)fQt> z1M^~jUma)xW)uu|zVD2+>CepYM>}#M2h#uQyX_%m%<$n2c@i%>C<|q4qzsIi;Nu4L zAaNz3*iaV6Tf;#kvCA0O2NVl+VAeoYhgktt?#}q(xe*(w_QkEN|IREx)rWC&38;23 r5tKccH*z9dpVue@G9UvoP{_a=gwa1}Q!z+O00000NkvXXu0mjf^-ge^ literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/msg_text_framed.png b/TMessagesProj/src/main/res/drawable-hdpi/msg_text_framed.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca54b9abd51dc099f4dab83b1e4847547e9a876 GIT binary patch literal 588 zcmV-S0<-;zP)VnLyiT-HkQBZ_ zKr6w{!a@wFpbuaa62$d8n;Dqw&SY;11k8bd=FC6mHfNUIB$u1Yv;+U81D@va~bx-?@W;f@^qC~0esye$K*>B7(2_D0C{ z^7;H+FrKR*FK9T9H3fz8yRIxr{tJxDU;|txag1%7;Awuvc2NgLUjlD&{k5MtXYEjf zu76X&0+>PnB6!10FcLlH34gIGNkZmhP*r*fUG^eH?1Pe}LpOA!tpe^dABwKHTg8uN ziac81peET+=fNlV0R91)Yami$R~s40^E%iRRY7}(eMNCaI4N?d*a}K}WlgT8qXHfn zf%Ub?Uen;SsY8#|->m8kELXs)!m`0v`ljwt+eXgr5dKb^G4zHF1{E9d?0YzdppUH6 zT-iC-<$qepa|-SPIFZ20=1la=;y93|wA;I7jrmCz0JmxIAywO%bD9pxF9DHV zu!nGM(8rp?RnSAi;AzaQIa~!@rOA-cCw>l|p~?CiBqvoxO~xO^gsq>NPdhMC a9ry#F;+VA9nL~&G00001c^x1t~8$ASj<-1NIYUZBD%34wGv@3 z1ZhGDjYwCD2sT96k+6}Jl4y!(EQ!QpBWbHTerI~V=G^1X`?8QZ$$!rKf4+NX?svbb ztE)-v4*X|#AXUxvWV6|o^zQ+!U<$kk*HWp}F#6vK3rT^CUFw75vn}Cp-`FQ<|GVxA=VGK0_|+z!7x4A3$stc&jyiKA))1 zkh$Qy4m+5SoP3Ygd_y7B zYDJFPTp~84@>GfRT0;CSx#;xA8kY`9RAP(s;P zn%%G~nzQP-t0`+wnt56*iL>{qf1hK;7ni$>|HQ>UT3>ot?LA`KKsUGvDieqn0og}H zHdn@y`yF*nQ{=cR-;*FYqC}t3rQFTfHA^ojX-_IPBz#?R3Y@gl7_b4q!N!a|M*U#$ zrI-2v{KKFdM0R!j;sU{15TxC95L^o4PK%*lUNH+@kKL2xVq)cw^NguVt3AvWzA|w! zGoa8BRd}~cVGuZ8V-KmH4sovwEohwkBnR=2>X|BmkTQPbjMTExBy%QmV6XH zazKmgre-Vn0D{Orm3}aD^o{E)DF#UsXa~zcp{FatM{T|KNN-~#S#xT4;4j^Q->`v; UjX8;8xc~qF07*qoM6N<$g8hnrCIA2c literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/msg_text_regular.png b/TMessagesProj/src/main/res/drawable-hdpi/msg_text_regular.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad8634d98f0490946ab235341367fcffcaa9042 GIT binary patch literal 600 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 M07*qoM6N<$f@`!&1^@s6 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/photo_tooltip2.png b/TMessagesProj/src/main/res/drawable-hdpi/photo_tooltip2.png new file mode 100644 index 0000000000000000000000000000000000000000..5056ad9ce9b3706c37dbfd151e8beaf55797ac46 GIT binary patch literal 315 zcmV-B0mS}^P)EUay81wj@?pVKGs4a8!b zZM3iuwh$5VJ0!svk{EvmzD(}SnR{-+4TTGo&iWsL167yj)!r$LG41d?`9!1p-17W~29nz0+y zD30O7YCe&5<7Bdho#rir4(~(IeSbByM+5W~8yWOq0J`7r3hh;g(*cG-ze*=Eywz$}<~qHoZk>G@yH10Y6EB!9Kk26#ybf*A7^vTs*c z19HA*V33`RNobFT&du`%m z;-6XKj2jr^!tfcg>&8VP6npMqQlJQvvrWWj70Nk`+y{&%=z{FZK(XOA8G(_GVIh=v zm448`blq-m{#?Iq*(rxKNx|VBmFlp^34Glqb*t^ i|9>F_B=nF#K>{!Dj9Y5yNA%MG00007<^l#(PR zoszgxH=xddE4N88P>Mwv31<^gj?Mt?5o;SqC6lU&ft6Q)d~ zT+qie=7h9d(2s{XA}tpT;$aR+$pu5aU=Bzs3X@Fh4-DgD_DL!VD}+=j>KEkkF?%HS z6DfA72`DH6Blwsd8We?NOu(qVVT@PIHVH)|i-+;a>kGySFk2+_I|is=d~*801OaA~ zg#JbjA5&pKl2j-XU^et0-sN72{0ZZW=-{=KtPmL)r%>re77tYlnD81 tNv@b7gK{%PjA(9h26vsRL3ZYh|wIUJ;AxNk+X}S?aB}9p5!<8yn83#Q|H`B7R8HwM4RJ=Lfn#p9U@mT0F&Nu?YsZ{DSYO)^`vkkt2$y=0zFgGbDJ~eO>zJbZ=q&TOY4Etf+%cSuP%yI@e48$yf8*m$D zJKW-@32cHfkc`0A_=st=vUojw1j$cmoW|vnQ&T{fD)D4*azwlbdCtO17zm;B_#Jwj z889w`KOpIIIu>CdkL`9gX~c(~SYIlAEvM+Q)Z?qJdpb8&^5+gRYzJ#GI@o()0Z4{& zL+F#rD`3d`3wlH5DY+zfEj;zsu;Eo?a;(kf!Ppk*RKg@V!^Pb9*2^oXJg`PnK)(~v zohk{JgWg%qPA3f5YZ=tpt=peR?+3RKbP*(<++GtF{2IWz@Gta@6V?fh`S8wk%F28v zNb+{bkHnyEDtYElIuv|V%ojN$e{)0T2V-7QTt^n8wAd00y6Yu==%^z*jZd%`HO>>D zZZ7eQLU$J96{N2*dK+AhTo1!lkPJpTFo`W(%oh1F-w45?c5)qjnzFYkoEM)t;W_^r zV+Tl7we^gkJ+c^cASPIpy_A(NvKWhVjszZ1v?mQgN9NXoof+Mx?9K#zq%*Ig?4YAg zvKTK}9SQ7!b_5q=-p-e^81u(>1>AyTHWwbTRYEuPf&04^Mr&4j5ms3u^fu3y_Y|4E z*pXa^z+{~>9*?8u#n|q2EWtot?am8tok3kY(}kS%mR5(IQX%I#Fgc!>9M9e6&DanA ztxF6}a3EI;{07MrC@eRQR}|sNHO9gMV+tZiE9ey?QERdHT1=E@!nqpKV4|Ix^z9?| z2v~2@*qU5L$U_A{uqd6Wb|`qa@LdeOV4`oMheJyheo3%)DtP;pSS>+aU7b6sqt9nv zua28w=LI!03Z1#5~~>%T28B$!3&@Y9dSrC|S#(XWSL7=Sc9;bF5XKWNEG)$Hz(QMX1mO;S1Hre@r?|p55bW%1EG&Hi zu@~%4L9kFkLE9WCD1v|DZ^T*Fm`k$BB@w-W?{+dfJKuMcx#T==Xu}Tt@D<`GyftsfMh1lPdDo=9$&B8tL0E=sK28~o;=MEP2XqIdW+dhNI#lfMD(9nJ;5 z@83rAZ9%VWjz$wozCNS=8p2MMr*1)_;}NtFbtxAk^6_OxoCYdd$KlyhE+c{&dLw8H z)SN2T2Rbw%M88FlhoDa_b#p7L&aE&KJvon%X_i^>vzRR?OMY5TRE%`#0F0#_{ISnBc~5IA`|>iCw|v~~jozjP zc@oQHc?GrPAPh^OXE7BLBX#l!df}XTtK+wUh$<|G8nJ>To@Vmr&CDJCBCvl=PPfS> zi|dfRpXBedX+&uuV!6c#nbt9@1Rd;~D9#lUBfLh4Iu2qqbsuLAEC89KLZ&**!%(Ve zu#PqEoUV_4`;V7HSij4ThL~Wg5tRuqYjVY39#DK!89002ovPDHLkV1f*W@HhYf literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/toast_folder_minus.png b/TMessagesProj/src/main/res/drawable-hdpi/toast_folder_minus.png new file mode 100644 index 0000000000000000000000000000000000000000..a471591e3ee5bede768c5d55c1dcf7b85f455418 GIT binary patch literal 457 zcmV;)0XF`LP)W7o;{m{&9Z*<3jAdS%Ca0{M_7S@OL40DSc8CGCZEJHAr2X&5Ze&4oglP9nJIfIgnnK1ZU_SrzR*lUCa{{ zS~QJ*3!w}`UtCft;#9pSMD9`hhxMZ)i4|EU6>QbuM4Q+_m0HcxB#{d8T1ZP1_K>z@;j|==^1poj5@JU2LR5%gskueSd zK^TR1iAJHIpwKyi12};wRH9S4f?7i~;s7q-EOZp2a03!TqO!h;6)$6VheWxPyq&lE zzwiHdXFV@n|2=^q2wG@>azAwjXrenZYiPq6`@!p;u#X=hf3utQ{bb;d85gcAd*#`~ zaV3~V+YmI{#DToagnI&>@uhb)!4b@%y}%y_6^jG)1w7yjv0=MFcq#DQuIqi&uUbi< zF5YdKT17XR-gZ-x0GtWD#z(!O5Ml|J(M1|`rR=tVV}W=0teXlGgp24T4SF^l`z^lj u9|=zdXoz=PBBtii0&P&uO{9s$6LHW=zW_c-h5rx!H{g@}|Nql} z8GMpfw2=J#-x|A<4*Um!eEcrPr5nj^f(ooCRv<%8m=lb#Ap-!uU1NtqVraPl0000< KMNUMnLSTY`iz)X2 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/video_cropright.png b/TMessagesProj/src/main/res/drawable-hdpi/video_cropright.png index eaa4a10fea745f7ed4c354521ed89553bc982c2f..8e0a7686f360188e5f8335e5e4f5961f1ed45aaf 100644 GIT binary patch delta 292 zcmV+<0o(q3wE~bCe+B>m0HcxB#{d8T1ZP1_K>z@;j|==^1poj5>`6pHR5%gskueIw zKoCW<2`Q`uEwr%n1RlT>h=rBdrSc56Hj0Jd0la``(M|-h@CFKsf|c>D?7|drv%xk4 zkDa*x&B7Q2W&O8-G)-feK)>)Lq$%inL(erJ%(#rrZ;Erqe*k^@72zg4!Pd~vG%2iw zH93zEc@H35hdbCxyk#B4vWwFL&R}xA< z-7PN-#H%m*mfJA51Vh*hdF3VQ5YkA95Bi3eOfZ6zkmp{ac{LH@jlT9v&f0cYgqKRG qtN3=eywrvR9&DiEPM5cZHt+$+AoBdR1!kcD0000FAAzW_eThW`)#E8vop`Tyzv ze|!q8Xs^Kf|7ZLP^8bUt0n&BNSs54@n><|{ zLn;{G-g3-q3J_@ve7WFm>+k!`o8Nh+LEH3#KDeJU&I zW7{jbEj;s@;nZ!H)_jiJC&&9M_D12-$m1cmyf&Y!UjO>X<~!@^C)};RSDkrF7k?;$ e0`P%rqx>F~zgM4&SEU1Ehr!d;&t;ucLK6T#>$Zac literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/video_play1.png b/TMessagesProj/src/main/res/drawable-hdpi/video_play1.png new file mode 100644 index 0000000000000000000000000000000000000000..b33b9f4d4cc251f0661bd77c90f558665ab22802 GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^At21b1|(&&1r7o!mUKs7M+SzC{oH>NSs56Z`aE46 zLn;{G-rDOg;wW*vP^?E$QN%>;SR0qumQ72J`2BCx-Wn{#y>;>hf&UENx~35sD{V_k zZmckr;?|ND?qF4V{$5k<=Il4O-@Ki)<9zuf_3F=6XVTTn@4Pv4W`ckN10xH5B8sc$ z_+y{KrK#n+p0cu3I)98!e7QPl%KGP}iy9dCeT=+*pNjXF>3XK7uwyfaamw01JCit9 zvNSFTFZ{c5*Y2*HEs1~4);9F4ezW-DviOy4#{E~bK0RMmzwm*5lhJ*t1DjsOuiCMG zhPL$e+{&2|hd()QjV|vFH~H9BPC~{OY&LM^no?esZcenCAZS zH>c~INbdfX?{mdh1S@QP`73U2 zm>$!$)9;@|ANr$lMfRxE{0))wo5Oo^Pp?_E@Axj|-oFN?H<{P&X`e1SYx`z-rro>d z`+sVU-TQ5aQ}f-m3}l;)eM=7%0&D_(O+DZk%APP>BT5|jSBPf@HkOE#b19HC}-KKaQHZ$&`^lkLrX z{30?XGlZ^~8O3Q?bO}4R?J1b0#@EfdWmPt_ul2bK|A&?CYq|{ZP(#h5r08W`{p ef7+S;Gw?24vq9q8nRZ}GW$<+Mb6Mw<&;$Vb=RU&# literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-hdpi/video_send_mute.png b/TMessagesProj/src/main/res/drawable-hdpi/video_send_mute.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a9f169909c9748a908656b55abc04496c00e38 GIT binary patch literal 1544 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 JPDHLkV1huGSAGBh literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/menu_bots.png b/TMessagesProj/src/main/res/drawable-mdpi/menu_bots.png new file mode 100644 index 0000000000000000000000000000000000000000..da7b914f91d60bf5ef6e42961e16bb52157248bc GIT binary patch literal 591 zcmV-V0>HXew&b{Z|AMZ7l z>RXpP5d6=$FbuDfe*><-5mbU8_)FUxqrf8M;S8+(qLYKk3squ*OOS=gwh$Ze5x&C- z$g1$T>tYO!iWJbZ@rm%=f|qa%D!LHQY1?OzwoCR2bS7RSz67VR4cEMhtpW_tnUvwC z;%ey5Q$iOpT4es zA?EjXx#ksupW#8Pq|1?$CmBTFfg+57Y)U^&qHWY=_@=(Ghek_Iz^DZIwK*8OuYTPK ztbk10_N1o5uteL@J3`)5Hzw4iXq|64Do|e$j_b~8ZviIckQ<;I(D=4>TCSR zK9w!>j=&GtgF}~e?n~f&NsaP9QptN literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/menu_private.png b/TMessagesProj/src/main/res/drawable-mdpi/menu_private.png new file mode 100644 index 0000000000000000000000000000000000000000..1b00b8601a3455f51a0b8c535f99c569b4e13b25 GIT binary patch literal 734 zcmV<40wMj0P)TCc6RqR7ZLG==iZt3W4>qhI-P$c-EsTL zvTTyrlh6w}U(q|=ZueKH|GA>^30Q_c>_b(w=`&`ct*4PQB5{tyr*H!H;RC!08r7MB z8$lmIe}Oy9@CAB2p_3JGw0p1y$3|u93o*u;vob0+u^R}=4qQo`Efr%!4(fo;2$%y$ zWhX9KBG@M3bil)rh&f=cZMgJx!QsXm_zqDlYfJW-x-+v4+o~TBjQ2oU zs}2L34Jz+pAz)cqY>0PXmF23hgRu{eB-wcCF4r#D@X?rPIoO=pRJ5z9dq8ZfU$*P$ zf$O@FIEG2?iL%h(b9TyXgKq=7ZRUgX{41BiwO+UKm&7|~o9AsWc68ASG8n4lcbnQS z%*WB`4dwaZ^D z$9&teLF7`jwH}5dhyqDdFdIltS~<=#G09;lE*lPy;sxlj6z)kO_*~*?D2{h<{y=ZL zyrG^e;=Lk%Mh5ue{trWN)-EizX?Oze(^hu-ckm5PF{3?nDvYH3s6L~v+)bnEHDmI~EHkJ5QH|*Y#?OSe z`gOD)q>Tl0l(D}_s|1_mdv(|k-=n5M6?;^5(!mn8hv1&YPq|Oj02KGG{3&-&9X2y2JLChIzg_50u*nR(OaG7j2I}GIZ`}2d Ql>h($07*qoM6N<$f)Slsr2qf` literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/menu_unread.png b/TMessagesProj/src/main/res/drawable-mdpi/menu_unread.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfcdc4a4c08b5f9b0e3ba0f78e755858ae6fb39 GIT binary patch literal 583 zcmV-N0=WH&P)X9VCzLC6mEl3L9qvI_u?W@S%IqxlB~Ua3I_2IBwP3C|NHkKc zWk^FgB3)gG zhhQ7Q8|2(Kt6eNaF+-!L=7tC0-I)7z%86FM1td(fxzQ_y60=xf-ic2ya--=tH@c!w z$C*@`f&%h3-=p=u2OA_oG4Z`>KZ8FFy4Mw+Lw%nH@3X{M3HraPft+p_%Y>#mV$6D4^yyIhPHBZ&@*klc_yk^| VBDs>=%J%>O002ovPDHLkV1g;s1(*N; literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/msg_addfolder.png b/TMessagesProj/src/main/res/drawable-mdpi/msg_addfolder.png new file mode 100644 index 0000000000000000000000000000000000000000..b1af01acb949ccd02fa055cfede18744dc467ee3 GIT binary patch literal 534 zcmV+x0_pvUP)6lsF8(&Uu!~3$C-nkpp$+Yc0m^hMaDPUaS+QHp>P*b3#eZ)8CHZn=m$Y;Q#LKu z*sM1Mv%W}{ZZ(K1T6F*sGKd`6;2^`QK(#i-jMhOeP^?kt8svs&;RviuF4`R&L*-7y zWR4N*h5Hyy@(@dN;lN+wDQ!bs72@`r>=)XjU4%1OU{9iMurJjcZIct3~!!|dfH z9fdWJV_A!}k(7sS7}5$bfV`-W@LQ7?RSre?>=S6hKM!)=wH4C0v3Er0HT+ha+JB(= Y2IJ#|q-UXR_5c6?07*qoM6N<$fCqM5iv+7dKf?iN&FF%=Ac!pKDg(Q|^&=&N-U`&7_Ga#pAy(TB>f{5!UC|4pN t|Ai^&w#CbNRqpS^PFcr?Dme`l`UTD*UI@lgLz(~p002ovPDHLkV1nIw-(mm& literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/msg_text_check.png b/TMessagesProj/src/main/res/drawable-mdpi/msg_text_check.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb906c2dab55b87b96cca122dd816f909bff745 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEa{HEjtmSN`?>!lvI6-VJzX3_ zJb2$u*vQ*#AmSo8Q@JB>ljE!u&TpR6`* xvtdacn?=2+#g3Vkli7E>h41dSHrtTTZ0qq;ayHw>4Ip1Kc)I$ztaD0e0sw@;Vf_FA literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/msg_text_framed.png b/TMessagesProj/src/main/res/drawable-mdpi/msg_text_framed.png new file mode 100644 index 0000000000000000000000000000000000000000..2444e8f9ad288b49337409ef20e19b0c1a2e3533 GIT binary patch literal 390 zcmV;10eSw3P)LR#Oz7w|3^UqN4`&(V{&yh)D* z!GqG$f;YW*bNvl$!t8e2WLrGxz{k#?{l3Z0CZyB(x0DH3YcntgOOR^95pK4zr`wP! z9PS_M21W<$ToRw@+z$TA7;|3n!Unb~?6cCK);&lNnzJ_tLm+;-g~JTu2jW9uz++JJ zLfyGOiX>&1E-L>EU+(4_e1aKRfg`YHyNsxW^nubHD4bueDK{m&bNayzVHdoEH_>60 zT-0=*HX~XHnR*A?v>I#Sh~(qh*F24|LE2jpf0WG{ kTwDfz?}rnApue8|0cc~z&Kv>}i~s-t07*qoM6N<$f`V17DgXcg literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/msg_text_outlined.png b/TMessagesProj/src/main/res/drawable-mdpi/msg_text_outlined.png new file mode 100644 index 0000000000000000000000000000000000000000..371ef9d04ff72cbab5589dbaff2653c7d31682d8 GIT binary patch literal 523 zcmV+m0`&cfP)($`f!^={xOw zKHtw_5b}_9xm;IHv(bd*F({3-M)wxx**a!6Z=zk$4O^xbY4}4}bOzVZrpw5^a05B5 z{YzQU3lh_^0Cnpk@~AY3kk;x}hF9Pd{4$J&VZh{m(_5~4v030|!84?F0l9n+OV&Bf z`3amm(_U3&NUm05Sj?z=;2YfPu=GG8thJhzp%lD=M~2WL(C9NY4+Zh0YF=yxeGGko z^RAPxgT}lrq_7I&^=Zx4R{LP(ljL4VTD2GQxZ&NZC&|S-Wz{ODT+Jz5R(2J;crPGV ztW?M__JG8U+QDBAEhS|(pp)?v;bewp(gTkD2*elufK^!t(8@_WFV^sa{2F( zh{L#H1O0)ZE0$3MpH%gZ#d*1B!Z&o6zA77x)Jz{=uFhbZX)(HU#qWg>wny1BibR>#8k%ZZEzvOw{sV=2KO5;U2n%tb56~ zkfZDS#yM1O*C%Md>vv=;<`!UN{)_)rI30{qB{eOgcEbJ>(>jsW9OND4}e`LyCik#dEV7(wfZp}4!`z# zy=xfrB{)KI9f^?UCX>m-dcFP{hBae;`yY2YoqlRG8o%IT2O+T`7h;)7`Us>SZqIeR z6Xb6}{u56~&VS*vhB8cggGdEC%S@jv9h`-H5-I2Wd_I3!E|*`Ng)QP_u~>YmR4ShV zZy{mCBzDk9Pa^h5OW*gcI5{$m0Blk~jMxOLyV^$g-jCSFE_b_~1u+hCxttG)wbNj5 zGRz+0Va@}iOh;zB-P)Z_=Y6Zyx}>fN67&P#I^u*q`+r9`qm0%XkH<@*)QM$@dhZ1d zr5ABJ>nVc-L46sed4RPI@%aKsr@Hk%E-ny*oyJ0LQ(&gb)) zYMzzYZnxW)uIsKr$VlZoY*nk(H&~l)Z8n=1qtWOc8xC0F*ykqE%(9BbVyf+Wy_Ros zinriQ!GDTQ3rOSl=ni19sSYBwX0zGHLZRSCQyo`hU{B$H1MxDYnjOpZ1?iS?WF1=wJ~NN(DeI&JvuCL@(N>Wop5q*kk;>_vzAO(GS4a@eHC z-|*nz3nPXyOU)6v*$ZNGd~{~SHZm_^^9-1&v45#kV89w)MT}#YjFPpbP|q>~-{CP6 zVgeqoD``#`S)8Qp3w-mq8FC@!K96@K%q|ya9&X?}Jm*qlneXiCBZLf)I^|9-dpgz3 zJ!Qv>*1;tw$M7l=8_;Pv)5_tJ;D;MJ2qrdZGf7xa5!w?A r$0jL<8rOQbF@vIsw4Pz>KQ#FZLyk&ts^pe{00000NkvXXu0mjfPf&Tv delta 392 zcmV;30eAkn2A2bn8Gi%-005CWW+?yw0bWT&K~#9!y_K0EOKM5Bi!%YY}IJh|Z z0MfpZj)p>uf_?@LUFxBGB^)`_BBvlc>jhruM$WuT zb>5Af&<(u9-hcmqY0{uhjVdNpYSd}a{Ey_DdcMoszUe!koUlDu!&>`AW_$UXjc4J- zSd6m8P?3>a1pau+R#L&}+eKv1w=)^sq@f=HPCJ(faN0Q(;7+~6huBNTr_`H_V{iC) mtlm`m#x>Hv@pp68`2r-*K4Yb^*9!mu002ovPDHLkU;%=->Acqf diff --git a/TMessagesProj/src/main/res/drawable-mdpi/photo_tooltip2.png b/TMessagesProj/src/main/res/drawable-mdpi/photo_tooltip2.png new file mode 100644 index 0000000000000000000000000000000000000000..8cea1d0a7a0b1e145f5b42c22efcfcce3adbd801 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~p!3HE570x;VDVB6cUq=Rpjs4tz5?O)#8J;eV zArg|wDF=8Z8iTq5UjBCYWpB1r!Sx1%c7Op#hv|Yz<_%x06#nr(J*=5#!F})nlTmU* z1gGK=1*Vkdm}23MKpsbP2aXjAj2%ZCC1gJ^vTkYkVJ1-D?x`fLz%A0lo)kAjMQoO^ z#xnLJ{S7~aJ>=3F)F#L>9(kkS$iyIGx69!VTZfmd`6MWftqE3_#Y61z#Je(v0?&_Hybfb5`-;b=a20W=sC@r^KX js?$Kj1*vZ6kTDPdF_LSY=n;rDPF8xut|R16b^ zh9)n;`w1Fa8X5u@!J$D2Y7n{yFQK79A|n-#6$f!_|AqV$kD-3w^T-!R^l8W!DPDjd zn({%K0j4K6GQ47*IFJij-Y`8vxsc}_^GGNcju~O@3FSh833aARpfwJ8pss%?F~!^w zXpIcdK+LHUI3dDx2$V!0^GR8MsPKhp6KE4T#+ZnrBvIuX)6zB+h%jUF)QB;++J!PR z%m;JKjrO5JOwzSns4-{dN1ohNdoaF7lnvIS?0#b%4ipDT)0%o=psSlN?f%T zOuK=}30hPHw$n|4q9BOi!V1OPq9QL+F8!(Ld8awUnLBsxolW?{bI&>7_kQ1* zIdkXUqN4vSCux7zbx-0w11|h@9A__SZLE)`EieY#kgYESCg5Uh0}?s!fTC)0W63)5Nn3j1(Bzx!VnUkNnE zd4nUur1=8efG%$NbzG4hr>>rLofRu%o}qr#it*KO-7b)xgc1c7_; ztenn#7H-1`Y(Q8P^@DUXobjHGn(Ku!dcnlogweio?>!*)7J@tQ`Vn{tQmefIYrFYN z*3V@^+T;|NV+md|Vx2H(_t7`#9!MP~!92Tpu^)RTBhvdK1-cqwu8=g0}^k7x7V*rGgicIpah0K->kby zfq5Atb>#F5FbScjP0yv;52-OH(>s7Dw$sZy)$>96h1&Fzn~e$WMUIN z6FqqIePQJi@qwE_Nj~CDg{WkKYRCrCgfxSExB_TN0g(O$)rXCG3-sw{6bYavkVa~O-#~-< zU=}dJ7*wP|p;8F6Bo1UIEi8b!)eYGKcxr;lQh{bewtyV-UIR4+0`X*gn#m0!kl{|i z)Up9c@1wQ_FvG6^BT^e^_)JPHSOC;)1H@OMhJXxr1iBn%ILP&4P&up=EQoML@)e+A zM}az>fOtO;gABh4bvZ%9;Wh#_tO8 z4&-bAY6M#Xq(Na$yvu=#VPz4rq3CRoC0l@o9|F=QK+KD-03RP_!8d%0fO5=0>_|Wj zx-{5KSP-p6m!$$9)l6Uz!lvI67Ay*$|VB*B$n0gfVk)GMU!7 z81smiGY2$Ho=_?A$-%e2aHdDw5B>%7-a6>;Z|V?qVX*w4kRveP>w$%`@?ue4-5>m0 z8ag|@)*Vgbx$$w!7KWUcA2u?`#6>U#aY_VMFb4DsiPaV;&SDqTnfb3h+S8To#A}o9 zjCXZ@I31nPD9LIj{H%GZL7>(p4&%mF*@ax}D_SxbR&8;ZDsC<+YdxoziNS84_1gaL SI=g^AV(@hJb6Mw<&;$UkF<>PC literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/video_cropleft.png b/TMessagesProj/src/main/res/drawable-mdpi/video_cropleft.png index 4e39dc4886fd784478c8c6a4f14b8cdbf63b3ac8..f9b292cc2c293685db0d62ee54d795c358944341 100644 GIT binary patch delta 214 zcmV;{04e`v=mC%!e+B>m0AjaKO8@`>1ZP1_K>z@;j|==^1poj5pGibPR45f=U>IEB z|NsArKx~NDRX_#YK>Qqte*iHXPQ^gUN+1S-llT?ys0`XHMaZD!Aq(xx!{{LTyDT^cmP*kJ@#J_>~4-ji0NntX9 z3T6T^2&}@CMG^rjkOg9pr~UykJ4}iN#(>d`jEs+g3c`SVDIohNOnd-o09Lqw`M8S5 QUjP6A07*qoM6N<$f;*p79smFU delta 82 zcmaFCm^wkyhlPQG;l#f713*g0)5S5Q;#P9P0>dBg8#J$c`2W8?-e;lZf5}dPS=~x4 l&H}5;oDS_fVlgj^f#Fu4!Q#n+30gpX44$rjF6*2UngD1EAg}-c diff --git a/TMessagesProj/src/main/res/drawable-mdpi/video_cropright.png b/TMessagesProj/src/main/res/drawable-mdpi/video_cropright.png index 7d5ae66cf8a7ea70487baab545ad4cac13bdc281..b3a34be873d7ffa9e444878dc3136c0410b11db5 100644 GIT binary patch delta 209 zcmV;?051P&;{lKve+B>m0AjaKO8@`>1ZP1_K>z@;j|==^1poj5nn^@KR45f=U>F?W z|NsAnK&*(@H9!UIK>P!Up93*BA;l+wia?-}kV038y8rKhG(RE52ce3a2r0CMDg?Qg z8K#&C#z3N<0@;6om<@T1EFk|Gko^QEJ_u+4tYm@O3_iUp00000 LNkvXXu0mjfBgapB delta 86 zcmaFNm^nc*fQ5m9;l#f713=2a)5S5Q;#P9P0?8lm8#JH%{{R0!TZ!Yb|HU3c^STv# pTm`zz)~NmaemIFU?0B#w0|R%Y!IEXn>Eb}W44$rjF6*2Ung9j$A?yGE diff --git a/TMessagesProj/src/main/res/drawable-mdpi/video_pause1.png b/TMessagesProj/src/main/res/drawable-mdpi/video_pause1.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9f0f51ff1682b76c651830185d14e4e663213c GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q1|(OsS<3+_mUKs7M+SzC{oH>NS%Lf;o-U3d z8LV$7UF2#u;BhUDf5ZM}^W9?Klm%1cjE_2+`7gL|&&1I7`Z{F=21X7C1}1?91{N6e z0*jYs^V*Botp3=n&^mw9Dr9k0ZEQYI)+L$6zjmZ<@2{RN61liab8mR(;$8mBvZ}hn z-ud{hK0oi<4ex)>eeC~sbz5{apXB_|t!Azv!_V&Qa#H_6LQ(Ufj|B!UQ~ogV!Guq@ zUf;B~%#xZZc(>q-m`>spdT4L MUHx3vIVCg!0E|IrssI20 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-mdpi/video_play1.png b/TMessagesProj/src/main/res/drawable-mdpi/video_play1.png new file mode 100644 index 0000000000000000000000000000000000000000..1011ca852c0505dddb09a21066a61b4deb4d57f1 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q1|(OsS<3+_mUKs7M+SzC{oH>NSs54@S9`iR zhGek5ow3)8*-@l*^FM_p8#V=SOS4|Q9tx9-*uolksCUA zCSEzOqc};?<@^HMhAM?OKU6FgmNj>MxXCjk-8=lpn@Rb<-bk$( ze~cyzY#&XS@$usQYTuUWe_dz(GmV>Z^PAp@Qf8NM)-6ZMRZg!ftymq-e4(LE@VLwE z*#_aQf|jqiK282tp?bS?=}~W4mOkbT&$D|=?zSG_6nC|`a$~_W;R(x+tZD!C)m!Pr zQLdn6_V-R~d!^M?%Gz!7IVOh5GJMXOS>}uvHq5wNx=AbKW3?|sjr#|`X{qwA4?{oC zVBFtmp&Zt@do7pApS>#|c6zLnzqpYlwX2olsioyu3Q>WS>euulT~<3RW&v?E9Zq kuTFc45_lkvZ}9_m!3|UQKiz4r4vaQ^?Aw{0 z_kC~X&AwgRnQE~aTt?gQxXLUVJQcPPOxg-2@m`M7Z@{WD2~O3^Mg~=o(m{~~4b#)p z7t-nUlYBlO*L6Js{cTYboWr@q0A>SJE}9&IM2;j>6NyB(%jF8&Y_^Mha9k-Ci#w@Q z%GcJ`76V2BDzYbuEEmZ>1Nh+UOvr5>4OLmY= zRaLjybZq<&kH-@q8XB51l5TEpe#HJf+Su6mU^Z9!O4y>BGD8|p8BjjD-R?`Xv$MA* zCnvv`ldi0+#5y}WU!p0pxm+$=KF8#q*kTX)p8QvOdwZ|X&CM0PUhfQEm+!0h4Gavd!!18S#8895pc}*w5o20jl--56 zzfeI~vuTVCf%oz`=Ji9_Kz)OQgCV=!e&6r+KQ0ssrk^v!iKfALbV4p*adGhlP7ro( z|LW@M%>4ZP8<0Lg_xgbkkSyzK1h>4|_y!+33BVL`)D zn5+uk$0mn3Zny__e5qqt@nw_X6T496bu6kIKzZ4vI!=?fCq_O5poA^n;RC`*B=QWc zy>rN%W4nn-Yyb#CmXk_3wOQ83~n z%S&Rp0FKfx;|?2{0hJlak+BDvnE@GnMwtM7(g2cb7l z0YQQokl@|i%*Bg%DF_C<`9q)@N+3U^2N83#No&(=*6&+0VX94bHbfuH&fA&yzHi@~ zH?yO;{uWIdl67g=Ry8FHS$BD*392MubB~*6+@n*L5iAWf_H2|1sZ1!yyt!QN%;x6i zy5H|lx!vxIa5!zb**^|OqtVy>{r&faLg6KFe!yiocC$!D$^@C-Xf&=yqtW}Crd_bd zpKf8A=J!^s^>lT0^%Ja)&`4+sBKBU8C1SDIBj^j0X0!PKq#psuNKLL0$=nG4Tsob8 zh{%@lzAy;}gK=QKsZ=V50G&jr@9pi~U0GSVvoIzJsMqVg2m}JpF?7UgWP~0R$Ti7k zp(=}y9B3K|DH^IV^jlSbb~>FeSo6o|KhN?SS2_cm>_fh&mcE5uuh%~$5{cJHm-!Q7 z4NiX$`xxPL(-UT@)#|%cDz!Bn4q5KhwEU@+)+yWL&7f^27PZH;@2WzLgi za*9B=6(zz_sq|`NV`B$sJhJ3t%Sw|ii)5fgh$R}phv~C6ujKDo6;7^ zBJnICwzXfG4wCu|!+3@>FE-0--Z|U?njVkm9{dkUMrMQ8f_VY${KnW;b&Hf5yo2ys zVCU>~o|wdj9|^4rV_Mn%%N0YEv>^TGm#9BWdQ>bHzwr)&f1Tm=dY7TI0=dyugxAE~ ze!st!&*z_HGMP4<#Q8g^QW;1@%C%+V2Z?o-?Plpb^5j1Xi7YZYiIh?oB9Fent^FF1M#r>nn)yO5qm9M2 zFo-zZ58L4ooD45;I0fex+^FbOEqn&O;5&^P;LIr>7@a7F7hn+RA;=OxgYvb9NIr+; zt#G%k6XVpM!w2vq{07J1Y*-H0z*@Kr+VL61UiMdy-4JS>!N`;8gc>7Mn&ApJ$?@9^ z??F3c39fV#BQPHlUbOY1m->1y323(q_S@q1QI{1EK1d`7fJQeJIhH+x_T})U4vKuu zb3nHZNg_wHKF!`y4`e2ZvjDz_2BQeoZu{oRj|2xyHcClY<0(*%M#S3)WiJ}s&EXo1 znk*eA6J?8zO1%gkgV*6UZL`bRWr>})C?{VE=q^D68C*CQFM&&;egjyS>IDL}zhpq4oOuYeHI*KG@ z4}^32&_7~#O{AIlYr0IW8s4xt`5lF0861ZOGLuQ5kU?rR8(WYi3ARIhXe3O0^zuq% z&}Z~HOFS!$w^g1n&eZJ#5|>7p?_M+^GfHA@g#$1R#xYGv#pq3$?;bMkbSdlqAhA0s zd*NSg%tKy|?-p1GJ%82&F(C5CHdqvSO5tazyr$>cW#fxyglFhKrvklo6~D6w!bR;VC%v z;lFr7a%5`!)|CQ~<+pJIEhlx^p3qk;9af70%63bZLceMhD}5NE?wiirM6ywfBD({} zW(iDt1)+Wg8pu5q8c1^5B%+i_PJz1o$eDFQ^(>?sh`=2)3iZs0`mOx2Ag}TMzEe!3 z?Bx!n)_J9GV?t&3CNh93s6Q>*yhUDdpmH0h@`nNQB{BNKv4X;aK5pCtIy%cI3W_jJxioj(CRRafMn2;~l zhQK?YD1LVv q`4k~UglGn$8Hi>ent^FB1OEVy0R0viWzQ=B0000&1+pn7{+g6X{*Jc+4+GB6O; zo37kdan(hUB8aw@{sk^A)r}yn6vQtip;+CN7L3(u)5PC%ow<4LSWMTxG0l$HiRuEhPXTbiZWTX>xWh2{^6l12z&rst8m<8$bQZnbk-a(zq zHuy*oUe!%t%WSFK?> zh$FoVoQn4hMswhj8z;QR=F*tCKDyddPDgXPm2xaq0r;(6s8mdZ*z5p$+n3Tw6n7+U zD!b?{m{a9eUQwXzNog|{J(|%|f+<}`@OgmvlulO8AQ57uN4j!}bShD)?xL+i(;o!q zt2KM2*tCJuH9Bpez0@J`L8dXMqUDEyUf_|GV{<`^k}BUwx+0Ag06I$4_ly$W9Ve2u z8UsEl*=|eq(mpz>DEuxROm)`vF;F=l>B>5V3IWPbMuX6{E7W>K=(Q7@7kU&j9c)zl zMLL^N`$vq{IPgmNbge-c#O9?KfmZvZyUcR-(h0gW9eOLL>vA+z{6&@ZjODcF$HvL)j= zx6%piF~u9kH?gV!BJE=t6fHRn_C+Jw%f>gco}1^qZbH-M=~v^MSd}x8?t&>PBBdkU zNS{Wgp!M9Qv-(`wb8)xPUd$>c1G*#Nwm-IGSmg#Hor`j{>5}uYVm@r}BW7?9yk3HB z&|QAwCDRy?PNXCF@O=^G!?gtS(xsm@-3g4nmrQg!)KvPEl`u9nyy~zeQcvmRk7$`J znq7JEw`TN8U|(Jnb@s`#)^}EunRh`U@3}2zZJ6?*IBnXSS;d9{Z0CUQDRbLlHC9x= zRfWRVU;c+&C%r@8+Tb<}_Yd+e!sbJ4KgO4;bd@ymrKx4Cr`czN?iuBTz31&YGh~GF zIPlq@vEfa@l3#74(3|)^pboE zJOu6qcY-?lgTZUy68MT3zt<^iOu5i_-Kbpa38TI~@X((EAAvu?pd?%EyQ#YD81MfB zPYyBk_lZ8JDnG%I9|kwTs7SsJS4|3e(I@y=##qn!t02DR7g-X!U6%kld3nQSf&Y$n z0W4LFx#(^>^7*I>1OGPh-gG(fTDw#5!yRKOI!^Q(kpFC=r8f_zfG;zh4ZN7mxNtx|fS)rc#uQLYKSxkb zIt1;XFq{E?0;H?>35cZr(36Ro$rtcDrC8oqF11I&(O0&`!7T7AW{Qf-~*tlDo`@2vrdE3AC09en{*k-|=^;TpFX76LbQoO!7xN-GN9xk9l=ufX3g<4RI<8iYy!0000v literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xhdpi/menu_unread.png b/TMessagesProj/src/main/res/drawable-xhdpi/menu_unread.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c5ba0271bd1864ec4b641c379a70fcc8619461 GIT binary patch literal 1263 zcmV9`UA|sm^q!$NNdeE0J z%pQXLc!^Ma(dr>Wg-Cj+AQ*;1dJ{wZ{z&vGk}MM)tMMy!q(pNXe}6eU*WLG=GyB{* z_i~N9;D7hpd$09hYwxqqIs5EeC^V!o1C1GI%)tM728#7MxY5zkE^_OP@;g^77JmxK zHMaqgz!L;q1bV`A zFbTW?_JX@0i@a*Hz_As47eFAJR_i-%9YPIcH8>9{mDgM%5Hx|1!MIqm)zvJM=CYPC z8X#JL$ycBw!SrX^kAR^FS1F$a(<3}X`2!dLPPELlT%BA**#P!M4KGrD0A@sW*~;gW zs9ssYVBP_7OY0QvYkB&9cx!liJ?^%6%R&LWHqW-#w+*?6w&1kV zI9@Fon}Q(Gd%!w&j`}(6OQWW>fi)0o(}HFE0R6I&J`FEqY32lVvP+C`PL>PG)e4Lw4lOzFOr>L!5eF#|`L5+pBsOKATVoTka zk)qrjlARuDKlSWuxSTq*g%~S<-SMBJKK{vsqy?M+R&)wfH6hSa@Q(?28$J7zEh$6D z^i6-&1n5t)9Zx&_Ixqj&#F45czhpeTWxfzLgPXvK{_4n8AYKSgx&WpOKL`oU2=YZH zfYkY+zG-&w=yUrOZ~*wCBeT9V|D?W>9lCPwKmY z$~4iF>p0j1=7YE$zn@NUJ@F+;AU*pJ1~83a^C@_bb$<;%adraTGy3C7|A*?cS@)lC z3A?+LwG|T6nOK^frt@9UQQOSYqorLTErrj(GH@B3iJ<>b4>QXrDI3z5fyN9pW}v=j Z;6BOS?&@7oKk)zn002ovPDHLkV1fp?RF(h$ literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xhdpi/msg_addfolder.png b/TMessagesProj/src/main/res/drawable-xhdpi/msg_addfolder.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ac957f8effb5a64a4cc1172fbe7d83bd6199ac GIT binary patch literal 924 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 m)dbUYYbwxGpsB#WEASh&nE3j>c7Xo?0000-5* zxxEc(2pj-mWk1A@a}hMN%IW+t_5{!qeLBhok4n`SMBHiAsWc{Ar+s+mxYdbQf{7k~ zF@BXtC{Y*EEs@@)=q&Ak@fpZ=XW^>>J3M|l^qvEinJy>eHkGTiI^$NiAimz(99747 zc#+S9)@)yP??0K`*WKP0xDM<^uCL9{1eP)Z9-q2=x6u!R2bI8BX7sdb zv-gyi*sN3!;`N|gk~fMAxZ%!$HyB^gd;WXoJn_ttbL3{y|B105ytghdl1*dwV7eM9 znP)QjGkYdb;4DyC@980ui^Q2b6G&bNekQyB%Gf7Tx1P!5lrzB|e#1Pp6j#bFlEV1o zSk9o&%W3Y<2A4D20g9PXJg$;Y$4Ft^YQGvOFN^*3YxR_S&iihg;0 zML*$klD52J$k{WEIepw)5nKMbJ4#$%5T$k<2$V1vFvQHhXmqPC#?WV^nnp@&P<5I+ zi#`QNT{-af0aq>?hb&Bs66Pe9k8qWsj}Ci6A5yYsw6SHLxVU;7zwe|s;SegTwgjkL zM`?D-V%zvD>@GoRiS+{ZMQ^s{66+3b1C`Y_-YT6;eZgzZ$S4IifKspv$Txw?=5$3M z?p8A62e1>Af{oxFP?49#f^_*p#Yt46Sz8#d5YzXhz`Ste&)!=t#(*_OIcSfcIZ{N5 z6XlD>aHMo`!%(%f&Zna4IiCXS;%1K!jiQd1DBhVIi;(hfh?xC&A)u%b+kmhYO_8+= zEIN6;`3>uNZ|{~1EVfomx6CcpCvcjmoy#Ks+l(+hQuvK0~`at+B%jTHI4I9hXFpo?lX$Gvj z|A0$}&5$O4-8XY~EuSf1z$k3eF9sXArG6T=1HNtOdbKTN-RBSeLTIB|_7gtmtuK1( z)-6$U6PPnpJ(8~kJNY)M4T-TiZ{PGiNzZH5z)gb{eGRuA`~uo&{Xa8RJk~0KyKSk* z*@WR^wU-rYbv#Av1iy`92CeAWUom`^;CESm(Rq?xH46C#zurp7Sue2u@N1S|BYs7% zHZpc+6!DhzKDYPgMb@9ay|$F6ul9T3J-5|f%^@mB@%^A#<8WxPRh|RZ-5;7;vk#6P z)I!Lhk_@qX;? z7`Bq*o^e*4rhU4B^@VIIBrt-Ng+yWNjvp(VQ0(aOC8qm^k6f|m zjI-)Asyxx;s&fZJBjb0pLA+<7@e1up_T5PMuFzRAAeOX|eDTx9yyBu#AuS|74YhGs zBa66t8;u%vGX`IsMy6YeRA1qGsz$|kH~68%y-_u$=|_@Ia1(q4^0Mj$IAl7MJRpYr zES1;q5_1w<2cg${$!y6iDUcLM3M2*oHwFFxeU+bdbV2iq00000NkvXXu0mjfG<}5v literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xhdpi/photo_add.png b/TMessagesProj/src/main/res/drawable-xhdpi/photo_add.png index 0db62e6564b44b2929caf8d35eda125726dbc0a4..d9b8d56b18f9d90d7199ab326adf7c0cdd16b07d 100644 GIT binary patch delta 1842 zcmV-22hI4?2euB78Gi-<0027t*>V5?00d`2O+f$vv5yP7(_%uPDQ$^OyEcF8^Gv^Yoo{x&{hi(Jnt!}7nVEOq@15tF_x)yO zH@j=sj_j#GSqfqD!lF5@~~) zLhKaD>FMdG4}Tv%{8lU$>xE6LW>=2p()#-P3`6nL!ZIuIh$bx=>EEL<;o{r zU0wHpB_nC3gH2Lohlht_0|Nsi*pyzd8CHm{ao@guFCzPXxpe80ywk$L2hpm81@$bE zwY9a6@y@*Id#XY^*v!t=)YNZFOBCndFw*4Jlywy}u!;SK`@k@uZlI(^Syn=*$O43?rly*!jVwtJGqJPj zkrGa-D@t!nRVu=rot;N?Wi_=u?23npJCJZ)U0s)HTrGVMyOnS>fCLxf*?_Tv)VK@# zp2NGw^h@b*?4{Zc8pKZL+^v0LBdk^iVE7(5mwye&{QUf%aGdPu=r|aSMq?z-1#v~% z!=6`!Nwm>5TSk>+4;(n~BYoot3GLs%zmsh}+Uyr8f!P1cDgO*k^GjSainz!y&3I&N z;PStPqpu`$!N1k7Eu{sY^O}TF_%f^eF53{5&dw(ba9CEt8U`U8Vw#szf>OF<7!Xlw zs(+PiLc?*{2^;g5y}RuQJ9&q>@njRet0=y7rj99&l4LvE(d6Qsc0yRldIYSyF3IA~ zLDDo&tq}Xrhe#GBr5B$h$&zg`#6DZ?TX7h(&u>9$u;@Q!dsxO{tB9OGfBuL5{{E}b zla&dceHNa>a^>S(ES%SdB|JVp{_;tPw|^ix-^Q>=Z@}jo3g=2;aTZ~czJC2Wzc%Hi zA`@YKOuz&ZzH#Hm3NI&+6lnM_Sey`+R6cRy#6d(tMUN@0qhh)eG_IDbV`F0r92*=Q zY>UU^4Q!kC)KQKfKYs9W%gtXOD7a+5pp-@w)Vql9l|pPI;@pgUD5*!pe#e*i-+ysn zW@hGHe1Lcb-%upYcNB}m^iAT!#V&kx!&=!;pNqh*v?)y>1WqsniHP~wasikLo{c&V zNr+@v_&obM8F_ETuRd02+eu1ua)}UA*NiO3sg&KA=G5^SAxu&vZHnkNBm=cPHJbgzZd(d4b@W>{ObXn)cMz)~d|f1L3<{0#TPAn_qLK*_VsQmuR=x z9x6n~U0g0FJf7I+MpwwCB8T~x;rm0_<$Ras$F;jyeP@ITk_7cjgxRN!3x6SY_(?kv z=sPH%cuBZP1DE0*O}vSzt0HTXcAeH9_M8dRFnRm-?OB&(NsK~rh_WiO0MyGk+r^59 zUGXq|*&?hAM@B~efN{cnpqM^M1(jm_8qX#?>{i0IO^Z4%M9qT-4?ftvd-wZ>!;0=c zeE9Gz{+aeQKyt&9&)y`jB!4i%7~MQ`=FIn~S00;I#orYVvwX3TA}Z+32vbiT3y-JR z!otGqZEbBsXji-}E-sF?x3^CL=sJp(bP!>ZWAu43iQT_{|5SZ_{d-has;sWAe%sK{ z@D1>htbENxxV|U{rL-7wl{Vt>_}N4vagNGL6k;PrU?Wk9ETQ_yQh#BKu&$TXW~8IH zZr$p`k2^nNn?@BN8~AbS7kl^aod6c~A4$|13ELt}9g?fuyB!a)?6HJWQ=ZPa&q!{{M7F?99u_lfoO-WXIJ_*%A z=S=>AEG;eFotvAxH#9WFBa*~egd}Sc6p~Uyl`cXieZ;TP?bs$!sin=nZs+$X@jQIl8?S-J!oIoG9PFSE)h_Kd+xRY_|2iAoGG%KGo`+*Y{Ibaeq`$f9n gd3>XdLI3~& delta 968 zcmV;(12_D(4$}va8Gi%-005Bn5%~ZB1DZ)hK~#9!?U_w)(^wRSpHSENaO$MQsS}qF zw;^d0sz7NAh%Z$dY1X4*fe>X-*|9?uwSf2sVM*G~FJLi)V8v!M{R>4P7Er{7H9{aZ zC{1T{on|NvZSB@KK{IpTW$ZjYKKEXq^IrIWd>Mgt?c0T#_kZpRx{odtx={&wlu9=W zUF#3v5vmX*LJR{Fi+&HXFfoV`A&BB0-h^rxmk%#pe0%FtrC$B(SNEz{KULn|TDo}o zFb3K`a2MEaBJ96D`g&$<(F<_1))rsSTpwjW5xRFmH?W$TTDr7a-3zp-)#}nEHHEf4 zx`B=MXI|d$1Ap4o%NyAY(XG+VXwxe*eqx1IX4Lf7Q3p^6Vf-=WH&*D+DGWj=tzZ$a zihgZubzTN|b^h8II%;doBHl3OtD7>gLa%OO65bs1dc5b$YYVc#YYXSgtuY7a68U{H zB?~L`q><;YufYlttT(r1g5TW6BJ%ai4v2-s!4DOg;D3)54myi!16X9Zhk;sECb(8* zfF38y8^A$yax$?(lO;>p(>;g$0GF_^D77Cv zjETu``@seJ=%dhnaGoSd^6dxbNRaTj5_|z?=%ts8WH6H)XPje$9cv)cX-t>cdETpio1JN9+*@q6rTqD)Yt zwB0`Cq2{XHmt5X%0k-89^dBnNtzc2mXIAdW1b?sGA+x!lZ?rJ!N59AfKfXeGa|_dG z+7dsE*B51B>x(~*W3)DHqD_rsKcAHaem;jyytPdgS&m{}I8~EkMbzdmoWdm9YDP4y zmpIvn(=xyhr^!0;Dy<%fh*=}46rTG2x}VJ|1(ImrGGCf8>zG<`*;n-PtX9NC|F+%K zG=JE_#7HSazg_hw*R}cIuPQ^Nh!Nh&+Y?r?$>2|Cm*?sWds{$H=YBrNAf{s>yKpnZ zPQBbu{>;e-(=YD6zxUbG9{&0MyL&J0KA1jpl05xR{T+7e--evRHHn2yfs#|Uy4MIL z3fNdAogz52Gxm#7t`Z`OPA>+1n50ONc0nO=ok<@Cy~KzTLUm`9Z#)_h@CX_`^f;xg qTZ!v6A{(HA@BA>NqsKr0-tjjB)zh~Hu}s(i0000- diff --git a/TMessagesProj/src/main/res/drawable-xhdpi/photo_tooltip2.png b/TMessagesProj/src/main/res/drawable-xhdpi/photo_tooltip2.png new file mode 100644 index 0000000000000000000000000000000000000000..f6365236b4b3a07148dfdd462a29a6180f3bfbdb GIT binary patch literal 352 zcmV-m0iXVfP)2M zJOT2T1MxRBalBk+yt0^*LO`JeAQs1zV&DUcfkNaq5P!!ak5z~i2gm|VhzDX`tR_JO zIf0ZO5I+LqPY@yeB(Vm z;(zG+usHyf&0>I930*M-d=a2tMIgQj#J`cvL3aSYY=*3l95&W$itGSlvKcuRBkRG) yrZ5MPlFg6}B!`WXO+gMIC!3LDF|r1LO+bbdy7LkppDwMHXG<0KHJ5kZrHj17wjb@^HT~9uTfwKV%^VX5f#6 zux7r0qFBi?3+sS&z&bEz2gNeQN~UKLCCothjGtgZJ&=)cw}^sh#uP7q#;gU!v7i z6S3iU0GyD-CmMCB@O;+|EBPeCy(&q*MmMSA#5eOnCU`C$yc`z*_71o^?KKe{zBcd* z$i*dh=A9;zfPdE?EHDLX9wU~j_+x_AxW`7p-4Un)^_oZ$UX2Ve@ys)A|L0k*BHY_X zA^S!!3e@#Y{8X6jAMxSU9DD`pGSP;g4*UcY>A{aMkuH40#J%O*qz~UPp_iSQc^r7h qL=N}{z37^a)&c8)bzo2jegSZ>CFV+pTp<7e002ovP6b4+LSTX%^Rq+% delta 432 zcmV;h0Z;y$1HS{18Gi%-003o7ae)8;0ftFLK~#7FwZTtIRACs#;rsQiiKe1IE_2ryvxi?3Wzw{V+nV3lj?2JW!Uo(-YP;``q^U798oz4OksT@ zDi06Y;m|BW$A2L30c)P9JiNyGNYD`ol(DKr<>M(?)5;()gH@qNtuaE@q*91fux1Eq z53k4?(*Yt?tTI9EV~nhl{vk4t^`4-UVS=n@5|J9#6hSA)G+86mu_kmn1j@8FuG1qh zOTIVi3_VmiUP+xJQsZbZ<%7s)vYyKi1s3^V!mxZ%peez=geUSxk?;JKFsSaJNP{|$ a)R8}1pnTRBT6x(30000KtUWVpW;1o zbPo{Z34-i`8#00&qHizkgClSZj)U%r>p?aPU@<(9loTm>o7NiclS`@IIvOPZI)v-{ z0)5-zo~kjhSp*+KC{I@PRj7~miLfV(Li;1Qv(UK2AU>XflVGy6gjsnNyy^;jIZILl7>Zsq|^Xm;xrFR>>`K z_@%oXda7P^A^v6~-Xv?^mIwP6vr!qa}1f8raze#qCHNm9g7fAU=>pRn=+?X1SG|&%|H&^?pD*zrXq9HZ=*_ z(d3f}=)J+@y~3Q(`qeZkUnx{(5S^^#zoLHt^d7MnytF4lN2%m3KKc*C%aHXZXlm_* zbmdI8TpsDHp_H4vX`_=hiErp1wIE5^zG2O->k?-lJIA>{7dp}8EeUk9CgH-g>PcP! z@w&x%)>Y~_Zqrvf`4W?;FZpBw54s7cy3mralD>6;PJ7MUcwUK(eu>?nC%j&i-pJGS z{pj5d`kOti)88&k2M^tf3h<#4e@Z$^nd2>!XWvved3wO^a) zjp@eH#x*Gt^LjG^@Q-t*>UyYsIpK2& zgvoDBXVgUtrz;@*Dy`*J%Z-hn2`~ib!OJch^;{?%X%gWtp>;Y8spmwMYlQ7G_!dIZ zv#7s{uc$5#wVc9xLV@+L+W-q8dd1Kgfak!Ud}+4jKmM+ZCgT*M0iCW6doyY8fTw)F ztB+D2fujk(QR>6g&2Ss&+rR!95`IjetM4Zm;zPpcYV=f?h@KN8P=}nti4KU@^)%@$ z=LFTUL+jNa0BM#It^F4u_k}+zX4qG035CYiCJ7y~?t@2RE(|8<2z&-kBcV=LFy-vCc zbQS0-&}0SrX~Cl?n&P*UU@}c7w*Qs&`+mQ_9^0>X3Gqqr7;J%1`HjK#dKsH&1fKx! zLRly1-!yLPn?mG40+~Ep8yKCbgSo#01Uy8*?_i>&!16W2o%mLgzeG2C%EHnPqMo!T~VU0rk+0mXr7eHI(AH?o~UGXHgZNwE?vfc-eyWllR?6#b20{%W& zg_h0F!{?6WWD~IaZJsZ43I`p*aZEs82B*h40dYSt?g=>lJ=;R#aEU!}H?ax0y}HI# z0xf`tU=!pL`zFriAg9qQ?5^^5-I6^|m5AZC=AqKW35<{*68;!U-09byzzTtV3a zi4PEe!ng)*fK#ASu?dtBXg^MFmEkC>58FafR-+c^d9F5rpDiGkm4fH$`<~w2i}e?9 zIIEY2^nMWcC~y7^#rG#L+*oXgR7luGM?TSrlUM?I{@lQ1r;P)_yR6?@z#?^-@s$RCy+wXlTYBQ z)Hm>0@Z_c7K|$1;3Q`KX{sY-CWK$u@x=AE~q1oAF=9`&J8)%lLkus1nkTT#i1NkE7 zWm)dv-9DtdXpN$O#Pe;Q=QBm$?jyjvkSoX+#B{u2!%4fu%p06{AUCGen)Rp5Y&UnnGO=$nzRF&LLw2vCNrx0J0zWg23iS;5p+=JOHi_ zc|JlFHY&gv1E8D1LCgUV`+DpFRQwq~LNPS41g|DMfJztDX9~b~xuUNCzs%V*@jWUq zajXJeB73$rcmSq02!0Q@#BbA$e7(4!O`)?2!sQ4}T;VAYVZ*wLE&=dFdYiihQ0VUG zrjZC6)CX3B_kd{=)0v$Dz`Fc`*jp2me+q)c+i*ET-k`bT6adeLkNLle8lV6G00d`2O+f$vv5yP%i&|)dbUm7}WERqcrqRpGx=Kb-(}WA?1L=BJBgtDx_nJokiz>-Uae{Cj zt&uMOKelio-JxAfoOqv32Z7blwO&j6bG(5)tw_N+eDX_$00000NkvXXu0mjf>#?K^ delta 114 zcmey!)WSGHGMj~gfkFA#C2b((?djqeQgJIeL4viJ`A`0j`wnxA1Tqx-ZvOut{m)o< zc~7rIYV`lj!GSl;thAhicFb*X5;~*e|1xZr#!>lJ6%{U_Ns^qLh8Gi-<004>e8lV6G00d`2O+f$vv5yP(s-%tw*QKm!DT_%jg0z*0&L)PR`;rT+nGJ+ci2YGwrDD^SB= z)JC!m1Zf1C5(F~|i8iCu&@)JeftWifHP92yKoHlCQbUiR8Gm|+QUe{(3+fP6vHOo6HfY7_-xar(vPnSpb0Fp<%Rrz;At3$*#K<6rEW@C#Locx(0!?Nk+d!zHtDw&N u0i=B>G7P2}Xpklli^2G#^k@h`LI403Ai+1kfDlpu0000a;7g2U46NK=Gc=+CiqhaAy?S%r=Jmd(i}eN}{wh Sh0d4&0000`mp@2_Vo)p6Rz5Z-d9{-S@lUk!J&bH zk%@(aTt-1*x~n)=Ordd-qds=X>tb+MaoZo!P$v z?|qSc9cL;_urXsDnrga z@v+Wc9$+nb+15JU>hrvpf8Ae~>)CN_*dZE_@Orj?c!J*@HjNEm&o0+CP|sr)x$*1S zWziYJ+ZnlXYCpf^I@5WZfpy!ypCzo%j^s8lMc=R4#Z>&r%%O2@zFlmiWuf$f1J}&w zuRAbj2QSTxo3ru2`Cje$mFJI@*6n}V!@BSPzaRIt&+mEud%{uqbe#{Sj~Aui+gv!e zJ3n&&!%q|DAE*jBcl32Z4F&N5j?VuR55)U3tvKA}bzC2qNEkd_{an^LB{Ts5I*#zF literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xhdpi/video_play1.png b/TMessagesProj/src/main/res/drawable-xhdpi/video_play1.png new file mode 100644 index 0000000000000000000000000000000000000000..02836b77fdefcc1e22d5eb7632f275090acbfc61 GIT binary patch literal 1158 zcmeAS@N?(olHy`uVBq!ia0vp^1t8491|*L?_~H$uSkfJR9T^xl_H+M9WCe0Hb#yJMFX341?Kpi=u%nY; zn0Twe61}kLPFj-$ekBXaa{W?HZSUf6`u%T1HJ%3!X z{CMH&RT=^f3@i!^j2sROOcXE|37l|w8PaK|tgOuYYv1cB`d;a3lYa(w7Jjf*7MQR{ z+N(_RireN#XZRCZGJjumoiuCH*{5smua(V}H~v~8CUj+*x^8{(kNVlH^OOpzqb6OR zn7`)4w+XNKHG=QXE8KC>pYyuS#kJ3~O2ntyd9LyQ;&HsNz>bq=!`-hPZMpo5_oKAcAJ+cRGx!j?cB-7`n~-U2Q|)vv zD*=_qYOh!MxWq_#MM>pMv&Lsx%Zj2Z6+3UQIrMarTVvz;)To!!j@&-=X~Ctfsk2zw z)@{prx>IFd;F~uks}u@CrvJ6e31w3$Z1-jpoROW~Y4-NoUE8H<<>5x#1tM;EH?MlT z_i<&a-$S*ND_j!_`7dvIy&|c+xJ4$I+wh5Cw&jU&N9_AQfWhtu=JHL zD^=oxo=v@U0?Se$hfnq`sV7(wq18wZp_%5Y;;Y~qHfCDiG6yWb4=^nb!t^urlpB2 zYu#&=%X3*VFPi0;s>QbdOZGiU#Zu4-d&6%)1e^NZ25eUG-hy7w03dPfAMk-ZwA3z5GgO&^+F` z#uqfE#J64D;+r|u;`iL}k4*rL3J$!h1@`WzMq z?D!MWp3kkljq7p-|wltclPW)z<6@gcGmLR3Da!Z@9Qu8R+)8tYN*{Qa`75eMKUp#65ZcN(nmWScwEtQ0_ wZM7l0N_PI4$hd9?Z_p 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 osROA4sROA4sROA48>a*R0OXZ#umAu6 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/menu_private.png b/TMessagesProj/src/main/res/drawable-xxhdpi/menu_private.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc67187716bfa421bbad41aa9f5a1bc58075b3c GIT binary patch literal 2273 zcmV<72p;!|P)NklkLM>MgZU;}-BhSK!#?BhH!Gem| z&`^+2(4j39WDBe?7A7ofD8L3Af*O*|7D%vBj0p0z?E3q!bKlN8@7(!*^WNe+$)B0I zbI$*KyqURo?%ZX=hOvw*Fs{J30^U=BP3gA#Ge$KG{c zK$7Ty1<P?3j7Z8tqFcoAdkHicr3Qe8xnvo@y%|*AD@l zk3~oO6L8EmY@t!UlNi{za=wKy`dtu8R?+_8{PupUc3Tt!P%JTNw|GRM+cPHDIWaP$ zc*Oz~Q%u^qZSk&-z;LEhFy1b{II;ki+XeRkSaPr!gE&#R$9~T{#VA zr~1zJ2vS6Wtzniofzmz z#5utBSj1V!Q7_j7v3IrIF2}N_4WF*GCW;nv7FV4s?{*+cZR=fi5NYPt$}$a=-#xL_ zEf$j-oHzn@fvpL&uQr{F$?3J9rraKcdbd?hR;te=!!&2vI9@Cl+L|`D>Il3bAJcvq zgby@pM#-MeB|6fzBF@Sk2DXcqkmI?&Ac{0#sGdgyLo1c1h9L5KPZeUiNKDd^F7S$X zsVIllgHKaZR+M}B5d%gumWktg)@jjWZ1vXR$>E|LK@SpLot{)4=RxL8hRy_^g|`st zvzwLK!URSUA`M`z=(!cWJq<dA zNa?^51BldNSh-k(Pj4>v`TM989|U?+u=1c3iBX2^rX}Qfmr*NxC|if`W?=$H5k7qY zvf{o;#BLKUOR!RRxxuTJkmFlUThS)Z*7H%6PkLUCUM;%oGc5T#wt?fzPTQz8t<((2 z%h4U?#ICqEoB*ymZDpG7ILcaNQ&l|M->Q-&c3zHJ4AdvF!r7qoOV0OMmuv8Dt^MUF zdbB-T&qt3@&Vh2YSFNqZDn+btT56S+6_!-}nQo}C@AY^Gc@oEBh`LB@4mt{+4@b>! zN^-P?v$gPz)kS{%Drs2?=W@4L+3}1P_0<-5NAi^`oft7{ zu}@l-)8{kyu^Lq2M)D;;T?}%sRk+4))eszkolgIpW?!#StxhY2xWX3ywQf~g^=E;& z?v}ttY9iC-Lwt5dsQ6`P#~|00yKk?sBlhDm9E%2Bzd#nxi=+{Uy=kp>S#nxkZ=8oOyvSm zqf_T2QlDrTYs9Y2X2tN9^6-Rn$0EUW zJpIybkb761yRZ;lU1?cG(*(j9@G;QXscgrfM~GH3$@UX)2G~gnn!2J``mQ|Mwu8Yf zEL4?oP-rPDdU~eCZcj~Bod7SF{^fEE#F=p0=`fmCMKN`sdD;hqU&@*k@9b&_{r_AK zd2vb)Wl!`R@xIjt(?+)P0la6HVmcn2u;0$&X*tB%B#188=bUa)ulH0UuZ5roy_GNE z6;H7##&f`v!7SHLiZ_KvJ431o|2(Lr+H7}Qq2fntcsaEcZZCMw;w z-m@bFtR7A?BCUvg0k2mL@hH}IZ_ilf1acB&6;J0DLFEZTp;@8?-Ex{_{NBkec{ebQ03Q10b1yELWn`wZp^&1+%3ffm& z)-A|sR}_Pay}pE?JD^Gd-71u5l+R|ShK5;klF&@@9PnP(Xl_KrEg!m-pD!V)Eno)d z)8ivhSHvMMadxMT+NfIIgLR-WkgOi?`a1$m1ZbtZmOki#zZrzDYx>%xrL^iuZUL=p v(GrdS&wuquvSS%nU|fN51;!Ov2Nn1i_ZTPS-m3%b00000NkvXXu0mjfMYB;i literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/menu_unread.png b/TMessagesProj/src/main/res/drawable-xxhdpi/menu_unread.png new file mode 100644 index 0000000000000000000000000000000000000000..34c8294599f6155907c7ca2b78663d1a7e256b75 GIT binary patch literal 1919 zcmV-_2Y~pAP)T(BDK2cfbT!JIJ)%RnuK!aP=Pi%WtY z1Hc!tJ>w6k&wx0;x#=O%155>5LE5swN`xRP+NM?nQ{T2J9)VS`N5M9bl|14XjzGFR z>p9bWj`C6UvhC;-Xw5zW$I*Wl&`mi+^bq(FtOXmv4zLU8q1D}CAnj0~GeP#Rg4w{A zNhmJxmF%m}TrdxO2P9{MyTLuce?ZEId_4uS6$;iB%mX3v3q}jTSa5tOGi;9rJuG|l zy@2%~*o=OJ)kiuV1G4c&zC!=`aqg4#1Q-gw@gsZtf3g1@I1l*$;p6}TNAWox_;LV6 zY|$!iWdmgE%lL{->MfCO20Q(Tk^Mbv&jy*^aPhw+60@>7Cp2L?%&ByWv`a$!*JMY4 z>wv~qaWbC+{c3Vrr!jHX7$k;;x})zfqyL)F{=s%G(4R&ysdNV39_%ayLl;xAqoTKv zAfZ#YXh*lLH<$DTr@E(YF#<`Yd!3$uxe76@+eL8-2f@Bz1F+;RlwEVJm89t9Sf{isGremWZ$L&hhh$ZA@(G&WNe#OED{`Yni{f1gIkT$H003JQ_!|_*1#8a z%jAgb`ZjUW8|;!dPd=>AV>Z3umg`G?)hr)cy&-9Y|r1NTsql{MvTv90HH|Rb&6%!c{7U5M1@N)lfx~0J?JY zh9PKMIvq=Y`Ut0=0beG@@GRA;0M+UMG>_)XDP@HcDnPYP_bbN!uL)iLSBH|`RnIgk zka{+gWk8G2I{TR3OE)aZ326mGPU*E@!; zJ{70#rT+Qs_S^geO???1oV?Iwy3fe#l6rj})(_`RV4V@?&n=Cg3^X51)zKFU0*0E*j*18pBcd zwR4TsvR4s!tU*e}%;(fkND&U#gSekT=|z5ILicPB5&RC|%Lmy;P4*6%o?s@3en*IM zl>XLaFBu<&z``gaw>>@Mu%>%rYnj6nV7udCHF{gP%XE;J5(1rp?i0RTnHLAeA^0FL z4aD7VEBu<-I6qHrW-LhDSYZ@twahhf5|HB>M86D{f+;{h1qvSjVXGBLqk!IGR)G*% zjFI(i!OX1|Wn!{1j;s~hZ^TUkLR>?X`@l3%NuqLt-p_HZ4rm7395nC0AE>C^fmXQ> z0cU`!KZnFdqAzq);8cuR9Fo+EM{6$Ys)KaBKiFOkz65!RCL{EK=<88w+g%9hChW_4 z6o-Z(Y-`{-1}p=4iGCh61N6zOLcy0Rr1Yy9Yi-<%=!bIrLfUJ=C~zFeL%t=*BJcv2 zrS&;8GY*H&lxh(u%)Qt=Z`kR6)WOhOsuq+lfdk-Ta2g2afUS!2iNo6zYZcpVBEe@I z?BZ7QgcfZ%J{}_3&nubo&(N8v@0*(1(YBza3G%ti;Wyf~Lf&T;FKv{vZ0%Zlt3X~NnE0A9W{sr%dMZ9s*ryl?S002ovPDHLk FV1gGhmMH)L literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/msg_addfolder.png b/TMessagesProj/src/main/res/drawable-xxhdpi/msg_addfolder.png new file mode 100644 index 0000000000000000000000000000000000000000..01810a96b2d3f852898dd09080df144022717b91 GIT binary patch literal 1363 zcmV-Z1+4msP)N6M~X>@Swd&;#P>ECFsFKJpyqO2{OTKwCzxn+{1@S*5+%BT7-y0sO?bx;tu z14#V1WsC&9U}H^X6X12F(l2TX8sSX714_;~Ri_EQSS#xRO&QY3v=7TqVMRUnnf@n; z_enitM#S39@r#gDv7XuxG+zns;)=3|yyukMajBjr@cHmeS`b&ZTH}@$|D6>4C9z%x z&wzT>yPR0sEyYvld%+H1Clq)Dgyoo>cRHr#hA4zgfkZ&XNsdzAw_E|olPJo}AR*@kkT!CJlXmctY$PFupxU17 z$6xuY@u$!;7=kY8hf|{+N~#h=kUSti5AGyY$Sip$IQHf&$74NIT%=h5uaV`&SToHK zoCR1Op34{64T_17vyJ)&lw(d*W(GM)7EWSGPCo4Caz8PGd>}_Yh(rkTg`7kP@`)Vh z1o=jeQ-UC8Aqk_dR(UBZP2zG5dV|JiyOihCM2xA$B|(pwq=C`g=i~#rRBc)j#ObjZ z^pv2!Xk^jV=hy^)(@#A)7CjYzdKPkqfRSM~sv-%$?Vt~w1M)gcDuh~Q{NXUNK%Do1 zu=GSadSpOzGZJKTifOOlX*!Q6u`ktzp#PL`+G}}=nKvq}pDC%{hM?<8o2wO_&nm4S zt?$YnIX^dr7a;a;gH@H*{%NF-Qa=o3@|;ySxa7cZWvi- z>#{M{UgVUZ17M|fpcENO-KF{&D&&YM)ruwDWv0kmWi7@rFxL8SpFk*Qo6Tf;4Kykl z<&C;Fo?=eQF)M<^5R#r{=m%b(R?^EXBBX4EoIzt_a}_JvmYllTN#lck(@!m<^wk|C zM}k?;Ad{Jyw3Y2oL6gzl1LFui?1UUSL(0T@1{tqXkT&)|0Dl_2r=!#_eaM+G{nNr^Q}z!I2^ayLoe!=p@FC?3KOq^dLPg;R9#wH`i*UI z8(^lRO7sUsY2OHT5cMufLL}Y+9YS&2I~tf#RFFuxBdU#?OiKLk>`yBiNF;kUCHY+K zzM`Q%`Ggc`QYFc9l04~=s7$W4=()#vKeyyC3@t?6l)@5w4wLt9L70Q5i^GI9xQ zLan37k~sa*4W!xLDB1`U!*>Lc?N|ceQG&1HQ$4QuL%V3JAC+$*?Xuc{|7z&q=@s9T z``dI^$RmU7rbf3{AVR|<$wD`KqvAN^UJ%B=uEx zaPS#@VgCq<QET}FjF^zJ00tx_Un^7b@I->%zaGGc}17zVe!I8Z* zKo(9qoHRhd*@;8Dl}kC9kXyu@Bb`mP#0Ub;e4JhYS}Ys^)e1PB+3t`758FzaeA^Ea zs6vB0a*WL_Bj^B{99s*~1a3!|x#(~-;etmIK#PMH&wI&?zd*#1odBwjBXCSHuf-JC zGpqpGh_r9Bo|W=&;wNohMr(52b{lTr*O~kl(eMSNJqVK@3FlGnQ?8RMg!W_vmC*Sb zHUdc-NfYtQ9mMNb08X202|&_43rYWw8v$8J0RUM@%^{_YAm_Bb+#C|FZ}Uy=Ky#A3 z<=Q^Aj*0u~2y!~=Gm<7zZoO01)NMvU(rF(^gG~kF^vf5J6!d^3Z^)l>0-3rE1V}oc zgfx}i)94afg6}F@qb;lVZ2)o?8s$b4adj^62y)eHF^3k=zmHmb3FD8P3UrCF-jVnA zoJ;EzmzuocVUmqfI`c~LHFpUdRF52c#*X|?%m|||qmVrFcAMOg{Eb@c+%-9tzb1_I zuU*(B=!5*d>o#)ROB{(8T!YL(-<594kd(KwwxbTp`GR+mcYl(+g2pS!?q?d2b)NrU zCQxzF5x}~(inWzsHgj! zVaEcc3^+HOeg(P2WECwVXcl_nR5WlaKMbr$g(H0o1V{=}@gW=e2EPv_)(C7(vDb8D zK7BkBNr$-PMxev!D=KFDNb-A7+W#|BAqAR)QY)nH6IkwGv(a$W9sO54>gU4b?(`nX xO{IoWqur%*k%w)=60ig;0ZYIVumti;;4cmKu-sWbQGoye002ovPDHLkV1jibN*(|J literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_check.png b/TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_check.png new file mode 100644 index 0000000000000000000000000000000000000000..a38540eff7d355b4e8eda761a119c45931e588e4 GIT binary patch literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!Ea{HEjtmSN`?>!lvNA9*Uh{Nu z45?szd&|*_*-@bN;h95IADuhuazVO6{QLvKJ6&^!npaxOPWyjOI7v(!4E8Y>VrsW>*?sGJkUSr_hR&KGDmrRrdOECOcJUehXT1 z=z8znL!N6F^r&lZD)S7h?iWog^b3D*qrX})b8?uVaQZ!4b+w5z&7HXVlf$D#KTSBe zajDXhtb%8;PkvcGY2U-KgLT1h0`X){ohf#lzq;f ze<#zPSDyd>iDRAu-_##VANd%D+GxG|8gXZN8XFUbLIVRP5zu+Se9fzuFH)p=t^;G7 N!PC{xWt~$(69BQM;dcN4 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_framed.png b/TMessagesProj/src/main/res/drawable-xxhdpi/msg_text_framed.png new file mode 100644 index 0000000000000000000000000000000000000000..285596c7d51a5c02de5522002239ac0eecf850ef GIT binary patch literal 1205 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 P00000NkvXXu0mjfQn*Z4 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/photo_add.png b/TMessagesProj/src/main/res/drawable-xxhdpi/photo_add.png index 3df075a3317efc92c20f17bd461ab55aaec2f53c..04a88a549708ca176da140972f6b35657566e080 100644 GIT binary patch literal 2997 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 literal 1715 zcmb_c|3A}t93M-zl`okarunj6yKF{Shpo2eYZkM}x5=nXzSK6AubU3%(d2wNltNMN z61k%zG@5)VnQ)m(hmv!8$k~>{mX6)0yFcOX`FOlv@8|3Nd_JD9_b>1Fc_zbK4~B$+ zKp;Jz{T>0p&icF{V4xZ#|FR1N(yC(m9`Xd*{|*=oCK8FdySt~SrHP9juh^eV5G#dTt)vK2;Um6)1 z0k+D@N|j0lR5F6(V(bd&WPEKxXYa1UQUtC=L_x@Y$7X5(4yfXoeK#-O; zc$3a%T?iDmWvib4wlB=Kqb#jVEGd!6=Ss@TO?MqHK;TbaLi!i`n;ThicciBoa+v{e z+hT$Nmq#>?#T3$x9!br`lzh3vos4z0`x;NQadfapTifoWxj653!cq6;rbQp~^uQLz zJM$AAErNqj*$4<38Msp+C85Mb(upFxcT9S2DZv5z=`;wmiR9x!JCv$*)RYbChDBgq zxAsMuR%IV6e|*^9$;oL-vp-=+IJZy98+NK_GVFX1?@(tf)A$IfQIF>wd+vP?d7}@e zSS*GX1%UcfWAn9`3$7HT_uU*jzV*cb5;_H~qx@cc2qfp^;7{V?k~9 z0;}cct0RqmFBBuIWr){=b`7Vc{hO%3GyK%(4f$O29*S$L4SBC?S(fB5h1_0GriRCp z%QIal;@f5&F0P1uSN5ui*MDzL<~StMA(Rf7a1v))^O9Sn5lSKwI&YiWb?o zqHySshj#i>{XWi)mJUyS7{%NyZBL97u5p~nl27k(TH{r0mQwQD_VmfhFmsjRn{|xA z+U!dR$q&wKs{Z;C1rHm@SyibAMH{OoHoo%2FpX5SQ6I@b&{!33c$8({*Z{O3P?L1r zq@cK$xxITl1)mdhPTJbYzxBuE1Ujon zdcxUnSf4kqUrIky;O4ocK_V?Ia2p}nxZPaj!3H%|$NhTL(*5S0r^Z@yFYXgziuq8Y zd#mf(`c2tnX!cqs(cGGlz9=u_W|5TAe$jslTxtqXf(xP8_LogRiCX-IbUXo^-t&;=@0H_ znUgbE6_swG{*#bkT9Mb$=kP1^gtI8PmklOVmGJf{ocj>{L(r4JS@`*A$7rhZUi~)u z`520_5k<$s;j@8N5ncrjdJFp2Ip9%5KjJS8SaYrKe%0&9Tkop1)dr@29XII;&BP^w zU@fx8(zi=XZ)LG!2!ef4kzIonpK+GNyZGLEI-sXpy>zZ>X1SBy4;e~#|8;ZzSFCu2 z@bs%EA1L)=0oTXedAdvhnVQmsOyilD(-po4dcLYz+n~+8pXp*0LQ|>gir*!=qBO4?WLYx0&%kx2?B!H_P`w*k(iJa&Uus z{;&dJ)jRee%Lk(nhOPOJ|Ec6-;y8CyP&?xL;>|&@g&;k;4gT)V8|NmzGfrdbP}yJ< lOgrCEYx8Z;u~|)g2Kc88-F+d2llag7vyUgkqtPuY`)^KN)rtTB diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/photo_tooltip2.png b/TMessagesProj/src/main/res/drawable-xxhdpi/photo_tooltip2.png new file mode 100644 index 0000000000000000000000000000000000000000..e74a53ef1fd06df8d492d0ff39afd3e11e2020e6 GIT binary patch literal 448 zcmV;x0YCnUP)vxK|e0P;V1Y3 zMr_1J5CuUb2;wXxqW9k2?7rMZ5*Whm?Cs8wmw8#X;-9sI`s@M#%g zH6Ss01^9 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/selectphoto_large.png b/TMessagesProj/src/main/res/drawable-xxhdpi/selectphoto_large.png old mode 100755 new mode 100644 index a904807170f2279b488194449c98b36951b9f711..0709ff4935cbbaa053e7754575e5cb355fa77900 GIT binary patch delta 563 zcmV-30?hrb1;GT68Gi-<003mg-}V3i00d`2O+f$vv5yPZ&zGd%-hfF6Kzure{SFv41ig#{sTgK`jr5F&g}iL1zpU+jcb zvGZAaO;Wq|^Dl0q{+UczC_n)UP=Epypg_C=d7jVW&A!LX0e^Ff_&`WmAx?T6F0QVD zF-LqMszr{^;+jbh*#e;s$3T5z=b(pS$?1Ua|9r&3-G1nirw3XmJja zyp2;3<@x)6AVrHKCmPA$8V$#`6H?STCD4NdruuX%r08)*fgirPyNwISU|}WsAdM5Jf+W|ZSNmd99*-NxLb?ZvfS4j*x?P$!L*8baN)8}< z80#D%e=J^FW?8n{)Yu${0u-PC1t>rP3Q!ob_002ovPDHLkV1gL= B^SA&2 delta 672 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 literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/video_cropleft.png b/TMessagesProj/src/main/res/drawable-xxhdpi/video_cropleft.png index 6fc50b0f56830123e97cb17dcb88f5cd4d4bfd53..9ea720c6554ba2b7696d02526ccb43f2396c2665 100644 GIT binary patch delta 560 zcmV-00?+-L0lox~8Gi-<007X>Dfs{Z00d`2O+f$vv5yP|I5<$sfyhQgNkY`# z)@QU+)9m}b_jig%LUsIuJVWFMm5wuh%<>zF$2&z*XXt zP~(gk@_qwArWMT^_w2j8!7*3uy|$owTTTM!lP-wKSI7+t`I?}+$sDVbxYNh8<{S1d z2a<0N<7EqGZs+AnhYW-w@nn*W^#$v82Ya~`<23_hFK6URhYXY+;>D&l_Ub#_=3p}X2F zJeKT`;R-+{q80&E(q0D3bS0Qi2v8-Dq;qM$D$O%>ptvew7|P6YTX zx_Yqq8JNdCzc>9*8?L~Qgj0W@d;MFN1+bF+ypiZu0@xSenSU;|ckB#wnE0~b2eC!1 yN&+1vb}0$mLI*+zLI?g<2fhIj7>t<@x-q{10000Dyemuv{xEhVMIhJ&XaK<6na{!jpDJRPV8I!$zA>1m;tiSGP=dW)s8#kc+# rpDM3LKCHa0T)pDb7tc*ff9nPDfs{Z00d`2O+f$vv5yPx!U z>w{QrIvhwBaYx8C-BdWVq9oSpD~^92d$xgJ{jKa7L@z1l{AI2xOI+8kQXXy*I{hh% z1LpIRXw}O~o4*XCojA8(cKS$>_opZhn9tZWk*_Ij{xYC8BDt3ZxB86G<4;i>FrSn} ztKLxB!pMM*Eq|DuzEbptp*UPHAGc{D-*U8slYkuxU{adrcz-yOaKd~nAvumaVtd#U z;GP3&q%WcnmS(wOK4K`!ny|Jy(?(tr&PK!&;!Qa@py;XW1D?f28)+pagiIK(d3IkY zV}3x-h2*7P7?%{Nk(bhqArp*qM8yys>jtek?`Mn`9e=u v6OcTyO(v9yU1C((8s#{FIDt5U7M{QlqtA?%mhS$+00000NkvXXu0mjfqpk;u delta 137 zcmV;40CxYo1eyVm8Gi%-004T%;c@@~0AWc)K~#9!?bX2zfFKY=Q94jNvKR}YJ=C7Y zqgUCVIG6eNmyiuCt)-N{rM*tOq+X{gaUFV_sBwpHf2u$0000)FFWmy9SkfJR9T^xl_H+M9WMyDrKJDq^ z7*fIb_G+}Bw4(rPz=>I(UiVt={$#a@Zxh#}67L#?mJ3@oOWdDqxgyj*Yt_5Qt3MuY zc5Pr_WMbhEP;eMTjQ`ySzE;_;t&RMh`8N96y8Gwn?mLzBy>4dVj?J}K=YFkK-C+0U z^R4>p|ISp!@z0OnD*LnWd(7_%>C!tFsL6A$;jiC6w`_;nwRgtf)b8%RX7}W#UD((A zhK-^Pf4|!7)C+EpZnt`KbJ;tKtIv;zEN1@p)3RpS$-2pVznL!o&3pOo{dXV#x%dBl zQdjCX|3l&0&Ux;3w~zc)tFC!&{$k1GI8{bQ-GkDzIXN<(Em@_aut2pU*_e^>?3|FP zEG%1C@^jP_7R;QyYEnbPvM)AC9FlG0n1EsRcBV^WF^~2M1&I&=F_JfpWeV^Aj(lM1wW^m+yad-rHH;%-?j~ z?oG-5a>hS}0S~J7&bw9@SDp0MZu!c`Z{xD%Kjj3MUr`r`Q2b#k&?38}*x=o=Ny_uz zF6-9#H|GG?p}OeUYjsh-r)_=xy*N4l+;;Pud*jn&-sR+`&C4MjVQikP?LkjX*FOS2p1h%sB?cs)m9J?x4lX5M-nFPS~ZalLLD z8O}yt=dE@~9i2L3%S_B=s;dlJgt;cV?tgK9_f1c<2e2aqueYG?VGywpBmLK{G z_OM(3AN8Y$O!H^;9u_#>E5Hi?=%O9_5~~IPKz#hJc;W5><@1yx9RAdcjrj$OXFBGx z0@XiI7JT6=v+k+_X5)pnkya+?UMs%$Lb=MujC`-CC<^`O2)eOxS?w%UbMCzT_^8G6 zku?vh`cLH9>=S0%@A+$kJN0CR>rS?vyNg?@!c~wpL91bq?(}ugjsU?>B;fCaylyog zA0JCL0vCWF+kWsJ2}9<&`)?1jw`bbyKDb~;k>FR*Aaw{Xr{A(i{+U4WV3l%fbo1&# znhT-gvOeS;)$P#ho=paCQc=lQMp|+~=_xIa%7Nsn>ym7VTmHBxj#$$&AI>CXLrCRZAR@LOqYOrhxTimSW+BXie-dH8m4qy zMRKGM{t}Ps7i{v#bk^b>=s1s{S!H^^e zHg#X@fYj6-$keoD!Ir)FbxPl^ z@x-EA3L}S9V)cY=@}lHvhQWVpP^t<-{;J<^G;?O6oGE{kWKI4gYiCP7Maw_Mgzu&* zl%dotA8wSX$D7?YFhoZPc5Y`aIgm0KsG+M)T}vuSgauPZWbuZE!wz*H!zovWFG7Ir z&Fwn*Y){Kaxo5~vn`UcS*I zK6s&-_#J%0A1Ts~s8`6Vlu;q*UuX6#YWY3K=%SDjW3P@iSF>_MjRXtBU@t?Fb*RH; zIoQ!5EGe*4il82tFkcgc6SW@MCf%gz>ITuOH3GPiyhnZw(V*H<#IAfJJ|I0HC+F*M zc8hKNMNoLzt+t-u8^&&0(G7n}>g3shBnYgaqhFRB*&H)*O@38|&=FSLu_1Tltibk= zMIt?Zde4KX{nOmc)LYy1U{WV`{yg@=@O?I?bQ~%yjnOzRZ8V1H@pp8WNmKe6CGdY) z)c}V%q5`&zq|x$nQ=Ooh2sbC>3=+EXcS9uUON$DP<)@b4M)r7(FEqqxv!>E2qcTba zje3HaXmJT8_Zk0Ep=clj>{O6e_H}9{m3>z815wt?7!Co|N)cN%tG!GQ#<|U5q-XBk zlAVT7#hJ?lRUPi5vn_q>dt`v=#CtgR2K@Pju%}sGH#(*b)7N3}kCk&|CwZYfdTcgo z;L%;MR=m7>GEl3Q6Qd2CphSSD&R$%iou1Y?!EUyywyPSBxMZ^qi{6jowd?C!RZDTw z@3V}c!WHH7Z26B3`H4ic56g$ceLPZecROmFhuiKP-MwDCI`ty~WN^nYT6|k+JWhOu zs8bNYj{Jor@pqegd~s|gM_~P=#4g?Lt8nW+UZfuHnPBX-IXFn?qV6dUm8PHOS5JVz zy*>WF+;U!xBZs^w^tOEaZwko$k3IiU;{d1DZmHWjdVNF&*j77{_%5`0$oFY4M!vXi zg+$(u&1Q?_vMfqhqRZnt0A^!8E;E`)tJuVSgib63c@vkuajauf7N{EW_}HhWs@ zm|o|YHQCQ`2bDq1Zh}QeFl^*-K>gD{&`c@z=cr_1DMC)9I;(WE8IcqCb@vW5s(gQ2awnLlsw<+rI5pi1^9UfUU`Iy$^Rb>R7XMp literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/video_send_mute.png b/TMessagesProj/src/main/res/drawable-xxhdpi/video_send_mute.png new file mode 100644 index 0000000000000000000000000000000000000000..7b84a3cbf074cb5966645093792a10d061fa029c GIT binary patch literal 3373 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 D&3|^< literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/drawable-xxhdpi/video_send_unmute.png b/TMessagesProj/src/main/res/drawable-xxhdpi/video_send_unmute.png new file mode 100644 index 0000000000000000000000000000000000000000..000c1f930379c08d95804f7f9f54659f9db6c1d4 GIT binary patch literal 2860 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 KMNUMnLSTY~n}oLj literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/raw/tsv_monkey_close.tgs b/TMessagesProj/src/main/res/raw/tsv_monkey_close.tgs new file mode 100644 index 000000000..2c50181da --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_monkey_close.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":98,"w":512,"h":512,"nm":"password_close","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[-15.209]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15,"s":[-18.946]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":40,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[-18.946]},{"i":{"x":[0.599],"y":[1]},"o":{"x":[0.259],"y":[0]},"t":90,"s":[-15.209]},{"t":98,"s":[-15.209]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.325,"y":0},"t":0,"s":[127.498,805.39,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":0.34},"o":{"x":0.167,"y":0.167},"t":30,"s":[127.498,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[127.498,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.33,"y":0},"t":60,"s":[127.498,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":98,"s":[127.498,805.39,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[-95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.365,183.856]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.313,183.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.188,184.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.188,185.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.313,186.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.625,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105.063,190.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105.688,192.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[106.438,194.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[107.25,197.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[108.063,200]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[108.875,202.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[109.563,204]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[110.25,205.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[110.813,206.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[111.313,207.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[111.75,207.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.125,207.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.438,207.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.688,206.813]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.25,46.563],[98.625,84.625],[112.875,206.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.438,47],[98.625,84.625],[113.063,205.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.063,47.688],[98.625,84.625],[113.25,205.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88,48.75],[98.625,84.625],[113.375,205]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.625,49.938],[98.625,84.625],[113.5,204.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.188,51.188],[98.625,84.625],[113.625,204.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81,52.313],[98.625,84.625],[113.688,203.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79.188,53.25],[98.625,84.625],[113.75,203.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.625,54],[98.625,84.625],[113.813,202.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.438,54.625],[98.625,84.625],[113.875,202.688]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.5,55.125],[98.625,84.625],[113.938,202.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.813,55.438],[98.625,84.625],[114,202.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.313,55.688],[98.625,84.625],[114,202.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74,55.875],[98.625,84.625],[114.063,202.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.813,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.649,162.548],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.563,162.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.25,162.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.125,163.563],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.25,164.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.563,166.438],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.063,168.438],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.75,170.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.5,173.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.313,175.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,177.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181,180.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.875,182.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[182.75,184.188],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.688,186.188],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.563,188.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[185.375,190.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,191.875],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.813,193.563],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.313,195.125],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.75,196.438],[156.688,64.313],[157.875,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.125,197.563],[156.688,64.313],[158.25,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.375,198.563],[156.688,64.313],[158.75,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.625,199.313],[156.688,64.313],[159.313,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.813,199.875],[156.688,64.313],[159.875,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.938,200.375],[156.688,64.313],[160.438,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.063,200.75],[156.688,64.313],[160.875,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.125,201.125],[156.688,64.313],[161.25,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,201.375],[156.688,64.313],[161.563,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.25,201.625],[156.688,64.313],[161.75,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.938],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.168,187.077],[133.298,186.221],[178.144,164.173],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.125,187.125],[133.25,186.25],[178.063,164.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.5],[133.188,186.563],[177.813,164.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,188.188],[133.188,187.188],[177.688,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,189.313],[133.313,188.188],[177.688,165.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,190.813],[133.563,189.625],[177.813,166.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.938,192.75],[134.063,191.5],[178.188,168],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.625,195.063],[134.688,193.75],[178.688,170],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.375,197.5],[135.438,196.188],[179.313,172.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.188,200.063],[136.25,198.688],[180.063,174.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125,202.5],[137.063,201.125],[180.875,177.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.75,204.688],[137.875,203.375],[181.688,179.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.5,206.625],[138.563,205.313],[182.563,181.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[127.125,208.188],[139.25,207.063],[183.438,183.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[127.688,209.5],[139.813,208.5],[184.313,185.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.125,210.438],[140.375,209.625],[185.188,187.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.563,211.125],[141.313,210.438],[186.063,189.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.875,211.563],[142.5,210.938],[186.813,191.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.25,211.875],[144.125,211.25],[187.563,193.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.563,212.063],[146.063,211.438],[188.125,195.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.938,212.125],[148.313,211.563],[188.625,196.938],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.188,212.188],[150.625,211.625],[189,198.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,212.188],[152.875,211.688],[189.313,199.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.75,212.125],[154.938,211.75],[189.563,200.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.938,212],[156.75,211.813],[189.75,201.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.125,211.813],[158.313,211.813],[189.875,201.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.25,211.625],[159.625,211.875],[190,202.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,211.5],[160.688,211.875],[190.125,202.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.438,211.375],[161.625,211.938],[190.188,203.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.563,211.313],[162.375,212],[190.25,203.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,211.188],[162.938,212.063],[190.313,203.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.688,211.188],[163.375,212.125],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.688,211.125],[163.75,212.125],[190.375,203.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[163.938,212.188],[190.375,204],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.063,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"t":98,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.144,164.173],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.231,186.731],[116.231,187.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.063,164.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.188,186.813],[116.188,187.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.813,164.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,187.25],[116.125,187.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.688,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.063],[116.125,188.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.688,165.188],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,189.25],[116.25,189.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.813,166.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,190.875],[116.563,191.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,168],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[106,192.875],[117.063,193]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.688,170],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[106.625,195.25],[117.688,195.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.313,172.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[107.375,197.813],[118.438,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.063,174.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[108.188,200.375],[119.25,200.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.875,177.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[109.063,202.813],[120.063,202.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.688,179.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[109.813,205],[120.875,205]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[182.563,181.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[110.563,206.813],[121.563,206.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.438,183.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[111.188,208.25],[122.188,208.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.313,185.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[111.688,209.313],[122.75,209.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[185.188,187.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.188,209.938],[123.375,210.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.063,189.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.5,210.25],[124.25,211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.813,191.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.813,210.313],[125.563,211.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.563,193.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[113,210.125],[127.25,211.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.125,195.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[113.188,209.813],[129.313,211.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.625,196.938],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.375,34.938],[153.625,31.25],[149.813,36.688],[147.625,26.938],[143.25,27.75],[138,45],[129,29.563],[125.563,31.875],[107.813,54.063],[93.5,42.375],[98.625,84.625],[113.313,209.375],[131.625,211.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189,198.313],[156.688,64.313],[154.625,35.563],[155.813,41.875],[156.938,34.813],[153.125,31.25],[149.125,36.813],[146.563,26.875],[142.188,27.688],[136.938,44.938],[127.625,29.875],[124.188,32.188],[107.188,54.313],[92.625,42.75],[98.625,84.625],[113.438,208.938],[134.063,211.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.313,199.438],[156.688,64.313],[155.063,35.5],[155.375,42.125],[156.125,34.625],[152.25,31.25],[147.938,37.063],[144.688,26.813],[140.313,27.625],[135.063,44.875],[125.063,30.438],[121.625,32.75],[106,54.688],[91.063,43.438],[98.625,84.625],[113.563,208.5],[136.438,211.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.563,200.438],[156.688,64.313],[155.625,35.375],[154.75,42.375],[154.938,34.313],[151.063,31.188],[146.25,37.438],[142.063,26.688],[137.688,27.5],[132.438,44.75],[121.5,31.313],[118.063,33.625],[104.375,55.25],[88.875,44.375],[98.625,84.625],[113.625,208],[138.563,211.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.75,201.25],[156.688,64.313],[156.313,35.25],[154.063,42.75],[153.5,33.938],[149.563,31.188],[144.25,37.813],[138.875,26.563],[134.5,27.375],[129.25,44.625],[117.25,32.25],[113.813,34.563],[102.438,55.875],[86.25,45.5],[98.625,84.625],[113.688,207.563],[140.438,212.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.875,201.813],[156.688,64.313],[157.063,35.188],[153.313,43.125],[152.125,33.563],[148.063,31.188],[142.188,38.25],[135.688,26.5],[131.313,27.313],[126.063,44.563],[112.938,33.25],[109.5,35.563],[100.438,56.563],[83.625,46.688],[98.625,84.625],[113.75,207.063],[142,212.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190,202.313],[156.688,64.313],[157.688,35.063],[152.625,43.438],[150.813,33.25],[146.75,31.188],[140.375,38.625],[132.813,26.375],[128.438,27.188],[123.188,44.438],[109.063,34.125],[105.625,36.438],[98.688,57.125],[81.188,47.688],[98.625,84.625],[113.813,206.625],[143.375,212.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.125,202.75],[156.688,64.313],[158.25,35],[152.063,43.75],[149.75,32.938],[145.625,31.188],[138.813,39],[130.375,26.25],[126,27.063],[120.75,44.313],[105.813,34.938],[102.375,37.25],[97.188,57.625],[79.188,48.563],[98.625,84.625],[113.875,206.25],[144.5,212.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.188,203.063],[156.688,64.313],[158.688,34.938],[151.625,44],[148.875,32.75],[144.688,31.125],[137.5,39.25],[128.375,26.188],[124,27],[118.75,44.25],[103.125,35.5],[99.688,37.813],[95.938,58.063],[77.5,49.313],[98.625,84.625],[113.938,205.938],[145.438,212.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,203.375],[156.688,64.313],[159,34.875],[151.25,44.125],[148.125,32.563],[143.938,31.125],[136.5,39.438],[126.813,26.125],[122.438,26.938],[117.188,44.188],[101,36],[97.563,38.313],[94.938,58.375],[76.188,49.875],[98.625,84.625],[113.938,205.688],[146.188,212.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.563],[156.688,64.313],[159.313,34.813],[151,44.313],[147.625,32.375],[143.375,31.125],[135.75,39.625],[125.563,26.063],[121.188,26.875],[115.938,44.125],[99.313,36.375],[95.875,38.688],[94.188,58.625],[75.188,50.313],[98.625,84.625],[114,205.5],[146.813,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.5,34.813],[150.75,44.375],[147.188,32.313],[143,31.125],[135.125,39.75],[124.688,26.063],[120.313,26.875],[115.063,44.125],[98.125,36.688],[94.688,39],[93.625,58.813],[74.438,50.625],[98.625,84.625],[114,205.313],[147.25,212.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,203.875],[156.688,64.313],[159.625,34.75],[150.625,44.5],[146.875,32.188],[142.688,31.125],[134.75,39.813],[124,26],[119.625,26.813],[114.375,44.063],[97.188,36.875],[93.75,39.188],[93.25,58.938],[73.875,50.875],[98.625,84.625],[114.063,205.188],[147.625,212.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204],[156.688,64.313],[159.75,34.75],[150.5,44.5],[146.688,32.188],[142.438,31.125],[134.438,39.875],[123.563,26],[119.188,26.813],[113.938,44.063],[96.625,37],[93.188,39.313],[92.938,59.063],[73.5,51],[98.625,84.625],[114.063,205.125],[147.813,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.625,32.125],[142.375,31.125],[134.313,39.938],[123.313,26],[118.938,26.813],[113.688,44.063],[96.313,37.125],[92.875,39.438],[92.813,59.125],[73.313,51.125],[98.625,84.625],[114.063,205.063],[147.938,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"t":98,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":98,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"t":98,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"t":98,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.099],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":98,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[15.209]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15,"s":[18.946]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":40,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[18.946]},{"i":{"x":[0.599],"y":[1]},"o":{"x":[0.259],"y":[0]},"t":90,"s":[15.209]},{"t":98,"s":[15.209]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.325,"y":0},"t":0,"s":[394.502,805.39,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":0.34},"o":{"x":0.167,"y":0.167},"t":30,"s":[394.502,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[394.502,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.33,"y":0},"t":60,"s":[394.502,436.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":98,"s":[394.502,805.39,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":2}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.365,183.856]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.313,183.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.188,184.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.188,185.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.313,186.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.625,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105.063,190.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105.688,192.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[106.438,194.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[107.25,197.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[108.063,200]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[108.875,202.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[109.563,204]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[110.25,205.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[110.813,206.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[111.313,207.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[111.75,207.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.125,207.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.438,207.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[112.688,206.813]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.25,46.563],[98.625,84.625],[112.875,206.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.438,47],[98.625,84.625],[113.063,205.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.063,47.688],[98.625,84.625],[113.25,205.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88,48.75],[98.625,84.625],[113.375,205]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.625,49.938],[98.625,84.625],[113.5,204.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.188,51.188],[98.625,84.625],[113.625,204.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81,52.313],[98.625,84.625],[113.688,203.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79.188,53.25],[98.625,84.625],[113.75,203.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.625,54],[98.625,84.625],[113.813,202.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.438,54.625],[98.625,84.625],[113.875,202.688]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.5,55.125],[98.625,84.625],[113.938,202.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.813,55.438],[98.625,84.625],[114,202.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.313,55.688],[98.625,84.625],[114,202.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74,55.875],[98.625,84.625],[114.063,202.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.813,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.649,162.548],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.563,162.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.25,162.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.125,163.563],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.25,164.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.563,166.438],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.063,168.438],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.75,170.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.5,173.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.313,175.5],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,177.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181,180.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.875,182.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[182.75,184.188],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.688,186.188],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.563,188.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[185.375,190.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,191.875],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.813,193.563],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.313,195.125],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.75,196.438],[156.688,64.313],[157.875,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.125,197.563],[156.688,64.313],[158.25,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.375,198.563],[156.688,64.313],[158.75,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.625,199.313],[156.688,64.313],[159.313,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.813,199.875],[156.688,64.313],[159.875,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.938,200.375],[156.688,64.313],[160.438,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.063,200.75],[156.688,64.313],[160.875,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.125,201.125],[156.688,64.313],[161.25,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,201.375],[156.688,64.313],[161.563,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.25,201.625],[156.688,64.313],[161.75,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.938],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.168,187.077],[133.298,186.221],[178.144,164.173],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.125,187.125],[133.25,186.25],[178.063,164.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.5],[133.188,186.563],[177.813,164.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,188.188],[133.188,187.188],[177.688,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,189.313],[133.313,188.188],[177.688,165.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,190.813],[133.563,189.625],[177.813,166.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.938,192.75],[134.063,191.5],[178.188,168],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.625,195.063],[134.688,193.75],[178.688,170],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.375,197.5],[135.438,196.188],[179.313,172.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.188,200.063],[136.25,198.688],[180.063,174.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125,202.5],[137.063,201.125],[180.875,177.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.75,204.688],[137.875,203.375],[181.688,179.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.5,206.625],[138.563,205.313],[182.563,181.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[127.125,208.188],[139.25,207.063],[183.438,183.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[127.688,209.5],[139.813,208.5],[184.313,185.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.125,210.438],[140.375,209.625],[185.188,187.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.563,211.125],[141.313,210.438],[186.063,189.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.875,211.563],[142.5,210.938],[186.813,191.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.25,211.875],[144.125,211.25],[187.563,193.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.563,212.063],[146.063,211.438],[188.125,195.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.938,212.125],[148.313,211.563],[188.625,196.938],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.188,212.188],[150.625,211.625],[189,198.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,212.188],[152.875,211.688],[189.313,199.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.75,212.125],[154.938,211.75],[189.563,200.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.938,212],[156.75,211.813],[189.75,201.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.125,211.813],[158.313,211.813],[189.875,201.813],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.25,211.625],[159.625,211.875],[190,202.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,211.5],[160.688,211.875],[190.125,202.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.438,211.375],[161.625,211.938],[190.188,203.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.563,211.313],[162.375,212],[190.25,203.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,211.188],[162.938,212.063],[190.313,203.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.688,211.188],[163.375,212.125],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.688,211.125],[163.75,212.125],[190.375,203.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[163.938,212.188],[190.375,204],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.063,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"t":98,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.144,164.173],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.231,186.731],[116.231,187.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.063,164.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.188,186.813],[116.188,187.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.813,164.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,187.25],[116.125,187.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.688,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.063],[116.125,188.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.688,165.188],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,189.25],[116.25,189.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.813,166.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,190.875],[116.563,191.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,168],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[106,192.875],[117.063,193]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.688,170],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[106.625,195.25],[117.688,195.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.313,172.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[107.375,197.813],[118.438,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.063,174.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[108.188,200.375],[119.25,200.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.875,177.125],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[109.063,202.813],[120.063,202.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.688,179.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[109.813,205],[120.875,205]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[182.563,181.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[110.563,206.813],[121.563,206.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.438,183.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[111.188,208.25],[122.188,208.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.313,185.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[111.688,209.313],[122.75,209.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[185.188,187.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.188,209.938],[123.375,210.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.063,189.813],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.5,210.25],[124.25,211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.813,191.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[112.813,210.313],[125.563,211.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.563,193.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[113,210.125],[127.25,211.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.125,195.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[113.188,209.813],[129.313,211.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.625,196.938],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.375,34.938],[153.625,31.25],[149.813,36.688],[147.625,26.938],[143.25,27.75],[138,45],[129,29.563],[125.563,31.875],[107.813,54.063],[93.5,42.375],[98.625,84.625],[113.313,209.375],[131.625,211.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189,198.313],[156.688,64.313],[154.625,35.563],[155.813,41.875],[156.938,34.813],[153.125,31.25],[149.125,36.813],[146.563,26.875],[142.188,27.688],[136.938,44.938],[127.625,29.875],[124.188,32.188],[107.188,54.313],[92.625,42.75],[98.625,84.625],[113.438,208.938],[134.063,211.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.313,199.438],[156.688,64.313],[155.063,35.5],[155.375,42.125],[156.125,34.625],[152.25,31.25],[147.938,37.063],[144.688,26.813],[140.313,27.625],[135.063,44.875],[125.063,30.438],[121.625,32.75],[106,54.688],[91.063,43.438],[98.625,84.625],[113.563,208.5],[136.438,211.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.563,200.438],[156.688,64.313],[155.625,35.375],[154.75,42.375],[154.938,34.313],[151.063,31.188],[146.25,37.438],[142.063,26.688],[137.688,27.5],[132.438,44.75],[121.5,31.313],[118.063,33.625],[104.375,55.25],[88.875,44.375],[98.625,84.625],[113.625,208],[138.563,211.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.75,201.25],[156.688,64.313],[156.313,35.25],[154.063,42.75],[153.5,33.938],[149.563,31.188],[144.25,37.813],[138.875,26.563],[134.5,27.375],[129.25,44.625],[117.25,32.25],[113.813,34.563],[102.438,55.875],[86.25,45.5],[98.625,84.625],[113.688,207.563],[140.438,212.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.875,201.813],[156.688,64.313],[157.063,35.188],[153.313,43.125],[152.125,33.563],[148.063,31.188],[142.188,38.25],[135.688,26.5],[131.313,27.313],[126.063,44.563],[112.938,33.25],[109.5,35.563],[100.438,56.563],[83.625,46.688],[98.625,84.625],[113.75,207.063],[142,212.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190,202.313],[156.688,64.313],[157.688,35.063],[152.625,43.438],[150.813,33.25],[146.75,31.188],[140.375,38.625],[132.813,26.375],[128.438,27.188],[123.188,44.438],[109.063,34.125],[105.625,36.438],[98.688,57.125],[81.188,47.688],[98.625,84.625],[113.813,206.625],[143.375,212.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.125,202.75],[156.688,64.313],[158.25,35],[152.063,43.75],[149.75,32.938],[145.625,31.188],[138.813,39],[130.375,26.25],[126,27.063],[120.75,44.313],[105.813,34.938],[102.375,37.25],[97.188,57.625],[79.188,48.563],[98.625,84.625],[113.875,206.25],[144.5,212.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.188,203.063],[156.688,64.313],[158.688,34.938],[151.625,44],[148.875,32.75],[144.688,31.125],[137.5,39.25],[128.375,26.188],[124,27],[118.75,44.25],[103.125,35.5],[99.688,37.813],[95.938,58.063],[77.5,49.313],[98.625,84.625],[113.938,205.938],[145.438,212.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,203.375],[156.688,64.313],[159,34.875],[151.25,44.125],[148.125,32.563],[143.938,31.125],[136.5,39.438],[126.813,26.125],[122.438,26.938],[117.188,44.188],[101,36],[97.563,38.313],[94.938,58.375],[76.188,49.875],[98.625,84.625],[113.938,205.688],[146.188,212.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.563],[156.688,64.313],[159.313,34.813],[151,44.313],[147.625,32.375],[143.375,31.125],[135.75,39.625],[125.563,26.063],[121.188,26.875],[115.938,44.125],[99.313,36.375],[95.875,38.688],[94.188,58.625],[75.188,50.313],[98.625,84.625],[114,205.5],[146.813,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.5,34.813],[150.75,44.375],[147.188,32.313],[143,31.125],[135.125,39.75],[124.688,26.063],[120.313,26.875],[115.063,44.125],[98.125,36.688],[94.688,39],[93.625,58.813],[74.438,50.625],[98.625,84.625],[114,205.313],[147.25,212.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,203.875],[156.688,64.313],[159.625,34.75],[150.625,44.5],[146.875,32.188],[142.688,31.125],[134.75,39.813],[124,26],[119.625,26.813],[114.375,44.063],[97.188,36.875],[93.75,39.188],[93.25,58.938],[73.875,50.875],[98.625,84.625],[114.063,205.188],[147.625,212.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204],[156.688,64.313],[159.75,34.75],[150.5,44.5],[146.688,32.188],[142.438,31.125],[134.438,39.875],[123.563,26],[119.188,26.813],[113.938,44.063],[96.625,37],[93.188,39.313],[92.938,59.063],[73.5,51],[98.625,84.625],[114.063,205.125],[147.813,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.625,32.125],[142.375,31.125],[134.313,39.938],[123.313,26],[118.938,26.813],[113.688,44.063],[96.313,37.125],[92.875,39.438],[92.813,59.125],[73.313,51.125],[98.625,84.625],[114.063,205.063],[147.938,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":71,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"t":98,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"t":98,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":98,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"t":98,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"t":98,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.099],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":98,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"refId":"comp_0","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,232,0]}},"ao":0,"w":512,"h":464,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"parent":10,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":23,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":40,"s":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[20]},{"t":72,"s":[0]}]},"p":{"a":0,"k":[341.929,268.75,0]},"a":{"a":0,"k":[87.294,20.789,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[-9.544,-45.525],[-2.313,-18.001],[-22.887,-17.421],[-2.092,-10.973],[24.022,-19.266],[-14.52,12.287],[0.354,6.457],[-2.768,5.81],[-0.798,2.021],[3.941,28.757],[20.087,-1.394],[17.672,8.669],[0.697,-7.275],[12.125,-0.374],[-1.728,-12.125]],"o":[[2.508,11.963],[4.19,32.601],[6.982,5.183],[1.516,7.952],[29.779,-13.028],[-5.103,-21.33],[-0.636,-11.388],[1.375,-1.91],[0,0],[-3.85,-28.06],[0,0],[-13.287,-6.507],[0,0],[-12.125,0.374],[0,0]],"v":[[65.863,-40.638],[77.433,5.71],[111.84,88],[128.118,112.846],[105.181,146.531],[146.032,119.066],[182.157,92.577],[187.704,65.73],[190.988,59.839],[198.132,12.723],[159.291,-46.509],[124.644,-91.553],[102.475,-82.197],[100.203,-100.544],[84.965,-75.92]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"t":72,"s":[{"i":[[-9.544,-45.525],[-2.313,-18.001],[-22.887,-17.421],[-2.092,-10.973],[24.022,-19.266],[-14.52,12.287],[0.354,6.457],[-2.768,5.81],[-0.798,2.021],[3.941,28.757],[20.087,-1.394],[17.672,8.669],[0.697,-7.275],[12.125,-0.374],[-1.728,-12.125]],"o":[[2.508,11.963],[4.19,32.601],[6.982,5.183],[1.516,7.952],[29.779,-13.028],[-5.103,-21.33],[-0.636,-11.388],[1.375,-1.91],[0,0],[-3.85,-28.06],[0,0],[-13.287,-6.507],[0,0],[-12.125,0.374],[0,0]],"v":[[65.863,-40.638],[77.433,5.71],[111.84,88],[128.118,112.846],[105.181,146.531],[146.032,119.066],[182.157,92.577],[187.704,65.73],[190.988,59.839],[198.132,12.723],[159.291,-46.509],[124.644,-91.553],[102.475,-82.197],[100.203,-100.544],[84.965,-75.92]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":23,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":40,"s":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[20]},{"t":72,"s":[0]}]},"p":{"a":0,"k":[178.129,267.75,0]},"a":{"a":0,"k":[87.294,20.789,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[-9.544,-45.525],[-2.313,-18.001],[-22.887,-17.421],[-2.092,-10.973],[24.022,-19.266],[-14.52,12.287],[0.354,6.457],[-2.768,5.81],[-0.798,2.021],[3.941,28.757],[20.087,-1.394],[17.672,8.669],[0.697,-7.275],[12.125,-0.374],[-1.728,-12.125]],"o":[[2.508,11.963],[4.19,32.601],[6.982,5.183],[1.516,7.952],[29.779,-13.028],[-5.103,-21.33],[-0.636,-11.388],[1.375,-1.91],[0,0],[-3.85,-28.06],[0,0],[-13.287,-6.507],[0,0],[-12.125,0.374],[0,0]],"v":[[65.863,-40.638],[77.433,5.71],[111.84,88],[128.118,112.846],[105.181,146.531],[146.032,119.066],[182.157,92.577],[187.704,65.73],[190.988,59.839],[198.132,12.723],[159.291,-46.509],[124.644,-91.553],[102.475,-82.197],[100.203,-100.544],[84.965,-75.92]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":60,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"t":72,"s":[{"i":[[-9.544,-45.525],[-2.313,-18.001],[-22.887,-17.421],[-2.092,-10.973],[24.022,-19.266],[-14.52,12.287],[0.354,6.457],[-2.768,5.81],[-0.798,2.021],[3.941,28.757],[20.087,-1.394],[17.672,8.669],[0.697,-7.275],[12.125,-0.374],[-1.728,-12.125]],"o":[[2.508,11.963],[4.19,32.601],[6.982,5.183],[1.516,7.952],[29.779,-13.028],[-5.103,-21.33],[-0.636,-11.388],[1.375,-1.91],[0,0],[-3.85,-28.06],[0,0],[-13.287,-6.507],[0,0],[-12.125,0.374],[0,0]],"v":[[65.863,-40.638],[77.433,5.71],[111.84,88],[128.118,112.846],[105.181,146.531],[146.032,119.066],[182.157,92.577],[187.704,65.73],[190.988,59.839],[198.132,12.723],[159.291,-46.509],[124.644,-91.553],[102.475,-82.197],[100.203,-100.544],[84.965,-75.92]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"parent":3,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"t":77,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"t":77,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"t":77,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"t":77,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":3,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"t":77,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"t":77,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"t":77,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":26,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"t":77,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":3,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":3,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[2.193,-4.476],[1.697,0.768],[11.863,-1.475],[12.691,0],[4.8,0.596],[2.647,-1.192],[-0.687,-2.577],[-2.567,1.122],[-12.216,-1.475],[-13.075,0],[-4.941,0.596],[-2.718,-1.192]],"o":[[0.697,-2.577],[-2.647,-1.192],[-4.789,0.596],[-12.701,0],[-11.852,-1.475],[-1.697,0.768],[-2.193,-4.476],[2.728,-1.192],[4.941,0.596],[13.075,0],[12.216,-1.475],[2.576,1.122]],"v":[[58.155,95.404],[56.912,90.109],[36.046,93.282],[5.865,95.192],[-24.327,93.282],[-45.182,90.109],[-46.435,95.394],[-46.718,86.128],[-25.226,89.301],[5.865,91.201],[36.956,89.301],[58.437,86.128]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":39,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":60,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]},{"t":80,"s":[{"i":[[2.193,-4.476],[1.697,0.768],[11.863,-1.475],[12.691,0],[4.8,0.596],[2.647,-1.192],[-0.687,-2.577],[-2.567,1.122],[-12.216,-1.475],[-13.075,0],[-4.941,0.596],[-2.718,-1.192]],"o":[[0.697,-2.577],[-2.647,-1.192],[-4.789,0.596],[-12.701,0],[-11.852,-1.475],[-1.697,0.768],[-2.193,-4.476],[2.728,-1.192],[4.941,0.596],[13.075,0],[12.216,-1.475],[2.576,1.122]],"v":[[58.155,95.404],[56.912,90.109],[36.046,93.282],[5.865,95.192],[-24.327,93.282],[-45.182,90.109],[-46.435,95.394],[-46.718,86.128],[-25.226,89.301],[5.865,91.201],[36.956,89.301],[58.437,86.128]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[1.87,-5.25],[11.39,0],[9.21,5.82],[-5.92,2.3],[0,0],[-10.91,-4.15]],"o":[[-9.09,5.6],[-11.71,0],[-1.77,-5.25],[11,-4.29],[0,0],[5.82,2.21]],"v":[[37.739,116.517],[5.859,126.517],[-26.771,116.047],[-19.781,101.617],[5.509,103.267],[31.209,102.077]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":39,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":60,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]},{"t":80,"s":[{"i":[[1.87,-5.25],[11.39,0],[9.21,5.82],[-5.92,2.3],[0,0],[-10.91,-4.15]],"o":[[-9.09,5.6],[-11.71,0],[-1.77,-5.25],[11,-4.29],[0,0],[5.82,2.21]],"v":[[37.739,116.517],[5.859,126.517],[-26.771,116.047],[-19.781,101.617],[5.509,103.267],[31.209,102.077]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[58.441,86.126],[36.956,89.3],[5.864,91.203],[-25.229,89.3],[-46.713,86.126],[-42.811,101.598],[5.863,126.512],[54.538,101.598]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":39,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":60,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]},{"t":80,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[58.441,86.126],[36.956,89.3],[5.864,91.203],[-25.229,89.3],[-46.713,86.126],[-42.811,101.598],[5.863,126.512],[54.538,101.598]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[5.883,0.759],[12.676,-1.472],[13.573,0],[5.127,0.595],[2.946,-0.851],[-4.788,-6.966],[-21.868,0],[-6.787,9.873]],"o":[[-3.042,-0.392],[-5.126,0.595],[-13.574,0],[-12.676,-1.472],[-5.624,1.625],[6.787,9.873],[21.868,0],[4.789,-6.966]],"v":[[58.441,86.126],[38.137,93.341],[5.864,95.245],[-26.41,93.341],[-46.713,86.126],[-43.649,106.65],[5.863,132.575],[55.376,106.65]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":39,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":60,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]},{"t":80,"s":[{"i":[[5.883,0.759],[12.676,-1.472],[13.573,0],[5.127,0.595],[2.946,-0.851],[-4.788,-6.966],[-21.868,0],[-6.787,9.873]],"o":[[-3.042,-0.392],[-5.126,0.595],[-13.574,0],[-12.676,-1.472],[-5.624,1.625],[6.787,9.873],[21.868,0],[4.789,-6.966]],"v":[[58.441,86.126],[38.137,93.341],[5.864,95.245],[-26.41,93.341],[-46.713,86.126],[-43.649,106.65],[5.863,132.575],[55.376,106.65]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":19,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[61.472,82.084],[36.956,85.258],[5.864,87.162],[-25.229,85.258],[-49.744,82.084],[-45.842,97.556],[5.863,122.47],[57.569,97.556]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":39,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":60,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]},{"t":80,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[61.472,82.084],[36.956,85.258],[5.864,87.162],[-25.229,85.258],[-49.744,82.084],[-45.842,97.556],[5.863,122.47],[57.569,97.556]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":10,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":10,"sr":1,"ks":{"p":{"a":0,"k":[157.962,-63.49,0]},"a":{"a":0,"k":[157.962,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":98,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_email_sent.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_email_sent.tgs new file mode 100644 index 000000000..38b593bdc --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_email_sent.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"message rev4","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"resize","sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[257.5,278,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":71,"s":[100,100,100]},{"t":120,"s":[142,142,100]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"masterscale","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[-25.5,-8,0]},"s":{"a":0,"k":[121,121,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Y","parent":2,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[0,59.851,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[0,-27.752,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"X","parent":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[14.25,0,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"Stabilize-motion","parent":4,"sr":1,"ks":{"o":{"a":0,"k":0},"s":{"a":0,"k":[176,176,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"heart","parent":13,"sr":1,"ks":{"p":{"a":0,"k":[3.734,33.314,0]},"a":{"a":0,"k":[3.734,33.314,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,16.185]},"t":71,"s":[0,0,100]},{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":85,"s":[100.75,100.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":95,"s":[100.75,100.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":98,"s":[126.75,126.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":107,"s":[100.75,100.75,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":110,"s":[126.75,126.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.33,0.33,0.33],"y":[0,0,0]},"t":119,"s":[100.75,100.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":138,"s":[100.75,100.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":141,"s":[126.75,126.75,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":150,"s":[100.75,100.75,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":153,"s":[126.75,126.75,100]},{"t":162,"s":[100.75,100.75,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[39.603,0],[2.849,-7.808],[0.222,0.69],[31.605,0],[-4.114,-22.114],[-70.447,-56.572],[-4.114,22.114]],"o":[[-30.215,0],[-0.248,0.68],[-2.522,-7.84],[-39.603,0],[4.114,22.114],[70.447,-56.572],[4.114,-22.114]],"v":[[49.001,-61.639],[4.498,-28.987],[3.067,-29.015],[-41.533,-61.639],[-90.39,0.59],[3.734,113.732],[97.858,0.59]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.690196096897,0,0.129411771894,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-2.78,-1.14]],"o":[[0,0],[0,0]],"v":[[54.629,-41.557],[59.356,-40.232]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.514,-3.504],[0,0],[-0.205,-5.113],[23.591,-0.942],[8.065,13.429],[-3.487,12.266],[0.004,0.014],[-3.704,3.21],[-6.033,2.168],[-10.521,-6.255]],"o":[[0,0],[1.501,4.552],[1.065,26.553],[-15.392,0.615],[-5.413,-12.384],[0.014,-0.004],[2.318,-4.028],[4.152,-3.598],[15.871,-5.704],[5.761,3.425]],"v":[[-7.923,-40.969],[-7.919,-40.955],[-5.565,-33.586],[-46.343,16.189],[-83.631,-5.249],[-86.537,-36.903],[-86.532,-36.934],[-77.499,-47.821],[-62.24,-56.577],[-21.955,-51.975]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.643,0.99,0.62,0.62,0.911,0.98,0.239,0.239]}},"s":{"a":0,"k":[-46.367,-56.073]},"e":{"a":0,"k":[-46.367,13.991]},"t":2,"h":{"a":0,"k":0},"a":{"a":0,"k":0},"nm":"Gradient Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":25},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[95,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 8","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.848,-3.504],[0,0],[-0.23,-5.112],[25.837,-0.938],[8.833,13.429],[-3.819,12.266],[0.005,0.014],[-4.076,3.19],[-6.606,2.172],[-11.517,-6.263]],"o":[[0,0],[1.643,4.552],[1.166,26.553],[-16.858,0.615],[-5.928,-12.384],[0.015,-0.004],[2.539,-4.028],[4.547,-3.598],[17.382,-5.704],[6.309,3.425]],"v":[[-0.108,-40.969],[-0.103,-40.955],[2.476,-33.586],[-42.185,16.189],[-83.023,-5.249],[-86.205,-36.903],[-86.2,-36.934],[-76.306,-47.821],[-59.595,-56.577],[-15.475,-51.975]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.643,0.99,0.62,0.62,0.911,0.98,0.239,0.239]}},"s":{"a":0,"k":[-46.367,-56.073]},"e":{"a":0,"k":[-46.367,13.991]},"t":2,"h":{"a":0,"k":0},"a":{"a":0,"k":0},"nm":"Gradient Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":25},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[37.588,0],[2.699,-7.152],[0.21,0.63],[30.007,0],[-3.905,-20.281],[-2.84,-5.944],[-32.837,68.739],[-0.895,4.648]],"o":[[-28.687,0],[-0.235,0.622],[-2.389,-7.181],[-37.588,0],[0.895,4.648],[32.837,68.739],[2.84,-5.944],[3.905,-20.281]],"v":[[46.697,-61.639],[4.456,-31.686],[3.103,-31.712],[-39.229,-61.639],[-85.6,-4.57],[-80.2,11.264],[87.668,11.264],[93.068,-4.57]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.239215686917,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[39.603,0],[2.849,-7.808],[0.222,0.69],[31.605,0],[-4.114,-22.114],[-70.447,-56.572],[-4.114,22.114]],"o":[[-30.215,0],[-0.248,0.68],[-2.522,-7.84],[-39.603,0],[4.114,22.114],[70.447,-56.572],[4.114,-22.114]],"v":[[49.001,-61.639],[4.498,-28.987],[3.067,-29.015],[-41.533,-61.639],[-90.39,0.59],[3.734,113.732],[97.858,0.59]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.129411771894,0.121568627656,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[41.741,0],[2.997,-7.799],[0.241,0.712],[33.319,0],[-4.336,-22.114],[-69.549,-53.943],[-3.398,2.636],[-4.222,21.529]],"o":[[-31.857,0],[-0.27,0.702],[-2.655,-7.833],[-41.741,0],[4.222,21.529],[3.398,2.636],[69.549,-53.943],[4.336,-22.114]],"v":[[51.444,-44.639],[4.536,-11.978],[3.033,-12.01],[-43.977,-44.639],[-95.471,17.59],[-2.046,126.289],[9.514,126.289],[102.939,17.59]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 7","bm":0,"hd":false}],"ip":0,"op":180,"st":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"message top 2","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[3.96,18.419,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[3.96,27.811,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74,"s":[3.96,18.419,0]}]},"a":{"a":0,"k":[3.96,19.555,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":15,"s":[0,0,100]},{"t":32,"s":[37,37,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":42,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":42,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"t":84,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"t":84,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"t":84,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false}],"ip":56,"op":180,"st":7,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"message top","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[3.96,18.419,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[3.96,27.811,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74,"s":[3.96,18.419,0]}]},"a":{"a":0,"k":[3.96,19.555,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":15,"s":[0,0,100]},{"t":32,"s":[37,37,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":35,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":35,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"t":84,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"t":84,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"t":84,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false}],"ip":0,"op":38,"st":7,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"messagefront","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[3.96,18.419,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[3.96,27.811,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74,"s":[3.96,18.419,0]}]},"a":{"a":0,"k":[3.96,19.555,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":15,"s":[0,0,100]},{"t":32,"s":[37,37,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0.9],[8.641,8.641],[36.896,-36.896],[0,0],[-5.82,0],[0,0],[-1.161,4.559]],"o":[[0,0],[-29.261,-29.261],[-8.386,7.612],[0,5.82],[0,0],[4.92,0],[0.212,-0.834]],"v":[[200.413,138.615],[43.036,-8.997],[-39.911,-6.643],[-192.497,138.615],[-181.957,149.156],[189.873,149.156],[200.088,141.223]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 7","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-15.382,-15.382],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[15.297,-15.297],[0,0],[0,0],[0,0],[0,0]],"v":[[-181.954,149.155],[-165.074,132.147],[-20.057,-8.412],[27.311,-8.022],[172.539,132.144],[189.732,149.155],[189.648,149.155]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 8","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,2.145],[52.132,49.557],[38.109,-35.682],[0,0],[-5.82,0],[0,0],[-1.886,2.852]],"o":[[0,0],[-31.297,-29.751],[-51.154,47.895],[0,5.82],[0,0],[3.675,0],[1.101,-1.665]],"v":[[200.413,138.615],[42.965,-8.94],[-40.084,-6.182],[-192.497,138.615],[-181.957,149.155],[189.873,149.155],[198.671,144.421]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 9","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[5.821,0],[0,0],[0,-5.821],[0,0],[0,0],[2.262,-2.194],[0,0],[0,0],[-5.821,0],[0,0],[0,5.821],[0,0],[0,0],[-2.262,2.194],[0,0]],"o":[[0,-5.821],[0,0],[-5.821,0],[0,0],[0,0],[2.262,2.194],[0,0],[0,0],[0,5.821],[0,0],[5.821,0],[0,0],[0,0],[-2.262,-2.194],[0,0],[0,0]],"v":[[200.413,-99.503],[59.154,23.848],[-53.142,27.021],[-190.91,-106.8],[-192.497,-94.503],[-94.493,15.547],[-94.493,23.566],[-192.497,133.615],[-192.497,138.615],[-181.957,149.155],[189.873,149.155],[200.413,138.615],[200.413,133.615],[102.415,23.565],[102.415,15.547],[200.413,-94.503]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215707779,0.670588254929,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":40},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 10","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-61.147,20.164],[-188.851,-107.858]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 2","hd":false},{"ty":"tr","p":{"a":0,"k":[7.513,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[-100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-61.147,20.164],[-188.851,-107.858]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 2","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[5.823,0],[0,0],[0,5.823],[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0]],"o":[[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0],[5.823,0],[0,0],[0,5.823]],"v":[[177.189,149.156],[-169.268,149.156],[-187.426,138.593],[-188.06,-99.677],[-53.144,26.385],[59.796,25.116],[194.712,-99.677],[195.346,138.593]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 11","bm":0,"hd":false}],"ip":0,"op":180,"st":7,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"letter 2","parent":13,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[5.006,-303.618,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":32,"s":[5.006,-329,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[5.006,26.351,0]}]},"a":{"a":0,"k":[2.5,59,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[0,0,100]},{"t":12,"s":[126.911,126.911,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[74,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 27","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[24,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 26","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[134,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 25","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[134,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 24","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[54,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 23","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[123,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 20","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 22","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[93,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 19","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-25,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 21","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[74,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 18","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[24,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 17","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 16","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[160,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 15","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[110,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 14","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[60,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 13","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[30,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 12","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[150,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 10","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 11","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[100,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 9","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[20,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 8","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 7","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-70.25,17.836]},"a":{"a":0,"k":[-70.25,17.836]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"spaces","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[69.5,25.5],[113,25.5]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,100]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 6","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,80]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,60]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,40]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.5,71.75]},"a":{"a":0,"k":[2.5,71.75]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"txt","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[129.5,45.5],[129.5,204.463],[-138.5,204.463],[-138.5,45.5]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098039216,0.945098039216,0.945098039216,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[7,-65]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Rectangle 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[140,35],[140,213],[-149,213],[-149,35]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.976547480564,0.976547480564,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[7,-65]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Rectangle 1","bm":0,"hd":false}],"ip":56,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"letter","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[4.347,-101.155,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":32,"s":[4.347,-110.547,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[4.347,20.934,0]}]},"a":{"a":0,"k":[2.5,59,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[0,0,100]},{"t":12,"s":[46.957,46.957,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[74,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 27","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[24,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 26","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[134,81]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 25","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[134,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 24","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[54,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 23","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[123,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 20","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 22","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[93,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 19","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-25,59]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 21","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[74,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 18","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[24,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 17","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,41]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 16","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[160,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 15","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[110,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 14","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[60,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 13","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[30,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 12","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[150,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 10","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 11","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[100,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 9","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[20,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 8","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-70.25,10.836],[-70.25,24.836]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.945098099054,0.945098099054,0.945098099054,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 7","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-70.25,17.836]},"a":{"a":0,"k":[-70.25,17.836]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"spaces","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[69.5,25.5],[113,25.5]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,100]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 6","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,80]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,60]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,40]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,20]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-108,18],[113,18]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705882353,0.564705882353,0.564705882353,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215985466,0.839215985466,0.839215985466,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.5,71.75]},"a":{"a":0,"k":[2.5,71.75]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"txt","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[129.5,45.5],[129.5,204.463],[-138.5,204.463],[-138.5,45.5]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098039216,0.945098039216,0.945098039216,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[7,-65]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Rectangle 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[140,35],[140,213],[-149,213],[-149,35]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.976547480564,0.976547480564,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[7,-65]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Rectangle 1","bm":0,"hd":false}],"ip":0,"op":56,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"message top 3","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[3.96,18.419,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[3.96,27.811,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74,"s":[3.96,18.419,0]}]},"a":{"a":0,"k":[3.96,19.555,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":15,"s":[0,0,100]},{"t":32,"s":[37,37,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-111.636],[-122.783,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-101.565,-97.136],[-122.783,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":35,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-111.636],[-144,-111.636]],"c":false}]},{"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-137.947,-97.136],[-144,-97.136]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":32,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":35,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":76,"s":[0]},{"t":84,"s":[6]}]},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,0],[1.492,1.388],[0,0],[4.49,-4.161],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,-4.161],[0,0],[-1.495,1.387],[0,0]],"v":[[168.053,-118.062],[169.669,-121.868],[12.013,-265],[-4.087,-265],[-159.694,-121.87],[-158.081,-118.062]],"c":true}]},{"t":84,"s":[{"i":[[0,0],[1.492,-1.451],[0,0],[4.49,4.35],[0,0],[-2.082,0]],"o":[[2.081,0],[0,0],[-4.49,4.35],[0,0],[-1.495,-1.45],[0,0]],"v":[[170.925,-96.913],[172.541,-92.933],[12.013,63.207],[-4.087,63.207],[-165.071,-92.931],[-163.457,-96.913]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,-0.917],[0,0],[9.251,-9.517],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[199.739,-107.356],[10.228,-287.993],[-9.956,-280.934],[-191.704,-106.126],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]},{"t":84,"s":[{"i":[[0,-0.917],[0,0],[5.369,5.207],[0,0],[-0.046,0.4],[-5.408,0],[0,0],[-1.178,-4.535]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-0.412],[0.604,-5.246],[0,0],[4.903,0],[0.22,0.849]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-192.427,-100.722],[-181.957,-110.043],[189.873,-110.043],[200.075,-102.159]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":32,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":49,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":61,"s":[{"i":[[0,-1.343],[0,0],[8.854,-7.614],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,-4.981],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[199.818,-107.316],[17.248,-281.251],[-2.976,-287.121],[-191.783,-105.928],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]},{"t":84,"s":[{"i":[[0,-1.343],[0,0],[5.369,5.207],[0,0],[-0.78,1.471],[-4.04,0],[0,0],[-1.528,-3.938]],"o":[[0,0],[-5.369,5.207],[0,0],[0,-1.78],[1.769,-3.337],[0,0],[4.477,0],[0.458,1.182]],"v":[[200.413,-99.503],[13.599,81.691],[-5.673,81.691],[-192.497,-99.503],[-191.275,-104.432],[-181.957,-110.043],[189.873,-110.043],[199.703,-103.313]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false}],"ip":38,"op":56,"st":7,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"messagback","parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[3.96,18.419,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":59,"s":[3.96,27.811,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74,"s":[3.96,18.419,0]}]},"a":{"a":0,"k":[3.96,19.555,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":15,"s":[0,0,100]},{"t":32,"s":[37,37,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.333,0],[0,0],[0,5.823],[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0],[0.228,-0.862],[4.449,-0.413]],"o":[[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0],[5.823,0],[0,0],[0,0.933],[-1.112,4.207],[-0.325,0.03]],"v":[[189.875,149.156],[-181.954,149.156],[-192.497,138.613],[-192.497,-99.502],[-181.954,-110.045],[189.875,-110.045],[200.417,-99.502],[200.417,138.613],[200.068,141.313],[190.861,149.11]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[5.821,0],[0,0],[0,-5.821],[0,0],[0,0],[0,0],[-5.821,0],[0,0],[0,5.821],[0,0],[0,0]],"o":[[0,-5.821],[0,0],[-5.821,0],[0,0],[0,0],[0,0],[0,5.821],[0,0],[5.821,0],[0,0],[0,0],[0,0]],"v":[[200.413,-99.503],[189.873,-110.043],[-181.957,-110.043],[-192.497,-99.503],[-192.497,-94.503],[-192.497,133.615],[-192.497,138.615],[-181.957,149.155],[189.873,149.155],[200.413,138.615],[200.413,133.615],[200.413,-94.503]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215707779,0.670588254929,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":40},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 10","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[5.823,0],[0,0],[0,5.823],[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0]],"o":[[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0],[5.823,0],[0,0],[0,5.823]],"v":[[177.189,149.156],[-169.268,149.156],[-179.811,138.613],[-179.811,-99.502],[-169.268,-110.045],[177.189,-110.045],[187.732,-99.502],[187.732,138.613]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 11","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[5.823,0],[0,0],[0,5.823],[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0]],"o":[[0,0],[-5.823,0],[0,0],[0,-5.823],[0,0],[5.823,0],[0,0],[0,5.823]],"v":[[189.875,149.156],[-181.954,149.156],[-192.497,138.613],[-192.497,-99.502],[-181.954,-110.045],[189.875,-110.045],[200.417,-99.502],[200.417,138.613]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 12","bm":0,"hd":false}],"ip":0,"op":180,"st":7,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_hint.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_hint.tgs new file mode 100644 index 000000000..ad47f750a --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_hint.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"lightbulb 3","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":135},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":2,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":45},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":3,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":-135},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":4,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":-45},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":5,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":90},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":6,"ty":4,"parent":8,"sr":1,"ks":{"r":{"a":0,"k":-90},"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-5,-141]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":8,"sr":1,"ks":{"p":{"a":0,"k":[-3.497,-184,0]},"a":{"a":0,"k":[-5.497,60,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,-37],[-4.14,-100.591]],"c":false}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":50.268,"s":[0]},{"t":65,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":58.19921875,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,0.992156922583,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[13]},{"t":65,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":48,"op":66,"st":37,"bm":0},{"ddd":0,"ind":8,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":69,"s":[-10.316]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":95,"s":[4.774]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":132,"s":[-7.368]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[256,398,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":50,"s":[256,432,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[256,352,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":83,"s":[256,422,0],"to":[0,0,0],"ti":[0,0,0]},{"t":115,"s":[256,398,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":8,"sr":1,"ks":{"p":{"a":0,"k":[-3.497,-120.259,0]},"a":{"a":0,"k":[-3.497,-2.259,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.645,0],[0,0],[0,3.645],[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0]],"o":[[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0],[3.645,0],[0,0],[0,3.645]],"v":[[31.605,161.067],[-38.596,161.067],[-45.196,154.468],[-45.196,153.61],[-38.596,147.011],[31.605,147.011],[38.204,153.61],[38.204,154.468]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862771511,0.54509806633,0.509803950787,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.645,0],[0,0],[0,3.645],[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0]],"o":[[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0],[3.645,0],[0,0],[0,3.645]],"v":[[33.148,147.011],[-40.139,147.011],[-46.739,140.412],[-46.739,139.555],[-40.139,132.955],[33.148,132.955],[39.747,139.555],[39.747,140.412]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862771511,0.54509806633,0.509803950787,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.645,0],[0,0],[0,3.645],[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0]],"o":[[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0],[3.645,0],[0,0],[0,3.645]],"v":[[34.862,132.955],[-41.854,132.955],[-48.453,126.356],[-48.453,125.499],[-41.854,118.9],[34.862,118.9],[41.461,125.499],[41.461,126.356]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862771511,0.54509806633,0.509803950787,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.209,0],[0,0],[0,3.209],[0,0],[-3.209,0],[0,0],[0,-3.209],[0,0]],"o":[[0,0],[-3.209,0],[0,0],[0,-3.209],[0,0],[3.209,0],[0,0],[0,3.209]],"v":[[39.251,118.9],[-46.242,118.9],[-52.053,113.089],[-52.053,96.973],[-46.242,91.163],[39.251,91.163],[45.061,96.973],[45.061,113.089]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862771511,0.54509806633,0.509803950787,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[17.033,161.067],[27.404,161.067],[27.404,91.156],[17.033,91.156]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.819607853889,0.78823530674,0.741176486015,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.163,161.067],[-7.267,161.067],[-7.267,91.156],[-16.163,91.156]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.053,161.067],[3.317,161.067],[3.317,91.156],[-13.053,91.156]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.819607853889,0.78823530674,0.741176486015,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-33.624,161.067],[-16.163,161.067],[-16.163,91.156],[-33.624,91.156]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.949019610882,0.913725495338,0.878431379795,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.404,161.067],[17.033,161.067],[17.033,91.156],[3.404,91.156]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.949019610882,0.913725495338,0.878431379795,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.209,0],[0,0],[0,-3.209],[0,0],[-3.209,0],[0,0],[0,-3.645],[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0],[-3.645,0],[0,0],[0,-3.645],[0,0],[-3.645,0],[0,0],[0,3.645],[0,0],[3.645,0],[0,0],[0,3.645],[0,0],[3.645,0],[0,0],[0,3.645],[0,0],[3.645,0],[0,0],[0,3.209],[0,0]],"o":[[0,0],[-3.209,0],[0,0],[0,3.209],[0,0],[-3.645,0],[0,0],[0,3.645],[0,0],[-3.645,0],[0,0],[0,3.645],[0,0],[-3.645,0],[0,0],[0,3.645],[0,0],[3.645,0],[0,0],[0,-3.645],[0,0],[3.645,0],[0,0],[0,-3.645],[0,0],[3.645,0],[0,0],[0,-3.645],[0,0],[3.209,0],[0,0],[0,-3.209]],"v":[[39.251,91.163],[-46.242,91.163],[-52.053,96.973],[-52.053,113.089],[-46.242,118.9],[-41.854,118.9],[-48.453,125.499],[-48.453,126.356],[-41.854,132.955],[-40.139,132.955],[-46.738,139.555],[-46.738,140.412],[-40.139,147.011],[-38.597,147.011],[-45.196,153.61],[-45.196,154.468],[-38.597,161.067],[31.605,161.067],[38.204,154.468],[38.204,153.61],[31.605,147.011],[33.148,147.011],[39.747,140.412],[39.747,139.555],[33.148,132.955],[34.862,132.955],[41.461,126.356],[41.461,125.499],[34.862,118.9],[39.251,118.9],[45.061,113.089],[45.061,96.973]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.729411780834,0.701960802078,0.670588254929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-1.961,-2.711],[0,0],[-5.648,0],[0,0],[0,0],[0,0],[-3.174,4.387],[0,0],[3.49,0]],"o":[[0,0],[0,0],[-3.49,0],[0,0],[3.174,4.387],[0,0],[0,0],[0,0],[5.648,0],[0,0],[1.961,-2.711],[0,0]],"v":[[-3.495,161.067],[-3.497,161.067],[-30.042,161.067],[-33.638,167.444],[-25.949,178.072],[-11.844,185.085],[-3.497,185.085],[-3.495,185.085],[4.851,185.085],[18.955,178.072],[26.645,167.444],[23.049,161.067]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.180392161012,0.176470592618,0.160784319043,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.243137255311,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":9,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":49.5,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":56.25,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[100]},{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.66],"y":[0]},"t":153.75,"s":[100]},{"t":160.5,"s":[0]}]},"p":{"a":0,"k":[-3.497,-2.259,0]},"a":{"a":0,"k":[-3.497,-2.259,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.723,-1.278]],"o":[[0,0],[0,0]],"v":[[1.128,-169.344],[13.718,-167.806]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.644,-0.406]],"o":[[1.538,0.335],[0,0]],"v":[[22.482,-166.125],[27.26,-165.014]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.167,-63.261],[17.515,-20.11],[1.961,-30.142],[4.91,0],[0,0],[0.321,4.898],[19.969,23.015],[0,28.785],[-64.129,-0.796]],"o":[[-0.076,28.742],[-19.961,22.919],[-0.319,4.899],[0,0],[-4.909,0],[-1.977,-30.209],[-17.495,-20.164],[0,-63.946],[63.257,0.786]],"v":[[111.402,-74.394],[83.182,0.723],[49.207,82.422],[39.961,91.154],[-46.946,91.163],[-56.193,82.435],[-90.312,0.561],[-118.397,-74.703],[-2.037,-189.594]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.909803926945,0.776470601559,0.298039227724,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.143,-54.293],[15.032,-17.259],[1.683,-25.869],[4.214,0],[0,0],[0.275,4.204],[17.138,19.752],[0,24.704],[-55.038,-0.684]],"o":[[-0.065,24.668],[-17.131,19.67],[-0.274,4.205],[0,0],[-4.213,0],[-1.697,-25.927],[-15.015,-17.305],[0,-54.881],[54.289,0.674]],"v":[[95.114,-70.825],[70.894,-6.358],[36.854,58.759],[28.919,66.254],[-35.905,66.261],[-43.841,58.771],[-78.005,-6.496],[-102.109,-71.09],[-2.244,-169.694]],"c":true}},"hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.679,0.986,0.969,0.837,1,0.973,0.937,0.675]}},"s":{"a":0,"k":[-1.367,-72.273]},"e":{"a":0,"k":[93.288,-72.273]},"t":2,"h":{"a":0,"k":0},"a":{"a":0,"k":0},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.167,-63.261],[17.515,-20.11],[1.961,-30.142],[4.91,0],[0,0],[0.321,4.898],[19.969,23.015],[0,28.785],[-64.129,-0.796]],"o":[[-0.076,28.742],[-19.961,22.919],[-0.319,4.899],[0,0],[-4.909,0],[-1.977,-30.209],[-17.495,-20.164],[0,-63.946],[63.257,0.786]],"v":[[111.402,-74.394],[83.182,0.723],[49.207,82.422],[39.961,91.154],[-46.946,91.163],[-56.193,82.435],[-90.312,0.561],[-118.397,-74.703],[-2.037,-189.594]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.976470589638,0.905882358551,0.556862771511,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-3.497,-49.22]},"a":{"a":0,"k":[-3.497,-49.22]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":9,"sr":1,"ks":{"p":{"a":0,"k":[-3.497,-2.259,0]},"a":{"a":0,"k":[-3.497,-2.259,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.135,-55.447],[14.229,-17.626],[1.218,-26.419],[3.049,0],[0,0],[0.199,4.293],[16.223,20.172],[0,25.229],[-52.1,-0.698]],"o":[[-0.061,25.192],[-16.217,20.088],[-0.198,4.294],[0,0],[-3.049,0],[-1.228,-26.477],[-14.214,-17.673],[0,-56.047],[51.391,0.689]],"v":[[89.865,-71.333],[66.938,-5.495],[29.268,66.111],[14.525,92.765],[-23.451,92.272],[-36.194,66.123],[-74.011,-5.637],[-96.829,-71.604],[-2.295,-172.302]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.944693684578,0.836447536945,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":19,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31,"s":[20]},{"t":35,"s":[5]}]},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-3.497,-49.22]},"a":{"a":0,"k":[-3.497,-49.22]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":9,"sr":1,"ks":{"p":{"a":0,"k":[-3.497,-2.259,0]},"a":{"a":0,"k":[-3.497,-2.259,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.723,-1.278]],"o":[[0,0],[0,0]],"v":[[1.128,-169.344],[13.718,-167.806]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.644,-0.406]],"o":[[1.538,0.335],[0,0]],"v":[[22.482,-166.125],[27.26,-165.014]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.167,-63.261],[17.515,-20.11],[1.961,-30.142],[4.91,0],[0,0],[0.321,4.898],[19.969,23.015],[0,28.785],[-64.129,-0.796]],"o":[[-0.076,28.742],[-19.961,22.919],[-0.319,4.899],[0,0],[-4.909,0],[-1.977,-30.209],[-17.495,-20.164],[0,-63.946],[63.257,0.786]],"v":[[111.402,-74.394],[83.182,0.723],[49.207,82.422],[39.961,91.154],[-46.946,91.163],[-56.193,82.435],[-90.312,0.561],[-118.397,-74.703],[-2.037,-189.594]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.819607913494,0.788235366344,0.741176486015,1]},"o":{"a":0,"k":22},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.167,-63.261],[17.515,-20.11],[1.961,-30.142],[4.91,0],[0,0],[0.321,4.898],[19.969,23.015],[0,28.785],[-64.129,-0.796]],"o":[[-0.076,28.742],[-19.961,22.919],[-0.319,4.899],[0,0],[-4.909,0],[-1.977,-30.209],[-17.495,-20.164],[0,-63.946],[63.257,0.786]],"v":[[111.402,-74.394],[83.182,0.723],[49.207,82.422],[39.961,91.154],[-46.946,91.163],[-56.193,82.435],[-90.312,0.561],[-118.397,-74.703],[-2.037,-189.594]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.729411780834,0.701960802078,0.670588254929,1]},"o":{"a":0,"k":20},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-3.497,-49.22]},"a":{"a":0,"k":[-3.497,-49.22]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"parent":9,"sr":1,"ks":{},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[19,39]],"o":[[0,0],[-19,-39]],"v":[[-19,91],[-43,-44]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,39]],"o":[[0,0],[0,-39]],"v":[[-2.5,91],[-3,-54]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":65,"s":[{"i":[[0,0],[-20.277,39]],"o":[[0,0],[20.277,-39]],"v":[[10.109,91],[33.089,-44.369]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,39]],"o":[[0,0],[0,-39]],"v":[[-6,91],[-5.821,-51.65]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[19,39]],"o":[[0,0],[-19,-39]],"v":[[-19,91],[-43,-44]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862745098,0.545098039216,0.509803921569,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[-9,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[-100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[19,39]],"o":[[0,0],[-19,-39]],"v":[[-19,91],[-47,-44]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,39]],"o":[[0,0],[0,-39]],"v":[[-6.5,91],[-6,-54]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":65,"s":[{"i":[[0,0],[-20.277,39]],"o":[[0,0],[20.277,-39]],"v":[[11.84,91],[33.918,-42.558]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,39]],"o":[[0,0],[0,-39]],"v":[[-3,91],[-3.179,-51.65]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[19,39]],"o":[[0,0],[-19,-39]],"v":[[-19,91],[-47,-44]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.556862745098,0.545098039216,0.509803921569,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[18.801,-0.588],[-10.844,-5.012],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-24,0.75],[13.508,6.243],[4.75,-11.75],[-3.75,11]],"v":[[-47,-43.5],[-63.5,-45],[-26.086,-27.259],[-9.75,-66],[3.851,-27.76],[48.75,-38.25],[34.25,-45]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[3,0.046],[9.086,-7.756],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-1.501,-0.023],[-8.851,7.556],[4.75,-11.75],[-3.75,11]],"v":[[-6,-53.75],[-19.5,-42.75],[1.164,-26.759],[-8.5,-68],[3.851,-27.76],[-19,-43],[-6.5,-54.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":65,"s":[{"i":[[-4.463,13.75],[0.235,-7.25],[10.069,6.424],[-17.665,-0.588],[10.189,-5.012],[5.788,15.237],[-3.524,-11]],"o":[[4.463,-13.75],[-0.583,18.005],[-19.577,-12.491],[22.551,0.75],[-12.692,6.243],[-4.463,-11.75],[3.524,11]],"v":[[34.221,-43.5],[49.725,-45],[14.57,-27.259],[-0.779,-66],[-13.559,-27.76],[-55.747,-38.25],[-42.122,-45]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[-6.101,13.75],[0.321,-7.25],[13.763,6.424],[-3.853,0.046],[-11.669,-7.756],[7.912,15.237],[-4.817,-11]],"o":[[6.101,-13.75],[-0.797,18.005],[-26.761,-12.491],[1.927,-0.023],[11.368,7.556],[-6.101,-11.75],[4.817,11]],"v":[[-3.226,-51.661],[14.113,-40.661],[-12.429,-24.67],[3.517,-76.161],[-15.879,-25.671],[13.471,-40.911],[-2.584,-52.411]],"c":false}]},{"t":180,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[18.801,-0.588],[-10.844,-5.012],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-24,0.75],[13.508,6.243],[4.75,-11.75],[-3.75,11]],"v":[[-47,-43.5],[-63.5,-45],[-26.086,-27.259],[-9.75,-66],[3.851,-27.76],[48.75,-38.25],[34.25,-45]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.244]},"t":12,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.244]},"o":{"x":[0.333],"y":[0]},"t":13,"s":[1,0.970519065857,0.721568584442,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.244]},"t":19,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.244]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[1,0.970519065857,0.721568584442,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.244]},"t":30,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.244]},"o":{"x":[0.333],"y":[0]},"t":31,"s":[1,0.970519065857,0.721568584442,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.299]},"t":48,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":54,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":150,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[1.299]},"o":{"x":[0.333],"y":[0]},"t":156,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"t":162,"s":[0.556862745098,0.545098039216,0.509803921569,1]}]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[76]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":19,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[76]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31,"s":[76]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":49.5,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56.25,"s":[94]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[94]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":151.5,"s":[94]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":155.25,"s":[94]},{"t":162,"s":[0]}]},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":19,"s":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31,"s":[23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":33,"s":[17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":49.5,"s":[8]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56.25,"s":[62]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[62]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":151.5,"s":[62]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":155.25,"s":[62]},{"t":162,"s":[8]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[18.801,-0.588],[-10.844,-5.012],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-24,0.75],[13.508,6.243],[4.75,-11.75],[-3.75,11]],"v":[[-47,-43.5],[-63.5,-45],[-26.086,-27.259],[-9.75,-66],[3.851,-27.76],[48.75,-38.25],[34.25,-45]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[3,0.046],[9.086,-7.756],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-1.501,-0.023],[-8.851,7.556],[4.75,-11.75],[-3.75,11]],"v":[[-6,-53.75],[-19.5,-42.75],[1.164,-26.759],[-8.5,-68],[3.851,-27.76],[-19,-43],[-6.5,-54.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":65,"s":[{"i":[[-4.463,13.75],[0.235,-7.25],[10.069,6.424],[-17.665,-0.588],[10.189,-5.012],[5.788,15.237],[-3.524,-11]],"o":[[4.463,-13.75],[-0.583,18.005],[-19.577,-12.491],[22.551,0.75],[-12.692,6.243],[-4.463,-11.75],[3.524,11]],"v":[[34.221,-43.5],[49.725,-45],[14.57,-27.259],[-0.779,-66],[-13.559,-27.76],[-55.747,-38.25],[-42.122,-45]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[-6.101,13.75],[0.321,-7.25],[13.763,6.424],[-3.853,0.046],[-11.669,-7.756],[7.912,15.237],[-4.817,-11]],"o":[[6.101,-13.75],[-0.797,18.005],[-26.761,-12.491],[1.927,-0.023],[11.368,7.556],[-6.101,-11.75],[4.817,11]],"v":[[-3.226,-51.661],[14.113,-40.661],[-12.429,-24.67],[3.517,-76.161],[-15.879,-25.671],[13.471,-40.911],[-2.584,-52.411]],"c":false}]},{"t":180,"s":[{"i":[[4.75,13.75],[-0.25,-7.25],[-10.716,6.424],[18.801,-0.588],[-10.844,-5.012],[-6.16,15.237],[3.75,-11]],"o":[[-4.75,-13.75],[0.621,18.005],[20.836,-12.491],[-24,0.75],[13.508,6.243],[4.75,-11.75],[-3.75,11]],"v":[[-47,-43.5],[-63.5,-45],[-26.086,-27.259],[-9.75,-66],[3.851,-27.76],[48.75,-38.25],[34.25,-45]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.299]},"t":12,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.299]},"o":{"x":[0.333],"y":[0]},"t":13,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.299]},"t":19,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.299]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.299]},"t":30,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[1.299]},"o":{"x":[0.333],"y":[0]},"t":31,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0.556862745098,0.545098039216,0.509803921569,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":49.5,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160.5,"s":[0.949019670486,0.945098102093,0.937254965305,1]},{"t":162,"s":[0.556862745098,0.545098039216,0.509803921569,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_lock.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_intro.tgs similarity index 100% rename from TMessagesProj/src/main/res/raw/wallet_lock.tgs rename to TMessagesProj/src/main/res/raw/tsv_setup_intro.tgs diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_mail.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_mail.tgs new file mode 100644 index 000000000..95eb3dc76 --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_mail.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":160,"w":512,"h":512,"nm":"mailbox 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"parent":5,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":13,"s":[90]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":29,"s":[-12]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":37,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":116,"s":[0]},{"t":140,"s":[90]}]},"p":{"a":0,"k":[31.33,30.02,0]},"a":{"a":0,"k":[31.33,30.02,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[6.36,0.147],[0,0],[0,-2.736],[0,0],[-12.058,0],[0,0],[0,13.892],[0,0],[0,0],[0,2.743],[0,0]],"o":[[0,0],[-3.18,-0.16],[0,0],[0,14.194],[0,0],[12.058,0],[0,0],[0,0],[4.747,0.17],[0,0],[0,-2.519]],"v":[[100.558,-116.307],[19.95,-118.49],[12.129,-113.741],[12.129,23.957],[31.638,47.813],[31.638,47.813],[51.147,23.957],[51.147,-84.775],[101.565,-83.474],[110.323,-88.222],[110.323,-111.559]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-10.375,0],[0,0],[0,19.204],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,19.621],[0,0],[10.375,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.813],[31.617,47.813],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-10.375,0],[0,0],[0,19.204],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,19.621],[0,0],[10.375,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.813],[31.617,47.813],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-10.375,0],[0,0],[0,19.204],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,19.621],[0,0],[10.375,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.813],[31.617,47.813],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"t":140,"s":[{"i":[[6.36,0.147],[0,0],[0,-2.736],[0,0],[-12.058,0],[0,0],[0,13.892],[0,0],[0,0],[0,2.743],[0,0]],"o":[[0,0],[-3.18,-0.16],[0,0],[0,14.194],[0,0],[12.058,0],[0,0],[0,0],[4.747,0.17],[0,0],[0,-2.519]],"v":[[100.558,-116.307],[19.95,-118.49],[12.129,-113.741],[12.129,23.957],[31.638,47.813],[31.638,47.813],[51.147,23.957],[51.147,-84.775],[101.565,-83.474],[110.323,-88.222],[110.323,-111.559]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.560784339905,0,0.070588238537,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53.165,-111.863],[69.793,-111.207]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[50.138,-170.007],[69.793,-168.818]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[50.138,-170.007],[69.793,-168.818]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[50.138,-170.007],[69.793,-168.818]],"c":false}]},{"t":140,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53.165,-111.863],[69.793,-111.207]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.455,-110.75],[91.448,-110.55]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.455,-167.991],[91.448,-167.629]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.455,-167.991],[91.448,-167.629]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.455,-167.991],[91.448,-167.629]],"c":false}]},{"t":140,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.455,-110.75],[91.448,-110.55]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[0,0],[6.356,0.149],[0,0],[-0.015,0.011],[0,0],[0.489,-0.023],[0,0],[0,-2.736],[0,0],[0,0],[0,0],[-12.059,0],[-4.174,4.707],[-0.612,3.214],[-0.015,-0.439],[9.05,0],[0,16.771],[0,0],[-2.592,-0.061]],"o":[[4.146,0.069],[0,-2.523],[0,0],[0.015,-0.011],[0,0],[-0.506,-0.015],[0,0],[-3.189,-0.16],[0,0],[0,0],[0,0],[0,7.839],[6.029,0],[2.339,-2.638],[-0.386,0.377],[0.156,4.51],[-9.867,0],[0,0],[0,-1.233],[0,0]],"v":[[95.944,-111.419],[110.319,-111.005],[100.561,-116.31],[25.496,-118.357],[25.536,-118.392],[22.28,-118.488],[20.79,-118.468],[19.956,-118.488],[12.134,-113.741],[9.809,-113.709],[12.134,-113.654],[12.134,23.959],[31.638,47.813],[47.065,38.151],[50.971,25.734],[49.714,26.817],[37.085,41.881],[23.86,17.091],[23.86,-111.11],[28.624,-113.263]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[0,0],[0,0],[6.356,0.271],[0,0],[-0.013,0.02],[0,0],[0.42,-0.042],[0,0],[0,-4.955],[0,0],[0,0],[0,0],[-10.375,0],[-3.592,6.506],[-0.527,4.443],[-0.013,-0.606],[7.787,0],[0,23.183],[0,0],[-2.23,-0.111]],"o":[[4.146,0.126],[0,-4.568],[0,0],[0.013,-0.02],[0,0],[-0.436,-0.027],[0,0],[-2.744,-0.29],[0,0],[0,0],[0,0],[0,10.837],[5.188,0],[2.013,-3.646],[-0.333,0.521],[0.134,6.235],[-8.489,0],[0,0],[0,-2.233],[0,0]],"v":[[95.944,-169.202],[110.319,-168.453],[100.561,-178.059],[26.333,-181.766],[26.367,-181.83],[23.566,-182.004],[22.284,-181.968],[21.566,-182.004],[14.836,-173.408],[12.836,-173.35],[14.836,-173.25],[14.836,14.838],[31.617,47.813],[44.89,34.456],[48.25,17.292],[47.168,18.789],[36.303,39.613],[24.925,5.344],[24.925,-168.643],[29.024,-172.542]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[0,0],[0,0],[6.356,0.271],[0,0],[-0.013,0.02],[0,0],[0.42,-0.042],[0,0],[0,-4.955],[0,0],[0,0],[0,0],[-10.375,0],[-3.592,6.506],[-0.527,4.443],[-0.013,-0.606],[7.787,0],[0,23.183],[0,0],[-2.23,-0.111]],"o":[[4.146,0.126],[0,-4.568],[0,0],[0.013,-0.02],[0,0],[-0.436,-0.027],[0,0],[-2.744,-0.29],[0,0],[0,0],[0,0],[0,10.837],[5.188,0],[2.013,-3.646],[-0.333,0.521],[0.134,6.235],[-8.489,0],[0,0],[0,-2.233],[0,0]],"v":[[95.944,-169.202],[110.319,-168.453],[100.561,-178.059],[26.333,-181.766],[26.367,-181.83],[23.566,-182.004],[22.284,-181.968],[21.566,-182.004],[14.836,-173.408],[12.836,-173.35],[14.836,-173.25],[14.836,14.838],[31.617,47.813],[44.89,34.456],[48.25,17.292],[47.168,18.789],[36.303,39.613],[24.925,5.344],[24.925,-168.643],[29.024,-172.542]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[0,0],[0,0],[6.356,0.271],[0,0],[-0.013,0.02],[0,0],[0.42,-0.042],[0,0],[0,-4.955],[0,0],[0,0],[0,0],[-10.375,0],[-3.592,6.506],[-0.527,4.443],[-0.013,-0.606],[7.787,0],[0,23.183],[0,0],[-2.23,-0.111]],"o":[[4.146,0.126],[0,-4.568],[0,0],[0.013,-0.02],[0,0],[-0.436,-0.027],[0,0],[-2.744,-0.29],[0,0],[0,0],[0,0],[0,10.837],[5.188,0],[2.013,-3.646],[-0.333,0.521],[0.134,6.235],[-8.489,0],[0,0],[0,-2.233],[0,0]],"v":[[95.944,-169.202],[110.319,-168.453],[100.561,-178.059],[26.333,-181.766],[26.367,-181.83],[23.566,-182.004],[22.284,-181.968],[21.566,-182.004],[14.836,-173.408],[12.836,-173.35],[14.836,-173.25],[14.836,14.838],[31.617,47.813],[44.89,34.456],[48.25,17.292],[47.168,18.789],[36.303,39.613],[24.925,5.344],[24.925,-168.643],[29.024,-172.542]],"c":true}]},{"t":140,"s":[{"i":[[0,0],[0,0],[6.356,0.149],[0,0],[-0.015,0.011],[0,0],[0.489,-0.023],[0,0],[0,-2.736],[0,0],[0,0],[0,0],[-12.059,0],[-4.174,4.707],[-0.612,3.214],[-0.015,-0.439],[9.05,0],[0,16.771],[0,0],[-2.592,-0.061]],"o":[[4.146,0.069],[0,-2.523],[0,0],[0.015,-0.011],[0,0],[-0.506,-0.015],[0,0],[-3.189,-0.16],[0,0],[0,0],[0,0],[0,7.839],[6.029,0],[2.339,-2.638],[-0.386,0.377],[0.156,4.51],[-9.867,0],[0,0],[0,-1.233],[0,0]],"v":[[95.944,-111.419],[110.319,-111.005],[100.561,-116.31],[25.496,-118.357],[25.536,-118.392],[22.28,-118.488],[20.79,-118.468],[19.956,-118.488],[12.134,-113.741],[9.809,-113.709],[12.134,-113.654],[12.134,23.959],[31.638,47.813],[47.065,38.151],[50.971,25.734],[49.714,26.817],[37.085,41.881],[23.86,17.091],[23.86,-111.11],[28.624,-113.263]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.266666680574,0.23137255013,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[6.36,0.147],[0,0],[0,-2.736],[0,0],[-20.671,0],[0,0],[0,7.839],[0,0],[0,0],[0,2.743],[0,0]],"o":[[0,0],[-3.18,-0.16],[0,0],[0,7.839],[0,0],[20.329,0],[0,0],[0,0],[4.747,0.17],[0,0],[0,-2.519]],"v":[[100.558,-116.307],[19.95,-118.49],[12.129,-113.741],[12.129,23.957],[31.638,47.576],[31.638,47.576],[51.147,23.957],[51.147,-84.775],[101.565,-83.474],[110.323,-88.222],[110.323,-111.559]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-17.785,0],[0,0],[0,10.836],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,10.836],[0,0],[17.49,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.486],[31.617,47.486],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-17.785,0],[0,0],[0,10.836],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,10.836],[0,0],[17.49,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.486],[31.617,47.486],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[6.36,0.267],[0,0],[0,-4.955],[0,0],[-17.785,0],[0,0],[0,10.836],[0,0],[0,0],[0,4.967],[0,0]],"o":[[0,0],[-2.736,-0.29],[0,0],[0,10.836],[0,0],[17.49,0],[0,0],[0,0],[4.747,0.308],[0,0],[0,-4.562]],"v":[[100.558,-178.055],[21.561,-182.007],[14.833,-173.408],[14.833,14.836],[31.617,47.486],[31.617,47.486],[48.402,14.836],[48.402,-120.953],[101.565,-118.597],[110.323,-127.194],[110.323,-169.456]],"c":true}]},{"t":140,"s":[{"i":[[6.36,0.147],[0,0],[0,-2.736],[0,0],[-20.671,0],[0,0],[0,7.839],[0,0],[0,0],[0,2.743],[0,0]],"o":[[0,0],[-3.18,-0.16],[0,0],[0,7.839],[0,0],[20.329,0],[0,0],[0,0],[4.747,0.17],[0,0],[0,-2.519]],"v":[[100.558,-116.307],[19.95,-118.49],[12.129,-113.741],[12.129,23.957],[31.638,47.576],[31.638,47.576],[51.147,23.957],[51.147,-84.775],[101.565,-83.474],[110.323,-88.222],[110.323,-111.559]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.901960790157,0.137254908681,0.050980392843,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"parent":1,"sr":1,"ks":{"o":{"a":0,"k":35},"p":{"a":0,"k":[51.124,-36.298,0]},"a":{"a":0,"k":[51.124,-36.298,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[-1.159,-2.156],[0,-29.205],[0,0],[-19.882,0],[0,0],[0,19.204],[0,0],[0,0],[-0.097,1.949],[12.363,16.71],[0.523,0.157]],"o":[[-2.159,-0.105],[3.72,6.921],[0,0],[0,19.621],[0,0],[0,0],[0,0],[0,0],[1.609,0.441],[0.451,-9.02],[-0.355,-0.48],[0,0]],"v":[[13.006,-110.545],[10.645,-105.695],[7.957,-52.015],[6.833,18.836],[32.719,51.813],[32.719,51.813],[47.168,18.836],[43.925,-64.476],[103.023,-65.748],[106.292,-68.624],[95.552,-110.49],[94.195,-111.464]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":29,"s":[{"i":[[0,0],[-1.159,-1.824],[0,-24.711],[0,0],[-19.882,0],[0,0],[0,19.204],[0,0],[0,0],[-0.097,1.649],[12.363,14.139],[0.523,0.133]],"o":[[-2.159,-0.089],[3.72,5.856],[0,0],[0,19.621],[0,0],[0,0],[0,0],[0,0],[1.609,0.373],[0.451,-7.632],[-0.355,-0.407],[0,0]],"v":[[13.006,-125.439],[10.645,-121.336],[7.957,-75.916],[6.833,18.836],[32.719,51.813],[32.719,51.813],[47.168,18.836],[43.925,-86.459],[96.416,-74.288],[99.686,-76.721],[89.552,-118.068],[88.195,-118.892]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":37,"s":[{"i":[[0,0],[-1.159,-1.824],[0,-24.711],[0,0],[-19.882,0],[0,0],[0,19.204],[0,0],[0,0],[0.244,1.634],[15.008,11.292],[0.54,0.022]],"o":[[-2.159,-0.089],[3.72,5.856],[0,0],[0,19.621],[0,0],[0,0],[0,0],[0,0],[1.652,0.034],[-1.129,-7.562],[-0.432,-0.325],[0,0]],"v":[[1.03,-124.407],[-1.331,-120.303],[6.833,-80.245],[6.833,18.836],[32.719,51.813],[32.719,51.813],[47.168,18.836],[47.402,-80.188],[101.275,-79.079],[103.974,-82.134],[85.549,-120.51],[84.051,-121.037]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":116,"s":[{"i":[[0,0],[-1.159,-1.824],[0,-24.711],[0,0],[-19.882,0],[0,0],[0,19.204],[0,0],[0,0],[0.244,1.634],[15.008,11.292],[0.54,0.022]],"o":[[-2.159,-0.089],[3.72,5.856],[0,0],[0,19.621],[0,0],[0,0],[0,0],[0,0],[1.652,0.034],[-1.129,-7.562],[-0.432,-0.325],[0,0]],"v":[[1.03,-124.407],[-1.331,-120.303],[6.833,-80.245],[6.833,18.836],[32.719,51.813],[32.719,51.813],[47.168,18.836],[47.402,-80.188],[101.275,-79.079],[103.974,-82.134],[85.549,-120.51],[84.051,-121.037]],"c":true}]},{"t":140,"s":[{"i":[[0,0],[-1.159,-2.156],[0,-29.205],[0,0],[-19.882,0],[0,0],[0,19.204],[0,0],[0,0],[-0.097,1.949],[12.363,16.71],[0.523,0.157]],"o":[[-2.159,-0.105],[3.72,6.921],[0,0],[0,19.621],[0,0],[0,0],[0,0],[0,0],[1.609,0.441],[0.451,-9.02],[-0.355,-0.48],[0,0]],"v":[[13.006,-110.545],[10.645,-105.695],[7.957,-52.015],[6.833,18.836],[32.719,51.813],[32.719,51.813],[47.168,18.836],[43.925,-64.476],[103.023,-65.748],[106.292,-68.624],[95.552,-110.49],[94.195,-111.464]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.019607843831,0.266666680574,0.40000000596,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[3.823,-25.759,0]},"a":{"a":0,"k":[3.823,-25.759,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.508,0],[0,0]],"o":[[0,0],[0,0],[0,5.508],[0,0],[0,0]],"v":[[-14.887,101.327],[-187.077,101.327],[-187.077,104.933],[-177.104,114.907],[-14.887,114.907]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.101960785687,0.360784322023,0.529411792755,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.070588238537,0.572549045086,0.768627464771,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[138.508,-104.956],[152.553,-104.657]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-51.68],[0,0],[4.774,-0.221],[0,0],[0,0],[42.39,5.37],[0,0],[-0.05,0],[0,0]],"o":[[0,0],[0,4.779],[0,0],[0,0],[0,-43.84],[0,0],[0.01,-0.13],[-0.62,-0.08],[98.439,0]],"v":[[194.723,-26.733],[194.723,96.647],[186.192,105.583],[-14.887,114.907],[-14.887,-80.813],[-90.057,-166.213],[-90.057,-166.223],[-89.967,-166.423],[86.413,-160.963]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.101960785687,0.360784322023,0.529411792755,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[181.926,-103.033],[-19.385,-107.311],[-31.21,-131.247],[169.155,-125.992]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.794,0],[49.88,1.54],[13.46,1.7],[0,0],[-0.05,0],[0,0],[-15.352,-10.269]],"o":[[-3.523,-0.25],[0,0],[-10.78,-7.18],[0,0],[0.01,-0.13],[-0.62,-0.08],[27.286,0],[0,0]],"v":[[85.456,-148.185],[74.482,-148.563],[-53.328,-152.513],[-90.057,-166.213],[-90.057,-166.223],[-89.967,-166.423],[86.413,-160.963],[149.531,-144.352]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.874509811401,0.976470589638,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":30},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-41.92],[0,0],[0,0],[0,0],[42.39,5.37],[0,0],[-0.05,0],[-17.2,-0.53]],"o":[[0,0],[0,0],[0,0],[0,-43.84],[0,0],[0.01,-0.13],[-0.16,-0.02],[34.65,6.12]],"v":[[-3.097,-80.813],[-3.097,114.357],[-14.887,114.907],[-14.887,-80.813],[-90.057,-166.213],[-90.057,-166.223],[-89.967,-166.423],[-61.427,-165.563]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.51372551918,0.909803926945,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":50},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-51.68],[0,0],[5.266,-0.244],[0,0],[0,0],[42.39,5.37],[0,0],[-0.05,0],[0,0]],"o":[[0,0],[0,5.272],[0,0],[0,0],[0,-43.84],[0,0],[0.01,-0.13],[-0.62,-0.08],[98.439,0]],"v":[[194.723,-26.733],[194.723,95.766],[185.312,105.623],[-14.887,114.907],[-14.887,-80.813],[-90.057,-166.213],[-90.057,-166.223],[-89.967,-166.423],[86.413,-160.963]],"c":true}},"hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":7,"k":{"a":0,"k":[0,0.141,0.616,0.827,0.147,0.422,0.771,0.914,0.268,0.702,0.925,1,0.367,0.437,0.782,0.904,0.578,0.173,0.639,0.808,0.734,0.12,0.58,0.751,0.966,0.067,0.522,0.694]}},"s":{"a":0,"k":[51.633,-171.873]},"e":{"a":0,"k":[51.633,56.259]},"t":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-43.202],[0,0],[0,0],[0,0],[42.39,5.164],[0,0],[3.7,0],[0,0],[3.23,-0.355],[-12.33,0],[0,0],[-3.57,-0.443],[0,0]],"o":[[0,0],[0,0],[0,0],[0,-42.167],[0,0],[-3.57,-0.434],[0,0],[-3.32,0],[10.6,-4.602],[0,0],[3.7,0],[0,0],[42.39,5.292]],"v":[[-14.887,-77.963],[-14.887,110.907],[-39.707,110.907],[-39.707,-73.371],[-114.877,-155.518],[-114.877,-155.527],[-125.797,-156.178],[-125.807,-156.178],[-135.637,-155.646],[-100.987,-162.8],[-100.977,-162.8],[-90.057,-162.13],[-90.057,-162.12]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901961237,0.058823529631,0.058823529631,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":30},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[-251.072,-3.833,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":0.34},"o":{"x":0.66,"y":0.66},"t":35,"s":[4.928,-3.833,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":111,"s":[4.928,-3.833,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[144.928,-3.833,0]}]},"a":{"a":0,"k":[4.928,-3.833,0]},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"t":119,"s":[100,100,100]},{"t":130,"s":[0,0,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[4.367,-0.322],[0,0],[0,5.823],[0,0],[-4.367,-0.14],[0,0],[0,-5.17],[0,0]],"o":[[0,0],[-4.367,0.291],[0,0],[0,-5.823],[0,0],[4.367,0.14],[0,0],[0,5.17]],"v":[[107.815,92.484],[-97.959,93.689],[-105.866,83.673],[-105.866,-90.146],[-97.959,-100.435],[107.815,-93.832],[115.722,-84.218],[115.722,82.541]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[4.367,-0.322],[0,0],[0,5.823],[0,0],[-4.367,-0.14],[0,0],[0,-5.17],[0,0]],"o":[[0,0],[-4.367,0.291],[0,0],[0,-5.823],[0,0],[4.367,0.14],[0,0],[0,5.17]],"v":[[107.815,92.484],[-97.959,93.689],[-105.866,83.673],[-105.866,-90.146],[-97.959,-100.435],[107.815,-93.832],[115.722,-84.218],[115.722,82.541]],"c":true}},"hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,1,1,0.158,0.584,0.586,0.588,0.665,0.169,0.173,0.176,0,0,0.158,0.5,0.665,1]}},"s":{"a":0,"k":[-106.367,-3.873]},"e":{"a":0,"k":[115.221,-3.873]},"t":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":54},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[58.102,-87.443],[69.365,-87.131]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[77.415,-86.909],[80.628,-86.82]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.841,-0.955],[0,0],[2.532,3.006],[0,0],[-1.174,-0.032]],"o":[[1.173,0.032],[0,0],[-2.532,3.169],[0,0],[-0.843,-1.104],[0,0]],"v":[[99.09,-86.158],[100.001,-83.452],[9.47,24.743],[0.39,25.046],[-90.399,-88.417],[-89.489,-91.363]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.886],[0,0],[3.028,3.579],[0,0],[-3.282,-0.107],[0,0]],"o":[[0,0],[-3.028,3.814],[0,0],[0,-4.376],[0,0],[3.282,0.107]],"v":[[115.72,-87.428],[10.364,37.794],[-0.505,38.233],[-105.866,-93.762],[-99.922,-101.494],[109.775,-94.659]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.886],[0,0],[3.028,3.579],[0,0],[-3.282,-0.107],[0,0]],"o":[[0,0],[-3.028,3.814],[0,0],[0,-4.376],[0,0],[3.282,0.107]],"v":[[115.72,-87.428],[10.364,37.794],[-0.505,38.233],[-105.866,-93.762],[-99.922,-101.494],[109.775,-94.659]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,3.886],[0,0],[0,0],[-3.282,0.218],[0,0]],"o":[[0,0],[0,0],[0,4.376],[0,0],[3.282,-0.242]],"v":[[115.72,84.865],[4.93,-55.881],[-105.866,86.29],[-99.922,93.82],[109.775,92.339]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.639215707779,0.639215707779,0.639215707779,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-0.841,1.133],[0,0],[-2.532,-3.083],[0,0],[1.174,-0.081]],"o":[[-1.173,0.072],[0,0],[2.532,-3.093],[0,0],[0.843,0.919],[0,0]],"v":[[-89.489,83.41],[-90.4,80.497],[0.131,-36.053],[9.211,-36.059],[100,81.6],[99.09,84.345]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,3.886],[0,0],[0,0],[-3.282,0.218],[0,0]],"o":[[0,0],[0,0],[0,4.376],[0,0],[3.282,-0.242]],"v":[[115.72,84.865],[4.93,-55.881],[-105.866,86.29],[-99.922,93.82],[109.775,92.339]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[3.283,0.105],[0,0],[0,-4.377],[0,0],[0,0],[1.276,-1.627],[0,0],[0,0],[-3.283,0.218],[0,0],[0,3.886],[0,0],[0,0],[-1.276,1.532],[0,0]],"o":[[0,-3.886],[0,0],[-3.283,-0.105],[0,0],[0,0],[1.276,1.583],[0,0],[0,0],[0,4.377],[0,0],[3.283,-0.242],[0,0],[0,0],[-1.276,-1.488],[0,0],[0,0]],"v":[[115.72,-86.541],[109.775,-93.768],[-99.922,-100.497],[-105.866,-92.762],[-105.866,-77.724],[-50.596,-7.119],[-50.596,-1.258],[-105.866,71.251],[-105.866,86.29],[-99.922,93.82],[109.775,92.339],[115.72,84.865],[115.72,71.512],[60.452,-3.34],[60.452,-8.862],[115.72,-73.188]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215707779,0.670588254929,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":40},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[4.367,-0.322],[0,0],[0,5.802],[0,0],[-4.367,-0.14],[0,0],[0,-5.191],[0,0]],"o":[[0,0],[-4.367,0.291],[0,0],[0,-5.802],[0,0],[4.367,0.14],[0,0],[0,5.191]],"v":[[100.661,93.01],[-90.805,93.213],[-98.712,83.235],[-98.712,-89.955],[-90.805,-100.206],[100.661,-94.062],[108.568,-84.409],[108.568,83.029]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.898039221764,0.898039221764,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[4.367,-0.322],[0,0],[0,5.823],[0,0],[-4.367,-0.14],[0,0],[0,-5.17],[0,0]],"o":[[0,0],[-4.367,0.291],[0,0],[0,-5.823],[0,0],[4.367,0.14],[0,0],[0,5.17]],"v":[[107.815,92.484],[-97.959,93.689],[-105.866,83.673],[-105.866,-90.146],[-97.959,-100.435],[107.815,-93.832],[115.722,-84.218],[115.722,82.541]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[271.018,362.002,0]},"a":{"a":0,"k":[15.018,106.002,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-43.84],[0,0],[0,0],[0,4.94],[0,0],[-47.546,0],[0,0],[-3.57,-0.45],[0,0]],"o":[[0,0],[0,0],[-4.94,0],[0,0],[0,-47.546],[0,0],[3.7,0],[0,0],[42.39,5.37]],"v":[[-14.887,-80.813],[-14.887,114.907],[-178.132,114.907],[-187.077,105.962],[-187.077,-80.813],[-100.987,-166.903],[-100.977,-166.903],[-90.057,-166.223],[-90.057,-166.213]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.101960785687,0.360784322023,0.529411792755,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-43.84],[0,0],[0,0],[0,0],[24.56,13.67],[-26.06,0],[0,0],[-3.57,-0.45],[0,0]],"o":[[0,0],[0,0],[0,0],[0,-30.09],[15.78,-18.3],[0,0],[3.7,0],[0,0],[42.39,5.37]],"v":[[-14.887,-80.813],[-14.887,114.907],[-124.997,114.907],[-124.997,-67.043],[-166.177,-137.023],[-100.987,-166.903],[-100.977,-166.903],[-90.057,-166.223],[-90.057,-166.213]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901961237,0.058823529631,0.058823529631,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-43.84],[0,0],[0,0],[0,6.644],[0,0],[-47.546,0],[0,0],[-3.57,-0.45],[0,0]],"o":[[0,0],[0,0],[-6.644,0],[0,0],[0,-47.546],[0,0],[3.7,0],[0,0],[42.39,5.37]],"v":[[-14.887,-80.813],[-14.887,114.907],[-175.046,114.907],[-187.077,102.876],[-187.077,-80.813],[-100.987,-166.903],[-100.977,-166.903],[-90.057,-166.223],[-90.057,-166.213]],"c":true}},"hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.208,0.216,0.22,0.238,0.131,0.137,0.139,1,0.055,0.059,0.059]}},"s":{"a":0,"k":[-101.367,-47.873]},"e":{"a":0,"k":[-101.367,-152.551]},"t":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[266.313,418.321,0]},"a":{"a":0,"k":[10.313,162.321,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[60.334,202.256],[60.334,106.215],[-39.707,106.215],[-39.707,202.256]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.298039227724,0.243137255311,0.156862750649,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[7.44,7.44],[11.35,0],[0,-22.7],[0,0],[5.76,2.98],[0,0]],"o":[[0,0],[0,-11.35],[-7.44,-7.44],[-22.7,0],[0,0],[-6.09,-1.88],[0,0],[0,0]],"v":[[60.333,106.217],[60.333,172.777],[48.293,143.707],[19.223,131.667],[-21.887,172.777],[-21.887,213.547],[-39.707,206.257],[-39.707,106.217]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.298039227724,0.243137255311,0.156862750649,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":50},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[10.63,0],[0,0]],"o":[[0,0],[-10.28,3.11],[0,0],[0,0]],"v":[[41.863,106.217],[41.863,213.757],[10.313,218.427],[10.313,106.217]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.827450990677,0.729411780834,0.525490224361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[17.17,0],[4.59,0.59],[6.02,1.87],[5.76,2.98],[0,0]],"o":[[0,0],[-15.68,8.11],[-4.62,0],[-6.2,-0.8],[-6.09,-1.88],[0,0],[0,0]],"v":[[60.333,106.217],[60.333,206.257],[10.313,218.427],[-3.517,217.547],[-21.887,213.547],[-39.707,206.257],[-39.707,106.217]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.65098041296,0.549019634724,0.360784322023,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":160,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek.tgs new file mode 100644 index 000000000..cc60a3edc --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":33,"w":512,"h":512,"nm":"_password_peek - close","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"parent":11,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[-12.879]},{"t":24,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[127.498,860.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":24,"s":[127.498,460.89,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[-95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.262,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.578,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.262,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.578,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.262,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.578,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.262,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.578,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.262,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.578,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.262,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.578,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.262,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.578,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.262,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.578,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"t":24,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"t":24,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":11.369,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[19]},{"t":24,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[378.502,850.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":24,"s":[378.502,550.89,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.686,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.525,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.365,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.791,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.209,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.635,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.051,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.475,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.314,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.051,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[113.081,199.218]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[111.369,186.872]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[109.303,159.126]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[107.842,140.839]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[106.402,128.737]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[105.017,121.766]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.538,116.654]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.059,112.859]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[103.513,107.589]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.686,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.525,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.365,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.791,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.209,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.635,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.051,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.475,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.314,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.051,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.752,199.218],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.922,186.872],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.531,159.126],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.109,140.839],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.707,128.737],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[174.36,121.766],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[173.517,116.654],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[172.674,112.859],[156.688,64.313],[162.188,37.5]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[171.852,107.589],[156.688,64.313],[162.188,37.5]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.686,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.525,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.365,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.791,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.209,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.635,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.051,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.475,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.314,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.051,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[-18.033,2.437],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.735,-31.621]],"o":[[0,0],[21.317,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[3.624,30.15]],"v":[[130.617,208.218],[162.717,209.343],[188.743,201.218],[159.875,83.125],[157.875,87.125],[125.905,70.466],[124.544,135.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[-17.763,2.436],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.055,-28.02]],"o":[[0,0],[20.998,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.967,26.379]],"v":[[128.643,195.872],[160.262,196.997],[185.899,188.872],[159.875,83.125],[157.875,87.125],[126.285,70.297],[124.186,131.025]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-17.443,2.435],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-2.248,-23.75]],"o":[[0,0],[20.619,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.19,21.91]],"v":[[126.266,168.126],[157.315,169.251],[182.49,161.126],[159.875,83.125],[157.875,87.125],[126.735,70.097],[123.761,125.724]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[-17.211,2.434],[0,0],[8.793,35.004],[0,0],[11.75,-13.313],[-1.663,-20.652]],"o":[[0,0],[20.345,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.625,18.667]],"v":[[124.579,149.839],[155.215,150.964],[180.055,142.839],[159.875,83.125],[158.265,86.995],[127.062,69.952],[123.484,119.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-16.979,2.434],[0,0],[9.274,30.821],[0,0],[11.75,-13.313],[-1.078,-17.553]],"o":[[0,0],[20.07,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.061,15.423]],"v":[[122.913,137.737],[153.136,138.862],[177.64,130.737],[159.875,83.125],[158.656,86.865],[127.388,69.807],[123.207,112.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[-16.747,2.433],[0,0],[9.755,26.638],[0,0],[11.75,-13.313],[-0.493,-14.455]],"o":[[0,0],[19.796,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.496,12.18]],"v":[[121.303,130.766],[151.112,131.891],[175.281,123.766],[159.875,83.125],[159.046,86.735],[127.715,69.661],[122.93,106.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-16.659,2.433],[0,0],[9.936,25.055],[0,0],[11.75,-13.313],[-0.271,-13.283]],"o":[[0,0],[19.692,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.283,10.954]],"v":[[120.738,125.654],[150.391,126.779],[174.433,118.654],[159.875,83.125],[159.194,86.685],[127.838,69.607],[122.825,103.716]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[-16.571,2.432],[0,0],[10.118,23.473],[0,0],[11.75,-13.313],[-0.05,-12.111]],"o":[[0,0],[19.588,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.069,9.727]],"v":[[120.173,121.859],[149.67,122.984],[173.586,114.859],[159.875,83.125],[159.342,86.636],[127.962,69.552],[122.721,101.252]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[-16.504,2.432],[0,0],[10.257,22.27],[0,0],[11.75,-13.313],[0.118,-11.22]],"o":[[0,0],[19.509,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[-0.093,8.794]],"v":[[119.563,116.589],[148.94,117.714],[172.759,109.589],[159.875,83.125],[159.454,86.599],[128.056,69.51],[122.641,99.378]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.686,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.525,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.365,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.791,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.209,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.635,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.051,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.475,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.314,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.051,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.52,0.06]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.02,-0.063]],"v":[[188.743,201.218],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[113.081,202.218],[146.729,209.906]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.228,0.056]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[33.511,-0.063]],"v":[[185.899,188.872],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[111.369,189.872],[144.514,197.56]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.881,0.051]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.907,-0.063]],"v":[[182.49,161.126],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[109.303,162.126],[141.851,169.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.63,0.047]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.469,-0.063]],"v":[[180.055,142.839],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[107.842,143.839],[139.956,151.527]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.379,0.043]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.031,-0.063]],"v":[[177.64,130.737],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[106.402,131.737],[138.083,139.424]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.127,0.04]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.593,-0.063]],"v":[[175.281,123.766],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[105.017,124.766],[136.265,132.453]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.032,0.038]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.427,-0.063]],"v":[[174.433,118.654],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.538,119.654],[135.622,127.342]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.937,0.037]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.261,-0.063]],"v":[[173.586,114.859],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.059,115.859],[134.978,123.546]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.865,0.036]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.135,-0.063]],"v":[[172.759,109.589],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[103.513,110.589],[134.308,118.276]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[-12.769,-34.372]],"o":[[0,0],[0,0]],"v":[[39.884,-95.793],[74.673,-38.358]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[-13.791,-33.898]],"o":[[0,0],[0,0]],"v":[[37.264,-93.817],[74.621,-38.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-15.003,-33.336]],"o":[[0,0],[0,0]],"v":[[34.158,-91.473],[74.559,-38.274]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[-15.882,-32.929]],"o":[[0,0],[0,0]],"v":[[31.904,-89.773],[74.515,-38.241]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-16.761,-32.521]],"o":[[0,0],[0,0]],"v":[[29.651,-88.073],[74.47,-38.208]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[-17.641,-32.114]],"o":[[0,0],[0,0]],"v":[[27.397,-86.373],[74.426,-38.175]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-17.973,-31.96]],"o":[[0,0],[0,0]],"v":[[26.545,-85.729],[74.409,-38.162]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[-18.306,-31.806]],"o":[[0,0],[0,0]],"v":[[25.692,-85.086],[74.392,-38.15]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-18.559,-31.688]],"o":[[0,0],[0,0]],"v":[[25.044,-84.597],[74.379,-38.14]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[-3.083,-17.075]],"o":[[0,0],[0,0]],"v":[[134.976,-74.378],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[0,0],[-1.815,-16.645]],"o":[[0,0],[0,0]],"v":[[137.482,-73.719],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-0.311,-16.136]],"o":[[0,0],[0,0]],"v":[[140.453,-72.938],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[0.779,-15.766]],"o":[[0,0],[0,0]],"v":[[142.609,-72.371],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[1.87,-15.397]],"o":[[0,0],[0,0]],"v":[[144.764,-71.805],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[2.961,-15.027]],"o":[[0,0],[0,0]],"v":[[146.92,-71.238],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[3.374,-14.887]],"o":[[0,0],[0,0]],"v":[[147.736,-71.024],[147.742,-34.569]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[3.787,-14.747]],"o":[[0,0],[0,0]],"v":[[148.551,-70.809],[147.742,-34.569]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[4.1,-14.641]],"o":[[0,0],[0,0]],"v":[[149.171,-70.646],[147.742,-34.569]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[0,0],[-9.581,-27.559]],"o":[[0,0],[0,0]],"v":[[83.177,-99.786],[109.329,-50.153]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.5,"s":[{"i":[[0,0],[-10.58,-23.06]],"o":[[0,0],[0,0]],"v":[[87.059,-94.242],[110.004,-50.144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-10.46,-25.194]],"o":[[0,0],[0,0]],"v":[[107.766,-59.2],[110.804,-50.132]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[0,0],[-7.638,-19.523]],"o":[[0,0],[0,0]],"v":[[109.132,-57.128],[111.385,-50.124]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-4.817,-13.853]],"o":[[0,0],[0,0]],"v":[[110.497,-55.057],[111.965,-50.115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[0,0],[-1.996,-8.182]],"o":[[0,0],[0,0]],"v":[[111.863,-52.985],[112.546,-50.107]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-0.929,-6.037]],"o":[[0,0],[0,0]],"v":[[112.38,-52.201],[112.766,-50.104]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[0,0],[0.139,-3.892]],"o":[[0,0],[0,0]],"v":[[112.896,-51.418],[112.986,-50.101]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[0.95,-2.261]],"o":[[0,0],[0,0]],"v":[[113.289,-50.822],[113.153,-50.098]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[19.227,7.816],[0.374,-7.939],[14.95,0.067],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.865],[0,0],[-12.124,0.281],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[21.946,6.343],[-0.183,-9.096],[19.875,0.834],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-4.732],[0,0],[-12.122,0.12],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[26.99,4.598],[-0.842,-10.468],[25.713,1.744],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.389],[0,0],[-12.12,-0.072],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[23.426,3.331],[0.83,-11.06],[25.616,1.64],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.454,-2.415],[0,0],[-12.119,-0.211],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[21.683,2.064],[2.503,-11.652],[25.519,1.536],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-1.441],[0,0],[-12.117,-0.349],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[23.492,0.797],[4.175,-12.244],[25.421,1.432],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.363,-0.467],[0,0],[-12.116,-0.488],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[24.491,0.318],[4.808,-12.468],[25.385,1.393],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.799,-0.098],[0,0],[-12.115,-0.541],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[24.122,-0.161],[5.44,-12.692],[25.348,1.353],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.893,0.27],[0,0],[-12.115,-0.593],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"t":24,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[23.358,-0.525],[5.921,-12.862],[25.32,1.323],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.47,0.55],[0,0],[-12.114,-0.633],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[27.154,69.236],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.123,5.617],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.918,-37.468],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[29.786,67.882],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.337,5.511],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.619,-35.609],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[32.905,66.276],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.591,5.384],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.265,-33.405],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[35.169,65.112],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.775,5.292],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.008,-31.806],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[37.433,63.947],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.958,5.201],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.751,-30.207],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[39.696,62.782],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.142,5.109],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.493,-28.608],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[40.553,62.342],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.212,5.074],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.396,-28.003],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[41.409,61.901],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.282,5.039],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.299,-27.398],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"t":24,"s":[{"i":[[42.06,61.566],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.334,5.013],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.225,-26.939],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[-2.268,-7.212],[0.118,1.643],[-13.3,-20.855],[-4.633,-2.505],[0,0],[7.333,11.406],[0,0],[-12.632,-14.904],[-4.861,-8.611],[-0.456,1.076],[0,0],[0,0],[-18.576,-21.931],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.182,-0.313],[20.141,7.926],[0.512,-7.745],[14.833,0.024],[-1.999,-12.057],[4.81,-13.618]],"o":[[0.771,-1.644],[-0.773,-10.349],[14.162,22.207],[6.099,3.297],[-3.129,-11.579],[-7.342,-11.397],[4.729,-18.066],[11.409,13.461],[4.943,8.676],[0.464,-1.076],[-4.111,-13.372],[0.983,-11.635],[19.324,23.531],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-15.156,-5.959],[0,0],[-12.118,0.268],[0,0],[-1.509,4.274]],"v":[[25.327,-68.352],[26.381,-73.364],[47.153,-69.844],[68.713,-33.723],[74.42,-39.136],[52.871,-79.502],[43.272,-97.582],[73.172,-94.372],[99.197,-51.267],[109.687,-48.614],[109.297,-52.402],[89.727,-93.131],[112.312,-94.306],[140.114,-32.473],[147.793,-35.753],[143.355,-52.648],[160.639,-53.94],[135.298,-74.363],[100.909,-119.876],[83.489,-99.761],[55.223,-120.029],[40.21,-95.797],[23.489,-86.089]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[-2.545,-7.093],[0.183,1.632],[-14.072,-20.245],[-4.699,-2.357],[0,0],[7.756,11.068],[0,0],[-13.171,-14.343],[-5.457,-8.09],[-0.691,1.157],[0,0],[0,0],[-23.45,-23.386],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.08,0.38],[24.465,6.647],[0.185,-8.555],[19.546,0.712],[-2.468,-11.929],[4.251,-13.753]],"o":[[0.703,-1.668],[-1.18,-10.276],[14.984,21.557],[6.185,3.103],[-3.476,-11.455],[-7.764,-11.06],[3.994,-18.18],[11.896,12.955],[5.679,8.251],[0.698,-1.157],[-3.85,-10.289],[0.308,-12.183],[21.091,21.879],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-18.41,-4.999],[0,0],[-12.114,0.074],[0,0],[-1.334,4.317]],"v":[[23.852,-65.91],[24.703,-70.944],[45.531,-68.26],[68.818,-33.513],[74.345,-39.087],[50.843,-78.105],[40.568,-95.732],[70.921,-92.905],[100.041,-51.15],[110.425,-48.965],[110.489,-52.662],[98.362,-77.246],[113.949,-98.093],[140.114,-32.473],[147.793,-35.753],[144.578,-52.395],[162.2,-51.198],[137.8,-73.682],[103.848,-120.021],[87.357,-94.182],[52.207,-117.372],[37.588,-93.833],[21.319,-83.503]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[-2.872,-6.952],[0.261,1.618],[-14.987,-19.521],[-4.777,-2.182],[0,0],[8.259,10.668],[0,0],[-13.81,-13.679],[-6.162,-7.473],[-0.971,1.252],[0,0],[0,0],[-31.345,-25.111],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.96,1.202],[31.735,5.13],[-0.203,-9.516],[25.134,1.527],[-3.025,-11.778],[3.589,-13.914]],"o":[[0.622,-1.696],[-1.662,-10.19],[15.958,20.786],[6.287,2.872],[-3.888,-11.309],[-8.263,-10.661],[3.124,-18.316],[12.473,12.355],[6.553,7.747],[0.976,-1.253],[-3.541,-6.635],[-0.492,-12.833],[24.865,19.92],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.879,-3.86],[0,0],[-12.11,-0.157],[0,0],[-1.126,4.367]],"v":[[22.104,-63.014],[22.714,-68.074],[43.608,-66.382],[68.942,-33.264],[74.256,-39.03],[48.44,-76.449],[37.362,-93.539],[68.253,-91.165],[101.041,-51.013],[111.301,-49.381],[111.902,-52.971],[108.6,-58.414],[114.211,-102.583],[140.114,-32.473],[147.793,-35.753],[146.029,-52.095],[164.05,-47.947],[140.765,-72.876],[105.034,-120.192],[108.047,-59.1],[48.632,-114.222],[34.48,-91.505],[18.747,-80.436]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[-3.11,-6.85],[0.317,1.608],[-15.651,-18.996],[-4.833,-2.055],[0,0],[8.623,10.377],[0,0],[-14.274,-13.198],[-6.674,-7.024],[-1.173,1.321],[0,0],[0,0],[-26.603,-24.789],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.873,1.798],[28.514,4.033],[1.71,-10.398],[24.919,1.564],[-3.428,-11.668],[3.108,-14.031]],"o":[[0.563,-1.716],[-2.012,-10.128],[16.666,20.227],[6.361,2.704],[-4.186,-11.202],[-8.626,-10.372],[2.492,-18.414],[12.892,11.92],[7.187,7.381],[1.178,-1.322],[-3.317,-3.983],[2.201,-13.941],[22.108,20.95],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-21.455,-3.034],[0,0],[-12.107,-0.325],[0,0],[-0.975,4.404]],"v":[[20.835,-60.914],[21.271,-65.991],[42.213,-65.019],[69.031,-33.083],[74.192,-38.989],[46.696,-75.247],[35.035,-91.948],[66.316,-89.904],[101.767,-50.913],[111.936,-49.683],[112.927,-53.195],[109.628,-56.151],[119.945,-104.517],[140.114,-32.473],[147.793,-35.753],[147.081,-51.877],[165.393,-45.588],[142.917,-72.29],[113.502,-120.905],[109.401,-56.998],[46.037,-111.936],[32.226,-89.816],[16.88,-78.211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-3.348,-6.747],[0.373,1.598],[-16.316,-18.47],[-4.89,-1.927],[0,0],[8.987,10.087],[0,0],[-14.738,-12.716],[-7.186,-6.576],[-1.376,1.391],[0,0],[0,0],[-23.977,-24.466],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.786,2.394],[27.436,2.935],[3.622,-11.28],[24.703,1.6],[-3.832,-11.558],[2.628,-14.147]],"o":[[0.505,-1.737],[-2.361,-10.066],[17.373,19.667],[6.436,2.537],[-4.485,-11.096],[-8.989,-10.082],[1.861,-18.512],[13.311,11.485],[7.82,7.015],[1.38,-1.391],[-3.093,-1.332],[4.894,-15.05],[21.03,21.98],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-20.643,-2.208],[0,0],[-12.104,-0.492],[0,0],[-0.825,4.44]],"v":[[19.566,-58.813],[19.828,-63.909],[40.818,-63.656],[69.121,-32.903],[74.127,-38.948],[44.952,-74.046],[32.709,-90.357],[64.38,-88.642],[102.493,-50.813],[112.571,-49.985],[113.952,-53.418],[110.657,-53.889],[124.001,-106.451],[140.114,-32.473],[147.793,-35.753],[148.134,-51.659],[166.736,-43.23],[145.068,-71.705],[119.672,-121.618],[110.755,-54.897],[43.443,-109.651],[29.971,-88.126],[15.014,-75.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[-3.586,-6.645],[0.43,1.588],[-16.98,-17.945],[-4.946,-1.8],[0,0],[9.352,9.796],[0,0],[-15.201,-12.234],[-7.698,-6.128],[-1.579,1.46],[0,0],[0,0],[-25.153,-24.144],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.699,2.99],[31.052,1.837],[5.534,-12.162],[24.488,1.636],[-4.236,-11.448],[2.147,-14.264]],"o":[[0.446,-1.758],[-2.711,-10.004],[18.08,19.108],[6.51,2.369],[-4.783,-10.99],[-9.351,-9.793],[1.229,-18.611],[13.73,11.05],[8.454,6.649],[1.581,-1.461],[-2.869,1.32],[7.587,-16.158],[23.505,23.01],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.364,-1.382],[0,0],[-12.101,-0.66],[0,0],[-0.674,4.477]],"v":[[18.298,-56.712],[18.385,-61.827],[39.423,-62.294],[69.211,-32.722],[74.063,-38.906],[43.208,-72.844],[30.383,-88.766],[62.444,-87.38],[103.219,-50.714],[113.206,-50.287],[114.977,-53.642],[111.685,-51.626],[123.757,-108.385],[140.114,-32.473],[147.793,-35.753],[149.186,-51.441],[168.078,-40.871],[147.22,-71.12],[121.147,-122.331],[112.108,-52.796],[40.849,-107.365],[27.716,-86.437],[13.148,-73.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[-3.676,-6.607],[0.451,1.585],[-17.231,-17.747],[-4.967,-1.752],[0,0],[9.49,9.686],[0,0],[-15.377,-12.052],[-7.892,-5.959],[-1.655,1.486],[0,0],[0,0],[-25.857,-24.022],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.666,3.215],[32.961,1.422],[6.257,-12.495],[24.407,1.65],[-4.388,-11.406],[1.965,-14.308]],"o":[[0.424,-1.765],[-2.843,-9.98],[18.347,18.896],[6.538,2.306],[-4.896,-10.95],[-9.489,-9.683],[0.99,-18.648],[13.888,10.885],[8.694,6.511],[1.657,-1.487],[-2.784,2.323],[8.606,-16.577],[24.824,23.399],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.8,-1.07],[0,0],[-12.099,-0.723],[0,0],[-0.617,4.491]],"v":[[17.818,-55.917],[17.84,-61.039],[38.895,-61.778],[69.245,-32.654],[74.038,-38.891],[42.549,-72.39],[29.503,-88.164],[61.712,-86.902],[103.493,-50.676],[113.446,-50.401],[115.364,-53.727],[112.074,-50.77],[122.963,-109.116],[140.114,-32.473],[147.793,-35.753],[149.584,-51.359],[168.586,-39.978],[148.034,-70.899],[121.165,-122.6],[112.621,-52.001],[39.867,-106.501],[26.863,-85.798],[12.442,-72.92]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[-3.765,-6.568],[0.472,1.581],[-17.482,-17.548],[-4.989,-1.704],[0,0],[9.627,9.576],[0,0],[-15.552,-11.869],[-8.086,-5.789],[-1.732,1.512],[0,0],[0,0],[-25.082,-23.9],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.633,3.441],[33.086,1.007],[6.981,-12.829],[24.325,1.663],[-4.541,-11.365],[1.783,-14.352]],"o":[[0.402,-1.773],[-2.976,-9.957],[18.615,18.685],[6.566,2.243],[-5.009,-10.909],[-9.626,-9.574],[0.751,-18.685],[14.047,10.72],[8.933,6.372],[1.734,-1.513],[-2.699,3.326],[9.625,-16.997],[24.788,23.789],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.894,-0.757],[0,0],[-12.098,-0.786],[0,0],[-0.56,4.505]],"v":[[17.338,-55.122],[17.294,-60.251],[38.367,-61.263],[69.279,-32.586],[74.014,-38.875],[41.889,-71.935],[28.623,-87.563],[60.979,-86.425],[103.768,-50.638],[113.686,-50.515],[115.752,-53.811],[112.463,-49.914],[123.764,-109.848],[140.114,-32.473],[147.793,-35.753],[149.982,-51.277],[169.094,-39.086],[148.847,-70.677],[122.966,-122.87],[113.133,-51.206],[38.886,-105.636],[26.01,-85.159],[11.736,-72.078]],"c":true}]},{"t":24,"s":[{"i":[[-3.834,-6.538],[0.488,1.578],[-17.673,-17.397],[-5.005,-1.667],[0,0],[9.732,9.493],[0,0],[-15.686,-11.731],[-8.233,-5.66],[-1.79,1.532],[0,0],[0,0],[-23.985,-23.807],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.608,3.612],[32.523,0.691],[7.531,-13.082],[24.263,1.674],[-4.657,-11.333],[1.645,-14.386]],"o":[[0.385,-1.779],[-3.076,-9.939],[18.818,18.524],[6.588,2.194],[-5.095,-10.879],[-9.73,-9.49],[0.57,-18.714],[14.167,10.595],[9.116,6.267],[1.792,-1.533],[-2.635,4.089],[10.399,-17.315],[24.266,24.085],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.47,-0.52],[0,0],[-12.097,-0.835],[0,0],[-0.516,4.515]],"v":[[16.973,-54.518],[16.879,-59.652],[37.966,-60.871],[69.305,-32.534],[73.995,-38.863],[41.387,-71.59],[27.954,-87.105],[60.423,-86.062],[103.976,-50.609],[113.869,-50.602],[116.047,-53.876],[112.759,-49.264],[125.003,-110.404],[140.114,-32.473],[147.793,-35.753],[150.285,-51.214],[169.48,-38.408],[149.466,-70.509],[124.993,-123.075],[113.522,-50.602],[38.14,-104.979],[25.361,-84.673],[11.199,-71.438]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":7.58,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0},"t":16,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":18,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[20.15,7.929],[0.456,-7.72],[13.231,-0.157],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.963],[0,0],[-12.122,0.248],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.333},"t":18.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[24.475,6.652],[0.042,-8.496],[15.159,0.222],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-5.003],[0,0],[-12.116,0.029],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[31.747,5.139],[-0.448,-9.416],[17.445,0.67],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.865],[0,0],[-12.11,-0.231],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[28.525,4.041],[1.518,-9.943],[19.104,0.995],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.455,-3.039],[0,0],[-12.105,-0.42],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[27.446,2.943],[3.483,-10.469],[20.762,1.32],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-2.213],[0,0],[-12.1,-0.608],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[31.063,1.845],[5.448,-10.996],[22.421,1.646],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.364,-1.388],[0,0],[-12.095,-0.797],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[32.973,1.43],[6.192,-11.196],[23.048,1.769],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.8,-1.075],[0,0],[-12.093,-0.868],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":21.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[33.097,1.014],[6.935,-11.395],[23.676,1.892],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.894,-0.763],[0,0],[-12.091,-0.939],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"t":24,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[32.534,0.698],[7.5,-11.546],[24.153,1.985],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.471,-0.525],[0,0],[-12.09,-0.994],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":15,"s":[20]},{"t":24,"s":[20]}]},"p":{"a":0,"k":[341.929,268.75,0]},"a":{"a":0,"k":[87.294,20.789,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[-3.234,1.162],[-2.46,-1.144],[-6.693,0.486],[-1.143,-0.902],[30.317,-18.567],[-14.52,12.287],[0.456,0.616],[-0.361,0.857],[-0.164,0.059],[6.008,28.397],[5.038,-1.804],[-0.723,0.265],[0.043,-0.015],[3.05,-1.092],[-0.656,0.236]],"o":[[0.85,-0.305],[4.348,2.021],[2.034,-0.162],[0.829,0.654],[32.946,-6.739],[-5.103,-21.33],[-0.804,-1.086],[0.234,-0.327],[0,0],[-5.862,-27.709],[0,0],[0.128,-0.047],[0,0],[-3.05,1.092],[0,0]],"v":[[87.03,135.071],[92.538,135.42],[101.888,135.85],[106.758,134.301],[51.49,160.266],[147.472,120.625],[118.205,127.697],[118.067,124.445],[118.631,123.753],[134.546,113.38],[111.487,126.32],[107.491,127.745],[104.6,128.78],[92.721,133.037],[91.203,133.58]],"c":true}]},{"t":24,"s":[{"i":[[-12.801,-44.719],[-7.19,-16.664],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[-2.869,-83.633],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[12.709,29.454],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[0.507,14.786],[0,0],[-12.067,1.247],[0,0]],"v":[[-1.225,69.692],[17.656,113.086],[49.904,144.181],[68.931,145.79],[51.49,160.266],[147.472,120.625],[117.368,125.178],[120.966,98.001],[123.817,91.889],[134.546,113.38],[95.537,-17.397],[79.733,56.172],[68.297,62.602],[21.29,19.282],[15.285,33.125]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16.801,"s":[20]},{"t":24,"s":[20]}]},"p":{"a":0,"k":[178.129,267.75,0]},"a":{"a":0,"k":[87.294,20.789,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[-2.263,0.741],[-0.665,0.16],[-3.893,2.031],[-0.513,0.16],[4.696,-2.915],[-14.52,12.287],[0.165,-0.015],[-0.339,0.268],[-0.092,0.078],[1.101,-0.279],[3.138,-1.829],[2.927,-1.582],[-0.012,-0.084],[1.902,-1.103],[-0.475,0.123]],"o":[[0.595,-0.195],[1.204,-0.29],[1.185,-0.62],[0.371,-0.116],[5.175,-3.042],[-5.103,-21.33],[-0.29,0.026],[0.184,-0.13],[0,0],[-1.075,0.272],[0,0],[-2.2,1.189],[0,0],[-1.902,1.103],[0,0]],"v":[[125.645,131.596],[128.24,130.673],[135.03,127.775],[138.007,126.365],[132.831,129.954],[147.472,120.625],[146.172,121.398],[146.596,120.819],[147.015,120.505],[147.351,119.725],[140.249,123.09],[134.044,126.113],[130.712,128.153],[128.938,129.09],[128.061,129.762]],"c":true}]},{"t":24,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]},{"t":24,"s":[{"i":[[0.653,-2.439],[0.333,1.551],[3.373,3.05],[6.071,0],[1.346,-1.29],[0.618,-2.064],[-0.205,-1.404],[-0.338,1.997],[-3.418,3.305],[-6.254,0],[-1.401,-1.279],[-0.54,-2.447]],"o":[[0.208,-1.404],[-0.519,-2.417],[-1.362,-1.231],[-6.075,0],[-3.325,3.187],[-0.266,0.888],[-0.653,-2.439],[0.358,-2.116],[1.382,-1.337],[6.254,0],[3.465,3.161],[0.511,2.317]],"v":[[23.396,98.676],[22.79,94.926],[17.364,87.313],[7.718,82.815],[-2.169,86.808],[-7.041,95.879],[-7.395,99.164],[-7.644,94.323],[-3.163,85.358],[7.718,80.641],[17.981,85.383],[23.361,92.486]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]},{"t":24,"s":[{"i":[[0.372,0],[3.395,0],[2.745,3.171],[-0.77,0],[0,0],[-3.425,-1.128]],"o":[[-2.709,3.051],[-3.49,0],[-0.13,0],[3.521,0],[0,0],[0.736,0.243]],"v":[[17.833,108.59],[7.798,113.377],[-1.599,109.066],[0.157,109.061],[7.764,109.456],[16.695,109.214]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]},{"t":24,"s":[{"i":[[0.731,3.326],[3.463,3.161],[6.255,0],[1.382,-1.336],[0.511,-1.952],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.539,-2.454],[-1.401,-1.279],[-6.255,0],[-3.416,3.304],[-0.692,2.646],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[23.362,92.486],[17.981,85.382],[7.718,80.642],[-3.164,85.358],[-7.643,94.319],[-6.315,102.544],[7.8,113.374],[22.318,102.05]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]},{"t":24,"s":[{"i":[[1.427,3.64],[3.584,3.306],[6.493,0],[1.43,-1.397],[0.622,-1.853],[-1.427,-3.795],[-6.517,0],[-2.023,5.379]],"o":[[-0.738,-1.882],[-1.45,-1.337],[-6.493,0],[-3.535,3.454],[-1.188,3.538],[2.023,5.379],[6.517,0],[1.427,-3.795]],"v":[[23.362,92.486],[17.962,87.849],[7.718,82.844],[-2.692,87.507],[-7.643,94.319],[-7.255,103.879],[7.792,118.052],[23.092,103.579]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]},{"t":24,"s":[{"i":[[0.642,1.938],[3.047,3.546],[6.255,0],[2.025,-2.773],[0.19,-1.347],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.54,-1.629],[-1.226,-1.426],[-6.255,0],[-2.393,3.277],[-0.244,1.731],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[22.949,90.878],[18.446,83.779],[7.715,77.503],[-5.317,85.475],[-8.088,94.686],[-7.219,100.342],[7.8,111.172],[23.221,99.848]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[157.962,-63.49,0]},"a":{"a":0,"k":[157.962,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek_to_idle.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek_to_idle.tgs new file mode 100644 index 000000000..e53ea9ac9 --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_close_and_peek_to_idle.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":33,"w":512,"h":512,"nm":"_password_peek - remove","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"parent":11,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"t":24,"s":[-12.879]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[127.498,460.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":24,"s":[127.498,860.89,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[-95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.422,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.738,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.422,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.738,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.422,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.738,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.422,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.738,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.422,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.738,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.422,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.738,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.264},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0.631,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.527,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.789,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.422,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.684,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.316,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.211,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.473,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.738,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.369,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.631,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.527,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.789,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.422,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.684,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.316,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.947,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.211,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.473,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.738,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.736},"o":{"x":0.167,"y":0.167},"t":23.369,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"t":24,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"t":24,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12.631,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"t":24,"s":[19]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[378.502,550.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":24,"s":[378.502,850.89,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[103.513,107.589]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.059,112.859]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.538,116.654]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[105.017,121.766]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[106.402,128.737]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[107.842,140.839]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[109.303,159.126]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[111.369,186.872]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[113.081,199.218]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":8,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.875,55.938],[98.625,84.625],[114,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.25,55.75],[98.625,84.625],[113.875,201.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[74.875,55.438],[98.625,84.625],[113.688,201.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[75.688,55],[98.625,84.625],[113.375,201.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[76.688,54.5],[98.625,84.625],[112.938,200.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[77.813,53.938],[98.625,84.625],[112.375,199.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.949,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[79,53.313],[98.625,84.625],[111.625,197.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[80.375,52.625],[98.625,84.625],[110.688,196.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[81.75,51.938],[98.625,84.625],[109.688,195.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[83.125,51.25],[98.625,84.625],[108.688,194.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[84.5,50.5],[98.625,84.625],[107.625,193.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[85.875,49.813],[98.625,84.625],[106.625,192.563]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[87.188,49.125],[98.625,84.625],[105.813,191.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[88.438,48.5],[98.625,84.625],[105.125,190.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[89.563,47.938],[98.625,84.625],[104.625,189.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[90.563,47.438],[98.625,84.625],[104.313,188.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.375,47.063],[98.625,84.625],[104.125,188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[91.938,46.75],[98.625,84.625],[104,187.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.375,46.563],[98.625,84.625],[104.063,186.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.125,185.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.842,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.25,184.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.264,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.438,184.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.686,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.563,183.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.105,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.688,183.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.525,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.75,183.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.949,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.875,183.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.365,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,183]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.791,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[104.938,182.938]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.209,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.635,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.053,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.475,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.895,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.314,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23.158,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":23.58,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[92.5,46.438],[98.625,84.625],[105,182.875]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[171.852,107.589],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[172.674,112.859],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[173.517,116.654],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[174.36,121.766],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.707,128.737],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.109,140.839],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.531,159.126],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.922,186.872],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.752,199.218],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.313,201.75],[156.688,64.313],[162.125,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.188,200.75],[156.688,64.313],[162.063,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189,199.063],[156.688,64.313],[161.938,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188.563,196.688],[156.688,64.313],[161.688,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[188,193.75],[156.688,64.313],[161.5,37.438]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.188,190.375],[156.688,64.313],[161.188,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.949,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[186.125,186.688],[156.688,64.313],[160.938,37.375]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.813,182.938],[156.688,64.313],[160.563,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[183.313,179.313],[156.688,64.313],[160.25,37.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.75,176],[156.688,64.313],[159.938,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[180.125,173.063],[156.688,64.313],[159.563,37.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[178.688,170.563],[156.688,64.313],[159.25,37.188]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,168.438],[156.688,64.313],[158.938,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.438,166.75],[156.688,64.313],[158.625,37.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.875,165.5],[156.688,64.313],[158.375,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.563,164.563],[156.688,64.313],[158.125,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.438,163.813],[156.688,64.313],[157.938,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.5,163.313],[156.688,64.313],[157.75,37.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[175.688,162.938],[156.688,64.313],[157.688,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176,162.75],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.842,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.313,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.264,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.625,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.686,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.875,162.688],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.105,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.125,162.813],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.525,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.313,162.938],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.949,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.438,163],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.365,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.563,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.791,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.063],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.209,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.625,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.635,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.053,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.475,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.895,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.314,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23.158,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":23.58,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[177.688,163.125],[156.688,64.313],[157.625,37]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[-16.504,2.432],[0,0],[10.257,22.27],[0,0],[11.75,-13.313],[0.118,-11.22]],"o":[[0,0],[19.509,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[-0.093,8.794]],"v":[[119.563,116.589],[148.94,117.714],[172.759,109.589],[159.875,83.125],[159.454,86.599],[128.056,69.51],[122.641,99.378]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[-16.571,2.432],[0,0],[10.118,23.473],[0,0],[11.75,-13.313],[-0.05,-12.111]],"o":[[0,0],[19.588,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.069,9.727]],"v":[[120.173,121.859],[149.67,122.984],[173.586,114.859],[159.875,83.125],[159.342,86.636],[127.962,69.552],[122.721,101.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-16.659,2.433],[0,0],[9.936,25.055],[0,0],[11.75,-13.313],[-0.271,-13.283]],"o":[[0,0],[19.692,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.283,10.954]],"v":[[120.738,125.654],[150.391,126.779],[174.433,118.654],[159.875,83.125],[159.194,86.685],[127.838,69.607],[122.825,103.716]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[-16.747,2.433],[0,0],[9.755,26.638],[0,0],[11.75,-13.313],[-0.493,-14.455]],"o":[[0,0],[19.796,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.496,12.18]],"v":[[121.303,130.766],[151.112,131.891],[175.281,123.766],[159.875,83.125],[159.046,86.735],[127.715,69.661],[122.93,106.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-16.979,2.434],[0,0],[9.274,30.821],[0,0],[11.75,-13.313],[-1.078,-17.553]],"o":[[0,0],[20.07,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.061,15.423]],"v":[[122.913,137.737],[153.136,138.862],[177.64,130.737],[159.875,83.125],[158.656,86.865],[127.388,69.807],[123.207,112.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[-17.211,2.434],[0,0],[8.793,35.004],[0,0],[11.75,-13.313],[-1.663,-20.652]],"o":[[0,0],[20.345,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.625,18.667]],"v":[[124.579,149.839],[155.215,150.964],[180.055,142.839],[159.875,83.125],[158.265,86.995],[127.062,69.952],[123.484,119.209]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-17.443,2.435],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-2.248,-23.75]],"o":[[0,0],[20.619,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.19,21.91]],"v":[[126.266,168.126],[157.315,169.251],[182.49,161.126],[159.875,83.125],[157.875,87.125],[126.735,70.097],[123.761,125.724]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[-17.763,2.436],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.055,-28.02]],"o":[[0,0],[20.998,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.967,26.379]],"v":[[128.643,195.872],[160.262,196.997],[185.899,188.872],[159.875,83.125],[157.875,87.125],[126.285,70.297],[124.186,131.025]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[-18.033,2.437],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.735,-31.621]],"o":[[0,0],[21.317,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[3.624,30.15]],"v":[[130.617,208.218],[162.717,209.343],[188.743,201.218],[159.875,83.125],[157.875,87.125],[125.905,70.466],[124.544,135.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":8,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,210.938],[163.875,211.938],[190.313,203.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.625,210.563],[163,211.313],[190.25,202.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.375,209.875],[161.438,210.188],[190.063,201],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.063,208.813],[159.125,208.625],[189.688,198.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[130.5,207.375],[156.188,206.813],[189.188,195.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[129.813,205.625],[153,204.75],[188.375,192.25],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.949,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128.938,203.688],[149.813,202.563],[187.375,188.5],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[128,201.75],[146.75,200.5],[186.125,184.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[126.875,199.938],[143.938,198.563],[184.688,181.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[125.813,198.313],[141.438,196.813],[183.188,177.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[124.688,196.875],[139.25,195.375],[181.625,174.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[123.688,195.688],[137.375,194.063],[180.188,172.188],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.813,194.563],[135.875,193],[179,170.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[122.063,193.5],[134.688,192],[178,168.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.563,192.5],[133.875,191],[177.438,167.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.25,191.438],[133.375,190.063],[177.125,166.125],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,190.563],[133.125,189.25],[177,165.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189.75],[133,188.5],[177.063,164.875],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[120.938,189],[133,187.813],[177.25,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121,188.313],[133.125,187.25],[177.563,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.842,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.063,187.688],[133.188,186.75],[177.875,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.264,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.188,187.25],[133.313,186.438],[178.188,164.313],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.686,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.313,187],[133.438,186.188],[178.438,164.375],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.105,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.438,186.813],[133.563,186.063],[178.625,164.438],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.525,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.5,186.688],[133.688,186],[178.813,164.563],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.949,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.625],[133.75,186],[178.938,164.625],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.365,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.625,186.563],[133.813,185.938],[179.063,164.688],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.791,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.813,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.209,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.938],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.635,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.053,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.475,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.895,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.314,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23.158,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":23.58,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[121.688,186.5],[133.875,185.875],[179.125,164.75],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.865,0.036]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.135,-0.063]],"v":[[172.759,109.589],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[103.513,110.589],[134.308,118.276]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.937,0.037]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.261,-0.063]],"v":[[173.586,114.859],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.059,115.859],[134.978,123.546]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.032,0.038]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.427,-0.063]],"v":[[174.433,118.654],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.538,119.654],[135.622,127.342]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.127,0.04]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.593,-0.063]],"v":[[175.281,123.766],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[105.017,124.766],[136.265,132.453]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.379,0.043]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.031,-0.063]],"v":[[177.64,130.737],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[106.402,131.737],[138.083,139.424]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.63,0.047]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.469,-0.063]],"v":[[180.055,142.839],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[107.842,143.839],[139.956,151.527]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.881,0.051]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.907,-0.063]],"v":[[182.49,161.126],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[109.303,162.126],[141.851,169.813]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.228,0.056]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[33.511,-0.063]],"v":[[185.899,188.872],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[111.369,189.872],[144.514,197.56]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.52,0.06]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.02,-0.063]],"v":[[188.743,201.218],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[113.081,202.218],[146.729,209.906]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.396},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.313,203.75],[156.688,64.313],[159.75,34.75],[150.5,44.563],[146.625,32.125],[142.375,31.125],[134.375,39.938],[123.438,26],[119.063,26.813],[113.813,44.063],[96.438,37.063],[93,39.375],[92.875,59.063],[73.375,51.063],[98.625,84.625],[114.063,205.063],[147.75,212.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.25,202.688],[156.688,64.313],[159.688,34.75],[150.625,44.5],[146.875,32.188],[142.625,31.125],[134.688,39.875],[123.938,26],[119.563,26.813],[114.313,44.063],[97.125,36.938],[93.688,39.25],[93.188,59],[73.813,50.875],[98.625,84.625],[113.938,204.938],[146.875,211.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.063,201],[156.688,64.313],[159.5,34.813],[150.813,44.375],[147.25,32.313],[143,31.125],[135.188,39.75],[124.75,26.063],[120.375,26.875],[115.125,44.125],[98.188,36.688],[94.75,39],[93.688,58.813],[74.5,50.563],[98.625,84.625],[113.813,204.625],[145.25,210.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.686,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.688,198.625],[156.688,64.313],[159.25,34.813],[151,44.25],[147.688,32.438],[143.5,31.125],[135.875,39.563],[125.813,26.125],[121.438,26.938],[116.188,44.188],[99.625,36.313],[96.188,38.625],[94.313,58.625],[75.375,50.188],[98.625,84.625],[113.563,204.063],[142.938,209.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[189.188,195.688],[156.688,64.313],[158.938,34.875],[151.313,44.125],[148.25,32.563],[144.125,31.125],[136.688,39.438],[127.125,26.125],[122.75,26.938],[117.5,44.188],[101.375,35.938],[97.938,38.25],[95.125,58.313],[76.438,49.75],[98.625,84.625],[113.25,203.188],[139.938,207.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.525,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[188.375,192.25],[156.688,64.313],[158.625,34.938],[151.688,43.938],[148.938,32.75],[144.813,31.125],[137.625,39.25],[128.563,26.188],[124.188,27],[118.938,44.25],[103.375,35.438],[99.938,37.75],[96.063,58],[77.688,49.188],[98.625,84.625],[112.75,202.063],[136.625,205.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10.949,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[187.375,188.5],[156.688,64.313],[158.25,35],[152.063,43.75],[149.625,32.938],[145.563,31.188],[138.688,39],[130.188,26.25],[125.813,27.063],[120.563,44.313],[105.563,34.938],[102.125,37.25],[97.063,57.688],[79,48.625],[98.625,84.625],[112.063,200.813],[133.25,203.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.365,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[186.125,184.688],[156.688,64.313],[157.875,35.063],[152.438,43.563],[150.438,33.125],[146.313,31.188],[139.813,38.75],[131.938,26.313],[127.563,27.125],[122.313,44.375],[107.875,34.438],[104.438,36.75],[98.125,57.313],[80.438,48],[98.625,84.625],[111.25,199.5],[130.125,201.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.791,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[184.688,181.063],[156.688,64.313],[157.5,35.125],[152.875,43.375],[151.25,33.313],[147.188,31.188],[140.938,38.5],[133.75,26.375],[129.375,27.188],[124.125,44.438],[110.313,33.875],[106.875,36.188],[99.25,56.938],[81.938,47.375],[98.625,84.625],[110.375,198.25],[127.25,199.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.209,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[183.188,177.688],[156.688,64.313],[157.063,35.188],[153.25,43.125],[152.063,33.563],[148.063,31.188],[142.125,38.25],[135.563,26.438],[131.188,27.25],[125.938,44.5],[112.813,33.313],[109.375,35.625],[100.375,56.563],[83.5,46.688],[98.625,84.625],[109.375,197.188],[124.688,197.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12.635,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[181.625,174.75],[156.688,64.313],[156.625,35.25],[153.688,42.938],[152.875,33.75],[148.875,31.188],[143.313,38],[137.438,26.563],[133.063,27.375],[127.813,44.625],[115.313,32.688],[111.875,35],[101.5,56.188],[85.063,46.063],[98.625,84.625],[108.438,196.25],[122.438,196.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[180.188,172.188],[156.688,64.313],[156.25,35.313],[154.125,42.75],[153.688,34],[149.75,31.188],[144.438,37.813],[139.25,26.625],[134.875,27.438],[129.625,44.688],[117.75,32.125],[114.313,34.438],[102.625,55.813],[86.563,45.375],[98.625,84.625],[107.5,195.375],[120.5,195.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.475,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179,170.063],[156.688,64.313],[155.875,35.375],[154.5,42.5],[154.438,34.188],[150.563,31.188],[145.563,37.563],[140.938,26.688],[136.563,27.5],[131.313,44.75],[120.063,31.625],[116.625,33.938],[103.688,55.438],[88,44.75],[98.625,84.625],[106.75,194.625],[118.938,194.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178,168.313],[156.688,64.313],[155.5,35.375],[154.875,42.313],[155.188,34.375],[151.313,31.188],[146.563,37.313],[142.563,26.75],[138.188,27.563],[132.938,44.813],[122.25,31.125],[118.813,33.438],[104.688,55.125],[89.313,44.188],[98.625,84.625],[106.063,193.75],[117.75,193.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.314,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.438,167.063],[156.688,64.313],[155.188,35.438],[155.25,42.188],[155.813,34.563],[152,31.25],[147.5,37.125],[144.063,26.813],[139.688,27.625],[134.438,44.875],[124.25,30.625],[120.813,32.938],[105.625,54.813],[90.563,43.688],[98.625,84.625],[105.625,192.813],[116.875,192.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.125,166.125],[156.688,64.313],[154.875,35.5],[155.5,42],[156.375,34.688],[152.563,31.25],[148.375,36.938],[145.375,26.813],[141,27.625],[135.75,44.875],[125.938,30.25],[122.5,32.563],[106.438,54.563],[91.625,43.188],[98.625,84.625],[105.25,191.75],[116.375,191.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177,165.375],[156.688,64.313],[154.625,35.5],[155.75,41.875],[156.875,34.813],[153.063,31.25],[149,36.813],[146.438,26.875],[142.063,27.688],[136.813,44.938],[127.375,29.938],[123.938,32.25],[107.063,54.313],[92.5,42.813],[98.625,84.625],[105.063,190.813],[116.063,190.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.063,164.875],[156.688,64.313],[154.5,35.563],[155.938,41.813],[157.25,34.938],[153.438,31.25],[149.563,36.688],[147.25,26.875],[142.875,27.688],[137.625,44.938],[128.5,29.688],[125.063,32],[107.563,54.188],[93.188,42.5],[98.625,84.625],[104.938,189.875],[116,190]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.25,164.563],[156.688,64.313],[154.375,35.563],[156.063,41.75],[157.438,35],[153.688,31.25],[149.875,36.625],[147.75,26.938],[143.375,27.75],[138.125,45],[129.188,29.5],[125.75,31.813],[107.875,54.063],[93.625,42.313],[98.625,84.625],[104.938,189],[116,189.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.42,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.563,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.063,188.188],[116.063,188.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16.842,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[177.875,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.125,187.5],[116.188,187.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.264,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.188,164.313],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.25,186.938],[116.25,187.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.686,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.438,164.375],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.375,186.5],[116.375,187.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.105,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.625,164.438],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.5,186.25],[116.5,186.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.525,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.813,164.563],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.563,186.063],[116.625,186.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18.949,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[178.938,164.625],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.938],[116.688,186.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.365,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.063,164.688],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.688,185.875],[116.75,186.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.791,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.813],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.209,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.635,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.053,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.475,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.895,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.314,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.736,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23.158,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"i":{"x":0.833,"y":0.604},"o":{"x":0.167,"y":0.167},"t":23.58,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]},{"t":24,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[179.125,164.75],[156.688,64.313],[154.313,35.563],[156.125,41.75],[157.5,35],[153.75,31.25],[150,36.625],[147.938,26.938],[143.563,27.75],[138.313,45],[129.438,29.438],[126,31.75],[108,54],[93.75,42.25],[98.625,84.625],[105.75,185.75],[116.75,186.438]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[-18.559,-31.688]],"o":[[0,0],[0,0]],"v":[[25.044,-84.597],[74.379,-38.14]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[-18.306,-31.806]],"o":[[0,0],[0,0]],"v":[[25.692,-85.086],[74.392,-38.15]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-17.973,-31.96]],"o":[[0,0],[0,0]],"v":[[26.545,-85.729],[74.409,-38.162]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[-17.641,-32.114]],"o":[[0,0],[0,0]],"v":[[27.397,-86.373],[74.426,-38.175]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-16.761,-32.521]],"o":[[0,0],[0,0]],"v":[[29.651,-88.073],[74.47,-38.208]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[-15.882,-32.929]],"o":[[0,0],[0,0]],"v":[[31.904,-89.773],[74.515,-38.241]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-15.003,-33.336]],"o":[[0,0],[0,0]],"v":[[34.158,-91.473],[74.559,-38.274]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[-13.791,-33.898]],"o":[[0,0],[0,0]],"v":[[37.264,-93.817],[74.621,-38.32]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[-12.769,-34.372]],"o":[[0,0],[0,0]],"v":[[39.884,-95.793],[74.673,-38.358]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[0,0],[-9.623,-65.983]],"o":[[0,0],[0,0]],"v":[[86.517,-104.667],[113.459,-44.71]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-16.69,-65.288]],"o":[[0,0],[0,0]],"v":[[73.894,-101.727],[107.348,-44.337]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[4.1,-14.641]],"o":[[0,0],[0,0]],"v":[[149.171,-70.646],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[3.787,-14.747]],"o":[[0,0],[0,0]],"v":[[148.551,-70.809],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[3.374,-14.887]],"o":[[0,0],[0,0]],"v":[[147.736,-71.024],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[2.961,-15.027]],"o":[[0,0],[0,0]],"v":[[146.92,-71.238],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.87,-15.397]],"o":[[0,0],[0,0]],"v":[[144.764,-71.805],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[0.779,-15.766]],"o":[[0,0],[0,0]],"v":[[142.609,-72.371],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-0.311,-16.136]],"o":[[0,0],[0,0]],"v":[[140.453,-72.938],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[0,0],[-1.815,-16.645]],"o":[[0,0],[0,0]],"v":[[137.482,-73.719],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[-3.083,-17.075]],"o":[[0,0],[0,0]],"v":[[134.976,-74.378],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[0,0],[-0.82,-17.124]],"o":[[0,0],[0,0]],"v":[[147.278,-73.523],[156.287,-33.644]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-2.646,-17.122]],"o":[[0,0],[0,0]],"v":[[138.271,-76.891],[151.566,-37.773]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[0,0],[0.95,-2.261]],"o":[[0,0],[0,0]],"v":[[113.289,-50.822],[113.153,-50.098]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[0,0],[0.139,-3.892]],"o":[[0,0],[0,0]],"v":[[112.896,-51.418],[112.986,-50.101]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-0.929,-6.037]],"o":[[0,0],[0,0]],"v":[[112.38,-52.201],[112.766,-50.104]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[0,0],[-1.996,-8.182]],"o":[[0,0],[0,0]],"v":[[111.863,-52.985],[112.546,-50.107]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-4.817,-13.853]],"o":[[0,0],[0,0]],"v":[[110.497,-55.057],[111.965,-50.115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[0,0],[-7.638,-19.523]],"o":[[0,0],[0,0]],"v":[[109.132,-57.128],[111.385,-50.124]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-10.46,-25.194]],"o":[[0,0],[0,0]],"v":[[107.766,-59.2],[110.804,-50.132]],"c":false}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5.5,"s":[{"i":[[0,0],[-10.58,-23.06]],"o":[[0,0],[0,0]],"v":[[87.059,-94.242],[110.004,-50.144]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[0,0],[-9.581,-27.559]],"o":[[0,0],[0,0]],"v":[[83.177,-99.786],[109.329,-50.153]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[0,0],[-3.221,-30.331]],"o":[[0,0],[0,0]],"v":[[116.515,-115.508],[136.69,-53.721]],"c":false}]},{"t":24,"s":[{"i":[[0,0],[-6.464,-30.14]],"o":[[0,0],[0,0]],"v":[[102.888,-115.812],[129.737,-55.865]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[23.358,-0.525],[5.921,-12.862],[25.32,1.323],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.47,0.55],[0,0],[-12.114,-0.633],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[24.122,-0.161],[5.44,-12.692],[25.348,1.353],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.893,0.27],[0,0],[-12.115,-0.593],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[24.491,0.318],[4.808,-12.468],[25.385,1.393],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.799,-0.098],[0,0],[-12.115,-0.541],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[23.492,0.797],[4.175,-12.244],[25.421,1.432],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.363,-0.467],[0,0],[-12.116,-0.488],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[21.683,2.064],[2.503,-11.652],[25.519,1.536],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-1.441],[0,0],[-12.117,-0.349],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[23.426,3.331],[0.83,-11.06],[25.616,1.64],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.454,-2.415],[0,0],[-12.119,-0.211],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[26.99,4.598],[-0.842,-10.468],[25.713,1.744],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.389],[0,0],[-12.12,-0.072],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[21.946,6.343],[-0.183,-9.096],[19.875,0.834],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-4.732],[0,0],[-12.122,0.12],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[19.227,7.816],[0.374,-7.939],[14.95,0.067],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.865],[0,0],[-12.124,0.281],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[1.676,27.483],[2.293,28.734],[3.07,5.382],[11.575,9.843],[-4.135,-6.511],[8.601,0.539],[0.04,-12.061],[4.168,-9.585],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.189,-14.881],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.238,12.055],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[1.676,27.483],[3.695,28.652],[3.658,5.082],[12.679,8.661],[-4.848,-6.104],[8.701,-0.373],[-1.243,-12.125],[3.171,-10.075],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-1.916,-14.839],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-3.982,12.672],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[42.06,61.566],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.334,5.013],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.225,-26.939],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[41.409,61.901],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.282,5.039],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.299,-27.398],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[40.553,62.342],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.212,5.074],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.396,-28.003],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[39.696,62.782],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.142,5.109],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.493,-28.608],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[37.433,63.947],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.958,5.201],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.751,-30.207],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[35.169,65.112],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.775,5.292],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.008,-31.806],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[32.905,66.276],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.591,5.384],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.265,-33.405],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[29.786,67.882],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.337,5.511],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.619,-35.609],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[27.154,69.236],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.123,5.617],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.918,-37.468],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[10.643,70.793],[-0.439,-4.83],[-5.174,-30.8],[1.97,27.525],[1.391,28.785],[0.608,4.602],[42.671,-3.275]],"o":[[0.808,5.736],[2.251,24.762],[5.172,30.786],[0,0],[-0.218,-4.512],[0,0],[-33.501,2.571]],"v":[[79.2,-46.36],[84.434,-18.331],[91.955,44.096],[157.821,30.381],[159.169,-13.797],[157.931,-27.545],[126.056,33.44]],"c":true}]},{"t":24,"s":[{"i":[[18.227,70.013],[-0.955,-4.807],[-5.174,-30.8],[1.97,27.525],[2.796,28.747],[0.833,4.577],[42.671,-3.275]],"o":[[1.422,5.679],[4.897,24.645],[5.172,30.786],[0,0],[-0.438,-4.506],[0,0],[-33.501,2.571]],"v":[[72.743,-42.351],[80.985,-14.74],[91.955,44.096],[157.821,30.381],[156.339,-15.374],[154.428,-29.076],[126.056,33.44]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[-3.834,-6.538],[0.488,1.578],[-17.673,-17.397],[-5.005,-1.667],[0,0],[9.732,9.493],[0,0],[-15.686,-11.731],[-8.233,-5.66],[-1.79,1.532],[0,0],[0,0],[-23.985,-23.807],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.608,3.612],[32.523,0.691],[7.531,-13.082],[24.263,1.674],[-4.657,-11.333],[1.645,-14.386]],"o":[[0.385,-1.779],[-3.076,-9.939],[18.818,18.524],[6.588,2.194],[-5.095,-10.879],[-9.73,-9.49],[0.57,-18.714],[14.167,10.595],[9.116,6.267],[1.792,-1.533],[-2.635,4.089],[10.399,-17.315],[24.266,24.085],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.47,-0.52],[0,0],[-12.097,-0.835],[0,0],[-0.516,4.515]],"v":[[16.973,-54.518],[16.879,-59.652],[37.966,-60.871],[69.305,-32.534],[73.995,-38.863],[41.387,-71.59],[27.954,-87.105],[60.423,-86.062],[103.976,-50.609],[113.869,-50.602],[116.047,-53.876],[112.759,-49.264],[125.003,-110.404],[140.114,-32.473],[147.793,-35.753],[150.285,-51.214],[169.48,-38.408],[149.466,-70.509],[124.993,-123.075],[113.522,-50.602],[38.14,-104.979],[25.361,-84.673],[11.199,-71.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[-3.765,-6.568],[0.472,1.581],[-17.482,-17.548],[-4.989,-1.704],[0,0],[9.627,9.576],[0,0],[-15.552,-11.869],[-8.086,-5.789],[-1.732,1.512],[0,0],[0,0],[-25.082,-23.9],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.633,3.441],[33.086,1.007],[6.981,-12.829],[24.325,1.663],[-4.541,-11.365],[1.783,-14.352]],"o":[[0.402,-1.773],[-2.976,-9.957],[18.615,18.685],[6.566,2.243],[-5.009,-10.909],[-9.626,-9.574],[0.751,-18.685],[14.047,10.72],[8.933,6.372],[1.734,-1.513],[-2.699,3.326],[9.625,-16.997],[24.788,23.789],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.894,-0.757],[0,0],[-12.098,-0.786],[0,0],[-0.56,4.505]],"v":[[17.338,-55.122],[17.294,-60.251],[38.367,-61.263],[69.279,-32.586],[74.014,-38.875],[41.889,-71.935],[28.623,-87.563],[60.979,-86.425],[103.768,-50.638],[113.686,-50.515],[115.752,-53.811],[112.463,-49.914],[123.764,-109.848],[140.114,-32.473],[147.793,-35.753],[149.982,-51.277],[169.094,-39.086],[148.847,-70.677],[122.966,-122.87],[113.133,-51.206],[38.886,-105.636],[26.01,-85.159],[11.736,-72.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-3.676,-6.607],[0.451,1.585],[-17.231,-17.747],[-4.967,-1.752],[0,0],[9.49,9.686],[0,0],[-15.377,-12.052],[-7.892,-5.959],[-1.655,1.486],[0,0],[0,0],[-25.857,-24.022],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.666,3.215],[32.961,1.422],[6.257,-12.495],[24.407,1.65],[-4.388,-11.406],[1.965,-14.308]],"o":[[0.424,-1.765],[-2.843,-9.98],[18.347,18.896],[6.538,2.306],[-4.896,-10.95],[-9.489,-9.683],[0.99,-18.648],[13.888,10.885],[8.694,6.511],[1.657,-1.487],[-2.784,2.323],[8.606,-16.577],[24.824,23.399],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.8,-1.07],[0,0],[-12.099,-0.723],[0,0],[-0.617,4.491]],"v":[[17.818,-55.917],[17.84,-61.039],[38.895,-61.778],[69.245,-32.654],[74.038,-38.891],[42.549,-72.39],[29.503,-88.164],[61.712,-86.902],[103.493,-50.676],[113.446,-50.401],[115.364,-53.727],[112.074,-50.77],[122.963,-109.116],[140.114,-32.473],[147.793,-35.753],[149.584,-51.359],[168.586,-39.978],[148.034,-70.899],[121.165,-122.6],[112.621,-52.001],[39.867,-106.501],[26.863,-85.798],[12.442,-72.92]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[-3.586,-6.645],[0.43,1.588],[-16.98,-17.945],[-4.946,-1.8],[0,0],[9.352,9.796],[0,0],[-15.201,-12.234],[-7.698,-6.128],[-1.579,1.46],[0,0],[0,0],[-25.153,-24.144],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.699,2.99],[31.052,1.837],[5.534,-12.162],[24.488,1.636],[-4.236,-11.448],[2.147,-14.264]],"o":[[0.446,-1.758],[-2.711,-10.004],[18.08,19.108],[6.51,2.369],[-4.783,-10.99],[-9.351,-9.793],[1.229,-18.611],[13.73,11.05],[8.454,6.649],[1.581,-1.461],[-2.869,1.32],[7.587,-16.158],[23.505,23.01],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.364,-1.382],[0,0],[-12.101,-0.66],[0,0],[-0.674,4.477]],"v":[[18.298,-56.712],[18.385,-61.827],[39.423,-62.294],[69.211,-32.722],[74.063,-38.906],[43.208,-72.844],[30.383,-88.766],[62.444,-87.38],[103.219,-50.714],[113.206,-50.287],[114.977,-53.642],[111.685,-51.626],[123.757,-108.385],[140.114,-32.473],[147.793,-35.753],[149.186,-51.441],[168.078,-40.871],[147.22,-71.12],[121.147,-122.331],[112.108,-52.796],[40.849,-107.365],[27.716,-86.437],[13.148,-73.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-3.348,-6.747],[0.373,1.598],[-16.316,-18.47],[-4.89,-1.927],[0,0],[8.987,10.087],[0,0],[-14.738,-12.716],[-7.186,-6.576],[-1.376,1.391],[0,0],[0,0],[-23.977,-24.466],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.786,2.394],[27.436,2.935],[3.622,-11.28],[24.703,1.6],[-3.832,-11.558],[2.628,-14.147]],"o":[[0.505,-1.737],[-2.361,-10.066],[17.373,19.667],[6.436,2.537],[-4.485,-11.096],[-8.989,-10.082],[1.861,-18.512],[13.311,11.485],[7.82,7.015],[1.38,-1.391],[-3.093,-1.332],[4.894,-15.05],[21.03,21.98],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-20.643,-2.208],[0,0],[-12.104,-0.492],[0,0],[-0.825,4.44]],"v":[[19.566,-58.813],[19.828,-63.909],[40.818,-63.656],[69.121,-32.903],[74.127,-38.948],[44.952,-74.046],[32.709,-90.357],[64.38,-88.642],[102.493,-50.813],[112.571,-49.985],[113.952,-53.418],[110.657,-53.889],[124.001,-106.451],[140.114,-32.473],[147.793,-35.753],[148.134,-51.659],[166.736,-43.23],[145.068,-71.705],[119.672,-121.618],[110.755,-54.897],[43.443,-109.651],[29.971,-88.126],[15.014,-75.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[-3.11,-6.85],[0.317,1.608],[-15.651,-18.996],[-4.833,-2.055],[0,0],[8.623,10.377],[0,0],[-14.274,-13.198],[-6.674,-7.024],[-1.173,1.321],[0,0],[0,0],[-26.603,-24.789],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.873,1.798],[28.514,4.033],[1.71,-10.398],[24.919,1.564],[-3.428,-11.668],[3.108,-14.031]],"o":[[0.563,-1.716],[-2.012,-10.128],[16.666,20.227],[6.361,2.704],[-4.186,-11.202],[-8.626,-10.372],[2.492,-18.414],[12.892,11.92],[7.187,7.381],[1.178,-1.322],[-3.317,-3.983],[2.201,-13.941],[22.108,20.95],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-21.455,-3.034],[0,0],[-12.107,-0.325],[0,0],[-0.975,4.404]],"v":[[20.835,-60.914],[21.271,-65.991],[42.213,-65.019],[69.031,-33.083],[74.192,-38.989],[46.696,-75.247],[35.035,-91.948],[66.316,-89.904],[101.767,-50.913],[111.936,-49.683],[112.927,-53.195],[109.628,-56.151],[119.945,-104.517],[140.114,-32.473],[147.793,-35.753],[147.081,-51.877],[165.393,-45.588],[142.917,-72.29],[113.502,-120.905],[109.401,-56.998],[46.037,-111.936],[32.226,-89.816],[16.88,-78.211]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-2.872,-6.952],[0.261,1.618],[-14.987,-19.521],[-4.777,-2.182],[0,0],[8.259,10.668],[0,0],[-13.81,-13.679],[-6.162,-7.473],[-0.971,1.252],[0,0],[0,0],[-31.345,-25.111],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.96,1.202],[31.735,5.13],[-0.203,-9.516],[25.134,1.527],[-3.025,-11.778],[3.589,-13.914]],"o":[[0.622,-1.696],[-1.662,-10.19],[15.958,20.786],[6.287,2.872],[-3.888,-11.309],[-8.263,-10.661],[3.124,-18.316],[12.473,12.355],[6.553,7.747],[0.976,-1.253],[-3.541,-6.635],[-0.492,-12.833],[24.865,19.92],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.879,-3.86],[0,0],[-12.11,-0.157],[0,0],[-1.126,4.367]],"v":[[22.104,-63.014],[22.714,-68.074],[43.608,-66.382],[68.942,-33.264],[74.256,-39.03],[48.44,-76.449],[37.362,-93.539],[68.253,-91.165],[101.041,-51.013],[111.301,-49.381],[111.902,-52.971],[108.6,-58.414],[114.211,-102.583],[140.114,-32.473],[147.793,-35.753],[146.029,-52.095],[164.05,-47.947],[140.765,-72.876],[105.034,-120.192],[108.047,-59.1],[48.632,-114.222],[34.48,-91.505],[18.747,-80.436]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[-2.545,-7.093],[0.183,1.632],[-14.072,-20.245],[-4.699,-2.357],[0,0],[7.756,11.068],[0,0],[-13.171,-14.343],[-5.457,-8.09],[-0.691,1.157],[0,0],[0,0],[-23.45,-23.386],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.08,0.38],[24.465,6.647],[0.185,-8.555],[19.546,0.712],[-2.468,-11.929],[4.251,-13.753]],"o":[[0.703,-1.668],[-1.18,-10.276],[14.984,21.557],[6.185,3.103],[-3.476,-11.455],[-7.764,-11.06],[3.994,-18.18],[11.896,12.955],[5.679,8.251],[0.698,-1.157],[-3.85,-10.289],[0.308,-12.183],[21.091,21.879],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-18.41,-4.999],[0,0],[-12.114,0.074],[0,0],[-1.334,4.317]],"v":[[23.852,-65.91],[24.703,-70.944],[45.531,-68.26],[68.818,-33.513],[74.345,-39.087],[50.843,-78.105],[40.568,-95.732],[70.921,-92.905],[100.041,-51.15],[110.425,-48.965],[110.489,-52.662],[98.362,-77.246],[113.949,-98.093],[140.114,-32.473],[147.793,-35.753],[144.578,-52.395],[162.2,-51.198],[137.8,-73.682],[103.848,-120.021],[87.357,-94.182],[52.207,-117.372],[37.588,-93.833],[21.319,-83.503]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[-2.268,-7.212],[0.118,1.643],[-13.3,-20.855],[-4.633,-2.505],[0,0],[7.333,11.406],[0,0],[-12.632,-14.904],[-4.861,-8.611],[-0.456,1.076],[0,0],[0,0],[-18.576,-21.931],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.182,-0.313],[20.141,7.926],[0.512,-7.745],[14.833,0.024],[-1.999,-12.057],[4.81,-13.618]],"o":[[0.771,-1.644],[-0.773,-10.349],[14.162,22.207],[6.099,3.297],[-3.129,-11.579],[-7.342,-11.397],[4.729,-18.066],[11.409,13.461],[4.943,8.676],[0.464,-1.076],[-4.111,-13.372],[0.983,-11.635],[19.324,23.531],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-15.156,-5.959],[0,0],[-12.118,0.268],[0,0],[-1.509,4.274]],"v":[[25.327,-68.352],[26.381,-73.364],[47.153,-69.844],[68.713,-33.723],[74.42,-39.136],[52.871,-79.502],[43.272,-97.582],[73.172,-94.372],[99.197,-51.267],[109.687,-48.614],[109.297,-52.402],[89.727,-93.131],[112.312,-94.306],[140.114,-32.473],[147.793,-35.753],[143.355,-52.648],[160.639,-53.94],[135.298,-74.363],[100.909,-119.876],[83.489,-99.761],[55.223,-120.029],[40.21,-95.797],[23.489,-86.089]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[-0.732,-7.321],[-0.111,1.63],[-6.871,-21.828],[-2.976,-2.892],[0,0],[3.808,11.942],[0,0],[-7.116,-15.903],[-2.261,-9.106],[-0.339,0.988],[0,0],[0,0],[-8.946,-21.939],[-0.685,-3.177],[0,0],[0,0],[-0.301,-0.529],[3.373,0.585],[11.574,9.836],[1.253,-7.111],[8.605,0.533],[0.042,-12.066],[4.156,-9.127]],"o":[[0.742,-1.543],[0.701,-10.264],[7.316,23.242],[3.917,3.807],[-0.855,-11.683],[-3.807,-11.936],[5.512,-17.328],[6.427,14.363],[2.263,9.115],[0.34,-0.989],[-1.431,-15.217],[2.147,-11.037],[10.38,25.457],[0.602,2.792],[0,0],[-0.241,-8.888],[-3.533,-12.155],[0,0],[-8.707,-7.399],[0,0],[-8.598,-0.532],[0,0],[-1.805,3.967]],"v":[[73.898,-77.895],[75.245,-82.728],[95.837,-79.298],[107.935,-40.639],[112.592,-45.44],[100.078,-89.384],[88.349,-106.067],[111.894,-99.803],[129.59,-55.641],[136.736,-51.979],[136.677,-55.807],[119.907,-105.95],[130.914,-92.407],[156.234,-33.395],[156.257,-34.75],[149.197,-51.147],[152.717,-49.833],[147.302,-73.467],[125.215,-120.534],[116.74,-115.479],[101.029,-126.567],[85.973,-104.607],[74.737,-95.538]],"c":true}]},{"t":24,"s":[{"i":[[-1.514,-7.28],[0.061,1.65],[-9.227,-21.206],[-3.298,-2.59],[0,0],[5.097,11.596],[0,0],[-8.843,-15.225],[-3.241,-8.911],[-0.236,1.029],[0,0],[0,0],[-11.324,-21.096],[-1.026,-3.12],[0,0],[0,0],[-0.359,-0.5],[3.452,0.229],[12.678,8.654],[0.502,-7.28],[8.704,-0.38],[-1.241,-12.13],[3.207,-9.614]],"o":[[0.581,-1.63],[-0.388,-10.39],[9.825,22.58],[4.341,3.409],[-2.102,-11.65],[-5.095,-11.59],[3.696,-18],[7.987,13.751],[3.244,8.92],[0.237,-1.03],[-3.057,-15.14],[0.983,-11.32],[13.14,24.479],[0.902,2.742],[0,0],[-1.188,-8.907],[-4.844,-11.84],[0,0],[-9.537,-6.51],[0,0],[-8.698,0.38],[0,0],[-1.392,4.179]],"v":[[64.06,-73.479],[64.9,-78.479],[85.959,-77.223],[102.23,-39.658],[106.399,-44.978],[89.149,-87.81],[75.586,-103.328],[99.915,-99.538],[122.397,-57.039],[129.968,-54.119],[129.502,-57.959],[107.314,-106.568],[119.816,-94.129],[151.54,-37.516],[151.418,-38.881],[142.579,-54.608],[146.257,-53.662],[138.301,-76.838],[111.097,-121.789],[103.118,-115.807],[86.149,-125.279],[73.354,-101.608],[63.027,-91.299]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[32.534,0.698],[7.5,-11.546],[24.153,1.985],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.471,-0.525],[0,0],[-12.09,-0.994],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[33.097,1.014],[6.935,-11.395],[23.676,1.892],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.894,-0.763],[0,0],[-12.091,-0.939],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[32.973,1.43],[6.192,-11.196],[23.048,1.769],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.8,-1.075],[0,0],[-12.093,-0.868],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[31.063,1.845],[5.448,-10.996],[22.421,1.646],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.364,-1.388],[0,0],[-12.095,-0.797],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[27.446,2.943],[3.483,-10.469],[20.762,1.32],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-2.213],[0,0],[-12.1,-0.608],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[28.525,4.041],[1.518,-9.943],[19.104,0.995],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.455,-3.039],[0,0],[-12.105,-0.42],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[31.747,5.139],[-0.448,-9.416],[17.445,0.67],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.865],[0,0],[-12.11,-0.231],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.667},"o":{"x":0.167,"y":0.333},"t":5.5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[24.475,6.652],[0.042,-8.496],[15.159,0.222],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-5.003],[0,0],[-12.116,0.029],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.333},"t":6,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[20.15,7.929],[0.456,-7.72],[13.231,-0.157],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.963],[0,0],[-12.122,0.248],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16.42,"s":[{"i":[[1.676,27.483],[1.424,28.79],[2.778,5.732],[11.575,9.843],[1.247,-7.107],[8.601,0.539],[0.04,-12.061],[4.25,-9.083],[-1.933,-20.561],[-5.598,-30.564]],"o":[[0,0],[-1.39,-28.1],[0,0],[-8.706,-7.403],[0,0],[-8.601,-0.539],[0,0],[-5.569,11.907],[2.327,24.75],[5.598,30.564]],"v":[[158.002,30.408],[159.55,-13.781],[147.162,-73.484],[124.983,-120.557],[116.515,-115.508],[100.8,-126.589],[85.743,-104.635],[74.51,-95.563],[83.581,-18.309],[91.476,44.341]],"c":true}]},{"t":24,"s":[{"i":[[1.676,27.483],[2.83,28.75],[3.402,5.465],[12.679,8.661],[0.497,-7.275],[8.701,-0.373],[-1.243,-12.125],[3.306,-9.58],[-4.13,-20.458],[-5.598,-30.564]],"o":[[0,0],[-2.762,-28.061],[0,0],[-9.537,-6.514],[0,0],[-8.701,0.373],[0,0],[-4.33,12.558],[4.971,24.626],[5.598,30.564]],"v":[[158.002,30.408],[156.721,-15.376],[138.158,-76.84],[110.861,-121.787],[102.888,-115.812],[85.917,-125.277],[73.12,-101.612],[62.796,-91.3],[80.13,-14.627],[91.476,44.341]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[20]},{"t":12,"s":[0]}]},"p":{"a":0,"k":[341.929,268.75,0]},"a":{"a":0,"k":[87.294,20.789,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":1,"y":0},"t":0,"s":[{"i":[[-12.801,-44.719],[-7.19,-16.664],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[-2.869,-83.633],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[12.709,29.454],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[0.507,14.786],[0,0],[-12.067,1.247],[0,0]],"v":[[-1.225,69.692],[17.656,113.086],[49.904,144.181],[68.931,145.79],[51.49,160.266],[147.472,120.625],[117.368,125.178],[120.966,98.001],[123.817,91.889],[134.546,113.38],[95.537,-17.397],[79.733,56.172],[68.297,62.602],[21.29,19.282],[15.285,33.125]],"c":true}]},{"t":12,"s":[{"i":[[-3.234,1.162],[-2.46,-1.144],[-6.693,0.486],[-1.143,-0.902],[30.317,-18.567],[-14.52,12.287],[0.456,0.616],[-0.361,0.857],[-0.164,0.059],[6.008,28.397],[5.038,-1.804],[-0.723,0.265],[0.043,-0.015],[3.05,-1.092],[-0.656,0.236]],"o":[[0.85,-0.305],[4.348,2.021],[2.034,-0.162],[0.829,0.654],[32.946,-6.739],[-5.103,-21.33],[-0.804,-1.086],[0.234,-0.327],[0,0],[-5.862,-27.709],[0,0],[0.128,-0.047],[0,0],[-3.05,1.092],[0,0]],"v":[[87.03,135.071],[92.538,135.42],[101.888,135.85],[106.758,134.301],[51.49,160.266],[147.472,120.625],[118.205,127.697],[118.067,124.445],[118.631,123.753],[134.546,113.38],[111.487,126.32],[107.491,127.745],[104.6,128.78],[92.721,133.037],[91.203,133.58]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[20]},{"t":12,"s":[0]}]},"p":{"a":0,"k":[178.129,267.75,0]},"a":{"a":0,"k":[87.294,20.789,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":2,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"t":12,"s":[{"i":[[-2.263,0.741],[-0.665,0.16],[-3.893,2.031],[-0.513,0.16],[4.696,-2.915],[-14.52,12.287],[0.165,-0.015],[-0.339,0.268],[-0.092,0.078],[1.101,-0.279],[3.138,-1.829],[2.927,-1.582],[-0.012,-0.084],[1.902,-1.103],[-0.475,0.123]],"o":[[0.595,-0.195],[1.204,-0.29],[1.185,-0.62],[0.371,-0.116],[5.175,-3.042],[-5.103,-21.33],[-0.29,0.026],[0.184,-0.13],[0,0],[-1.075,0.272],[0,0],[-2.2,1.189],[0,0],[-1.902,1.103],[0,0]],"v":[[125.645,131.596],[128.24,130.673],[135.03,127.775],[138.007,126.365],[132.831,129.954],[147.472,120.625],[146.172,121.398],[146.596,120.819],[147.015,120.505],[147.351,119.725],[140.249,123.09],[134.044,126.113],[130.712,128.153],[128.938,129.09],[128.061,129.762]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":0,"s":[{"i":[[0.653,-2.439],[0.333,1.551],[3.373,3.05],[6.071,0],[1.346,-1.29],[0.618,-2.064],[-0.205,-1.404],[-0.338,1.997],[-3.418,3.305],[-6.254,0],[-1.401,-1.279],[-0.54,-2.447]],"o":[[0.208,-1.404],[-0.519,-2.417],[-1.362,-1.231],[-6.075,0],[-3.325,3.187],[-0.266,0.888],[-0.653,-2.439],[0.358,-2.116],[1.382,-1.337],[6.254,0],[3.465,3.161],[0.511,2.317]],"v":[[23.396,98.676],[22.79,94.926],[17.364,87.313],[7.718,82.815],[-2.169,86.808],[-7.041,95.879],[-7.395,99.164],[-7.644,94.323],[-3.163,85.358],[7.718,80.641],[17.981,85.383],[23.361,92.486]],"c":true}]},{"t":24,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":0,"s":[{"i":[[0.372,0],[3.395,0],[2.745,3.171],[-0.77,0],[0,0],[-3.425,-1.128]],"o":[[-2.709,3.051],[-3.49,0],[-0.13,0],[3.521,0],[0,0],[0.736,0.243]],"v":[[17.833,108.59],[7.798,113.377],[-1.599,109.066],[0.157,109.061],[7.764,109.456],[16.695,109.214]],"c":true}]},{"t":24,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":0,"s":[{"i":[[0.731,3.326],[3.463,3.161],[6.255,0],[1.382,-1.336],[0.511,-1.952],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.539,-2.454],[-1.401,-1.279],[-6.255,0],[-3.416,3.304],[-0.692,2.646],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[23.362,92.486],[17.981,85.382],[7.718,80.642],[-3.164,85.358],[-7.643,94.319],[-6.315,102.544],[7.8,113.374],[22.318,102.05]],"c":true}]},{"t":24,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":0,"s":[{"i":[[1.427,3.64],[3.584,3.306],[6.493,0],[1.43,-1.397],[0.622,-1.853],[-1.427,-3.795],[-6.517,0],[-2.023,5.379]],"o":[[-0.738,-1.882],[-1.45,-1.337],[-6.493,0],[-3.535,3.454],[-1.188,3.538],[2.023,5.379],[6.517,0],[1.427,-3.795]],"v":[[23.362,92.486],[17.962,87.849],[7.718,82.844],[-2.692,87.507],[-7.643,94.319],[-7.255,103.879],[7.792,118.052],[23.092,103.579]],"c":true}]},{"t":24,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":0,"s":[{"i":[[0.642,1.938],[3.047,3.546],[6.255,0],[2.025,-2.773],[0.19,-1.347],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.54,-1.629],[-1.226,-1.426],[-6.255,0],[-2.393,3.277],[-0.244,1.731],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[22.949,90.878],[18.446,83.779],[7.715,77.503],[-5.317,85.475],[-8.088,94.686],[-7.219,100.342],[7.8,111.172],[23.221,99.848]],"c":true}]},{"t":24,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[157.962,-63.49,0]},"a":{"a":0,"k":[157.962,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle1.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle1.tgs new file mode 100644 index 000000000..ed7370be3 --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle1.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":30,"w":512,"h":512,"nm":"password_open_idle_short_blink","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"master","sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"face","parent":7,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"eye_L 2","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"t":15,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"t":15,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"t":15,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"t":15,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"eye_R_mirror","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"t":15,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"t":15,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"t":15,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":7,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"t":15,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"nose","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"base","parent":1,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 7","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 8","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 9","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 10","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"ear L","parent":7,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"ear R","parent":7,"sr":1,"ks":{"p":{"a":0,"k":[157.962,-63.49,0]},"a":{"a":0,"k":[157.962,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle2.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle2.tgs new file mode 100644 index 000000000..6bedc3600 --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_idle2.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":30,"w":512,"h":512,"nm":"password_open_idle_short_ear","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"master","sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"face","parent":7,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"eye_L 2","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"eye_R_mirror","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"nose","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"base","parent":1,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 6","bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 7","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 8","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 9","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 10","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"ear L","parent":7,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"ear R","parent":7,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":8,"s":[10.811]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15.588,"s":[-14.52]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":22,"s":[10.811]},{"t":30,"s":[0]}]},"p":{"a":0,"k":[113.751,-44.542,0]},"a":{"a":0,"k":[113.751,-44.542,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 3","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 4","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 5","bm":0,"hd":false}],"ip":0,"op":30,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_peek.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_peek.tgs new file mode 100644 index 000000000..43fedd744 --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_peek.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":33,"w":512,"h":512,"nm":"password_peek","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"parent":11,"sr":1,"ks":{"o":{"a":0,"k":0}},"ao":0,"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[127.498,460.89,0]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[-95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":3}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.424],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":13,"s":[0]},{"i":{"x":[0.576],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":20,"s":[0]},{"t":33,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[394.502,460.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.33,"y":0.33},"t":13,"s":[378.502,550.89,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":1,"y":0},"t":20,"s":[378.502,550.89,0],"to":[0,0,0],"ti":[0,0,0]},{"t":33,"s":[394.502,460.89,0]}]},"a":{"a":0,"k":[150.003,211.463,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ef":[{"ty":5,"nm":"arm R: Path 1 [1.1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.0]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.1]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.2.1.2]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.0]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.1]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.2]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.3]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.4]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.5]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.3.1.6]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.0]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.1]","np":3,"mn":"ADBE Layer Control","ix":15,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.2]","np":3,"mn":"ADBE Layer Control","ix":16,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.3]","np":3,"mn":"ADBE Layer Control","ix":17,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.4]","np":3,"mn":"ADBE Layer Control","ix":18,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.5]","np":3,"mn":"ADBE Layer Control","ix":19,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.6]","np":3,"mn":"ADBE Layer Control","ix":20,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.7]","np":3,"mn":"ADBE Layer Control","ix":21,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.8]","np":3,"mn":"ADBE Layer Control","ix":22,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.9]","np":3,"mn":"ADBE Layer Control","ix":23,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.10]","np":3,"mn":"ADBE Layer Control","ix":24,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.11]","np":3,"mn":"ADBE Layer Control","ix":25,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.12]","np":3,"mn":"ADBE Layer Control","ix":26,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.13]","np":3,"mn":"ADBE Layer Control","ix":27,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.14]","np":3,"mn":"ADBE Layer Control","ix":28,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.15]","np":3,"mn":"ADBE Layer Control","ix":29,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]},{"ty":5,"nm":"arm R: Path 1 [1.4.1.16]","np":3,"mn":"ADBE Layer Control","ix":30,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":4}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[113.081,199.218]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[111.369,186.872]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[109.303,159.126]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[107.842,140.839]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[106.402,128.737]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[105.017,121.766]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.538,116.654]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.059,112.859]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[103.513,107.589]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[103.513,107.589]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.059,112.859]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[104.538,116.654]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[105.017,121.766]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[106.402,128.737]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[107.842,140.839]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[109.303,159.126]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[111.369,186.872]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[113.081,199.218]],"c":false}]},{"t":33,"s":[{"i":[[0,0],[-2.938,-16.688],[0,0]],"o":[[0,0],[3.188,18.25],[0,0]],"v":[[73.75,56],[98.625,84.625],[114.063,202.063]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.752,199.218],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.922,186.872],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.531,159.126],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.109,140.839],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.707,128.737],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[174.36,121.766],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[173.517,116.654],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[172.674,112.859],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[171.852,107.589],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[171.852,107.589],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[172.674,112.859],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[173.517,116.654],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[174.36,121.766],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[176.707,128.737],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[179.109,140.839],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[181.531,159.126],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[184.922,186.872],[156.688,64.313],[162.188,37.5]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[187.752,199.218],[156.688,64.313],[162.188,37.5]],"c":false}]},{"t":33,"s":[{"i":[[0,0],[1.063,18.688],[-2.75,5.813]],"o":[[0,0],[-0.625,-11.375],[0,0]],"v":[[189.375,202.063],[156.688,64.313],[162.188,37.5]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[-18.033,2.437],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.735,-31.621]],"o":[[0,0],[21.317,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[3.624,30.15]],"v":[[130.617,208.218],[162.717,209.343],[188.743,201.218],[159.875,83.125],[157.875,87.125],[125.905,70.466],[124.544,135.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[-17.763,2.436],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.055,-28.02]],"o":[[0,0],[20.998,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.967,26.379]],"v":[[128.643,195.872],[160.262,196.997],[185.899,188.872],[159.875,83.125],[157.875,87.125],[126.285,70.297],[124.186,131.025]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-17.443,2.435],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-2.248,-23.75]],"o":[[0,0],[20.619,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.19,21.91]],"v":[[126.266,168.126],[157.315,169.251],[182.49,161.126],[159.875,83.125],[157.875,87.125],[126.735,70.097],[123.761,125.724]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-17.211,2.434],[0,0],[8.793,35.004],[0,0],[11.75,-13.313],[-1.663,-20.652]],"o":[[0,0],[20.345,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.625,18.667]],"v":[[124.579,149.839],[155.215,150.964],[180.055,142.839],[159.875,83.125],[158.265,86.995],[127.062,69.952],[123.484,119.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-16.979,2.434],[0,0],[9.274,30.821],[0,0],[11.75,-13.313],[-1.078,-17.553]],"o":[[0,0],[20.07,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.061,15.423]],"v":[[122.913,137.737],[153.136,138.862],[177.64,130.737],[159.875,83.125],[158.656,86.865],[127.388,69.807],[123.207,112.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-16.747,2.433],[0,0],[9.755,26.638],[0,0],[11.75,-13.313],[-0.493,-14.455]],"o":[[0,0],[19.796,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.496,12.18]],"v":[[121.303,130.766],[151.112,131.891],[175.281,123.766],[159.875,83.125],[159.046,86.735],[127.715,69.661],[122.93,106.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-16.659,2.433],[0,0],[9.936,25.055],[0,0],[11.75,-13.313],[-0.271,-13.283]],"o":[[0,0],[19.692,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.283,10.954]],"v":[[120.738,125.654],[150.391,126.779],[174.433,118.654],[159.875,83.125],[159.194,86.685],[127.838,69.607],[122.825,103.716]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-16.571,2.432],[0,0],[10.118,23.473],[0,0],[11.75,-13.313],[-0.05,-12.111]],"o":[[0,0],[19.588,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.069,9.727]],"v":[[120.173,121.859],[149.67,122.984],[173.586,114.859],[159.875,83.125],[159.342,86.636],[127.962,69.552],[122.721,101.252]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[-16.504,2.432],[0,0],[10.257,22.27],[0,0],[11.75,-13.313],[0.118,-11.22]],"o":[[0,0],[19.509,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[-0.093,8.794]],"v":[[119.563,116.589],[148.94,117.714],[172.759,109.589],[159.875,83.125],[159.454,86.599],[128.056,69.51],[122.641,99.378]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[-16.504,2.432],[0,0],[10.257,22.27],[0,0],[11.75,-13.313],[0.118,-11.22]],"o":[[0,0],[19.509,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[-0.093,8.794]],"v":[[119.563,116.589],[148.94,117.714],[172.759,109.589],[159.875,83.125],[159.454,86.599],[128.056,69.51],[122.641,99.378]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-16.571,2.432],[0,0],[10.118,23.473],[0,0],[11.75,-13.313],[-0.05,-12.111]],"o":[[0,0],[19.588,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.069,9.727]],"v":[[120.173,121.859],[149.67,122.984],[173.586,114.859],[159.875,83.125],[159.342,86.636],[127.962,69.552],[122.721,101.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-16.659,2.433],[0,0],[9.936,25.055],[0,0],[11.75,-13.313],[-0.271,-13.283]],"o":[[0,0],[19.692,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.283,10.954]],"v":[[120.738,125.654],[150.391,126.779],[174.433,118.654],[159.875,83.125],[159.194,86.685],[127.838,69.607],[122.825,103.716]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-16.747,2.433],[0,0],[9.755,26.638],[0,0],[11.75,-13.313],[-0.493,-14.455]],"o":[[0,0],[19.796,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[0.496,12.18]],"v":[[121.303,130.766],[151.112,131.891],[175.281,123.766],[159.875,83.125],[159.046,86.735],[127.715,69.661],[122.93,106.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-16.979,2.434],[0,0],[9.274,30.821],[0,0],[11.75,-13.313],[-1.078,-17.553]],"o":[[0,0],[20.07,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.061,15.423]],"v":[[122.913,137.737],[153.136,138.862],[177.64,130.737],[159.875,83.125],[158.656,86.865],[127.388,69.807],[123.207,112.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-17.211,2.434],[0,0],[8.793,35.004],[0,0],[11.75,-13.313],[-1.663,-20.652]],"o":[[0,0],[20.345,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[1.625,18.667]],"v":[[124.579,149.839],[155.215,150.964],[180.055,142.839],[159.875,83.125],[158.265,86.995],[127.062,69.952],[123.484,119.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-17.443,2.435],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-2.248,-23.75]],"o":[[0,0],[20.619,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.19,21.91]],"v":[[126.266,168.126],[157.315,169.251],[182.49,161.126],[159.875,83.125],[157.875,87.125],[126.735,70.097],[123.761,125.724]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-17.763,2.436],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.055,-28.02]],"o":[[0,0],[20.998,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[2.967,26.379]],"v":[[128.643,195.872],[160.262,196.997],[185.899,188.872],[159.875,83.125],[157.875,87.125],[126.285,70.297],[124.186,131.025]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-18.033,2.437],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-3.735,-31.621]],"o":[[0,0],[21.317,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[3.624,30.15]],"v":[[130.617,208.218],[162.717,209.343],[188.743,201.218],[159.875,83.125],[157.875,87.125],[125.905,70.466],[124.544,135.497]],"c":true}]},{"t":33,"s":[{"i":[[0,0],[-18.188,2.438],[0,0],[8.313,39.188],[0,0],[11.75,-13.313],[-4.125,-33.688]],"o":[[0,0],[21.5,-2.875],[0,0],[0,0],[-2.75,-14.625],[-8.25,9.375],[4,32.313]],"v":[[131.75,211.063],[164.125,212.188],[190.375,204.063],[159.875,83.125],[157.875,87.125],[125.688,70.563],[124.75,138.063]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.52,0.06]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.02,-0.063]],"v":[[188.743,201.218],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[113.081,202.218],[146.729,209.906]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.228,0.056]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[33.511,-0.063]],"v":[[185.899,188.872],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[111.369,189.872],[144.514,197.56]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.881,0.051]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.907,-0.063]],"v":[[182.49,161.126],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[109.303,162.126],[141.851,169.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.63,0.047]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.469,-0.063]],"v":[[180.055,142.839],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[107.842,143.839],[139.956,151.527]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.379,0.043]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.031,-0.063]],"v":[[177.64,130.737],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[106.402,131.737],[138.083,139.424]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.127,0.04]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.593,-0.063]],"v":[[175.281,123.766],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[105.017,124.766],[136.265,132.453]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.032,0.038]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.427,-0.063]],"v":[[174.433,118.654],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.538,119.654],[135.622,127.342]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.937,0.037]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.261,-0.063]],"v":[[173.586,114.859],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.059,115.859],[134.978,123.546]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.865,0.036]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.135,-0.063]],"v":[[172.759,109.589],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[103.513,110.589],[134.308,118.276]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.865,0.036]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.135,-0.063]],"v":[[172.759,109.589],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[103.513,110.589],[134.308,118.276]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-17.937,0.037]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.261,-0.063]],"v":[[173.586,114.859],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.059,115.859],[134.978,123.546]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.032,0.038]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.427,-0.063]],"v":[[174.433,118.654],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[104.538,119.654],[135.622,127.342]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.127,0.04]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[31.593,-0.063]],"v":[[175.281,123.766],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[105.017,124.766],[136.265,132.453]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.379,0.043]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.031,-0.063]],"v":[[177.64,130.737],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[106.402,131.737],[138.083,139.424]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.63,0.047]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.469,-0.063]],"v":[[180.055,142.839],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[107.842,143.839],[139.956,151.527]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-18.881,0.051]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[32.907,-0.063]],"v":[[182.49,161.126],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[109.303,162.126],[141.851,169.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.228,0.056]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[33.511,-0.063]],"v":[[185.899,188.872],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[111.369,189.872],[144.514,197.56]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.52,0.06]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.02,-0.063]],"v":[[188.743,201.218],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[113.081,202.218],[146.729,209.906]],"c":true}]},{"t":33,"s":[{"i":[[0,0],[1.063,18.688],[0,0],[0,0],[0,0],[1.313,-1.438],[0,0],[0,0],[0.563,-1.938],[0,0],[0,0],[0,-1.75],[0,0],[0,0],[-3.5,-18.188],[0,0],[-19.688,0.063]],"o":[[0,0],[-1.063,-18.688],[0,0],[0,0],[-0.563,-1.813],[0,0],[0,0],[-1.25,-1.563],[0,0],[0,0],[-1.625,-0.625],[0,0],[0,0],[0,0],[3.5,18.188],[0,0],[34.313,-0.063]],"v":[[190.375,204.063],[156.688,64.313],[159.813,34.75],[150.438,44.563],[146.563,32.125],[142.313,31.125],[134.25,39.938],[123.25,26],[118.875,26.813],[113.625,44.063],[96.188,37.125],[92.75,39.438],[92.75,59.125],[73.25,51.125],[98.625,84.625],[114.063,205.063],[148,212.75]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[-12.769,-34.372]],"o":[[0,0],[0,0]],"v":[[39.884,-95.793],[74.673,-38.358]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[-13.791,-33.898]],"o":[[0,0],[0,0]],"v":[[37.264,-93.817],[74.621,-38.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-15.003,-33.336]],"o":[[0,0],[0,0]],"v":[[34.158,-91.473],[74.559,-38.274]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-15.882,-32.929]],"o":[[0,0],[0,0]],"v":[[31.904,-89.773],[74.515,-38.241]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-16.761,-32.521]],"o":[[0,0],[0,0]],"v":[[29.651,-88.073],[74.47,-38.208]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-17.641,-32.114]],"o":[[0,0],[0,0]],"v":[[27.397,-86.373],[74.426,-38.175]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-17.973,-31.96]],"o":[[0,0],[0,0]],"v":[[26.545,-85.729],[74.409,-38.162]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[-18.306,-31.806]],"o":[[0,0],[0,0]],"v":[[25.692,-85.086],[74.392,-38.15]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[-18.559,-31.688]],"o":[[0,0],[0,0]],"v":[[25.044,-84.597],[74.379,-38.14]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[-18.559,-31.688]],"o":[[0,0],[0,0]],"v":[[25.044,-84.597],[74.379,-38.14]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-18.306,-31.806]],"o":[[0,0],[0,0]],"v":[[25.692,-85.086],[74.392,-38.15]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-17.973,-31.96]],"o":[[0,0],[0,0]],"v":[[26.545,-85.729],[74.409,-38.162]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-17.641,-32.114]],"o":[[0,0],[0,0]],"v":[[27.397,-86.373],[74.426,-38.175]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-16.761,-32.521]],"o":[[0,0],[0,0]],"v":[[29.651,-88.073],[74.47,-38.208]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-15.882,-32.929]],"o":[[0,0],[0,0]],"v":[[31.904,-89.773],[74.515,-38.241]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-15.003,-33.336]],"o":[[0,0],[0,0]],"v":[[34.158,-91.473],[74.559,-38.274]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-13.791,-33.898]],"o":[[0,0],[0,0]],"v":[[37.264,-93.817],[74.621,-38.32]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-12.769,-34.372]],"o":[[0,0],[0,0]],"v":[[39.884,-95.793],[74.673,-38.358]],"c":false}]},{"t":33,"s":[{"i":[[0,0],[-12.183,-34.643]],"o":[[0,0],[0,0]],"v":[[41.387,-96.927],[74.702,-38.38]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[-3.083,-17.075]],"o":[[0,0],[0,0]],"v":[[134.976,-74.378],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[-1.815,-16.645]],"o":[[0,0],[0,0]],"v":[[137.482,-73.719],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-0.311,-16.136]],"o":[[0,0],[0,0]],"v":[[140.453,-72.938],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0.779,-15.766]],"o":[[0,0],[0,0]],"v":[[142.609,-72.371],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[1.87,-15.397]],"o":[[0,0],[0,0]],"v":[[144.764,-71.805],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[2.961,-15.027]],"o":[[0,0],[0,0]],"v":[[146.92,-71.238],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[3.374,-14.887]],"o":[[0,0],[0,0]],"v":[[147.736,-71.024],[147.742,-34.569]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[3.787,-14.747]],"o":[[0,0],[0,0]],"v":[[148.551,-70.809],[147.742,-34.569]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[4.1,-14.641]],"o":[[0,0],[0,0]],"v":[[149.171,-70.646],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[4.1,-14.641]],"o":[[0,0],[0,0]],"v":[[149.171,-70.646],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[3.787,-14.747]],"o":[[0,0],[0,0]],"v":[[148.551,-70.809],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[3.374,-14.887]],"o":[[0,0],[0,0]],"v":[[147.736,-71.024],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[2.961,-15.027]],"o":[[0,0],[0,0]],"v":[[146.92,-71.238],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.87,-15.397]],"o":[[0,0],[0,0]],"v":[[144.764,-71.805],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0.779,-15.766]],"o":[[0,0],[0,0]],"v":[[142.609,-72.371],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-0.311,-16.136]],"o":[[0,0],[0,0]],"v":[[140.453,-72.938],[147.742,-34.569]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-1.815,-16.645]],"o":[[0,0],[0,0]],"v":[[137.482,-73.719],[147.742,-34.569]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-3.083,-17.075]],"o":[[0,0],[0,0]],"v":[[134.976,-74.378],[147.742,-34.569]],"c":false}]},{"t":33,"s":[{"i":[[0,0],[-3.811,-17.322]],"o":[[0,0],[0,0]],"v":[[133.538,-74.755],[147.742,-34.569]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[-9.581,-27.559]],"o":[[0,0],[0,0]],"v":[[83.177,-99.786],[109.329,-50.153]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[-10.58,-23.06]],"o":[[0,0],[0,0]],"v":[[89.428,-88.452],[110.004,-50.144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[-10.46,-25.194]],"o":[[0,0],[0,0]],"v":[[107.766,-59.2],[110.804,-50.132]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[-7.638,-19.523]],"o":[[0,0],[0,0]],"v":[[109.132,-57.128],[111.385,-50.124]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[-4.817,-13.853]],"o":[[0,0],[0,0]],"v":[[110.497,-55.057],[111.965,-50.115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-1.996,-8.182]],"o":[[0,0],[0,0]],"v":[[111.863,-52.985],[112.546,-50.107]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[-0.929,-6.037]],"o":[[0,0],[0,0]],"v":[[112.38,-52.201],[112.766,-50.104]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0.139,-3.892]],"o":[[0,0],[0,0]],"v":[[112.896,-51.418],[112.986,-50.101]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0,0],[0.95,-2.261]],"o":[[0,0],[0,0]],"v":[[113.289,-50.822],[113.153,-50.098]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[0,0],[0.95,-2.261]],"o":[[0,0],[0,0]],"v":[[113.289,-50.822],[113.153,-50.098]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0.139,-3.892]],"o":[[0,0],[0,0]],"v":[[112.896,-51.418],[112.986,-50.101]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-0.929,-6.037]],"o":[[0,0],[0,0]],"v":[[112.38,-52.201],[112.766,-50.104]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-1.996,-8.182]],"o":[[0,0],[0,0]],"v":[[111.863,-52.985],[112.546,-50.107]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-4.817,-13.853]],"o":[[0,0],[0,0]],"v":[[110.497,-55.057],[111.965,-50.115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-7.638,-19.523]],"o":[[0,0],[0,0]],"v":[[109.132,-57.128],[111.385,-50.124]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-10.46,-25.194]],"o":[[0,0],[0,0]],"v":[[107.766,-59.2],[110.804,-50.132]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[-10.58,-23.06]],"o":[[0,0],[0,0]],"v":[[87.059,-94.242],[110.004,-50.144]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[-9.581,-27.559]],"o":[[0,0],[0,0]],"v":[[83.177,-99.786],[109.329,-50.153]],"c":false}]},{"t":33,"s":[{"i":[[0,0],[-9.007,-30.14]],"o":[[0,0],[0,0]],"v":[[76.723,-110.438],[108.941,-50.159]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[19.227,7.816],[0.374,-7.939],[14.95,0.067],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.865],[0,0],[-12.124,0.281],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[25.318,6.343],[-0.183,-9.096],[19.875,0.834],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.237,-4.732],[0,0],[-12.122,0.12],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[98.556,-119.974],[89.428,-88.452],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[25.168,4.598],[-0.842,-10.468],[25.713,1.744],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-22.266,-3.389],[0,0],[-12.12,-0.072],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[106.821,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[23.426,3.331],[0.83,-11.06],[25.616,1.64],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.454,-2.415],[0,0],[-12.119,-0.211],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[21.683,2.064],[2.503,-11.652],[25.519,1.536],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-1.441],[0,0],[-12.117,-0.349],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[23.492,0.797],[4.175,-12.244],[25.421,1.432],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.363,-0.467],[0,0],[-12.116,-0.488],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[24.491,0.318],[4.808,-12.468],[25.385,1.393],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.799,-0.098],[0,0],[-12.115,-0.541],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[24.122,-0.161],[5.44,-12.692],[25.348,1.353],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.893,0.27],[0,0],[-12.115,-0.593],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[23.358,-0.525],[5.921,-12.862],[25.32,1.323],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.47,0.55],[0,0],[-12.114,-0.633],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[23.358,-0.525],[5.921,-12.862],[25.32,1.323],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.47,0.55],[0,0],[-12.114,-0.633],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[24.122,-0.161],[5.44,-12.692],[25.348,1.353],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.893,0.27],[0,0],[-12.115,-0.593],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[24.491,0.318],[4.808,-12.468],[25.385,1.393],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.799,-0.098],[0,0],[-12.115,-0.541],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[23.492,0.797],[4.175,-12.244],[25.421,1.432],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.363,-0.467],[0,0],[-12.116,-0.488],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[21.683,2.064],[2.503,-11.652],[25.519,1.536],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-1.441],[0,0],[-12.117,-0.349],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[23.426,3.331],[0.83,-11.06],[25.616,1.64],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.454,-2.415],[0,0],[-12.119,-0.211],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[26.99,4.598],[-0.842,-10.468],[25.713,1.744],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.389],[0,0],[-12.12,-0.072],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[21.946,6.343],[-0.183,-9.096],[19.875,0.834],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-4.732],[0,0],[-12.122,0.12],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[19.227,7.816],[0.374,-7.939],[14.95,0.067],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.865],[0,0],[-12.124,0.281],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"t":33,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.580392181873,0.376470595598,0.215686276555,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[27.154,69.236],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.123,5.617],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.918,-37.468],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[29.786,67.882],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.337,5.511],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.619,-35.609],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[32.905,66.276],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.591,5.384],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.265,-33.405],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[35.169,65.112],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.775,5.292],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.008,-31.806],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[37.433,63.947],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.958,5.201],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.751,-30.207],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[39.696,62.782],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.142,5.109],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.493,-28.608],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[40.553,62.342],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.212,5.074],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.396,-28.003],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[41.409,61.901],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.282,5.039],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.299,-27.398],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[42.06,61.566],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.334,5.013],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.225,-26.939],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[42.06,61.566],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.334,5.013],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.225,-26.939],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[41.409,61.901],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.282,5.039],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.299,-27.398],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[40.553,62.342],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.212,5.074],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.396,-28.003],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[39.696,62.782],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[3.142,5.109],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.493,-28.608],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[37.433,63.947],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.958,5.201],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[35.751,-30.207],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[35.169,65.112],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.775,5.292],[4.557,24.917],[23.028,21.077],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.008,-31.806],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[32.905,66.276],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.591,5.384],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.265,-33.405],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[29.786,67.882],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.337,5.511],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.619,-35.609],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[27.154,69.236],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.123,5.617],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[36.918,-37.468],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]},{"t":33,"s":[{"i":[[25.645,70.013],[-0.889,-4.86],[-23.038,-21.088],[-10.215,25.635],[3.941,28.747],[1.172,4.577],[42.671,-3.275]],"o":[[2.001,5.679],[4.557,24.917],[23.028,21.078],[0,0],[-0.617,-4.506],[0,0],[-33.501,2.571]],"v":[[37.09,-38.535],[41.677,-22.529],[71.869,54.465],[165.232,31.599],[172.376,-15.517],[169.688,-29.218],[125.987,33.186]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.86274510622,0.690196096897,0.498039215803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[-2.268,-7.212],[0.118,1.643],[-13.3,-20.855],[-4.633,-2.505],[0,0],[7.333,11.406],[0,0],[-12.632,-14.904],[-4.861,-8.611],[-0.456,1.076],[0,0],[0,0],[-18.576,-21.931],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.182,-0.313],[20.141,7.926],[0.512,-7.745],[14.833,0.024],[-1.999,-12.057],[4.81,-13.618]],"o":[[0.771,-1.644],[-0.773,-10.349],[14.162,22.207],[6.099,3.297],[-3.129,-11.579],[-7.342,-11.397],[4.729,-18.066],[11.409,13.461],[4.943,8.676],[0.464,-1.076],[-4.111,-13.372],[0.983,-11.635],[19.324,23.531],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-15.156,-5.959],[0,0],[-12.118,0.268],[0,0],[-1.509,4.274]],"v":[[25.327,-68.352],[26.381,-73.364],[47.153,-69.844],[68.713,-33.723],[74.42,-39.136],[52.871,-79.502],[43.272,-97.582],[73.172,-94.372],[99.197,-51.267],[109.687,-48.614],[109.297,-52.402],[89.727,-93.131],[112.312,-94.306],[140.114,-32.473],[147.793,-35.753],[143.355,-52.648],[160.639,-53.94],[135.298,-74.363],[100.909,-119.876],[83.489,-99.761],[55.223,-120.029],[40.21,-95.797],[23.489,-86.089]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[-2.545,-7.093],[0.183,1.632],[-14.072,-20.245],[-4.699,-2.357],[0,0],[7.756,11.068],[0,0],[-13.171,-14.343],[-5.457,-8.09],[-0.691,1.157],[0,0],[0,0],[-27.054,-23.386],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.08,0.38],[28.226,6.643],[0.185,-8.555],[19.546,0.712],[-2.468,-11.929],[4.251,-13.753]],"o":[[0.703,-1.668],[-1.18,-10.276],[14.984,21.557],[6.185,3.103],[-3.476,-11.455],[-7.764,-11.06],[3.994,-18.18],[11.896,12.955],[5.679,8.251],[0.698,-1.157],[-3.85,-10.289],[0.308,-12.183],[24.332,21.879],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-21.239,-4.999],[0,0],[-12.114,0.074],[0,0],[-1.334,4.317]],"v":[[23.852,-65.91],[24.703,-70.944],[45.531,-68.26],[68.818,-33.513],[74.345,-39.087],[50.843,-78.105],[40.568,-95.732],[70.921,-92.905],[100.041,-51.15],[110.425,-48.965],[110.489,-52.662],[98.362,-77.246],[110.708,-98.093],[140.114,-32.473],[147.793,-35.753],[144.578,-52.395],[162.2,-51.198],[137.8,-73.682],[99.055,-120.021],[89.726,-88.393],[52.207,-117.372],[37.588,-93.833],[21.319,-83.503]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-2.872,-6.952],[0.261,1.618],[-14.987,-19.521],[-4.777,-2.182],[0,0],[8.259,10.668],[0,0],[-13.81,-13.679],[-6.162,-7.473],[-0.971,1.252],[0,0],[0,0],[-29.229,-25.111],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.96,1.202],[29.592,5.13],[-0.203,-9.516],[25.134,1.527],[-3.025,-11.778],[3.589,-13.914]],"o":[[0.622,-1.696],[-1.662,-10.19],[15.958,20.786],[6.287,2.872],[-3.888,-11.309],[-8.263,-10.661],[3.124,-18.316],[12.473,12.355],[6.553,7.747],[0.976,-1.253],[-3.541,-6.635],[-0.492,-12.833],[23.186,19.92],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-22.267,-3.86],[0,0],[-12.11,-0.157],[0,0],[-1.126,4.367]],"v":[[22.104,-63.014],[22.714,-68.074],[43.608,-66.382],[68.942,-33.264],[74.256,-39.03],[48.44,-76.449],[37.362,-93.539],[68.253,-91.165],[101.041,-51.013],[111.301,-49.381],[111.902,-52.971],[108.6,-58.414],[115.889,-102.583],[140.114,-32.473],[147.793,-35.753],[146.029,-52.095],[164.05,-47.947],[140.765,-72.876],[107.332,-120.192],[108.047,-59.1],[48.632,-114.222],[34.48,-91.505],[18.747,-80.436]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-3.11,-6.85],[0.317,1.608],[-15.651,-18.996],[-4.833,-2.055],[0,0],[8.623,10.377],[0,0],[-14.274,-13.198],[-6.674,-7.024],[-1.173,1.321],[0,0],[0,0],[-26.603,-24.789],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.873,1.798],[28.514,4.033],[1.71,-10.398],[24.919,1.564],[-3.428,-11.668],[3.108,-14.031]],"o":[[0.563,-1.716],[-2.012,-10.128],[16.666,20.227],[6.361,2.704],[-4.186,-11.202],[-8.626,-10.372],[2.492,-18.414],[12.892,11.92],[7.187,7.381],[1.178,-1.322],[-3.317,-3.983],[2.201,-13.941],[22.108,20.95],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-21.455,-3.034],[0,0],[-12.107,-0.325],[0,0],[-0.975,4.404]],"v":[[20.835,-60.914],[21.271,-65.991],[42.213,-65.019],[69.031,-33.083],[74.192,-38.989],[46.696,-75.247],[35.035,-91.948],[66.316,-89.904],[101.767,-50.913],[111.936,-49.683],[112.927,-53.195],[109.628,-56.151],[119.945,-104.517],[140.114,-32.473],[147.793,-35.753],[147.081,-51.877],[165.393,-45.588],[142.917,-72.29],[113.502,-120.905],[109.401,-56.998],[46.037,-111.936],[32.226,-89.816],[16.88,-78.211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-3.348,-6.747],[0.373,1.598],[-16.316,-18.47],[-4.89,-1.927],[0,0],[8.987,10.087],[0,0],[-14.738,-12.716],[-7.186,-6.576],[-1.376,1.391],[0,0],[0,0],[-23.977,-24.466],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.786,2.394],[27.436,2.935],[3.622,-11.28],[24.703,1.6],[-3.832,-11.558],[2.628,-14.147]],"o":[[0.505,-1.737],[-2.361,-10.066],[17.373,19.667],[6.436,2.537],[-4.485,-11.096],[-8.989,-10.082],[1.861,-18.512],[13.311,11.485],[7.82,7.015],[1.38,-1.391],[-3.093,-1.332],[4.894,-15.05],[21.03,21.98],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-20.643,-2.208],[0,0],[-12.104,-0.492],[0,0],[-0.825,4.44]],"v":[[19.566,-58.813],[19.828,-63.909],[40.818,-63.656],[69.121,-32.903],[74.127,-38.948],[44.952,-74.046],[32.709,-90.357],[64.38,-88.642],[102.493,-50.813],[112.571,-49.985],[113.952,-53.418],[110.657,-53.889],[124.001,-106.451],[140.114,-32.473],[147.793,-35.753],[148.134,-51.659],[166.736,-43.23],[145.068,-71.705],[119.672,-121.618],[110.755,-54.897],[43.443,-109.651],[29.971,-88.126],[15.014,-75.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[-3.586,-6.645],[0.43,1.588],[-16.98,-17.945],[-4.946,-1.8],[0,0],[9.352,9.796],[0,0],[-15.201,-12.234],[-7.698,-6.128],[-1.579,1.46],[0,0],[0,0],[-25.153,-24.144],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.699,2.99],[31.052,1.837],[5.534,-12.162],[24.488,1.636],[-4.236,-11.448],[2.147,-14.264]],"o":[[0.446,-1.758],[-2.711,-10.004],[18.08,19.108],[6.51,2.369],[-4.783,-10.99],[-9.351,-9.793],[1.229,-18.611],[13.73,11.05],[8.454,6.649],[1.581,-1.461],[-2.869,1.32],[7.587,-16.158],[23.505,23.01],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.364,-1.382],[0,0],[-12.101,-0.66],[0,0],[-0.674,4.477]],"v":[[18.298,-56.712],[18.385,-61.827],[39.423,-62.294],[69.211,-32.722],[74.063,-38.906],[43.208,-72.844],[30.383,-88.766],[62.444,-87.38],[103.219,-50.714],[113.206,-50.287],[114.977,-53.642],[111.685,-51.626],[123.757,-108.385],[140.114,-32.473],[147.793,-35.753],[149.186,-51.441],[168.078,-40.871],[147.22,-71.12],[121.147,-122.331],[112.108,-52.796],[40.849,-107.365],[27.716,-86.437],[13.148,-73.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[-3.676,-6.607],[0.451,1.585],[-17.231,-17.747],[-4.967,-1.752],[0,0],[9.49,9.686],[0,0],[-15.377,-12.052],[-7.892,-5.959],[-1.655,1.486],[0,0],[0,0],[-25.857,-24.022],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.666,3.215],[32.961,1.422],[6.257,-12.495],[24.407,1.65],[-4.388,-11.406],[1.965,-14.308]],"o":[[0.424,-1.765],[-2.843,-9.98],[18.347,18.896],[6.538,2.306],[-4.896,-10.95],[-9.489,-9.683],[0.99,-18.648],[13.888,10.885],[8.694,6.511],[1.657,-1.487],[-2.784,2.323],[8.606,-16.577],[24.824,23.399],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.8,-1.07],[0,0],[-12.099,-0.723],[0,0],[-0.617,4.491]],"v":[[17.818,-55.917],[17.84,-61.039],[38.895,-61.778],[69.245,-32.654],[74.038,-38.891],[42.549,-72.39],[29.503,-88.164],[61.712,-86.902],[103.493,-50.676],[113.446,-50.401],[115.364,-53.727],[112.074,-50.77],[122.963,-109.116],[140.114,-32.473],[147.793,-35.753],[149.584,-51.359],[168.586,-39.978],[148.034,-70.899],[121.165,-122.6],[112.621,-52.001],[39.867,-106.501],[26.863,-85.798],[12.442,-72.92]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[-3.765,-6.568],[0.472,1.581],[-17.482,-17.548],[-4.989,-1.704],[0,0],[9.627,9.576],[0,0],[-15.552,-11.869],[-8.086,-5.789],[-1.732,1.512],[0,0],[0,0],[-25.082,-23.9],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.633,3.441],[33.086,1.007],[6.981,-12.829],[24.325,1.663],[-4.541,-11.365],[1.783,-14.352]],"o":[[0.402,-1.773],[-2.976,-9.957],[18.615,18.685],[6.566,2.243],[-5.009,-10.909],[-9.626,-9.574],[0.751,-18.685],[14.047,10.72],[8.933,6.372],[1.734,-1.513],[-2.699,3.326],[9.625,-16.997],[24.788,23.789],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.894,-0.757],[0,0],[-12.098,-0.786],[0,0],[-0.56,4.505]],"v":[[17.338,-55.122],[17.294,-60.251],[38.367,-61.263],[69.279,-32.586],[74.014,-38.875],[41.889,-71.935],[28.623,-87.563],[60.979,-86.425],[103.768,-50.638],[113.686,-50.515],[115.752,-53.811],[112.463,-49.914],[123.764,-109.848],[140.114,-32.473],[147.793,-35.753],[149.982,-51.277],[169.094,-39.086],[148.847,-70.677],[122.966,-122.87],[113.133,-51.206],[38.886,-105.636],[26.01,-85.159],[11.736,-72.078]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[-3.834,-6.538],[0.488,1.578],[-17.673,-17.397],[-5.005,-1.667],[0,0],[9.732,9.493],[0,0],[-15.686,-11.731],[-8.233,-5.66],[-1.79,1.532],[0,0],[0,0],[-23.985,-23.807],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.608,3.612],[32.523,0.691],[7.531,-13.082],[24.263,1.674],[-4.657,-11.333],[1.645,-14.386]],"o":[[0.385,-1.779],[-3.076,-9.939],[18.818,18.524],[6.588,2.194],[-5.095,-10.879],[-9.73,-9.49],[0.57,-18.714],[14.167,10.595],[9.116,6.267],[1.792,-1.533],[-2.635,4.089],[10.399,-17.315],[24.266,24.085],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.47,-0.52],[0,0],[-12.097,-0.835],[0,0],[-0.516,4.515]],"v":[[16.973,-54.518],[16.879,-59.652],[37.966,-60.871],[69.305,-32.534],[73.995,-38.863],[41.387,-71.59],[27.954,-87.105],[60.423,-86.062],[103.976,-50.609],[113.869,-50.602],[116.047,-53.876],[112.759,-49.264],[125.003,-110.404],[140.114,-32.473],[147.793,-35.753],[150.285,-51.214],[169.48,-38.408],[149.466,-70.509],[124.993,-123.075],[113.522,-50.602],[38.14,-104.979],[25.361,-84.673],[11.199,-71.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[-3.834,-6.538],[0.488,1.578],[-17.673,-17.397],[-5.005,-1.667],[0,0],[9.732,9.493],[0,0],[-15.686,-11.731],[-8.233,-5.66],[-1.79,1.532],[0,0],[0,0],[-23.985,-23.807],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.608,3.612],[32.523,0.691],[7.531,-13.082],[24.263,1.674],[-4.657,-11.333],[1.645,-14.386]],"o":[[0.385,-1.779],[-3.076,-9.939],[18.818,18.524],[6.588,2.194],[-5.095,-10.879],[-9.73,-9.49],[0.57,-18.714],[14.167,10.595],[9.116,6.267],[1.792,-1.533],[-2.635,4.089],[10.399,-17.315],[24.266,24.085],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.47,-0.52],[0,0],[-12.097,-0.835],[0,0],[-0.516,4.515]],"v":[[16.973,-54.518],[16.879,-59.652],[37.966,-60.871],[69.305,-32.534],[73.995,-38.863],[41.387,-71.59],[27.954,-87.105],[60.423,-86.062],[103.976,-50.609],[113.869,-50.602],[116.047,-53.876],[112.759,-49.264],[125.003,-110.404],[140.114,-32.473],[147.793,-35.753],[150.285,-51.214],[169.48,-38.408],[149.466,-70.509],[124.993,-123.075],[113.522,-50.602],[38.14,-104.979],[25.361,-84.673],[11.199,-71.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-3.765,-6.568],[0.472,1.581],[-17.482,-17.548],[-4.989,-1.704],[0,0],[9.627,9.576],[0,0],[-15.552,-11.869],[-8.086,-5.789],[-1.732,1.512],[0,0],[0,0],[-25.082,-23.9],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.633,3.441],[33.086,1.007],[6.981,-12.829],[24.325,1.663],[-4.541,-11.365],[1.783,-14.352]],"o":[[0.402,-1.773],[-2.976,-9.957],[18.615,18.685],[6.566,2.243],[-5.009,-10.909],[-9.626,-9.574],[0.751,-18.685],[14.047,10.72],[8.933,6.372],[1.734,-1.513],[-2.699,3.326],[9.625,-16.997],[24.788,23.789],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.894,-0.757],[0,0],[-12.098,-0.786],[0,0],[-0.56,4.505]],"v":[[17.338,-55.122],[17.294,-60.251],[38.367,-61.263],[69.279,-32.586],[74.014,-38.875],[41.889,-71.935],[28.623,-87.563],[60.979,-86.425],[103.768,-50.638],[113.686,-50.515],[115.752,-53.811],[112.463,-49.914],[123.764,-109.848],[140.114,-32.473],[147.793,-35.753],[149.982,-51.277],[169.094,-39.086],[148.847,-70.677],[122.966,-122.87],[113.133,-51.206],[38.886,-105.636],[26.01,-85.159],[11.736,-72.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-3.676,-6.607],[0.451,1.585],[-17.231,-17.747],[-4.967,-1.752],[0,0],[9.49,9.686],[0,0],[-15.377,-12.052],[-7.892,-5.959],[-1.655,1.486],[0,0],[0,0],[-25.857,-24.022],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.666,3.215],[32.961,1.422],[6.257,-12.495],[24.407,1.65],[-4.388,-11.406],[1.965,-14.308]],"o":[[0.424,-1.765],[-2.843,-9.98],[18.347,18.896],[6.538,2.306],[-4.896,-10.95],[-9.489,-9.683],[0.99,-18.648],[13.888,10.885],[8.694,6.511],[1.657,-1.487],[-2.784,2.323],[8.606,-16.577],[24.824,23.399],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-24.8,-1.07],[0,0],[-12.099,-0.723],[0,0],[-0.617,4.491]],"v":[[17.818,-55.917],[17.84,-61.039],[38.895,-61.778],[69.245,-32.654],[74.038,-38.891],[42.549,-72.39],[29.503,-88.164],[61.712,-86.902],[103.493,-50.676],[113.446,-50.401],[115.364,-53.727],[112.074,-50.77],[122.963,-109.116],[140.114,-32.473],[147.793,-35.753],[149.584,-51.359],[168.586,-39.978],[148.034,-70.899],[121.165,-122.6],[112.621,-52.001],[39.867,-106.501],[26.863,-85.798],[12.442,-72.92]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-3.586,-6.645],[0.43,1.588],[-16.98,-17.945],[-4.946,-1.8],[0,0],[9.352,9.796],[0,0],[-15.201,-12.234],[-7.698,-6.128],[-1.579,1.46],[0,0],[0,0],[-25.153,-24.144],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.699,2.99],[31.052,1.837],[5.534,-12.162],[24.488,1.636],[-4.236,-11.448],[2.147,-14.264]],"o":[[0.446,-1.758],[-2.711,-10.004],[18.08,19.108],[6.51,2.369],[-4.783,-10.99],[-9.351,-9.793],[1.229,-18.611],[13.73,11.05],[8.454,6.649],[1.581,-1.461],[-2.869,1.32],[7.587,-16.158],[23.505,23.01],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.364,-1.382],[0,0],[-12.101,-0.66],[0,0],[-0.674,4.477]],"v":[[18.298,-56.712],[18.385,-61.827],[39.423,-62.294],[69.211,-32.722],[74.063,-38.906],[43.208,-72.844],[30.383,-88.766],[62.444,-87.38],[103.219,-50.714],[113.206,-50.287],[114.977,-53.642],[111.685,-51.626],[123.757,-108.385],[140.114,-32.473],[147.793,-35.753],[149.186,-51.441],[168.078,-40.871],[147.22,-71.12],[121.147,-122.331],[112.108,-52.796],[40.849,-107.365],[27.716,-86.437],[13.148,-73.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-3.348,-6.747],[0.373,1.598],[-16.316,-18.47],[-4.89,-1.927],[0,0],[8.987,10.087],[0,0],[-14.738,-12.716],[-7.186,-6.576],[-1.376,1.391],[0,0],[0,0],[-23.977,-24.466],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.786,2.394],[27.436,2.935],[3.622,-11.28],[24.703,1.6],[-3.832,-11.558],[2.628,-14.147]],"o":[[0.505,-1.737],[-2.361,-10.066],[17.373,19.667],[6.436,2.537],[-4.485,-11.096],[-8.989,-10.082],[1.861,-18.512],[13.311,11.485],[7.82,7.015],[1.38,-1.391],[-3.093,-1.332],[4.894,-15.05],[21.03,21.98],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-20.643,-2.208],[0,0],[-12.104,-0.492],[0,0],[-0.825,4.44]],"v":[[19.566,-58.813],[19.828,-63.909],[40.818,-63.656],[69.121,-32.903],[74.127,-38.948],[44.952,-74.046],[32.709,-90.357],[64.38,-88.642],[102.493,-50.813],[112.571,-49.985],[113.952,-53.418],[110.657,-53.889],[124.001,-106.451],[140.114,-32.473],[147.793,-35.753],[148.134,-51.659],[166.736,-43.23],[145.068,-71.705],[119.672,-121.618],[110.755,-54.897],[43.443,-109.651],[29.971,-88.126],[15.014,-75.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[-3.11,-6.85],[0.317,1.608],[-15.651,-18.996],[-4.833,-2.055],[0,0],[8.623,10.377],[0,0],[-14.274,-13.198],[-6.674,-7.024],[-1.173,1.321],[0,0],[0,0],[-26.603,-24.789],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.873,1.798],[28.514,4.033],[1.71,-10.398],[24.919,1.564],[-3.428,-11.668],[3.108,-14.031]],"o":[[0.563,-1.716],[-2.012,-10.128],[16.666,20.227],[6.361,2.704],[-4.186,-11.202],[-8.626,-10.372],[2.492,-18.414],[12.892,11.92],[7.187,7.381],[1.178,-1.322],[-3.317,-3.983],[2.201,-13.941],[22.108,20.95],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-21.455,-3.034],[0,0],[-12.107,-0.325],[0,0],[-0.975,4.404]],"v":[[20.835,-60.914],[21.271,-65.991],[42.213,-65.019],[69.031,-33.083],[74.192,-38.989],[46.696,-75.247],[35.035,-91.948],[66.316,-89.904],[101.767,-50.913],[111.936,-49.683],[112.927,-53.195],[109.628,-56.151],[119.945,-104.517],[140.114,-32.473],[147.793,-35.753],[147.081,-51.877],[165.393,-45.588],[142.917,-72.29],[113.502,-120.905],[109.401,-56.998],[46.037,-111.936],[32.226,-89.816],[16.88,-78.211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[-2.872,-6.952],[0.261,1.618],[-14.987,-19.521],[-4.777,-2.182],[0,0],[8.259,10.668],[0,0],[-13.81,-13.679],[-6.162,-7.473],[-0.971,1.252],[0,0],[0,0],[-31.345,-25.111],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[9.96,1.202],[31.735,5.13],[-0.203,-9.516],[25.134,1.527],[-3.025,-11.778],[3.589,-13.914]],"o":[[0.622,-1.696],[-1.662,-10.19],[15.958,20.786],[6.287,2.872],[-3.888,-11.309],[-8.263,-10.661],[3.124,-18.316],[12.473,12.355],[6.553,7.747],[0.976,-1.253],[-3.541,-6.635],[-0.492,-12.833],[24.865,19.92],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-23.879,-3.86],[0,0],[-12.11,-0.157],[0,0],[-1.126,4.367]],"v":[[22.104,-63.014],[22.714,-68.074],[43.608,-66.382],[68.942,-33.264],[74.256,-39.03],[48.44,-76.449],[37.362,-93.539],[68.253,-91.165],[101.041,-51.013],[111.301,-49.381],[111.902,-52.971],[108.6,-58.414],[114.211,-102.583],[140.114,-32.473],[147.793,-35.753],[146.029,-52.095],[164.05,-47.947],[140.765,-72.876],[105.034,-120.192],[108.047,-59.1],[48.632,-114.222],[34.48,-91.505],[18.747,-80.436]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[-2.545,-7.093],[0.183,1.632],[-14.072,-20.245],[-4.699,-2.357],[0,0],[7.756,11.068],[0,0],[-13.171,-14.343],[-5.457,-8.09],[-0.691,1.157],[0,0],[0,0],[-23.45,-23.386],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.08,0.38],[24.465,6.647],[0.185,-8.555],[19.546,0.712],[-2.468,-11.929],[4.251,-13.753]],"o":[[0.703,-1.668],[-1.18,-10.276],[14.984,21.557],[6.185,3.103],[-3.476,-11.455],[-7.764,-11.06],[3.994,-18.18],[11.896,12.955],[5.679,8.251],[0.698,-1.157],[-3.85,-10.289],[0.308,-12.183],[21.091,21.879],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-18.41,-4.999],[0,0],[-12.114,0.074],[0,0],[-1.334,4.317]],"v":[[23.852,-65.91],[24.703,-70.944],[45.531,-68.26],[68.818,-33.513],[74.345,-39.087],[50.843,-78.105],[40.568,-95.732],[70.921,-92.905],[100.041,-51.15],[110.425,-48.965],[110.489,-52.662],[98.362,-77.246],[113.949,-98.093],[140.114,-32.473],[147.793,-35.753],[144.578,-52.395],[162.2,-51.198],[137.8,-73.682],[103.848,-120.021],[87.357,-94.182],[52.207,-117.372],[37.588,-93.833],[21.319,-83.503]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[-2.268,-7.212],[0.118,1.643],[-13.3,-20.855],[-4.633,-2.505],[0,0],[7.333,11.406],[0,0],[-12.632,-14.904],[-4.861,-8.611],[-0.456,1.076],[0,0],[0,0],[-18.576,-21.931],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.182,-0.313],[20.141,7.926],[0.512,-7.745],[14.833,0.024],[-1.999,-12.057],[4.81,-13.618]],"o":[[0.771,-1.644],[-0.773,-10.349],[14.162,22.207],[6.099,3.297],[-3.129,-11.579],[-7.342,-11.397],[4.729,-18.066],[11.409,13.461],[4.943,8.676],[0.464,-1.076],[-4.111,-13.372],[0.983,-11.635],[19.324,23.531],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-15.156,-5.959],[0,0],[-12.118,0.268],[0,0],[-1.509,4.274]],"v":[[25.327,-68.352],[26.381,-73.364],[47.153,-69.844],[68.713,-33.723],[74.42,-39.136],[52.871,-79.502],[43.272,-97.582],[73.172,-94.372],[99.197,-51.267],[109.687,-48.614],[109.297,-52.402],[89.727,-93.131],[112.312,-94.306],[140.114,-32.473],[147.793,-35.753],[143.355,-52.648],[160.639,-53.94],[135.298,-74.363],[100.909,-119.876],[83.489,-99.761],[55.223,-120.029],[40.21,-95.797],[23.489,-86.089]],"c":true}]},{"t":33,"s":[{"i":[[-2.11,-7.28],[0.08,1.65],[-12.857,-21.206],[-4.596,-2.59],[0,0],[7.09,11.6],[0,0],[-12.323,-15.225],[-4.52,-8.91],[-0.32,1.03],[0,0],[0,0],[-15.78,-21.096],[-6.251,-3.228],[0,0],[0,0],[-0.5,-0.5],[10.24,-0.71],[17.66,8.66],[0.7,-7.28],[12.13,-0.37],[-1.73,-12.13],[5.13,-13.54]],"o":[[0.81,-1.63],[-0.54,-10.39],[13.69,22.58],[6.049,3.409],[-2.93,-11.65],[-7.1,-11.59],[5.15,-18],[11.13,13.751],[4.52,8.92],[0.33,-1.03],[-4.26,-15.14],[1.37,-11.32],[18.31,24.479],[5.494,2.837],[0,0],[3.64,-15.88],[-6.75,-11.84],[0,0],[-13.29,-6.51],[0,0],[-12.12,0.38],[0,0],[-1.61,4.25]],"v":[[26.173,-69.753],[27.343,-74.753],[48.083,-70.753],[68.653,-33.843],[74.463,-39.163],[54.034,-80.303],[44.824,-98.643],[74.463,-95.213],[98.713,-51.333],[109.264,-48.413],[108.614,-52.253],[84.773,-102.243],[111.373,-92.133],[140.114,-32.473],[147.793,-35.753],[142.653,-52.793],[159.744,-55.513],[133.864,-74.753],[99.224,-119.793],[77.043,-110.433],[56.954,-121.553],[41.713,-96.923],[24.733,-87.573]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.890196084976,0.780392169952,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[20.15,7.929],[0.456,-7.72],[13.231,-0.157],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.963],[0,0],[-12.122,0.248],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[28.236,6.652],[0.042,-8.496],[15.159,0.222],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.238,-5.003],[0,0],[-12.116,0.029],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[98.556,-119.974],[89.428,-88.452],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[29.604,5.139],[-0.448,-9.416],[17.445,0.67],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-22.266,-3.865],[0,0],[-12.11,-0.231],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[106.821,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[28.525,4.041],[1.518,-9.943],[19.104,0.995],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.455,-3.039],[0,0],[-12.105,-0.42],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[27.446,2.943],[3.483,-10.469],[20.762,1.32],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-2.213],[0,0],[-12.1,-0.608],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[31.063,1.845],[5.448,-10.996],[22.421,1.646],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.364,-1.388],[0,0],[-12.095,-0.797],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[32.973,1.43],[6.192,-11.196],[23.048,1.769],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.8,-1.075],[0,0],[-12.093,-0.868],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[33.097,1.014],[6.935,-11.395],[23.676,1.892],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.894,-0.763],[0,0],[-12.091,-0.939],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[32.534,0.698],[7.5,-11.546],[24.153,1.985],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.471,-0.525],[0,0],[-12.09,-0.994],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.85,7.095],[32.534,0.698],[7.5,-11.546],[24.153,1.985],[-4.658,-11.328],[1.639,-14.383],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.471,-0.525],[0,0],[-12.09,-0.994],[0,0],[-1.552,13.617],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[149.171,-70.646],[124.471,-122.896],[113.289,-50.822],[37.833,-104.875],[25.044,-84.597],[10.887,-71.36],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.899,6.759],[33.097,1.014],[6.935,-11.395],[23.676,1.892],[-4.542,-11.36],[1.778,-14.349],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.894,-0.763],[0,0],[-12.091,-0.939],[0,0],[-1.683,13.585],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[148.551,-70.809],[122.431,-122.698],[112.896,-51.418],[38.578,-105.537],[25.692,-85.086],[11.424,-72.003],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[18.964,6.316],[32.973,1.43],[6.192,-11.196],[23.048,1.769],[-4.389,-11.401],[1.959,-14.305],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-24.8,-1.075],[0,0],[-12.093,-0.868],[0,0],[-1.855,13.543],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[147.736,-71.024],[120.628,-122.437],[112.38,-52.201],[39.559,-106.406],[26.545,-85.729],[12.129,-72.848],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.029,5.874],[31.063,1.845],[5.448,-10.996],[22.421,1.646],[-4.237,-11.443],[2.141,-14.261],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.364,-1.388],[0,0],[-12.095,-0.797],[0,0],[-2.027,13.502],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[146.92,-71.238],[120.638,-122.177],[111.863,-52.985],[40.54,-107.276],[27.397,-86.373],[12.835,-73.694],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.2,4.704],[27.446,2.943],[3.483,-10.469],[20.762,1.32],[-3.833,-11.553],[2.621,-14.145],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-20.643,-2.213],[0,0],[-12.1,-0.608],[0,0],[-2.482,13.392],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[144.764,-71.805],[119.213,-121.489],[110.497,-55.057],[43.132,-109.576],[29.651,-88.073],[14.7,-75.93],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.372,3.535],[28.525,4.041],[1.518,-9.943],[19.104,0.995],[-3.43,-11.663],[3.102,-14.028],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-21.455,-3.039],[0,0],[-12.105,-0.42],[0,0],[-2.937,13.281],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[142.609,-72.371],[113.017,-120.8],[109.132,-57.128],[45.724,-111.875],[31.904,-89.773],[16.565,-78.166],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.543,2.365],[31.747,5.139],[-0.448,-9.416],[17.445,0.67],[-3.026,-11.773],[3.582,-13.912],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-23.878,-3.865],[0,0],[-12.11,-0.231],[0,0],[-3.391,13.171],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[140.453,-72.938],[104.486,-120.112],[107.766,-59.2],[48.316,-114.175],[34.158,-91.473],[18.43,-80.402],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.779,0.754],[24.475,6.652],[0.042,-8.496],[15.159,0.222],[-2.47,-11.924],[4.244,-13.752],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-18.409,-5.003],[0,0],[-12.116,0.029],[0,0],[-4.018,13.02],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[137.482,-73.719],[103.415,-119.974],[87.059,-94.242],[51.888,-117.344],[37.264,-93.817],[21,-83.483],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[19.979,-0.606],[20.15,7.929],[0.456,-7.72],[13.231,-0.157],[-2.001,-12.052],[4.803,-13.617],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-15.155,-5.963],[0,0],[-12.122,0.248],[0,0],[-4.547,12.891],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[134.976,-74.378],[100.543,-119.858],[83.177,-99.786],[54.901,-120.017],[39.884,-95.793],[23.168,-86.082],[41.676,-22.528],[71.867,54.464]],"c":true}]},{"t":33,"s":[{"i":[[-10.22,25.636],[3.943,28.75],[20.093,-1.386],[17.668,8.661],[0.693,-7.275],[12.125,-0.373],[-1.732,-12.125],[5.123,-13.539],[-3.788,-20.696],[-23.034,-21.084]],"o":[[0,0],[-3.849,-28.061],[0,0],[-13.289,-6.514],[0,0],[-12.125,0.373],[0,0],[-4.85,12.818],[4.56,24.912],[23.034,21.084]],"v":[[165.237,31.599],[172.377,-15.516],[133.538,-74.755],[98.895,-119.792],[76.723,-110.438],[56.63,-121.551],[41.387,-96.927],[24.412,-87.574],[41.676,-22.528],[71.867,54.464]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.78823530674,0.647058844566,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":20},"p":{"a":0,"k":[341.929,268.75,0]},"a":{"a":0,"k":[87.294,20.789,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[-12.801,-44.719],[-7.19,-16.664],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[-2.869,-83.633],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[12.709,29.454],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[0.507,14.786],[0,0],[-12.067,1.247],[0,0]],"v":[[-1.225,69.692],[17.656,113.086],[49.904,144.181],[68.931,145.79],[51.49,160.266],[147.472,120.625],[117.368,125.178],[120.966,98.001],[123.817,91.889],[134.546,113.38],[95.537,-17.397],[79.733,56.172],[68.297,62.602],[21.29,19.282],[15.285,33.125]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":1,"y":0},"t":20,"s":[{"i":[[-12.801,-44.719],[-7.19,-16.664],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[-2.869,-83.633],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[12.709,29.454],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[0.507,14.786],[0,0],[-12.067,1.247],[0,0]],"v":[[-1.225,69.692],[17.656,113.086],[49.904,144.181],[68.931,145.79],[51.49,160.266],[147.472,120.625],[117.368,125.178],[120.966,98.001],[123.817,91.889],[134.546,113.38],[95.537,-17.397],[79.733,56.172],[68.297,62.602],[21.29,19.282],[15.285,33.125]],"c":true}]},{"t":33,"s":[{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":20},"p":{"a":0,"k":[178.129,267.75,0]},"a":{"a":0,"k":[87.294,20.789,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-12.801,-44.719],[-3.605,-17.788],[-24.083,-15.726],[-2.877,-10.794],[30.317,-18.567],[-14.52,12.287],[0.825,6.413],[-2.342,5.994],[-0.65,2.073],[6.008,28.397],[19.934,-2.839],[18.256,7.361],[0.171,-7.306],[12.067,-1.247],[-2.597,-11.969]],"o":[[3.364,11.751],[6.529,32.214],[7.337,4.667],[2.085,7.822],[32.946,-6.739],[-5.103,-21.33],[-1.456,-11.312],[1.233,-2.004],[0,0],[-5.862,-27.709],[0,0],[-13.721,-5.533],[0,0],[-12.067,1.247],[0,0]],"v":[[12.775,-39.308],[27.656,6.086],[67.904,85.681],[85.931,109.29],[51.49,160.266],[147.472,120.625],[138.368,85.178],[141.966,58.001],[144.817,51.889],[148.546,4.38],[105.537,-51.897],[67.733,-94.328],[46.297,-83.398],[35.29,-89.718],[29.285,-75.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[-63.783,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[73.842,7.296,0]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":6,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"t":13,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":20,"s":[{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":27,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]},{"t":33,"s":[{"i":[[0,-0.618],[4.754,0],[0,2.194],[-4.754,0]],"o":[[0,2.194],[-4.754,0],[0,-1.118],[4.754,0]],"v":[[-50.556,14.024],[-63.816,16.897],[-76.57,13.649],[-63.82,15.407]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":6,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"t":13,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":20,"s":[{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":27,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]},{"t":33,"s":[{"i":[[0,0.161],[7.358,0],[0,-0.258],[-7.358,0]],"o":[[0,-0.253],[-7.358,0],[0,0.161],[7.358,0]],"v":[[-50.31,11.585],[-63.766,14.468],[-77.067,11.366],[-63.766,14.441]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":6,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"t":13,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":20,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":27,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]},{"t":33,"s":[{"i":[[0,-5.552],[13.393,0],[0,5.198],[-13.393,0]],"o":[[0,6.698],[-13.393,0],[0,-5.427],[13.393,0]],"v":[[-39.533,4.77],[-63.758,17.731],[-88.033,4.77],[-63.758,12.934]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":6,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"t":13,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":20,"s":[{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":27,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]},{"t":33,"s":[{"i":[[0,-10.354],[13.393,0],[0,4.146],[-13.393,0]],"o":[[0,6.771],[-13.393,0],[0,-11.604],[13.393,0]],"v":[[-38.545,7.822],[-63.816,19.658],[-89.088,8.322],[-63.816,13.986]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.883,50.25,0]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":2,"sr":1,"ks":{"p":{"a":0,"k":[5.864,107.189,0]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":3,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0.653,-2.439],[0.333,1.551],[3.373,3.05],[6.071,0],[1.346,-1.29],[0.618,-2.064],[-0.205,-1.404],[-0.338,1.997],[-3.418,3.305],[-6.254,0],[-1.401,-1.279],[-0.54,-2.447]],"o":[[0.208,-1.404],[-0.519,-2.417],[-1.362,-1.231],[-6.075,0],[-3.325,3.187],[-0.266,0.888],[-0.653,-2.439],[0.358,-2.116],[1.382,-1.337],[6.254,0],[3.465,3.161],[0.511,2.317]],"v":[[23.396,98.676],[22.79,94.926],[17.364,87.313],[7.718,82.815],[-2.169,86.808],[-7.041,95.879],[-7.395,99.164],[-7.644,94.323],[-3.163,85.358],[7.718,80.641],[17.981,85.383],[23.361,92.486]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":20,"s":[{"i":[[0.653,-2.439],[0.333,1.551],[3.373,3.05],[6.071,0],[1.346,-1.29],[0.618,-2.064],[-0.205,-1.404],[-0.338,1.997],[-3.418,3.305],[-6.254,0],[-1.401,-1.279],[-0.54,-2.447]],"o":[[0.208,-1.404],[-0.519,-2.417],[-1.362,-1.231],[-6.075,0],[-3.325,3.187],[-0.266,0.888],[-0.653,-2.439],[0.358,-2.116],[1.382,-1.337],[6.254,0],[3.465,3.161],[0.511,2.317]],"v":[[23.396,98.676],[22.79,94.926],[17.364,87.313],[7.718,82.815],[-2.169,86.808],[-7.041,95.879],[-7.395,99.164],[-7.644,94.323],[-3.163,85.358],[7.718,80.641],[17.981,85.383],[23.361,92.486]],"c":true}]},{"t":30,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":3,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0.372,0],[3.395,0],[2.745,3.171],[-0.77,0],[0,0],[-3.425,-1.128]],"o":[[-2.709,3.051],[-3.49,0],[-0.13,0],[3.521,0],[0,0],[0.736,0.243]],"v":[[17.833,108.59],[7.798,113.377],[-1.599,109.066],[0.157,109.061],[7.764,109.456],[16.695,109.214]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":20,"s":[{"i":[[0.372,0],[3.395,0],[2.745,3.171],[-0.77,0],[0,0],[-3.425,-1.128]],"o":[[-2.709,3.051],[-3.49,0],[-0.13,0],[3.521,0],[0,0],[0.736,0.243]],"v":[[17.833,108.59],[7.798,113.377],[-1.599,109.066],[0.157,109.061],[7.764,109.456],[16.695,109.214]],"c":true}]},{"t":30,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":3,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0.731,3.326],[3.463,3.161],[6.255,0],[1.382,-1.336],[0.511,-1.952],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.539,-2.454],[-1.401,-1.279],[-6.255,0],[-3.416,3.304],[-0.692,2.646],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[23.362,92.486],[17.981,85.382],[7.718,80.642],[-3.164,85.358],[-7.643,94.319],[-6.315,102.544],[7.8,113.374],[22.318,102.05]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":20,"s":[{"i":[[0.731,3.326],[3.463,3.161],[6.255,0],[1.382,-1.336],[0.511,-1.952],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.539,-2.454],[-1.401,-1.279],[-6.255,0],[-3.416,3.304],[-0.692,2.646],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[23.362,92.486],[17.981,85.382],[7.718,80.642],[-3.164,85.358],[-7.643,94.319],[-6.315,102.544],[7.8,113.374],[22.318,102.05]],"c":true}]},{"t":30,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":3,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[1.427,3.64],[3.584,3.306],[6.493,0],[1.43,-1.397],[0.622,-1.853],[-1.427,-3.795],[-6.517,0],[-2.023,5.379]],"o":[[-0.738,-1.882],[-1.45,-1.337],[-6.493,0],[-3.535,3.454],[-1.188,3.538],[2.023,5.379],[6.517,0],[1.427,-3.795]],"v":[[23.362,92.486],[17.962,87.849],[7.718,82.844],[-2.692,87.507],[-7.643,94.319],[-7.255,103.879],[7.792,118.052],[23.092,103.579]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":20,"s":[{"i":[[1.427,3.64],[3.584,3.306],[6.493,0],[1.43,-1.397],[0.622,-1.853],[-1.427,-3.795],[-6.517,0],[-2.023,5.379]],"o":[[-0.738,-1.882],[-1.45,-1.337],[-6.493,0],[-3.535,3.454],[-1.188,3.538],[2.023,5.379],[6.517,0],[1.427,-3.795]],"v":[[23.362,92.486],[17.962,87.849],[7.718,82.844],[-2.692,87.507],[-7.643,94.319],[-7.255,103.879],[7.792,118.052],[23.092,103.579]],"c":true}]},{"t":30,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":3,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":13,"s":[{"i":[[0.642,1.938],[3.047,3.546],[6.255,0],[2.025,-2.773],[0.19,-1.347],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.54,-1.629],[-1.226,-1.426],[-6.255,0],[-2.393,3.277],[-0.244,1.731],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[22.949,90.878],[18.446,83.779],[7.715,77.503],[-5.317,85.475],[-8.088,94.686],[-7.219,100.342],[7.8,111.172],[23.221,99.848]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.66,"y":0},"t":20,"s":[{"i":[[0.642,1.938],[3.047,3.546],[6.255,0],[2.025,-2.773],[0.19,-1.347],[-1.375,-3.795],[-6.279,0],[-1.949,5.379]],"o":[[-0.54,-1.629],[-1.226,-1.426],[-6.255,0],[-2.393,3.277],[-0.244,1.731],[1.949,5.379],[6.279,0],[1.375,-3.795]],"v":[[22.949,90.878],[18.446,83.779],[7.715,77.503],[-5.317,85.475],[-8.088,94.686],[-7.219,100.342],[7.8,111.172],[23.221,99.848]],"c":true}]},{"t":30,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[-148.03,-63.49,0]},"a":{"a":0,"k":[-148.03,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[157.962,-63.49,0]},"a":{"a":0,"k":[157.962,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":33,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/tsv_setup_monkey_tracking.tgs b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_tracking.tgs new file mode 100644 index 000000000..c170bac4c --- /dev/null +++ b/TMessagesProj/src/main/res/raw/tsv_setup_monkey_tracking.tgs @@ -0,0 +1 @@ +{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"password_track","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":5,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":0,"k":[95,95,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":3,"parent":11,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[-31.579,28.421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[28.421,28.421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[0,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":6,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":160,"s":[0]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-63.783,7.296,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":20,"s":[-52.204,7.296,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":90,"s":[-57.995,8.348,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[-53.257,9.401,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-63.783,7.296,0]}]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":20,"s":[87,85,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":90,"s":[100,90,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"t":160,"s":[100,90,100]},{"t":180,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":6,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":160,"s":[0]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[73.842,7.296,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":20,"s":[73.842,10.454,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":90,"s":[74.896,8.877,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[66.473,7.296,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[73.842,7.296,0]}]},"a":{"a":0,"k":[-63.783,7.296,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-100,100,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":20,"s":[-100,90,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"t":90,"s":[-100,90,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"t":160,"s":[-80,85,100]},{"t":180,"s":[-100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-11.871],[9.986,0],[0,7.079],[-9.986,0]],"o":[[0,7.079],[-9.986,0],[0,-11.357],[9.986,0]],"v":[[-46.701,12.524],[-63.783,33.272],[-80.865,12.524],[-63.783,11.875]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.282352954149,0.286274522543,0.286274522543,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-3.629],[7.358,0],[0,5.828],[-7.358,0]],"o":[[0,5.701],[-7.358,0],[0,-3.63],[7.358,0]],"v":[[-50.461,-12.676],[-63.783,-11.535],[-77.106,-12.676],[-63.783,-23.45]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784316063,0.960784316063,0.960784316063,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-39.533,4.77],[-63.783,40.106],[-88.033,4.77],[-63.783,-30.566]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666670144,0.066666670144,0.066666670144,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-19.516],[13.393,0],[0,19.516],[-13.393,0]],"o":[[0,19.516],[-13.393,0],[0,-19.516],[13.393,0]],"v":[[-38.523,9.822],[-63.783,45.158],[-89.044,9.822],[-63.783,-25.514]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":6,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[5]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":160,"s":[-5]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[5.883,50.25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[-1.486,70.25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[9.567,66.566,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[20.62,64.987,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[5.883,50.25,0]}]},"a":{"a":0,"k":[5.883,50.25,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[2.606,-4.247],[0.221,-0.814],[-3.885,-1.651],[2.57,-4.225],[-0.496,0.808],[4.097,1.741]],"o":[[-0.487,0.794],[2.614,-4.188],[3.885,1.65],[0.667,-0.634],[2.606,-4.247],[-4.097,-1.741]],"v":[[13.502,45.502],[12.436,47.929],[24.707,44.163],[26.572,53.972],[28.337,51.804],[25.635,40.967]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[2.511,-4.382],[0.213,-0.84],[-3.744,-1.703],[2.476,-4.36],[-0.478,0.834],[3.948,1.796]],"o":[[-0.469,0.819],[2.519,-4.321],[3.744,1.703],[0.643,-0.654],[2.511,-4.382],[-3.948,-1.796]],"v":[[13.327,47.581],[12.3,50.086],[24.125,46.199],[25.922,56.321],[27.623,54.083],[25.019,42.902]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[2.07,-4.382],[0.176,-0.84],[-3.087,-1.703],[2.042,-4.36],[-0.394,0.834],[3.255,1.796]],"o":[[-0.387,0.819],[2.077,-4.321],[3.087,1.703],[0.53,-0.654],[2.07,-4.382],[-3.255,-1.796]],"v":[[15.491,47.581],[14.644,50.086],[24.392,46.199],[25.874,56.321],[27.276,54.083],[25.13,42.902]],"c":true}]},{"t":180,"s":[{"i":[[2.511,-4.918],[0.213,-0.942],[-3.744,-1.911],[2.476,-4.893],[-0.478,0.936],[3.948,2.016]],"o":[[-0.469,0.919],[2.519,-4.85],[3.744,1.911],[0.643,-0.734],[2.511,-4.918],[-3.948,-2.016]],"v":[[13.327,44.758],[12.3,47.57],[24.125,43.208],[25.922,54.567],[27.623,52.056],[25.019,39.507]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[2.604,-4.244],[-4.096,-1.74],[-2.604,4.244],[4.096,1.74]],"o":[[-2.604,4.244],[4.096,1.74],[2.604,-4.244],[-4.096,-1.74]],"v":[[13.501,45.501],[16.204,56.336],[28.336,51.803],[25.632,40.968]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[2.509,-4.379],[-3.948,-1.796],[-2.509,4.379],[3.948,1.796]],"o":[[-2.509,4.379],[3.948,1.796],[2.509,-4.379],[-3.948,-1.796]],"v":[[13.326,47.58],[15.931,58.76],[27.621,54.083],[25.016,42.903]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[2.068,-4.379],[-3.254,-1.796],[-2.068,4.379],[3.254,1.796]],"o":[[-2.068,4.379],[3.254,1.796],[2.068,-4.379],[-3.254,-1.796]],"v":[[15.49,47.58],[17.637,58.76],[27.275,54.083],[25.127,42.903]],"c":true}]},{"t":180,"s":[{"i":[[2.509,-4.914],[-3.948,-2.015],[-2.509,4.914],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[2.509,-4.914],[-3.948,-2.015]],"v":[[13.326,44.758],[15.931,57.305],[27.621,52.056],[25.016,39.509]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[4.079,-6.648],[-4.096,-1.74],[-2.918,4.1],[4.096,1.74]],"o":[[-2.604,4.244],[4.096,1.74],[4.385,-6.161],[-4.096,-1.74]],"v":[[12.24,47.426],[15.826,58.636],[27.866,54.383],[26.301,41.565]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[3.93,-6.86],[-3.948,-1.796],[-2.812,4.23],[3.948,1.796]],"o":[[-2.509,4.379],[3.948,1.796],[4.225,-6.357],[-3.948,-1.796]],"v":[[12.111,49.566],[15.567,61.133],[27.169,56.744],[25.661,43.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[3.24,-6.86],[-3.254,-1.796],[-2.318,4.23],[3.254,1.796]],"o":[[-2.068,4.379],[3.254,1.796],[3.483,-6.357],[-3.254,-1.796]],"v":[[14.488,49.566],[17.337,61.133],[26.902,56.744],[25.659,43.518]],"c":true}]},{"t":180,"s":[{"i":[[3.93,-7.699],[-3.948,-2.015],[-2.812,4.747],[3.948,2.015]],"o":[[-2.509,4.914],[3.948,2.015],[4.225,-7.134],[-3.948,-2.015]],"v":[[12.111,46.986],[15.567,59.968],[27.169,55.043],[25.661,40.199]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-2.067,-4.247],[-0.175,-0.814],[3.081,-1.651],[-2.038,-4.225],[0.393,0.808],[-3.25,1.741]],"o":[[0.386,0.794],[-2.073,-4.188],[-3.081,1.65],[-0.529,-0.634],[-2.067,-4.247],[3.25,-1.741]],"v":[[-4.486,46.436],[-3.64,48.863],[-13.373,45.097],[-14.852,54.906],[-16.251,52.738],[-14.108,41.901]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-2.511,-4.382],[-0.213,-0.84],[3.744,-1.703],[-2.476,-4.36],[0.478,0.834],[-3.948,1.796]],"o":[[0.469,0.819],[-2.519,-4.321],[-3.744,1.703],[-0.643,-0.654],[-2.511,-4.382],[3.948,-1.796]],"v":[[-1.485,47.581],[-0.457,50.086],[-12.282,46.199],[-14.08,56.321],[-15.78,54.083],[-13.177,42.902]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-2.511,-4.382],[-0.213,-0.84],[3.744,-1.703],[-2.476,-4.36],[0.478,0.834],[-3.948,1.796]],"o":[[0.469,0.819],[-2.519,-4.321],[-3.744,1.703],[-0.643,-0.654],[-2.511,-4.382],[3.948,-1.796]],"v":[[-1.485,47.581],[-0.457,50.086],[-12.282,46.199],[-14.08,56.321],[-15.78,54.083],[-13.177,42.902]],"c":true}]},{"t":180,"s":[{"i":[[-2.511,-4.918],[-0.213,-0.942],[3.744,-1.911],[-2.476,-4.893],[0.478,0.936],[-3.948,2.016]],"o":[[0.469,0.919],[-2.519,-4.85],[-3.744,1.911],[-0.643,-0.734],[-2.511,-4.918],[3.948,-2.016]],"v":[[-1.485,44.758],[-0.457,47.57],[-12.282,43.208],[-14.08,54.567],[-15.78,52.056],[-13.177,39.507]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.211764708161,0.086274512112,0.035294119269,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-2.065,-4.244],[3.249,-1.74],[2.065,4.244],[-3.249,1.74]],"o":[[2.065,4.244],[-3.249,1.74],[-2.065,-4.244],[3.249,-1.74]],"v":[[-4.485,46.435],[-6.629,57.27],[-16.25,52.737],[-14.106,41.902]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-2.509,-4.379],[3.948,-1.796],[2.509,4.379],[-3.948,1.796]],"o":[[2.509,4.379],[-3.948,1.796],[-2.509,-4.379],[3.948,-1.796]],"v":[[-1.484,47.58],[-4.089,58.76],[-15.779,54.083],[-13.174,42.903]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-2.509,-4.379],[3.948,-1.796],[2.509,4.379],[-3.948,1.796]],"o":[[2.509,4.379],[-3.948,1.796],[-2.509,-4.379],[3.948,-1.796]],"v":[[-1.484,47.58],[-4.089,58.76],[-15.779,54.083],[-13.174,42.903]],"c":true}]},{"t":180,"s":[{"i":[[-2.509,-4.914],[3.948,-2.015],[2.509,4.914],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-2.509,-4.914],[3.948,-2.015]],"v":[[-1.484,44.758],[-4.089,57.305],[-15.779,52.056],[-13.174,39.509]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.403921574354,0.266666680574,0.188235297799,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-3.235,-6.648],[3.249,-1.74],[2.314,4.1],[-3.249,1.74]],"o":[[2.065,4.244],[-3.249,1.74],[-3.478,-6.161],[3.249,-1.74]],"v":[[-3.485,48.36],[-6.329,59.569],[-15.878,55.317],[-14.637,42.499]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-3.93,-6.86],[3.948,-1.796],[2.812,4.23],[-3.948,1.796]],"o":[[2.509,4.379],[-3.948,1.796],[-4.225,-6.357],[3.948,-1.796]],"v":[[-0.269,49.566],[-3.725,61.133],[-15.327,56.744],[-13.818,43.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-3.93,-6.86],[3.948,-1.796],[2.812,4.23],[-3.948,1.796]],"o":[[2.509,4.379],[-3.948,1.796],[-4.225,-6.357],[3.948,-1.796]],"v":[[-0.269,49.566],[-3.725,61.133],[-15.327,56.744],[-13.818,43.518]],"c":true}]},{"t":180,"s":[{"i":[[-3.93,-7.699],[3.948,-2.015],[2.812,4.747],[-3.948,2.015]],"o":[[2.509,4.914],[-3.948,2.015],[-4.225,-7.134],[3.948,-2.015]],"v":[[-0.269,46.986],[-3.725,59.968],[-15.327,55.043],[-13.818,40.199]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.705882370472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[11.712,0.252],[3.163,-1.167],[2.595,1.207],[2.986,-0.081],[-0.086,-9.038],[-29.829,0],[-0.461,7.046]],"o":[[-3.765,-0.081],[-3.271,1.207],[-2.509,-1.167],[-9.29,0.252],[0.065,6.824],[29.532,0],[0.591,-9.025]],"v":[[24.509,32.627],[11.968,35.188],[-3.302,35.551],[-13.249,32.991],[-26.763,47.838],[5.864,67.865],[41.548,47.474]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[11.287,0.26],[3.048,-1.204],[3.153,1.245],[3.628,-0.084],[-0.105,-9.326],[-29.829,0],[-0.445,7.27]],"o":[[-3.628,-0.084],[-3.153,1.245],[-3.048,-1.204],[-11.287,0.26],[0.079,7.041],[29.532,0],[0.569,-9.313]],"v":[[23.934,34.296],[11.849,36.938],[-0.121,36.938],[-12.206,34.296],[-28.625,49.616],[5.864,70.656],[40.353,49.616]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[10.052,0.26],[2.715,-1.204],[3.153,1.245],[3.628,-0.084],[-0.105,-9.326],[-29.824,-0.55],[-0.396,7.27]],"o":[[-3.231,-0.084],[-2.808,1.245],[-3.048,-1.204],[-11.287,0.26],[0.079,7.041],[23.725,0.437],[0.507,-9.313]],"v":[[22.268,34.296],[11.505,36.938],[-0.121,36.938],[-12.206,34.296],[-28.625,49.616],[5.864,70.656],[36.891,49.616]],"c":true}]},{"t":180,"s":[{"i":[[11.287,0.292],[3.048,-1.351],[3.153,1.398],[3.628,-0.094],[-0.105,-10.467],[-29.829,0],[-0.445,8.16]],"o":[[-3.628,-0.094],[-3.153,1.398],[-3.048,-1.351],[-11.287,0.292],[0.079,7.902],[29.532,0],[0.569,-10.452]],"v":[[23.934,29.849],[11.849,32.814],[-0.121,32.814],[-12.206,29.849],[-28.625,47.042],[5.864,70.656],[40.353,47.042]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":6,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[5.864,107.189,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[5.864,118.768,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[12.709,118.768,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":121,"s":[17.152,118.768,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[16.39,118.768,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[5.864,107.189,0]}]},"a":{"a":0,"k":[5.864,107.189,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.188,-2.439],[0.921,0.417],[6.452,0.59],[6.878,0],[2.613,-0.213],[1.434,-0.652],[-0.372,-1.404],[-1.391,0.611],[-6.645,0.566],[-7.086,0],[-2.685,-0.256],[-1.475,-0.645]],"o":[[0.378,-1.404],[-1.435,-0.65],[-2.605,-0.238],[-6.884,0],[-6.452,0.525],[-0.92,0.418],[-1.188,-2.439],[1.479,-0.65],[2.688,-0.229],[7.086,0],[6.639,0.632],[1.396,0.611]],"v":[[34.087,94.056],[33.413,91.171],[21.553,89.807],[5.926,89.257],[-9.991,89.703],[-21.919,91.171],[-22.598,94.051],[-22.751,89.003],[-10.911,87.679],[5.926,87.083],[22.498,87.794],[34.24,89.003]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.017,-0.984],[0.74,0.137],[5.016,-1.003],[5.593,0.145],[2.029,0.395],[1.204,-0.161],[-0.212,-0.564],[-1.167,0.148],[-5.167,-0.995],[-5.762,-0.149],[-2.091,0.414],[-1.186,-0.211]],"o":[[0.337,-0.558],[-1.153,-0.214],[-2.025,0.405],[-5.598,-0.145],[-5.01,-0.975],[-0.773,0.104],[-0.808,-1.014],[1.241,-0.158],[2.09,0.403],[5.762,0.149],[5.17,-1.023],[1.122,0.2]],"v":[[28.803,92.74],[28.316,91.634],[19.599,92.311],[6.09,93.951],[-7.27,92.32],[-16.157,90.934],[-16.891,92.001],[-16.693,90.047],[-7.328,91.453],[6.186,93.108],[19.666,91.443],[29.034,90.766]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[1.256,-2.534],[1.014,0.402],[6.927,-1.686],[8.899,0.328],[3.31,0.598],[1.887,-0.603],[-0.414,-1.463],[-1.829,0.563],[-8.426,-1.496],[-9.169,-0.338],[-2.887,0.692],[-1.624,-0.62]],"o":[[0.388,-1.45],[-1.58,-0.626],[-2.797,0.681],[-8.906,-0.328],[-8.173,-1.477],[-1.211,0.387],[-1.42,-2.568],[1.944,-0.599],[3.408,0.605],[9.169,0.338],[7.137,-1.711],[1.538,0.587]],"v":[[37.651,91.831],[36.864,88.893],[24.871,90.643],[5.114,92.575],[-16.163,90.365],[-30.599,88.025],[-31.617,90.958],[-31.571,85.752],[-16.566,88.1],[5.219,90.335],[25.141,88.354],[37.729,86.646]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0.95,-2.81],[1.167,0.24],[7.456,-2.218],[10.941,-0.562],[4.156,0.133],[2.245,-0.811],[-0.67,-1.462],[-2.179,0.764],[-10.576,-0.313],[-11.273,0.579],[-3.108,0.914],[-1.865,-0.361]],"o":[[0.184,-1.552],[-1.819,-0.374],[-3.01,0.896],[-10.95,0.563],[-10.263,-0.329],[-1.44,0.52],[-2.025,-2.496],[2.316,-0.812],[4.278,0.126],[11.273,-0.58],[7.683,-2.259],[1.766,0.342]],"v":[[42.841,84.703],[41.504,81.824],[28.447,86.054],[6.063,90.174],[-20.024,90.406],[-38.1,89.492],[-39.02,92.61],[-39.544,87.254],[-20.919,88.139],[5.943,87.862],[28.625,83.676],[42.077,79.374]],"c":true}]},{"t":180,"s":[{"i":[[2.193,-4.476],[1.697,0.768],[11.863,-1.475],[12.691,0],[4.8,0.596],[2.647,-1.192],[-0.687,-2.577],[-2.567,1.122],[-12.216,-1.475],[-13.075,0],[-4.941,0.596],[-2.718,-1.192]],"o":[[0.697,-2.577],[-2.647,-1.192],[-4.789,0.596],[-12.701,0],[-11.852,-1.475],[-1.697,0.768],[-2.193,-4.476],[2.728,-1.192],[4.941,0.596],[13.075,0],[12.216,-1.475],[2.576,1.122]],"v":[[58.155,95.404],[56.912,90.109],[36.046,93.282],[5.865,95.192],[-24.327,93.282],[-45.182,90.109],[-46.435,95.394],[-46.718,86.128],[-25.226,89.301],[5.865,91.201],[36.956,89.301],[58.437,86.128]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.015686275437,0,0.003921568859,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0.676,0],[6.173,0],[4.992,3.171],[-1.401,0],[0,0],[-6.229,-1.128]],"o":[[-4.927,3.051],[-6.347,0],[-0.236,0],[6.404,0],[0,0],[1.339,0.243]],"v":[[23.022,105.559],[5.744,111.007],[-11.941,105.116],[-8.151,106.691],[5.555,107.59],[19.484,106.941]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.451,-0.113],[5.02,0.13],[3.846,1.534],[-1.083,-0.29],[-3.642,0.125],[-3.577,1.294]],"o":[[-4.069,1.325],[-5.161,-0.134],[-0.191,-0.015],[5.789,1.549],[5.19,-0.178],[-0.502,0.234]],"v":[[20.57,96.753],[5.352,99.132],[-8.187,96.863],[-4.341,97.826],[7.524,99.085],[25.156,95.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[1.436,-1.581],[7.987,0.294],[6.305,3.503],[-3.242,0.796],[-6.061,0.252],[-5.656,-2.505]],"o":[[-7.476,4.197],[-8.211,-0.302],[-6.499,-3.529],[9.718,-2.101],[9.706,-0.35],[2.272,0.633]],"v":[[27.076,102.043],[1.752,108.056],[-18.578,102.846],[-19.762,98.709],[-1.653,95.626],[23.04,97.634]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0.932,-3.228],[9.82,-0.505],[8.116,2.964],[-5.032,1.599],[-6.076,0.443],[-9.806,-0.981]],"o":[[-9.452,6.314],[-10.096,0.519],[-13.083,-6.421],[9.354,-2.973],[12.987,-0.946],[5.231,0.523]],"v":[[33.069,97.061],[1.721,108.089],[-22.824,103.774],[-30.308,95.764],[-12.589,91.995],[18.845,92.212]],"c":true}]},{"t":180,"s":[{"i":[[1.87,-5.25],[11.39,0],[9.21,5.82],[-5.92,2.3],[0,0],[-10.91,-4.15]],"o":[[-9.09,5.6],[-11.71,0],[-1.77,-5.25],[11,-4.29],[0,0],[5.82,2.21]],"v":[[37.739,116.517],[5.859,126.517],[-26.771,116.047],[-19.781,101.617],[5.509,103.267],[31.209,102.077]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039233685,0.274509817362,0.376470595598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[34.242,89.001],[22.499,87.793],[5.925,87.084],[-10.913,87.679],[-22.749,89.001],[-20.634,97.431],[5.746,111.004],[32.127,97.431]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.607,0.288],[5.168,-1.022],[5.763,0.149],[2.089,0.402],[1.238,-0.158],[-1.785,-1.619],[-9.285,-0.241],[-2.994,2.195]],"o":[[-1.186,-0.213],[-2.09,0.414],[-5.763,-0.149],[-5.166,-0.995],[-1.678,0.214],[2.53,2.294],[9.285,0.241],[2.112,-1.548]],"v":[[29.035,90.765],[19.666,91.443],[6.185,93.108],[-7.329,91.453],[-16.691,90.046],[-15.514,93.426],[5.354,99.131],[27.139,94.11]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[2.202,0.846],[7.134,-1.709],[9.17,0.338],[3.407,0.605],[1.94,-0.598],[-3.052,-4.028],[-14.773,-0.544],[-3.779,5.615]],"o":[[-1.625,-0.624],[-2.885,0.691],[-9.17,-0.338],[-8.424,-1.495],[-2.63,0.811],[4.325,5.708],[14.773,0.544],[2.666,-3.961]],"v":[[37.731,86.644],[25.142,88.353],[5.218,90.337],[-16.568,88.099],[-31.567,85.751],[-29.238,94.533],[1.755,108.053],[35.568,95.346]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[2.531,0.494],[7.681,-2.256],[11.274,-0.58],[4.276,0.126],[2.311,-0.811],[-4.187,-3.831],[-18.163,0.934],[-3.187,6.396]],"o":[[-1.867,-0.365],[-3.106,0.913],[-11.274,0.58],[-10.573,-0.312],[-3.133,1.099],[5.935,5.43],[18.163,-0.934],[2.249,-4.513]],"v":[[42.079,79.372],[28.625,83.675],[5.942,87.864],[-20.922,88.139],[-39.54,87.252],[-35.708,96.043],[1.725,108.086],[41.153,88.66]],"c":true}]},{"t":180,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[58.441,86.126],[36.956,89.3],[5.864,91.203],[-25.229,89.3],[-46.713,86.126],[-42.811,101.598],[5.863,126.512],[54.538,101.598]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.247058823705,0.039215687662,0.141176477075,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[3.188,0.413],[6.882,0.687],[7.357,0],[2.786,-0.25],[1.597,-0.464],[-2.595,-3.795],[-11.852,0],[-3.679,5.379]],"o":[[-1.648,-0.214],[-2.783,-0.278],[-7.357,0],[-6.889,0.618],[-3.048,0.885],[3.678,5.379],[11.852,0],[2.595,-3.795]],"v":[[34.242,89.001],[22.653,90.081],[5.925,89.286],[-11.089,89.965],[-22.749,89.001],[-21.823,100.948],[5.733,115.682],[33.554,101.21]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[2.583,0.074],[5.369,-1.05],[5.982,0.155],[2.17,0.413],[1.325,-0.079],[-2.386,-3.93],[-7.235,-0.257],[-3.03,3.731]],"o":[[-1.336,-0.038],[-2.171,0.425],[-5.982,-0.155],[-5.367,-1.021],[-2.529,0.15],[3.381,5.571],[7.377,0.262],[2.898,-3.569]],"v":[[29.035,90.765],[20.509,92.2],[6.088,93.963],[-8.177,92.214],[-16.691,90.046],[-17.383,94.585],[6.044,102.764],[28.688,96.663]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[3.494,0.335],[7.409,-1.743],[9.518,0.351],[3.538,0.615],[2.088,-0.401],[-3.174,-4.032],[-15.334,-0.565],[-3.927,5.618]],"o":[[-1.806,-0.173],[-2.996,0.705],[-9.518,-0.351],[-8.747,-1.521],[-3.987,0.766],[4.499,5.715],[15.334,0.565],[2.77,-3.964]],"v":[[37.731,86.644],[26.114,90.524],[5.112,92.605],[-17.617,90.283],[-31.567,85.751],[-30.51,99.394],[1.222,115.316],[36.399,100.422]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[3.85,-0.249],[7.978,-2.31],[11.702,-0.602],[4.438,0.118],[2.514,-0.624],[-4.338,-3.824],[-18.853,0.969],[-3.346,6.425]],"o":[[-1.99,0.129],[-3.227,0.934],[-11.702,0.602],[-10.973,-0.291],[-4.8,1.191],[6.149,5.419],[18.853,-0.969],[2.361,-4.533]],"v":[[42.079,79.372],[29.794,85.846],[6.064,90.205],[-21.818,90.533],[-39.54,87.252],[-36.41,102.429],[1.776,115.02],[42.073,94.869]],"c":true}]},{"t":180,"s":[{"i":[[5.883,0.759],[12.676,-1.472],[13.573,0],[5.127,0.595],[2.946,-0.851],[-4.788,-6.966],[-21.868,0],[-6.787,9.873]],"o":[[-3.042,-0.392],[-5.126,0.595],[-13.574,0],[-12.676,-1.472],[-5.624,1.625],[6.787,9.873],[21.868,0],[4.789,-6.966]],"v":[[58.441,86.126],[38.137,93.341],[5.864,95.245],[-26.41,93.341],[-46.713,86.126],[-43.649,106.65],[5.863,132.575],[55.376,106.65]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.956862747669,0.913725495338,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[2,0.88],[6.637,0.633],[7.087,0],[2.687,-0.229],[1.475,-0.649],[-2.5,-3.795],[-11.418,0],[-3.544,5.379]],"o":[[-1.475,-0.649],[-2.684,-0.256],[-7.087,0],[-6.643,0.567],[-2,0.88],[3.544,5.379],[11.418,0],[2.5,-3.795]],"v":[[35.881,85.862],[23.167,84.726],[5.922,83.945],[-11.558,84.606],[-24.395,85.862],[-22.277,95.229],[5.746,108.802],[33.769,95.229]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.949,0.987],[6.41,-1.835],[7.077,0.384],[2.587,0.759],[1.508,-0.568],[-1.785,-1.619],[-9.285,-0.241],[-2.994,2.195]],"o":[[-1.438,-0.728],[-2.592,0.742],[-7.077,-0.384],[-6.398,-1.876],[-2.045,0.77],[2.53,2.294],[9.285,0.241],[2.112,-1.548]],"v":[[30.955,88.569],[19.615,89.611],[6.244,91.503],[-4.363,90.244],[-17.917,88.065],[-16.706,92.475],[5.451,98.277],[28.521,93.206]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[2.202,0.846],[7.134,-1.709],[9.17,0.338],[3.407,0.605],[1.94,-0.598],[-3.052,-4.028],[-14.773,-0.544],[-3.779,5.615]],"o":[[-1.625,-0.624],[-2.885,0.691],[-9.17,-0.338],[-8.424,-1.495],[-2.63,0.811],[4.325,5.708],[14.773,0.544],[2.666,-3.961]],"v":[[39.534,83.874],[24.815,85.631],[5.37,87.603],[-16.245,85.392],[-33.541,82.938],[-31.257,92.187],[1.861,105.786],[37.325,93.043]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[2.531,0.494],[7.681,-2.256],[11.274,-0.58],[4.276,0.126],[2.311,-0.811],[-4.187,-3.831],[-18.163,0.934],[-3.187,6.396]],"o":[[-1.867,-0.365],[-3.106,0.913],[-11.274,0.58],[-10.573,-0.312],[-3.133,1.099],[5.935,5.43],[18.163,-0.934],[2.249,-4.513]],"v":[[43.611,76.712],[28.213,81.367],[5.82,85.522],[-21.044,85.797],[-42.275,85.045],[-38.444,93.836],[1.603,105.744],[42.685,86]],"c":true}]},{"t":180,"s":[{"i":[[3.69,1.615],[12.212,-1.472],[13.077,0],[4.939,0.595],[2.722,-1.191],[-4.613,-6.966],[-21.068,0],[-6.539,9.873]],"o":[[-2.722,-1.191],[-4.939,0.595],[-13.077,0],[-12.212,-1.472],[-3.69,1.615],[6.539,9.873],[21.068,0],[4.614,-6.966]],"v":[[61.472,82.084],[36.956,85.258],[5.864,87.162],[-25.229,85.258],[-49.744,82.084],[-45.842,97.556],[5.863,122.47],[57.569,97.556]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[5.303,144.067,0]},"a":{"a":0,"k":[5.303,144.067,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-11.59,-7.414],[0,0],[-14.698,7.139],[-18.287,2.781]],"o":[[11.917,5.276],[19.623,12.552],[0,0],[7.38,-3.585],[0,0]],"v":[[-89.369,144.471],[-53.673,162.62],[-18.121,174.858],[16.833,167.523],[52.16,156.423]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-11.217,-6.89],[-6.694,0.755],[-13.943,10.142],[-18.221,7.812]],"o":[[14.564,5.201],[18.99,11.665],[4.881,-0.55],[7.645,-5.735],[0,0]],"v":[[-58.434,154.392],[-25.997,166.584],[11.457,177.72],[43.851,165.709],[81.342,150.935]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0,0],[-11.922,-2.112],[-12.765,1.265],[-13.733,9.717],[-18.156,12.771]],"o":[[17.174,5.127],[20.184,3.575],[9.308,-0.922],[8.229,-5.822],[0,0]],"v":[[-39.353,157.947],[-4.021,162.991],[35.085,170.353],[69.022,158.414],[107.404,133.141]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-10.992,-6.96],[0,0],[-16.976,11.779],[-18.657,4.78]],"o":[[17.211,5.126],[18.61,11.782],[0,0],[10.182,-7.065],[0,0]],"v":[[-70.986,150.908],[-27.847,165.744],[5.303,176.601],[37.654,165.544],[81.313,150.908]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.584313750267,0.447058826685,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[7.289,-3.787],[0,0],[17.838,12.486],[4.657,1.734],[3.407,3.585],[1.57,5.1],[-17.85,-8.275],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-14.468,7.517],[0,0],[-11.275,-7.893],[-4.634,-1.727],[-3.841,-4.041],[11.925,5.234],[22.198,10.29],[7.89,-5.32]],"v":[[61.653,139.769],[52.808,154.837],[50.165,158.256],[16.829,167.525],[-18.125,174.854],[-52.792,162.456],[-83.678,147.618],[-87.426,144.856],[-98.469,124.185],[-47.396,153.643],[4.814,154.431]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-21.116,6.554],[2.81,-4.07],[4.354,-1.912],[7.815,-6.052],[0,0],[17.273,11.577],[6.018,1.372],[3.407,3.585],[1.57,5.1],[-16.234,-6.813],[-10.473,7.85]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.812,3.919],[-13.825,10.331],[0,0],[-10.918,-7.318],[-4.767,-1.198],[-3.841,-4.041],[11.925,5.236],[26.755,10.877],[8.681,-6.45]],"v":[[87.149,133.888],[81.988,149.348],[77.23,153.675],[43.847,165.712],[11.453,177.717],[-25.152,166.45],[-51.171,156.947],[-56.487,154.779],[-65.723,137.499],[-13.565,157.023],[45.039,152.058]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-17.436,9.061],[2.81,-4.07],[3.816,-3.137],[8.675,-6.139],[0,0],[18.575,3.951],[7.36,1.015],[3.407,3.585],[1.57,5.1],[-14.642,-4.542],[-12.516,8.448]],"o":[[-1.671,6.6],[-2.81,4.07],[-8.237,6.787],[-13.729,9.716],[0,0],[-11.741,-2.497],[-4.898,-0.678],[-3.841,-4.041],[11.925,5.238],[31.247,9.675],[9.461,-6.386]],"v":[[113.319,112.787],[106.6,132.525],[99.759,137.291],[69.018,158.417],[35.082,170.351],[-3.268,162.678],[-17.572,159.917],[-37.403,158.334],[-46.934,141.285],[14.784,153.302],[72.427,142.515]],"c":true}]},{"t":180,"s":[{"i":[[-24.85,4.01],[2.81,-4.07],[4.9,-0.67],[10.74,-7.45],[0,0],[16.98,11.78],[7.38,1.01],[3.407,3.585],[1.57,5.1],[-14.42,-8.27],[-8.4,5.66]],"o":[[-1.671,6.6],[-2.81,4.07],[-7.38,1.01],[-16.97,11.78],[0,0],[-10.73,-7.45],[-4.9,-0.67],[-3.841,-4.041],[12.31,3.41],[17.93,10.29],[7.89,-5.32]],"v":[[91.856,131.627],[83.799,149.584],[68.549,154.317],[37.649,165.547],[5.299,176.597],[-27.051,165.547],[-57.941,154.317],[-72.457,150.111],[-81.201,131.67],[-17.101,154.037],[28.949,154.037]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":11},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[56.478,10.772],[11.245,-11.558],[2.922,3.003],[29.193,-5.044],[-1.651,-23.642],[-28.607,-10.289],[0.785,-3.583],[-11.514,-17.678],[-4.902,-0.674],[-11.284,-7.894],[0,0],[-14.528,7.426],[-7.382,1.015],[-2.119,4.472],[-9.613,26.277],[-3.578,0.809],[-7.366,31.728]],"o":[[-42.596,-8.125],[-2.922,3.003],[-11.245,-11.558],[-27.428,4.739],[1.542,22.083],[3.452,1.241],[-3.47,15.845],[2.701,4.147],[7.382,1.015],[17.838,12.479],[0,0],[6.521,-3.333],[4.902,-0.674],[10.121,-21.355],[1.258,-3.445],[30.413,-6.879],[7.887,-33.97]],"v":[[68.29,-21.352],[-24.303,10.893],[-35.478,10.893],[-102.046,-23.16],[-135.705,34.244],[-100.516,88.128],[-95.835,96.537],[-85.044,141.622],[-82.498,147.092],[-52.788,162.453],[-18.121,174.858],[16.833,167.523],[50.164,157.256],[49.689,152.129],[53.914,97.85],[58.595,89.441],[122.669,44.587]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[42.499,7.368],[11.245,-11.798],[2.922,3.066],[36.255,-6.612],[-3.555,-21.167],[-28.607,-10.289],[0.785,-3.583],[-11.509,-17.672],[-4.902,-0.674],[-10.926,-7.319],[0,0],[-13.858,10.286],[-7.848,3.264],[-1.715,4.622],[-3.071,21.061],[-3.515,1.025],[-4.608,26.082]],"o":[[-32.053,-5.557],[-2.922,3.066],[-11.245,-11.798],[-46.231,8.456],[3.321,19.771],[3.452,1.242],[-3.47,15.845],[2.7,4.147],[7.382,1.015],[17.273,11.571],[0,0],[7.431,-5.824],[4.513,-1.704],[7.352,-19.017],[0.237,-3.514],[29.51,-8.584],[4.606,-23.978]],"v":[[92.829,-22],[16.978,7.294],[5.803,7.294],[-79.789,-24.136],[-125.22,36.758],[-71.063,91.068],[-66.381,99.477],[-54.105,151.545],[-50.582,156.684],[-25.148,166.447],[11.457,177.72],[43.851,165.709],[77.265,153.766],[78.869,146.641],[84.013,94.607],[88.694,86.198],[138.553,41.26]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[25.701,4.013],[11.245,-12.034],[2.922,3.127],[38.764,-7.506],[-5.173,-23.076],[-28.607,-10.289],[0.785,-3.583],[-11.505,-17.666],[-4.902,-0.674],[-11.748,-2.496],[0,0],[-13.73,9.721],[-8.307,5.481],[-2.076,4.491],[1.869,16.855],[-3.09,1.238],[-1.706,22.317]],"o":[[-19.384,-3.026],[-2.922,3.127],[-11.245,-12.034],[-51.371,9.948],[4.832,21.554],[3.452,1.241],[-3.47,15.845],[2.7,4.147],[7.382,1.015],[18.573,3.946],[0,0],[8.668,-6.137],[4.13,-2.72],[7.275,-15.74],[-0.412,-3.642],[25.612,-10.265],[1.228,-16.058]],"v":[[112.756,-22.639],[57.669,3.748],[46.494,3.748],[-55.172,-25.099],[-103.905,43.585],[-36.842,96.56],[-32.16,104.969],[-35.021,155.1],[-17.565,159.913],[-3.265,162.675],[35.085,170.353],[69.022,158.414],[99.829,138.459],[105.036,129.47],[113.682,91.411],[113.961,83.002],[143.72,34.722]],"c":true}]},{"t":180,"s":[{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,153.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-5.004,-8.325],[6.396,-2.745],[22.493,3.965],[6.796,0.395],[14.379,1.024],[-8.034,6.68],[-17.189,-1.254],[-11.238,-11.569],[-2.923,3.003],[-42.6,-8.13]],"o":[[3.08,5.124],[-44.184,18.963],[-6.674,-1.176],[-25.168,-1.463],[-16.883,-1.202],[9.541,-7.933],[20.785,1.516],[2.92,3.006],[11.25,-11.557],[29.412,5.613]],"v":[[108.161,5.372],[101.89,19.422],[-18.584,31.862],[-38.779,32.078],[-94.428,5.977],[-124.5,-11.613],[-92.396,-20.793],[-35.546,10.96],[-24.376,10.96],[67.383,-18.075]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-7.251,-6.149],[5.872,-2.326],[22.493,4.047],[6.714,-0.502],[16.307,4.015],[-6.23,5.852],[-23.691,2.323],[-11.238,-11.808],[-2.923,3.065],[-32.058,-5.562]],"o":[[5.992,4.424],[-40.293,15.973],[-6.674,-1.201],[-40.648,5.189],[-12.298,-1.889],[8.274,-8.349],[30.629,-3.216],[2.92,3.068],[11.25,-11.797],[22.134,3.84]],"v":[[118.226,-5.669],[107.38,10.454],[22.425,27.39],[2.23,27.611],[-89.895,12.313],[-109.951,-3.463],[-72.523,-21.702],[5.733,7.287],[16.903,7.287],[92.058,-20.411]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-8.5,-3.973],[4.787,-1.908],[22.493,4.13],[6.631,-1.399],[16.983,7.007],[-3.144,5.023],[-28.696,5.9],[-11.238,-12.048],[-2.923,3.127],[-19.255,-2.993]],"o":[[7.97,3.725],[-32.576,12.984],[-6.674,-1.225],[-56.127,11.841],[-6.244,-2.576],[5.486,-8.765],[38.664,-7.949],[2.92,3.13],[11.25,-12.036],[13.295,2.066]],"v":[[122.845,-16.709],[109.044,1.486],[63.433,22.918],[43.238,23.143],[-82.88,18.648],[-89.102,4.687],[-53.204,-22.612],[47.011,3.613],[58.181,3.613],[112.501,-22.747]],"c":true}]},{"t":180,"s":[{"i":[[-6.695,-15.921],[5.747,-3.178],[22.493,4.591],[6.631,-1.555],[16.983,8.766],[-3.144,6.284],[-28.696,7.38],[-11.25,-13.38],[-2.92,3.48],[-38.8,-9.4]],"o":[[2.546,6.053],[-39.7,21.954],[-6.674,-1.362],[-56.127,13.163],[-6.244,-3.223],[5.486,-10.965],[38.664,-9.944],[2.92,3.48],[11.25,-13.38],[26.786,6.499]],"v":[[134.093,-35.971],[128.458,-19.704],[14.574,-11.647],[-5.621,-11.396],[-116.496,-21.256],[-122.192,-38.41],[-76.315,-72.759],[-0.282,-45.913],[10.887,-45.913],[87.791,-72.245]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.749019622803,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[56.478,10.772],[11.245,-11.558],[2.922,3.003],[33.966,-5.652],[-1.651,-23.642],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-11.284,-7.894],[0,0],[-14.094,8.101],[-7.382,1.015],[-1.927,4.558],[-10.401,26.277],[-3.581,0.796],[-7.366,31.728]],"o":[[-42.596,-8.125],[-2.922,3.003],[-11.245,-11.558],[-28.481,4.739],[1.542,22.083],[3.452,1.241],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[17.839,12.479],[0,0],[8.915,-5.124],[4.902,-0.674],[8.808,-20.829],[1.348,-3.41],[30.939,-6.879],[7.887,-33.97]],"v":[[68.289,-21.352],[-24.303,10.893],[-35.478,10.893],[-102.046,-23.16],[-135.705,34.244],[-100.516,88.128],[-95.835,96.537],[-85.044,141.622],[-82.498,147.092],[-52.788,162.453],[-18.121,174.858],[16.833,167.523],[50.164,158.256],[49.689,152.129],[53.914,97.85],[58.595,89.441],[122.669,44.587]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[42.499,7.368],[11.245,-11.798],[2.922,3.066],[38.832,-7.706],[-3.555,-21.167],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.926,-7.319],[0,0],[-13.641,10.623],[-7.549,4.053],[-1.575,4.676],[-3.465,21.061],[-3.516,1.019],[-5.708,25.871]],"o":[[-32.053,-5.557],[-2.922,3.066],[-11.245,-11.798],[-46.22,9.147],[3.321,19.771],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[17.273,11.571],[0,0],[8.628,-6.72],[4.273,-2.011],[6.432,-18.359],[0.282,-3.497],[29.773,-8.584],[6.111,-27.698]],"v":[[92.829,-22],[16.978,7.294],[5.803,7.294],[-79.789,-24.136],[-125.22,36.758],[-71.063,91.068],[-66.381,99.477],[-54.105,151.545],[-50.582,156.684],[-25.148,166.447],[11.457,177.72],[43.851,165.709],[77.229,153.675],[78.869,146.641],[84.013,94.607],[88.694,86.198],[138.114,42.313]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[25.701,4.013],[11.245,-12.034],[2.922,3.127],[38.801,-7.522],[-5.173,-23.076],[-28.607,-10.289],[0.785,-3.583],[-11.295,-18.521],[-4.902,-0.674],[-11.748,-2.496],[0,0],[-13.732,9.72],[-7.713,7.048],[-1.993,4.529],[3.371,15.919],[-3.09,1.238],[-3.645,21.899]],"o":[[-19.384,-3.026],[-2.922,3.127],[-11.245,-12.034],[-51.37,9.958],[4.832,21.554],[3.452,1.241],[-3.47,15.845],[2.576,4.225],[7.382,1.015],[18.573,3.946],[0,0],[8.686,-6.148],[3.653,-3.329],[6.622,-15.049],[-0.77,-3.582],[25.616,-10.265],[3.903,-23.446]],"v":[[112.756,-22.639],[57.669,3.748],[46.494,3.748],[-55.172,-25.099],[-103.905,43.585],[-36.842,96.56],[-32.16,104.969],[-35.021,155.1],[-17.565,159.913],[-3.265,162.675],[35.085,170.353],[69.022,158.414],[99.758,137.291],[105.036,129.47],[113.682,91.411],[113.961,83.002],[142.939,36.812]],"c":true}]},{"t":180,"s":[{"i":[[51.445,12.472],[11.245,-13.381],[2.922,3.477],[38.8,-9.406],[-5.196,-23.384],[-28.607,-10.289],[0.785,-3.583],[-16.2,-23.457],[-4.902,-0.674],[-10.738,-7.451],[0,0],[-16.975,11.779],[-7.382,1.015],[-2.812,4.072],[3.47,15.845],[-3.452,1.242],[-4.853,21.841]],"o":[[-38.801,-9.406],[-2.922,3.477],[-11.245,-13.381],[-51.445,12.472],[4.854,21.841],[3.452,1.242],[-3.47,15.845],[2.812,4.072],[7.382,1.015],[16.975,11.779],[0,0],[10.737,-7.451],[4.902,-0.674],[16.2,-23.457],[-0.785,-3.583],[28.607,-10.289],[5.197,-23.384]],"v":[[88.579,-75.949],[10.891,-45.909],[-0.285,-45.909],[-77.973,-75.949],[-132.017,4.597],[-80.556,57.662],[-75.875,66.071],[-70.075,146.877],[-57.943,154.316],[-27.048,165.544],[5.303,176.601],[37.654,165.544],[68.548,154.316],[80.68,146.877],[86.481,66.071],[91.162,57.662],[142.623,4.597]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.847058832645,0.701960802078,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[16.359,-45.579],[-188.023,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-17.961,50.045],[188.023,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-149.542,-17.661],[5.418,159.087]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-194.826,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[194.826,0]],"v":[[167.219,-19.07],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[6.753,160.139]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-182.194,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[182.194,0]],"v":[[161.166,-14.465],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[-11.141,159.218]],"c":true}]},{"t":180,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-6.911,-3.848]],"o":[[0,0],[0,0]],"v":[[41.475,-186.389],[52.926,-180.634]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-7.279,-3.094]],"o":[[0,0],[0,0]],"v":[[41.41,-186.344],[53.406,-181.835]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-7.633,-2.073]],"o":[[0,0],[0,0]],"v":[[41.579,-186.44],[54.078,-183.608]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-1.426,-0.947]],"o":[[1.348,0.843],[0,0]],"v":[[60.69,-176.048],[64.856,-173.363]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[-1.518,-0.791]],"o":[[1.43,0.695],[0,0]],"v":[[61.612,-178.097],[66.039,-175.869]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-1.612,-0.576]],"o":[[1.511,0.494],[0,0]],"v":[[62.717,-181.024],[67.407,-179.42]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[4.194,-31.921],[66.685,2.228],[1.486,23.489],[-50.223,0]],"o":[[-3.066,23.336],[-72.763,-2.431],[-2.352,-37.184],[50.223,0]],"v":[[87.385,-129.658],[-13.553,-72.832],[-100.806,-126.5],[5.921,-191.222]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-3.087,-30.801],[58.454,1.114],[0.743,27.464],[-50.223,0]],"o":[[3.722,26.71],[-61.493,-1.216],[-1.176,-34.312],[50.223,0]],"v":[[102.385,-131.187],[10.395,-72.732],[-91.595,-129.345],[5.921,-191.222]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-10.369,-29.681],[50.223,0],[0,31.44],[-50.223,0]],"o":[[10.51,30.085],[-50.223,0],[0,-31.44],[50.223,0]],"v":[[117.385,-132.716],[34.342,-72.632],[-82.385,-132.19],[5.921,-191.222]],"c":true}]},{"t":180,"s":[{"i":[[0,-23.536],[50.223,0],[0,23.536],[-50.223,0]],"o":[[0,23.536],[-50.223,0],[0,-23.536],[50.223,0]],"v":[[96.859,-148.606],[5.921,-105.99],[-85.016,-148.606],[5.921,-191.222]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.623529434204,0.419607847929,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[14.077,-41.84],[-172.599,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-15.457,45.939],[172.599,0]],"v":[[141.9,-16.956],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-138.754,-17.347],[5.418,144.067]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[23.821,48.017],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-38.136],[-178.843,0]],"o":[[-20.075,-40.444],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,41.872],[178.843,0]],"v":[[149.794,-17.745],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-133.399,-16.85],[6.753,145.12]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[25.469,51.692],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-35.886],[-167.248,0]],"o":[[-19.956,-40.503],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,39.402],[167.248,0]],"v":[[154.005,-15.903],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-113.925,-12.535],[-11.141,144.067]],"c":true}]},{"t":180,"s":[{"i":[[22.173,44.342],[12.12,40.285],[70.911,0],[13.958,-46.393],[20.194,-40.385],[-182.343,0]],"o":[[-20.194,-40.385],[-13.957,-46.393],[-71.675,0],[-12.12,40.285],[-22.173,44.342],[182.343,0]],"v":[[156.11,-21.166],[134.482,-103.692],[5.303,-192.073],[-123.876,-103.692],[-145.504,-21.166],[5.303,144.067]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[16.359,-45.579],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-17.961,50.045],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-149.542,-17.661],[5.303,159.087]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-194.826,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[194.826,0]],"v":[[167.219,-19.07],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[6.753,160.139]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-182.194,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[182.194,0]],"v":[[161.166,-14.597],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[-11.141,159.087]],"c":true}]},{"t":180,"s":[{"i":[[24.154,48.305],[13.203,43.885],[77.248,0],[15.205,-50.539],[21.999,-43.995],[-198.638,0]],"o":[[-21.999,-43.995],[-15.205,-50.539],[-78.08,0],[-13.203,43.885],[-24.154,48.305],[198.638,0]],"v":[[169.587,-20.913],[146.026,-110.813],[5.303,-207.093],[-135.42,-110.813],[-158.981,-20.913],[5.303,159.087]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"parent":11,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":160,"s":[8]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-94.41,-63.49,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[-71.252,-81.385,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[-109.147,-81.385,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-94.41,-63.49,0]}]},"a":{"a":0,"k":[-92.696,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-102.402,-87.712],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-108.556,-114.286]],"c":true}]},{"t":180,"s":[{"i":[[1.081,-15.591],[0,0],[0.01,0],[-5.699,9.64],[0,0]],"o":[[-42.636,-22.157],[-0.01,0],[-1.283,-12.428],[16.864,-28.514],[5.547,-0.606]],"v":[[-120.56,-89.291],[-178.963,-61.424],[-178.983,-61.434],[-172.678,-95.859],[-126.714,-115.865]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[17.728,-1.949],[16.87,-28.514],[-20.475,-18.948]],"o":[[0,0],[-13.747,23.235],[65.834,60.922]],"v":[[-108.553,-114.287],[-172.682,-95.857],[-156.36,-15.922]],"c":true}]},{"t":180,"s":[{"i":[[17.728,-1.949],[16.87,-28.514],[-21.623,-17.626]],"o":[[0,0],[-13.747,23.235],[25.716,20.962]],"v":[[-126.711,-115.866],[-172.682,-95.857],[-156.36,-15.922]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[55.139,2.655],[22.172,-27.368],[-69.039,-60.795]],"o":[[-46.57,-2.242],[-24.472,30.208],[48.298,42.531]],"v":[[-93.167,-143.811],[-186.99,-118.078],[-148.33,26.058]],"c":true}]},{"t":180,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-36.319,10.182]],"o":[[0,0],[0,0]],"v":[[-194.126,-81.406],[-152.972,-131.334]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[55.123,2.965],[22.172,-27.368],[-69.039,-59.216]],"o":[[-46.57,-2.505],[-24.472,30.208],[48.848,41.898]],"v":[[-93.167,-143.811],[-186.99,-118.078],[-148.33,26.058]],"c":true}]},{"t":180,"s":[{"i":[[55.083,3.638],[22.172,-27.368],[-47.288,-39.234]],"o":[[-19.765,-1.305],[-24.472,30.208],[49.528,41.092]],"v":[[-115.798,-143.021],[-186.99,-118.078],[-164.645,10.795]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"parent":11,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[-8]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":160,"s":[0]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[104.342,-63.49,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[118.026,-81.385,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[83.289,-81.385,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[104.342,-63.49,0]}]},"a":{"a":0,"k":[102.628,-63.49,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[116.969,-89.818],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[123.123,-116.392]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}]},{"t":180,"s":[{"i":[[-1.081,-15.591],[0,0],[-0.01,0],[5.699,9.64],[0,0]],"o":[[42.636,-22.157],[0.01,0],[1.283,-12.428],[-16.864,-28.514],[-5.547,-0.606]],"v":[[130.917,-89.291],[189.319,-61.424],[189.34,-61.434],[183.034,-95.859],[137.07,-115.865]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.858823537827,0.596078455448,0.592156887054,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[63.844,-42.374]],"o":[[19.765,-1.305],[24.472,30.208],[-53.619,35.588]],"v":[[100.993,-144.6],[196.922,-118.078],[162.472,20.269]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]},{"t":180,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.258823543787,0.121568627656,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[36.319,10.182]],"o":[[0,0],[0,0]],"v":[[203.905,-80.406],[162.752,-130.334]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.737254917622,0.572549045086,0.349019616842,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":10},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-17.728,-1.949],[-16.87,-28.514],[23.187,-15.511]],"o":[[0,0],[13.747,23.235],[-64.713,43.291]],"v":[[122.695,-116.393],[182.613,-95.857],[166.291,-15.922]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}]},{"t":180,"s":[{"i":[[-17.728,-1.949],[-16.87,-28.514],[21.623,-17.626]],"o":[[0,0],[13.747,23.235],[-25.716,20.962]],"v":[[136.643,-115.866],[182.613,-95.857],[166.291,-15.922]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.674509823322,0.666666686535,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[65.423,-44.479]],"o":[[19.765,-1.305],[24.472,30.208],[-53.22,36.183]],"v":[[100.993,-144.6],[196.922,-118.078],[162.472,20.269]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":160,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]},{"t":180,"s":[{"i":[[-55.083,3.638],[-22.172,-27.368],[47.288,-39.234]],"o":[[19.765,-1.305],[24.472,30.208],[-49.528,41.092]],"v":[[125.73,-143.021],[196.922,-118.078],[174.577,10.795]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.61960786581,0.46274510026,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_crystal.tgs b/TMessagesProj/src/main/res/raw/wallet_crystal.tgs deleted file mode 100644 index dd392e664..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_crystal.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"crystall--slower final bake 48 - Revison 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[185,336,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,0],[0,0],[0,0],[0,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[-44.459,0],[0,-44.459],[44.459,0],[0,44.459]],"o":[[44.459,0],[0,44.459],[-44.459,0],[0,-44.459]],"v":[[0,-80.5],[80.5,0],[0,80.5],[-80.5,0]],"c":true}]},{"t":29,"s":[{"i":[[-68.759,0],[0,-51.915],[68.759,0],[0,51.915]],"o":[[68.759,0],[0,51.915],[-68.759,0],[0,-51.915]],"v":[[0,-94],[124.5,0],[0,94],[-124.5,0]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[3]},{"t":26,"s":[0]}]},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[85,-96]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":7,"op":35,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[185,336,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52,-92.5],[-35,-91]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[87,-64],[87,-7]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[117,-95.5],[208.5,-95.5]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[84.5,-127],[84.5,-184]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.760784373564,0.909803981407,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[4]},{"t":34,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[0]},{"t":22,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"t":33,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[84.5,-95.25]},"a":{"a":0,"k":[84.5,-95.25]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":35,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[218.077,299.023,0]},"a":{"a":0,"k":[289.077,219.023,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0.975],[0.808,0.006],[0.01,-0.827],[-0.78,0.017]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.018,-0.79],[-0.716,0.08],[0.027,0.79],[0.716,0.023]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,73.226],[60.682,0.436],[0.778,-62.125],[-58.629,1.3]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.37,-59.334],[-53.771,6.047],[2.02,59.334],[53.771,1.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[2.086,115.5],[87.931,-2.472],[-1.804,-94.293],[-98,1.5]],"o":[[1.586,99],[87.431,-0.972],[5.196,-94.793],[-72.25,0.25]],"v":[[-1.37,-101.646],[-80.216,6.326],[2.02,101.646],[80.216,1.354]],"c":true}]},{"t":26,"s":[{"i":[[0,0.975],[0.808,0.006],[0.01,-0.827],[-0.78,0.017]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.018,-0.79],[-0.716,0.08],[0.027,0.79],[0.716,0.023]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[340.784,159.146]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":27,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":60},"p":{"a":0,"k":[256.226,243.689,0]},"a":{"a":0,"k":[0.226,-19.811,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-149,-31.5],[-82,-2.237],[89.028,-1.869],[149.452,-28.903],[87.915,-9.21],[-80.255,-9.099],[-149,-31.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-139.25,-24.75],[-124.5,-14.487],[39.778,2.631],[132.202,-21.653],[38.665,-4.71],[-124.63,-15.849],[-139.25,-24.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-143.583,-26.667],[-127.167,-14.779],[38.194,2.631],[131.118,-21.153],[37.082,-4.71],[-127.088,-15.682],[-143.583,-26.667]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-129.417,-16.458],[-52.208,-6.258],[36.611,2.631],[130.035,-20.653],[35.498,-4.71],[-51.297,-10.141],[-129.417,-16.458]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-132.75,-17],[22.75,2.263],[35.028,2.631],[128.952,-20.153],[33.915,-4.71],[24.495,-4.599],[-132.75,-17]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-123.75,-18.25],[1.5,4.388],[2.778,4.131],[132.327,-19.903],[1.915,-4.835],[0.87,-4.849],[-123.75,-18.25]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-124.621,-18.707],[-1.438,4.154],[103.519,-14.128],[133.388,-19.396],[103.277,-16.877],[-2.007,-4.909],[-124.621,-18.707]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-132.457,-22.819],[-27.877,2.051],[130.311,-13.958],[136.037,-15.927],[129.944,-15.969],[-27.9,-7.64],[-132.457,-22.819]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-133.328,-23.276],[-30.814,1.817],[133.76,-13.508],[137.776,-17.764],[133.213,-16.104],[-30.777,-7.804],[-133.328,-23.276]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-135.069,-24.19],[-36.69,1.349],[129.408,-12.234],[141.253,-21.437],[128.5,-16],[-36.531,-8.133],[-135.069,-24.19]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-141.164,-27.388],[-56.513,-0.22],[111.742,-7.699],[145.84,-27.203],[110.744,-13.03],[-55.66,-8.556],[-141.164,-27.388]],"c":false}]},{"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-149,-31.5],[-82,-2.237],[89.028,-1.869],[149.452,-28.903],[87.915,-9.21],[-80.255,-9.099],[-149,-31.5]],"c":false}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":60,"st":-54,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[263.818,273.48,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[187.438,-58.125],[159.438,-109.75],[135.5,-153.813],[100.563,-167.125],[57.938,-183.875],[-6.313,-183.875],[-68,-183.875],[-107.563,-168.313],[-145.688,-153.188],[-169.688,-106.688],[-195.063,-57.25],[-167,-22.438],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[186.688,-57.25],[158.978,-109.499],[135.788,-153.168],[102.059,-166.405],[59.777,-183.52],[-4.351,-183.78],[-65.842,-184.071],[-106.006,-168.7],[-144.958,-153.817],[-169.262,-107.77],[-195.533,-58.118],[-166.908,-22.664],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[185.935,-56.372],[158.519,-109.249],[136.07,-152.536],[103.566,-165.679],[61.613,-183.165],[-2.393,-183.685],[-63.694,-184.265],[-104.446,-169.088],[-144.239,-154.439],[-168.837,-108.854],[-196.004,-58.987],[-166.818,-22.887],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[185.19,-55.502],[158.064,-109.001],[136.355,-151.898],[105.056,-164.962],[63.451,-182.81],[-0.433,-183.589],[-61.54,-184.46],[-102.892,-169.474],[-143.516,-155.063],[-168.412,-109.934],[-196.473,-59.854],[-166.727,-23.112],[-5,177.875],[161.687,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[184.443,-54.631],[157.607,-108.752],[136.643,-151.255],[106.544,-164.246],[65.292,-182.454],[1.53,-183.494],[-59.385,-184.656],[-101.337,-169.861],[-142.793,-155.688],[-167.991,-111.007],[-196.939,-60.714],[-166.637,-23.334],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[183.688,-53.75],[157.146,-108.5],[136.93,-150.612],[108.045,-163.524],[67.128,-182.1],[3.487,-183.399],[-57.232,-184.851],[-99.78,-170.248],[-142.065,-156.316],[-167.566,-112.09],[-197.41,-61.583],[-166.546,-23.559],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[182.937,-52.875],[156.687,-108.25],[137.216,-149.973],[109.542,-162.803],[68.965,-181.745],[5.446,-183.304],[-55.081,-185.046],[-98.224,-170.635],[-141.336,-156.946],[-167.139,-113.178],[-197.883,-62.456],[-166.455,-23.784],[-5,177.875],[161.687,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[181.896,-52.083],[158.438,-107.042],[137.499,-149.34],[111.038,-161.944],[70.803,-181.39],[7.406,-183.209],[-52.928,-185.241],[-96.664,-171.023],[-140.609,-157.573],[-166.714,-114.26],[-198.353,-63.323],[-166.364,-24.01],[-5,177.875],[160.603,-26.157]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[180.851,-51.289],[160.2,-105.825],[137.781,-148.708],[112.535,-161.085],[72.641,-181.035],[9.365,-183.114],[-50.775,-185.436],[-95.106,-171.411],[-139.886,-158.198],[-166.229,-115.292],[-198.483,-64.275],[-166.098,-24.296],[-5,177.875],[159.514,-24.873]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[179.815,-50.502],[161.942,-104.622],[138.064,-148.075],[114.032,-160.226],[74.478,-180.68],[11.325,-183.019],[-48.621,-185.631],[-93.55,-171.798],[-139.165,-158.821],[-165.751,-116.311],[-198.612,-65.221],[-165.843,-24.572],[-5,177.875],[158.436,-23.601]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[178.778,-49.714],[163.682,-103.42],[138.349,-147.438],[115.525,-159.369],[76.315,-180.325],[13.283,-182.923],[-46.469,-185.827],[-91.996,-172.184],[-138.446,-159.442],[-165.267,-117.341],[-198.742,-66.172],[-165.582,-24.854],[-5,177.875],[157.355,-22.326]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[177.729,-48.917],[165.437,-102.208],[138.635,-146.798],[117.013,-158.514],[78.152,-179.97],[15.242,-182.828],[-44.318,-186.021],[-90.441,-172.571],[-137.725,-160.064],[-164.782,-118.375],[-198.872,-67.125],[-165.319,-25.137],[-5,177.875],[156.263,-21.037]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[176.688,-48.125],[167.188,-101],[138.921,-146.157],[118.51,-157.655],[79.992,-179.614],[17.204,-182.733],[-42.162,-186.217],[-88.885,-172.958],[-137.003,-160.688],[-164.3,-119.4],[-199.002,-68.071],[-165.059,-25.417],[-5,177.875],[155.178,-19.757]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[175.275,-47.249],[168.351,-100.105],[139.206,-145.519],[120.017,-156.79],[81.83,-179.259],[19.164,-182.638],[-40.008,-186.412],[-87.328,-173.345],[-136.28,-161.312],[-163.823,-120.417],[-199.13,-69.011],[-164.801,-25.695],[-5,177.875],[154.836,-20.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[173.866,-46.375],[169.509,-99.214],[139.49,-144.885],[121.513,-155.931],[83.664,-178.905],[21.119,-182.543],[-37.857,-186.607],[-85.771,-173.732],[-135.557,-161.936],[-163.346,-121.433],[-199.259,-69.953],[-164.543,-25.974],[-5,177.875],[154.503,-20.701]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[172.455,-45.5],[170.67,-98.321],[139.776,-144.243],[123.01,-155.071],[85.506,-178.549],[23.083,-182.448],[-35.702,-186.802],[-84.215,-174.119],[-134.833,-162.562],[-162.866,-122.455],[-199.389,-70.901],[-164.284,-26.253],[-5,177.875],[154.166,-21.172]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[171.043,-44.624],[171.832,-97.427],[139.554,-143.599],[124.277,-153.626],[87.034,-178.085],[25.045,-182.255],[-33.546,-186.901],[-82.659,-174.506],[-134.109,-163.187],[-162.382,-123.485],[-199.519,-71.858],[-164.023,-26.535],[-5,177.875],[153.827,-21.646]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[169.633,-43.75],[172.991,-96.536],[139.335,-142.963],[125.551,-152.172],[88.56,-177.621],[27.003,-182.063],[-31.395,-186.999],[-81.103,-174.893],[-133.385,-163.812],[-161.9,-124.512],[-199.65,-72.812],[-163.764,-26.815],[-5,177.875],[153.489,-22.119]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[168.223,-42.875],[174.152,-95.643],[139.112,-142.32],[126.82,-150.724],[90.087,-177.157],[28.962,-181.871],[-29.242,-187.097],[-79.547,-175.28],[-132.664,-164.435],[-161.42,-125.534],[-199.779,-73.754],[-163.509,-27.089],[-5,177.875],[153.154,-22.588]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[166.813,-42],[175.313,-94.75],[138.89,-141.674],[128.076,-149.291],[91.616,-176.692],[30.925,-181.679],[-27.086,-187.196],[-77.99,-175.667],[-131.938,-165.063],[-160.938,-126.563],[-199.909,-74.71],[-163.242,-27.378],[-5,177.875],[152.819,-23.055]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[165.402,-41.125],[176.473,-93.857],[138.669,-141.034],[129.342,-147.847],[93.142,-176.229],[32.884,-181.487],[-24.933,-187.294],[-76.435,-176.054],[-130.715,-165.616],[-159.884,-127.397],[-199.482,-75.583],[-162.869,-27.883],[-5,177.875],[152.485,-23.523]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[163.991,-40.25],[177.633,-92.965],[138.45,-140.399],[130.612,-146.398],[94.668,-175.765],[34.841,-181.295],[-22.782,-187.392],[-74.881,-176.441],[-129.5,-166.167],[-158.833,-128.229],[-199.06,-76.445],[-162.504,-28.377],[-5,177.875],[152.149,-23.994]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[162.582,-39.376],[178.793,-92.073],[138.23,-139.765],[131.879,-144.952],[96.195,-175.301],[36.801,-181.103],[-20.629,-187.49],[-73.325,-176.827],[-128.278,-166.72],[-157.78,-129.063],[-198.633,-77.318],[-162.134,-28.878],[-5,177.875],[151.81,-24.468]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.17,-38.5],[179.955,-91.179],[138.01,-139.127],[132.932,-143.293],[97.722,-174.837],[38.761,-180.911],[-18.476,-187.589],[-71.768,-177.215],[-127.051,-167.276],[-156.729,-129.896],[-198.204,-78.193],[-161.763,-29.38],[-5,177.875],[151.469,-24.944]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.759,-37.625],[181.116,-90.286],[137.788,-138.484],[133.987,-141.63],[99.248,-174.373],[40.72,-180.719],[-16.323,-187.687],[-70.209,-177.603],[-125.831,-167.829],[-155.678,-130.728],[-197.78,-79.061],[-161.395,-29.878],[-5,177.875],[151.131,-25.416]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.35,-36.751],[182.271,-89.397],[137.567,-137.843],[135.031,-139.983],[100.775,-173.909],[42.68,-180.527],[-14.17,-187.785],[-68.651,-177.99],[-124.617,-168.378],[-154.632,-131.557],[-197.359,-79.922],[-161.029,-30.374],[-5,177.875],[150.797,-25.884]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.938,-35.875],[183.438,-88.5],[137.348,-137.21],[136.09,-138.313],[102.3,-173.446],[44.637,-180.335],[-12.019,-187.883],[-67.095,-178.377],[-123.405,-168.928],[-153.584,-132.387],[-196.938,-80.782],[-160.663,-30.869],[-5,177.875],[150.457,-26.36]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.45,-35.212],[183.908,-87.638],[137.125,-136.563],[137.143,-136.653],[103.828,-172.981],[46.597,-180.143],[-9.865,-187.982],[-65.538,-178.764],[-122.188,-169.479],[-152.531,-133.221],[-196.514,-81.648],[-160.294,-31.369],[-5,177.875],[150.257,-27.61]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.954,-34.546],[184.375,-86.781],[138.078,-135.721],[138.092,-135.808],[105.356,-172.517],[48.559,-179.951],[-7.71,-188.08],[-63.982,-179.151],[-120.97,-170.031],[-151.471,-134.061],[-196.088,-82.519],[-159.922,-31.873],[-5,177.875],[150.056,-28.862]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[152.478,-33.889],[184.844,-85.922],[139.02,-134.889],[139.036,-134.968],[106.883,-172.053],[50.518,-179.759],[-5.556,-188.178],[-62.428,-179.538],[-119.75,-170.583],[-150.417,-134.896],[-195.662,-83.389],[-159.551,-32.375],[-5,177.875],[149.858,-30.102]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.988,-33.225],[185.313,-85.061],[139.967,-134.052],[139.983,-134.125],[108.406,-171.59],[52.472,-179.568],[-3.405,-188.277],[-60.869,-179.925],[-118.533,-171.135],[-149.368,-135.726],[-195.239,-84.254],[-159.184,-32.872],[-5,177.875],[149.657,-31.359]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[149.5,-32.563],[185.782,-84.202],[140.916,-133.214],[140.931,-133.281],[109.938,-171.125],[54.438,-179.375],[-1.25,-188.375],[-59.313,-180.313],[-117.313,-171.688],[-148.313,-136.563],[-194.813,-85.125],[-158.813,-33.375],[-5,177.875],[149.457,-32.61]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.218,-32.389],[186.25,-83.344],[141.863,-132.377],[141.876,-132.439],[111,-170.513],[56.112,-178.993],[0.834,-188.206],[-57.561,-180.449],[-115.766,-172.165],[-148.166,-136.542],[-194.104,-86],[-160.459,-34.188],[-5,177.875],[150.177,-32.436]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.928,-32.218],[186.717,-82.487],[142.81,-131.541],[142.822,-131.597],[112.052,-169.907],[57.783,-178.612],[2.921,-188.036],[-55.813,-180.585],[-114.222,-172.642],[-148.021,-136.521],[-193.394,-86.878],[-162.104,-35],[-5,177.875],[150.883,-32.266]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[151.647,-32.045],[187.184,-81.632],[143.757,-130.704],[143.769,-130.754],[113.117,-169.294],[59.457,-178.23],[5.002,-187.867],[-54.06,-180.722],[-112.674,-173.12],[-147.875,-136.501],[-192.689,-87.748],[-163.751,-35.813],[-5,177.875],[151.599,-32.093]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[152.365,-31.871],[187.65,-80.777],[144.704,-129.867],[144.715,-129.912],[114.181,-168.681],[61.131,-177.849],[7.086,-187.698],[-52.313,-180.858],[-111.131,-173.597],[-147.896,-136.98],[-191.984,-88.619],[-165.397,-36.626],[-5,177.875],[152.313,-31.921]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.076,-31.7],[188.118,-79.919],[145.652,-129.03],[145.662,-129.069],[115.234,-168.075],[62.801,-177.468],[9.17,-187.529],[-50.562,-180.994],[-109.59,-174.072],[-147.917,-137.457],[-191.271,-89.5],[-167.042,-37.438],[-5,177.875],[153.022,-31.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.783,-31.529],[188.589,-79.056],[146.599,-128.194],[146.607,-128.227],[116.281,-167.471],[64.474,-177.086],[11.254,-187.36],[-48.813,-181.131],[-108.053,-174.547],[-147.938,-137.938],[-190.563,-90.375],[-168.687,-38.25],[-5,177.875],[153.729,-31.579]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[154.492,-31.358],[189.061,-78.19],[147.546,-127.358],[147.554,-127.384],[117.332,-166.866],[66.147,-176.705],[13.341,-187.191],[-47.063,-181.267],[-106.51,-175.024],[-148.051,-138.702],[-189.346,-91.247],[-170.333,-39.062],[-5,177.875],[154.439,-31.408]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.208,-31.186],[189.531,-77.328],[148.494,-126.52],[148.501,-126.541],[118.392,-166.255],[67.82,-176.323],[15.428,-187.021],[-45.314,-181.403],[-104.955,-175.504],[-148.163,-139.463],[-188.138,-92.114],[-171.979,-39.875],[-5,177.875],[155.157,-31.235]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.924,-31.013],[190,-76.469],[149.442,-125.683],[149.448,-125.698],[119.452,-165.645],[69.492,-175.942],[17.512,-186.852],[-43.563,-181.54],[-103.403,-175.983],[-148.276,-140.227],[-186.924,-92.985],[-173.623,-40.687],[-5,177.875],[155.875,-31.062]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.631,-30.842],[190.466,-75.615],[150.387,-124.848],[150.389,-124.86],[120.507,-165.037],[71.163,-175.561],[19.593,-186.683],[-41.817,-181.676],[-101.862,-176.459],[-148.388,-140.984],[-185.703,-93.861],[-175.271,-41.5],[-5,177.875],[156.585,-30.891]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[157.352,-30.668],[190.938,-74.75],[151.337,-124.009],[151.341,-124.013],[121.567,-164.427],[72.838,-175.179],[21.675,-186.514],[-40.063,-181.813],[-100.313,-176.938],[-148.5,-141.741],[-184.489,-94.731],[-176.914,-42.311],[-5,177.875],[157.302,-30.718]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.016,-30.411],[191.014,-73.733],[152.364,-123.076],[152.367,-123.074],[122.891,-163.936],[74.511,-174.797],[23.759,-186.345],[-37.838,-181.882],[-98.533,-177.292],[-148.614,-142.508],[-183.283,-95.596],[-178.563,-43.125],[-5,177.875],[157.967,-30.461]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.675,-30.157],[191.09,-72.724],[153.383,-122.15],[153.384,-122.143],[124.203,-163.449],[76.181,-174.416],[25.843,-186.176],[-35.618,-181.951],[-96.757,-177.646],[-148.727,-143.273],[-182.077,-96.461],[-179.663,-43.993],[-5,177.875],[158.626,-30.206]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.339,-29.9],[191.167,-71.708],[154.408,-121.219],[154.409,-121.205],[125.524,-162.96],[77.856,-174.034],[27.927,-186.006],[-33.396,-182.021],[-94.979,-178],[-148.84,-144.035],[-180.867,-97.329],[-180.759,-44.857],[-5,177.875],[159.29,-29.949]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.334,-29.811],[190.841,-70.789],[154.932,-120.12],[154.931,-120.103],[126.246,-162.369],[79.513,-173.531],[30.01,-185.837],[-31.172,-182.09],[-93.2,-178.354],[-148.728,-144.601],[-179.656,-98.198],[-181.862,-45.726],[-5,177.875],[159.287,-29.859]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":47,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.329,-29.722],[190.519,-69.881],[155.451,-119.031],[155.449,-119.008],[126.963,-161.782],[81.167,-173.03],[32.094,-185.668],[-28.947,-182.16],[-91.42,-178.709],[-148.617,-145.161],[-178.442,-99.068],[-182.966,-46.597],[-5,177.875],[159.284,-29.77]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.324,-29.633],[190.196,-68.967],[155.974,-117.935],[155.972,-117.904],[127.682,-161.192],[82.823,-172.527],[34.178,-185.499],[-26.728,-182.229],[-89.645,-179.063],[-148.505,-145.726],[-177.232,-99.937],[-184.063,-47.461],[-5,177.875],[159.281,-29.68]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.551,-29.457],[189.871,-68.048],[156.48,-116.743],[156.477,-116.715],[128.408,-160.598],[84.481,-172.024],[36.263,-185.33],[-24.507,-182.299],[-87.868,-179.417],[-148.394,-146.286],[-176.018,-100.807],[-185.155,-48.322],[-5,177.875],[159.508,-29.504]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.77,-29.288],[189.545,-67.128],[156.984,-115.555],[156.98,-115.529],[129.133,-160.005],[86.134,-171.523],[38.346,-185.161],[-22.284,-182.368],[-86.09,-179.771],[-148.284,-146.843],[-174.452,-101.677],[-186.25,-49.186],[-5,177.875],[159.727,-29.335]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.994,-29.114],[189.22,-66.212],[157.489,-114.364],[157.484,-114.34],[129.853,-159.415],[87.789,-171.021],[40.427,-184.992],[-20.062,-182.438],[-84.312,-180.125],[-148.172,-147.405],[-172.882,-102.548],[-187.347,-50.05],[-5,177.875],[159.951,-29.162]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.219,-28.94],[188.898,-65.301],[157.994,-113.175],[157.988,-113.153],[130.567,-158.83],[89.444,-170.518],[42.509,-184.823],[-17.84,-182.507],[-82.535,-180.479],[-148.06,-147.972],[-171.327,-103.411],[-188.447,-50.917],[-5,177.875],[160.176,-28.988]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.442,-28.768],[188.576,-64.393],[158.498,-111.987],[158.491,-111.967],[131.28,-158.247],[91.1,-170.016],[44.594,-184.653],[-15.618,-182.576],[-80.757,-180.833],[-147.95,-148.529],[-169.751,-104.286],[-189.544,-51.782],[-5,177.875],[160.399,-28.815]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.663,-28.597],[188.254,-63.483],[159,-110.803],[158.992,-110.786],[131.993,-157.662],[92.755,-169.514],[46.682,-184.484],[-13.398,-182.646],[-78.981,-181.187],[-147.837,-149.098],[-168.184,-105.155],[-190.643,-52.649],[-5,177.875],[160.62,-28.644]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.884,-28.426],[187.931,-62.57],[159.502,-109.618],[159.494,-109.604],[132.711,-157.074],[94.409,-169.012],[48.767,-184.315],[-11.177,-182.715],[-77.204,-181.541],[-147.448,-149.801],[-168.164,-106.025],[-191.484,-53.515],[-5,177.875],[160.841,-28.473]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.107,-28.254],[187.607,-61.657],[160.008,-108.427],[159.998,-108.415],[133.433,-156.483],[96.064,-168.51],[50.851,-184.145],[-8.952,-182.785],[-75.424,-181.896],[-147.057,-150.505],[-168.144,-106.898],[-192.327,-54.383],[-5,177.875],[161.063,-28.301]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.331,-28.08],[187.283,-60.742],[160.516,-107.229],[160.505,-107.219],[134.155,-155.892],[97.721,-168.007],[52.935,-183.976],[-6.729,-182.854],[-73.646,-182.25],[-146.67,-151.203],[-168.124,-107.763],[-193.163,-55.244],[-5,177.875],[161.287,-28.128]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.552,-27.909],[186.96,-59.828],[161.022,-106.036],[161.01,-106.028],[134.874,-155.303],[99.377,-167.505],[55.015,-183.807],[-4.507,-182.924],[-71.868,-182.604],[-146.282,-151.903],[-168.103,-108.629],[-194,-56.106],[-5,177.875],[161.509,-27.956]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.771,-27.74],[186.637,-58.916],[161.525,-104.85],[161.513,-104.845],[135.589,-154.717],[101.029,-167.003],[57.103,-183.638],[-2.287,-182.993],[-70.098,-182.957],[-145.89,-152.609],[-168.083,-109.504],[-194.847,-56.978],[-5,177.875],[161.728,-27.787]],"c":true}]},{"t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[162,-27.563],[186.313,-58],[162.031,-103.656],[162.018,-103.653],[136.313,-154.125],[102.688,-166.5],[59.188,-183.469],[-0.063,-183.063],[-68.313,-183.313],[-145.5,-153.313],[-168.063,-110.375],[-195.688,-57.844],[-5,177.875],[161.957,-27.61]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0,0.345098048449,0.686274528503,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":61,"st":-53,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":60},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[460.47,130.909,0],"to":[0,0,0],"ti":[0,0,0]},{"t":59,"s":[75.47,130.909,0]}]},"a":{"a":0,"k":[246.47,130.909,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-5.779,2.716],[-8.785,3.707],[-8.142,3.742],[-6.017,4.319],[-4.145,3.493],[-4.48,3.294]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-5.779,2.716],[-8.785,3.707],[-8.142,3.742],[-6.017,4.319],[-4.145,3.493],[-4.48,3.294]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-3.019,-1.695],[-36.535,23.893],[-36.363,23.859],[1.337,2.177],[1.542,2.345],[0.764,1.344]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.131,-4.704],[-55.201,37.066],[-51.805,36.963],[-13.593,15.737],[8.032,-0.181],[4.834,-1.568]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.149,-7.969],[-55.644,37.909],[-45.748,37.409],[-35.175,32.054],[12.891,-3.339],[9.772,-4.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.105,-10.953],[-55.587,37.877],[-47.072,37.555],[-39.738,37.264],[14.687,-6.215],[11.648,-7.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.344,-19.261],[-56.849,38.921],[-48.34,38.883],[-40.976,38.839],[24.606,-14.308],[21.726,-15.739]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.124,-30.665],[-56.851,39.868],[-48.366,40.069],[-40.974,40.239],[40.189,-25.813],[39.526,-29.256]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[36.661,-33.025],[-56.854,39.919],[-48.375,40.082],[-40.971,40.221],[46.601,-30.548],[41.81,-31.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.282,-34.913],[-56.859,40.021],[-48.392,40.107],[-40.966,40.183],[50.221,-32.436],[45.425,-33.632]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[47.282,-41.163],[-56.703,38.615],[-48.236,38.701],[-40.81,38.777],[57.221,-38.686],[52.425,-39.882]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[50.407,-43.538],[-54.828,35.74],[-49.486,38.201],[-40.81,38.777],[60.346,-41.061],[55.55,-42.257]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[50.407,-43.538],[-52.578,33.115],[-42.236,37.701],[-40.81,38.027],[62.846,-43.686],[58.05,-44.882]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.344,-38.476],[-35.453,19.865],[-24.736,25.951],[-24.56,26.152],[55.346,-38.936],[48.612,-38.694]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.219,-37.226],[-15.685,3.228],[-5.972,10.814],[-5.827,11.039],[54.221,-37.686],[47.487,-37.444]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[57.469,-37.226],[-4.31,-5.647],[5.403,1.939],[5.548,2.164],[57.221,-36.936],[57.487,-36.944]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[48.032,-27.476],[-0.373,-6.397],[7.215,-0.061],[7.36,0.164],[47.784,-27.186],[48.05,-27.194]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[21.719,-13.226],[11.44,-8.647],[12.653,-6.061],[12.798,-5.836],[21.471,-12.936],[21.737,-12.944]],"c":true}]},{"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[21.719,-13.226],[11.44,-8.647],[12.653,-6.061],[12.798,-5.836],[21.471,-12.936],[21.737,-12.944]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[274.242,130.909]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":17,"s":[0],"h":1},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.66],"y":[0]},"t":18,"s":[60]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":37,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":57,"s":[60]},{"t":58,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-44.787,17.651],[-69.755,35.463],[-65.054,34.912],[-65.116,35.08],[-45.025,17.721],[-44.778,17.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-44.787,17.651],[-69.755,35.463],[-65.054,34.912],[-65.116,35.08],[-45.025,17.721],[-44.778,17.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-17.912,-0.849],[-71.13,36.088],[-62.179,35.6],[-62.241,35.767],[-18.15,-0.779],[-17.903,-1.003]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-9.891,-6.585],[-73.536,38.717],[-57.911,37.654],[-49.531,36.914],[1.496,0.174],[0.257,-0.957]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-4.377,-10.534],[-74.223,39.719],[-59.066,39.045],[-39.434,37.928],[14.198,0.998],[5.447,-3.968]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-1.227,-13.857],[-74.567,40.22],[-59.644,39.302],[-37.282,37.801],[16.254,-1.501],[8.434,-6.822]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.077,-26.27],[-75.991,42.335],[-61.966,41.495],[-37.877,40.534],[28.174,-13.909],[23.227,-19.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.208,-30.514],[-76.269,42.796],[-63.537,42.824],[-38.608,42.201],[37.531,-19.476],[34.357,-25.302]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[25.835,-30.199],[-76.596,43.276],[-64.135,43.176],[-38.786,42.409],[41.715,-21.385],[39.428,-27.489]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[27.031,-32.235],[-76.007,42.973],[-64.732,43.086],[-38.965,42.617],[48.365,-26.158],[48.01,-29.141]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.727,-32.022],[-76.294,43.419],[-65.33,43.419],[-39.143,42.825],[54.82,-29.332],[37.788,-30.937]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[29.548,-33.501],[-76.581,43.378],[-65.928,43.263],[-39.321,42.871],[57.399,-30.7],[40.566,-32.371]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[32.025,-35.64],[-76.75,43.152],[-67.394,43.214],[-39.407,42.599],[59.393,-32.614],[42.957,-34.42]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.025,-37.14],[-77.54,40.298],[-68.001,43.503],[-39.575,42.776],[61.152,-34.002],[44.914,-35.874]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.025,-37.14],[-76.536,37.203],[-61.618,42.755],[-39.743,42.953],[60.911,-33.89],[44.871,-35.829]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[36.108,-38.432],[-72.869,34.953],[-53.639,42.672],[-39.368,42.64],[62.161,-35.015],[46.621,-37.038]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[38.192,-39.724],[-69.202,32.703],[-44.91,42.901],[-39.306,42.843],[63.411,-36.14],[48.371,-38.246]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.275,-41.015],[-65.536,30.453],[-54.181,35.38],[-38.618,42.015],[64.661,-37.265],[50.121,-39.454]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[38.358,-39.224],[-62.161,27.578],[-51.014,32.505],[-35.493,39.265],[66.036,-38.932],[50.079,-42.329]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.525,-35.64],[-55.411,21.828],[-44.681,26.755],[-29.243,33.765],[68.786,-42.265],[44.746,-38.329]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[20.623,-32.374],[-40.776,9.803],[-30.315,15.28],[-15.993,23.265],[60.036,-36.265],[39.397,-34.345]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.123,-30.374],[-32.151,3.928],[-24.065,8.78],[-9.743,17.14],[57.536,-34.265],[36.897,-32.345]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.998,-32.749],[-13.026,3.053],[-12.69,4.405],[-2.868,11.14],[54.911,-32.64],[41.147,-32.595]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[47.123,-30.124],[0.099,0.678],[0.435,2.03],[4.132,5.015],[52.036,-30.39],[48.272,-29.97]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[47.498,-25.874],[4.849,-0.197],[5.185,1.155],[7.632,2.265],[52.411,-26.14],[48.647,-25.72]],"c":true}]},{"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[47.498,-25.874],[4.849,-0.197],[5.185,1.155],[7.632,2.265],[52.411,-26.14],[48.647,-25.72]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[231.013,128.136]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":7,"s":[0],"h":1},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[60]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":46,"s":[60]},{"t":47,"s":[0],"h":1},{"t":59,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":59,"st":-54,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":38},"p":{"a":0,"k":[258.883,270.477,0]}},"ao":0,"ef":[{"ty":5,"nm":"Refraction3: Path 1 [1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.3]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.4]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.5]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.6]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.7]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.8]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.9]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.10]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.11]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.12]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.13]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":1}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.889,-55.278],[137.002,-29.193],[-4.682,145.322],[-142.382,-24.943],[-166.236,-54.534],[-144.667,-96.556],[-124.267,-136.081],[-91.861,-148.937],[-58.232,-162.165],[-5.798,-162.165],[48.814,-162.165],[85.046,-147.928],[114.743,-136.612],[135.09,-99.159]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.252,-54.534],[137.002,-29.193],[-4.682,145.322],[-142.329,-25.156],[-166.661,-55.278],[-144.295,-97.459],[-123.629,-136.612],[-90.532,-149.256],[-56.373,-162.325],[-4.151,-162.059],[50.355,-161.847],[86.321,-147.29],[115.008,-136.081],[134.718,-98.947]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[157.614,-53.79],[137.002,-29.193],[-4.682,145.322],[-142.223,-25.315],[-167.032,-56.022],[-143.923,-98.415],[-123.045,-137.143],[-89.204,-149.575],[-54.567,-162.484],[-2.451,-162.006],[51.949,-161.581],[87.596,-146.706],[115.221,-135.55],[134.293,-98.734]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.977,-53.047],[137.002,-29.193],[-4.682,145.322],[-142.17,-25.528],[-167.457,-56.765],[-143.604,-99.318],[-122.407,-137.675],[-87.876,-149.947],[-52.761,-162.643],[-0.804,-161.9],[53.489,-161.262],[88.871,-146.068],[115.486,-134.965],[133.921,-98.522]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.34,-52.303],[137.002,-29.193],[-4.682,145.322],[-142.064,-25.687],[-167.829,-57.456],[-143.232,-100.222],[-121.823,-138.206],[-86.548,-150.265],[-50.901,-162.803],[0.843,-161.847],[55.083,-160.943],[90.146,-145.484],[115.699,-134.434],[133.549,-98.309]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.702,-51.559],[137.002,-29.193],[-4.682,145.322],[-142.011,-25.9],[-168.254,-58.2],[-142.861,-101.125],[-121.186,-138.737],[-85.22,-150.584],[-49.095,-163.015],[2.543,-161.74],[56.624,-160.678],[91.421,-144.847],[115.964,-133.903],[133.124,-98.097]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.064,-50.815],[137.002,-29.193],[-4.682,145.322],[-141.904,-26.112],[-168.626,-58.943],[-142.489,-102.081],[-120.548,-139.268],[-83.945,-150.903],[-47.236,-163.175],[4.189,-161.687],[58.164,-160.359],[92.696,-144.262],[116.177,-133.372],[132.752,-97.884]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[154.161,-50.125],[136.099,-28.131],[-4.682,145.322],[-141.851,-26.272],[-169.051,-59.687],[-142.117,-102.984],[-119.964,-139.8],[-82.617,-151.222],[-45.429,-163.334],[5.836,-161.581],[59.758,-160.04],[93.971,-143.518],[116.443,-132.787],[134.239,-96.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.311,-49.487],[135.143,-27.015],[-4.682,145.322],[-141.639,-26.537],[-169.157,-60.484],[-141.745,-103.887],[-119.326,-140.331],[-81.289,-151.593],[-43.57,-163.493],[7.536,-161.528],[61.299,-159.775],[95.246,-142.775],[116.708,-132.256],[135.727,-95.812]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[152.408,-48.797],[134.239,-25.953],[-4.682,145.322],[-141.373,-26.75],[-169.264,-61.334],[-141.32,-104.737],[-118.742,-140.862],[-79.961,-151.912],[-41.764,-163.653],[9.183,-161.422],[62.893,-159.456],[96.521,-142.084],[116.921,-131.725],[137.215,-94.803]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[151.505,-48.106],[133.336,-24.837],[-4.682,145.322],[-141.161,-27.015],[-169.37,-62.131],[-140.895,-105.587],[-118.104,-141.393],[-78.632,-152.231],[-39.957,-163.812],[10.883,-161.368],[64.433,-159.137],[97.743,-141.34],[117.186,-131.193],[138.702,-93.793]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.655,-47.468],[132.38,-23.775],[-4.682,145.322],[-140.948,-27.228],[-169.476,-62.928],[-140.523,-106.49],[-117.52,-141.925],[-77.304,-152.55],[-38.098,-163.972],[12.53,-161.262],[65.974,-158.872],[99.018,-140.597],[117.399,-130.662],[140.189,-92.731]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[149.752,-46.778],[131.477,-22.659],[-4.682,145.322],[-140.736,-27.493],[-169.582,-63.725],[-140.098,-107.34],[-116.882,-142.456],[-75.976,-152.868],[-36.292,-164.131],[14.177,-161.209],[67.568,-158.553],[100.293,-139.853],[117.665,-130.131],[141.677,-91.722]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[148.53,-46.034],[131.158,-23.084],[-4.682,145.322],[-140.523,-27.706],[-169.689,-64.522],[-139.673,-108.243],[-116.245,-142.987],[-74.648,-153.24],[-34.432,-164.343],[15.877,-161.103],[69.108,-158.234],[101.568,-139.162],[117.877,-129.547],[142.686,-90.978]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[147.361,-45.29],[130.893,-23.456],[-4.682,145.322],[-140.311,-27.972],[-169.795,-65.318],[-139.301,-109.093],[-115.661,-143.518],[-73.32,-153.559],[-32.626,-164.503],[17.524,-161.05],[70.702,-157.915],[102.843,-138.418],[118.143,-129.015],[143.643,-90.181]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[146.14,-44.547],[130.627,-23.881],[-4.682,145.322],[-140.098,-28.184],[-169.901,-66.115],[-138.876,-109.943],[-115.023,-144.05],[-71.992,-153.878],[-30.767,-164.662],[19.171,-160.943],[72.243,-157.65],[104.118,-137.675],[118.355,-128.484],[144.652,-89.437]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[144.971,-43.803],[130.308,-24.253],[-4.682,145.322],[-139.832,-28.45],[-170.007,-66.965],[-138.451,-110.847],[-114.439,-144.581],[-70.717,-154.197],[-28.961,-164.715],[20.871,-160.784],[73.571,-157.225],[105.18,-136.453],[118.196,-127.953],[145.608,-88.693]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[143.749,-43.059],[130.043,-24.678],[-4.682,145.322],[-139.62,-28.662],[-170.114,-67.762],[-138.026,-111.697],[-113.801,-145.112],[-69.389,-154.515],[-27.101,-164.822],[22.518,-160.625],[74.846,-156.853],[106.296,-135.231],[117.983,-127.368],[146.618,-87.95]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[142.58,-42.315],[129.724,-25.05],[-4.682,145.322],[-139.407,-28.875],[-170.22,-68.559],[-137.654,-112.6],[-113.217,-145.643],[-68.061,-154.834],[-25.295,-164.928],[24.164,-160.465],[76.121,-156.481],[107.358,-134.009],[117.824,-126.837],[147.574,-87.153]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[141.358,-41.572],[129.458,-25.475],[-4.682,145.322],[-139.195,-29.14],[-170.379,-69.356],[-137.229,-113.45],[-112.579,-146.175],[-66.732,-155.206],[-23.436,-164.981],[25.864,-160.306],[77.449,-156.056],[108.421,-132.787],[117.611,-126.306],[148.583,-86.409]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[140.136,-40.828],[129.193,-25.847],[-4.682,145.322],[-138.876,-29.565],[-170.007,-70.1],[-136.326,-114.14],[-111.517,-146.653],[-65.404,-155.525],[-21.629,-165.087],[27.511,-160.147],[78.724,-155.684],[109.483,-131.565],[117.452,-125.775],[149.593,-85.665]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[138.968,-40.084],[128.874,-26.272],[-4.682,145.322],[-138.557,-29.99],[-169.636,-70.843],[-135.423,-114.884],[-110.507,-147.131],[-64.076,-155.843],[-19.823,-165.14],[29.158,-159.987],[80.052,-155.259],[110.599,-130.29],[117.239,-125.19],[150.549,-84.868]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[137.746,-39.34],[128.608,-26.643],[-4.682,145.322],[-138.239,-30.415],[-169.264,-71.587],[-134.52,-115.575],[-109.445,-147.609],[-62.748,-156.162],[-17.964,-165.247],[30.858,-159.828],[81.327,-154.887],[111.661,-129.068],[117.08,-124.659],[151.558,-84.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.577,-38.597],[128.343,-27.068],[-4.682,145.322],[-137.92,-30.84],[-168.892,-72.331],[-133.67,-116.265],[-108.436,-148.034],[-61.42,-156.481],[-16.157,-165.3],[32.505,-159.668],[82.655,-154.462],[112.564,-127.687],[116.868,-124.128],[152.514,-83.381]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.355,-37.853],[128.024,-27.493],[-4.682,145.322],[-137.601,-31.265],[-168.52,-73.075],[-132.767,-117.009],[-107.373,-148.512],[-60.092,-156.853],[-14.298,-165.406],[34.205,-159.509],[83.93,-154.09],[113.468,-126.253],[116.708,-123.597],[153.524,-82.637]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.186,-37.109],[127.758,-27.865],[-4.682,145.322],[-137.282,-31.69],[-168.201,-73.818],[-131.864,-117.7],[-106.364,-148.99],[-58.764,-157.172],[-12.492,-165.512],[35.852,-159.297],[85.205,-153.718],[114.371,-124.872],[116.496,-123.012],[154.48,-81.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[132.965,-36.365],[127.439,-28.29],[-4.682,145.322],[-137.017,-32.115],[-167.829,-74.562],[-130.961,-118.39],[-105.301,-149.468],[-57.489,-157.49],[-10.632,-165.565],[37.499,-159.137],[86.533,-153.293],[115.221,-123.437],[116.336,-122.481],[155.489,-81.097]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[131.689,-35.781],[127.28,-29.353],[-4.682,145.322],[-136.698,-32.54],[-167.457,-75.253],[-130.057,-119.134],[-104.292,-149.947],[-56.161,-157.809],[-8.826,-165.672],[39.199,-158.978],[87.808,-152.922],[116.124,-122.003],[116.124,-121.95],[155.915,-80.353]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[130.414,-35.25],[127.121,-30.415],[-4.682,145.322],[-136.379,-32.965],[-167.086,-75.997],[-129.207,-119.825],[-103.282,-150.372],[-54.832,-158.128],[-6.967,-165.725],[40.846,-158.818],[89.136,-152.497],[116.921,-121.312],[116.921,-121.259],[156.286,-79.609]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[129.193,-34.665],[126.961,-31.478],[-4.682,145.322],[-136.061,-33.39],[-166.767,-76.74],[-128.304,-120.515],[-102.22,-150.85],[-53.504,-158.5],[-5.161,-165.831],[42.493,-158.659],[90.411,-152.125],[117.771,-120.568],[117.718,-120.515],[156.711,-78.918]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[127.918,-34.134],[126.802,-32.54],[-4.682,145.322],[-135.742,-33.815],[-166.395,-77.484],[-127.401,-121.259],[-101.211,-151.328],[-52.176,-158.818],[-3.301,-165.884],[44.193,-158.5],[91.686,-151.7],[118.568,-119.878],[118.514,-119.825],[157.083,-78.175]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[126.643,-33.55],[126.589,-33.603],[-4.682,145.322],[-135.423,-34.24],[-166.023,-78.228],[-126.498,-121.95],[-100.148,-151.806],[-50.848,-159.137],[-1.495,-165.99],[45.84,-158.34],[93.014,-151.328],[119.365,-119.134],[119.365,-119.081],[157.508,-77.431]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[127.227,-33.39],[127.227,-33.443],[-4.682,145.322],[-136.804,-34.931],[-165.439,-78.972],[-126.392,-121.95],[-98.82,-152.231],[-49.361,-159.243],[0.258,-165.831],[47.274,-158.022],[93.918,-150.797],[120.161,-118.443],[120.161,-118.39],[157.88,-76.74]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[127.864,-33.231],[127.811,-33.284],[-4.682,145.322],[-138.239,-35.622],[-164.801,-79.715],[-126.232,-121.897],[-97.545,-152.603],[-47.873,-159.35],[2.064,-165.725],[48.708,-157.703],[94.821,-150.318],[120.958,-117.753],[120.958,-117.7],[158.252,-75.997]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[128.449,-33.125],[128.449,-33.125],[-4.682,145.322],[-139.62,-36.312],[-164.217,-80.459],[-126.126,-121.897],[-96.217,-153.028],[-46.386,-159.509],[3.818,-165.565],[50.089,-157.384],[95.724,-149.787],[121.755,-117.009],[121.755,-116.956],[158.677,-75.253]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[129.086,-32.965],[129.033,-33.018],[-4.682,145.322],[-141.001,-37.003],[-163.632,-81.203],[-126.126,-122.322],[-94.889,-153.453],[-44.898,-159.615],[5.571,-165.406],[51.524,-157.065],[96.627,-149.256],[122.552,-116.318],[122.552,-116.265],[159.049,-74.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[129.671,-32.806],[129.618,-32.859],[-4.682,145.322],[-142.436,-37.693],[-162.995,-81.947],[-126.179,-122.693],[-93.561,-153.825],[-43.411,-159.722],[7.377,-165.247],[52.958,-156.693],[97.53,-148.725],[123.402,-115.575],[123.349,-115.522],[159.474,-73.818]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[130.308,-32.647],[130.255,-32.7],[-4.682,145.322],[-143.817,-38.384],[-162.411,-82.69],[-126.179,-123.118],[-92.286,-154.25],[-41.923,-159.828],[9.13,-165.14],[54.393,-156.375],[98.38,-148.247],[124.199,-114.884],[124.199,-114.831],[159.846,-73.075]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[130.893,-32.54],[130.839,-32.593],[-4.682,145.322],[-145.198,-39.075],[-161.401,-83.434],[-126.286,-123.756],[-90.957,-154.622],[-40.436,-159.934],[10.883,-164.981],[55.774,-156.056],[99.283,-147.715],[124.996,-114.14],[124.996,-114.14],[160.271,-72.331]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[131.477,-32.381],[131.477,-32.434],[-4.682,145.322],[-146.632,-39.765],[-160.339,-84.178],[-126.392,-124.393],[-89.629,-155.047],[-38.948,-160.04],[12.689,-164.822],[57.208,-155.737],[100.186,-147.184],[125.793,-113.45],[125.793,-113.397],[160.696,-71.587]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[132.114,-32.222],[132.061,-32.275],[-4.682,145.322],[-148.014,-40.456],[-159.329,-84.922],[-126.445,-125.084],[-88.301,-155.472],[-37.461,-160.2],[14.443,-164.715],[58.643,-155.418],[101.09,-146.653],[126.59,-112.706],[126.59,-112.706],[161.068,-70.897]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[132.699,-32.062],[132.646,-32.115],[-4.682,145.322],[-149.395,-41.147],[-158.267,-85.665],[-126.551,-125.722],[-87.026,-155.843],[-35.973,-160.306],[16.196,-164.556],[60.077,-155.1],[101.993,-146.175],[127.386,-112.015],[127.386,-112.015],[161.439,-70.153]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[133.336,-31.956],[133.283,-31.956],[-4.682,145.322],[-150.829,-41.837],[-157.257,-86.409],[-126.657,-126.359],[-85.698,-156.268],[-34.486,-160.412],[18.002,-164.397],[61.458,-154.781],[102.896,-145.643],[128.183,-111.272],[128.183,-111.272],[161.865,-69.409]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[133.868,-31.743],[133.814,-31.743],[-4.682,145.322],[-152.211,-42.528],[-156.248,-87.153],[-126.764,-126.997],[-84.211,-156.587],[-32.573,-160.465],[19.755,-164.29],[62.893,-154.462],[104.011,-145.218],[129.086,-110.475],[129.086,-110.475],[161.918,-68.559]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.452,-31.531],[134.399,-31.531],[-4.682,145.322],[-153.167,-43.272],[-155.186,-87.843],[-126.87,-127.634],[-82.67,-156.853],[-30.714,-160.518],[21.508,-164.131],[64.327,-154.143],[105.127,-144.793],[129.936,-109.678],[129.936,-109.678],[161.971,-67.709]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.983,-31.265],[134.983,-31.318],[-4.682,145.322],[-154.07,-44.015],[-154.176,-88.587],[-126.923,-128.325],[-81.182,-157.172],[-28.801,-160.572],[23.314,-163.972],[65.761,-153.825],[106.243,-144.368],[130.839,-108.881],[130.839,-108.934],[162.077,-66.806]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.983,-31.212],[134.983,-31.265],[-4.682,145.322],[-155.026,-44.759],[-153.114,-89.331],[-126.87,-128.803],[-79.642,-157.49],[-26.942,-160.625],[25.068,-163.812],[67.143,-153.4],[106.88,-143.89],[131.265,-107.978],[131.265,-107.978],[161.758,-66.062]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":47,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.983,-31.159],[134.983,-31.159],[-4.682,145.322],[-155.929,-45.503],[-152.104,-90.075],[-126.764,-129.281],[-78.154,-157.756],[-25.029,-160.731],[26.874,-163.706],[68.577,-152.922],[107.464,-143.412],[131.689,-107.022],[131.689,-107.022],[161.493,-65.265]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[134.983,-31.053],[134.93,-31.106],[-4.682,145.322],[-156.886,-46.193],[-151.095,-90.818],[-126.657,-129.759],[-76.614,-158.075],[-23.17,-160.784],[28.627,-163.547],[69.958,-152.497],[108.102,-142.881],[132.168,-106.065],[132.168,-106.118],[161.227,-64.468]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.196,-30.893],[135.143,-30.947],[-4.682,145.322],[-157.789,-46.937],[-150.032,-91.562],[-126.551,-130.237],[-75.126,-158.393],[-21.257,-160.837],[30.38,-163.387],[71.393,-152.072],[108.74,-142.403],[132.593,-105.056],[132.593,-105.109],[160.961,-63.725]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.355,-30.787],[135.355,-30.787],[-4.682,145.322],[-158.745,-47.681],[-148.704,-92.306],[-126.498,-130.662],[-73.586,-158.659],[-19.398,-160.89],[32.186,-163.281],[72.774,-151.647],[109.324,-141.872],[133.018,-104.047],[133.018,-104.1],[160.696,-62.928]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.568,-30.628],[135.514,-30.681],[-4.682,145.322],[-159.701,-48.425],[-147.376,-93.05],[-126.392,-131.14],[-72.098,-158.978],[-17.486,-160.943],[33.939,-163.122],[74.208,-151.222],[109.961,-141.393],[133.443,-103.037],[133.443,-103.09],[160.43,-62.131]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.78,-30.468],[135.727,-30.522],[-4.682,145.322],[-160.604,-49.168],[-146.048,-93.793],[-126.286,-131.672],[-70.611,-159.297],[-15.573,-160.997],[35.693,-162.962],[75.589,-150.797],[110.546,-140.862],[133.868,-102.028],[133.868,-102.081],[160.111,-61.387]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[135.939,-30.309],[135.886,-30.362],[-4.682,145.322],[-161.561,-49.912],[-144.72,-94.537],[-126.179,-132.097],[-69.07,-159.562],[-13.714,-161.05],[37.499,-162.803],[77.024,-150.372],[111.13,-140.384],[134.293,-101.018],[134.293,-101.072],[159.846,-60.59]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.152,-30.203],[136.099,-30.203],[-4.682,145.322],[-162.464,-50.603],[-143.392,-95.228],[-126.073,-132.628],[-67.582,-159.881],[-11.801,-161.103],[39.252,-162.697],[78.405,-149.947],[111.768,-139.906],[134.718,-100.062],[134.718,-100.062],[159.58,-59.847]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.311,-30.043],[136.258,-30.097],[-4.682,145.322],[-163.207,-51.347],[-143.392,-95.972],[-125.754,-133.212],[-66.042,-160.2],[-9.942,-161.156],[41.005,-162.537],[79.839,-149.522],[112.352,-139.375],[135.143,-99.053],[135.143,-99.053],[159.314,-59.05]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.524,-29.884],[136.471,-29.937],[-4.682,145.322],[-163.898,-52.09],[-143.339,-96.715],[-125.436,-133.797],[-64.554,-160.465],[-8.029,-161.262],[42.811,-162.378],[81.221,-149.097],[112.99,-138.897],[135.568,-98.043],[135.568,-98.043],[159.049,-58.306]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.683,-29.725],[136.683,-29.778],[-4.682,145.322],[-164.642,-52.834],[-143.339,-97.459],[-125.117,-134.381],[-63.014,-160.784],[-6.17,-161.315],[44.564,-162.272],[82.655,-148.672],[113.574,-138.365],[135.993,-96.981],[135.993,-97.034],[158.783,-57.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[136.896,-29.618],[136.843,-29.618],[-4.682,145.322],[-165.332,-53.578],[-143.339,-98.203],[-124.798,-134.965],[-61.526,-161.103],[-4.257,-161.368],[46.318,-162.112],[84.036,-148.247],[114.211,-137.887],[136.418,-95.972],[136.418,-96.025],[158.464,-56.712]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[137.055,-29.459],[137.055,-29.512],[-4.682,145.322],[-166.076,-54.322],[-143.286,-98.947],[-124.426,-135.603],[-60.039,-161.368],[-2.398,-161.422],[48.124,-161.953],[85.418,-147.822],[114.796,-137.356],[136.843,-95.015],[136.843,-95.015],[158.199,-55.968]],"c":true}]},{"t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[137.268,-29.3],[137.215,-29.353],[-4.682,145.322],[-166.767,-55.065],[-143.286,-99.69],[-124.107,-136.187],[-58.498,-161.687],[-0.486,-161.475],[49.877,-161.847],[86.852,-147.397],[115.433,-136.878],[137.268,-93.953],[137.321,-94.006],[157.933,-55.172]],"c":true}]}]},"hd":false},{"ind":1,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[187.438,-58.125],[159.438,-109.75],[135.5,-153.813],[100.563,-167.125],[57.938,-183.875],[-6.313,-183.875],[-68,-183.875],[-107.563,-168.313],[-145.688,-153.188],[-169.688,-106.688],[-195.063,-57.25],[-167,-22.438],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[186.688,-57.25],[158.978,-109.499],[135.788,-153.168],[102.059,-166.405],[59.777,-183.52],[-4.351,-183.78],[-65.842,-184.071],[-106.006,-168.7],[-144.958,-153.817],[-169.262,-107.77],[-195.533,-58.118],[-166.908,-22.664],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[185.935,-56.372],[158.519,-109.249],[136.07,-152.536],[103.566,-165.679],[61.613,-183.165],[-2.393,-183.685],[-63.694,-184.265],[-104.446,-169.088],[-144.239,-154.439],[-168.837,-108.854],[-196.004,-58.987],[-166.818,-22.887],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[185.19,-55.502],[158.064,-109.001],[136.355,-151.898],[105.056,-164.962],[63.451,-182.81],[-0.433,-183.589],[-61.54,-184.46],[-102.892,-169.474],[-143.516,-155.063],[-168.412,-109.934],[-196.473,-59.854],[-166.727,-23.112],[-5,177.875],[161.687,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[184.443,-54.631],[157.607,-108.752],[136.643,-151.255],[106.544,-164.246],[65.292,-182.454],[1.53,-183.494],[-59.385,-184.656],[-101.337,-169.861],[-142.793,-155.688],[-167.991,-111.007],[-196.939,-60.714],[-166.637,-23.334],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[183.688,-53.75],[157.146,-108.5],[136.93,-150.612],[108.045,-163.524],[67.128,-182.1],[3.487,-183.399],[-57.232,-184.851],[-99.78,-170.248],[-142.065,-156.316],[-167.566,-112.09],[-197.41,-61.583],[-166.546,-23.559],[-5,177.875],[161.688,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[182.937,-52.875],[156.687,-108.25],[137.216,-149.973],[109.542,-162.803],[68.965,-181.745],[5.446,-183.304],[-55.081,-185.046],[-98.224,-170.635],[-141.336,-156.946],[-167.139,-113.178],[-197.883,-62.456],[-166.455,-23.784],[-5,177.875],[161.687,-27.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[181.896,-52.083],[158.438,-107.042],[137.499,-149.34],[111.038,-161.944],[70.803,-181.39],[7.406,-183.209],[-52.928,-185.241],[-96.664,-171.023],[-140.609,-157.573],[-166.714,-114.26],[-198.353,-63.323],[-166.364,-24.01],[-5,177.875],[160.603,-26.157]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[180.851,-51.289],[160.2,-105.825],[137.781,-148.708],[112.535,-161.085],[72.641,-181.035],[9.365,-183.114],[-50.775,-185.436],[-95.106,-171.411],[-139.886,-158.198],[-166.229,-115.292],[-198.483,-64.275],[-166.098,-24.296],[-5,177.875],[159.514,-24.873]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[179.815,-50.502],[161.942,-104.622],[138.064,-148.075],[114.032,-160.226],[74.478,-180.68],[11.325,-183.019],[-48.621,-185.631],[-93.55,-171.798],[-139.165,-158.821],[-165.751,-116.311],[-198.612,-65.221],[-165.843,-24.572],[-5,177.875],[158.436,-23.601]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[178.778,-49.714],[163.682,-103.42],[138.349,-147.438],[115.525,-159.369],[76.315,-180.325],[13.283,-182.923],[-46.469,-185.827],[-91.996,-172.184],[-138.446,-159.442],[-165.267,-117.341],[-198.742,-66.172],[-165.582,-24.854],[-5,177.875],[157.355,-22.326]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[177.729,-48.917],[165.437,-102.208],[138.635,-146.798],[117.013,-158.514],[78.152,-179.97],[15.242,-182.828],[-44.318,-186.021],[-90.441,-172.571],[-137.725,-160.064],[-164.782,-118.375],[-198.872,-67.125],[-165.319,-25.137],[-5,177.875],[156.263,-21.037]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[176.688,-48.125],[167.188,-101],[138.921,-146.157],[118.51,-157.655],[79.992,-179.614],[17.204,-182.733],[-42.162,-186.217],[-88.885,-172.958],[-137.003,-160.688],[-164.3,-119.4],[-199.002,-68.071],[-165.059,-25.417],[-5,177.875],[155.178,-19.757]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[175.275,-47.249],[168.351,-100.105],[139.206,-145.519],[120.017,-156.79],[81.83,-179.259],[19.164,-182.638],[-40.008,-186.412],[-87.328,-173.345],[-136.28,-161.312],[-163.823,-120.417],[-199.13,-69.011],[-164.801,-25.695],[-5,177.875],[154.836,-20.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[173.866,-46.375],[169.509,-99.214],[139.49,-144.885],[121.513,-155.931],[83.664,-178.905],[21.119,-182.543],[-37.857,-186.607],[-85.771,-173.732],[-135.557,-161.936],[-163.346,-121.433],[-199.259,-69.953],[-164.543,-25.974],[-5,177.875],[154.503,-20.701]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[172.455,-45.5],[170.67,-98.321],[139.776,-144.243],[123.01,-155.071],[85.506,-178.549],[23.083,-182.448],[-35.702,-186.802],[-84.215,-174.119],[-134.833,-162.562],[-162.866,-122.455],[-199.389,-70.901],[-164.284,-26.253],[-5,177.875],[154.166,-21.172]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[171.043,-44.624],[171.832,-97.427],[139.554,-143.599],[124.277,-153.626],[87.034,-178.085],[25.045,-182.255],[-33.546,-186.901],[-82.659,-174.506],[-134.109,-163.187],[-162.382,-123.485],[-199.519,-71.858],[-164.023,-26.535],[-5,177.875],[153.827,-21.646]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[169.633,-43.75],[172.991,-96.536],[139.335,-142.963],[125.551,-152.172],[88.56,-177.621],[27.003,-182.063],[-31.395,-186.999],[-81.103,-174.893],[-133.385,-163.812],[-161.9,-124.512],[-199.65,-72.812],[-163.764,-26.815],[-5,177.875],[153.489,-22.119]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[168.223,-42.875],[174.152,-95.643],[139.112,-142.32],[126.82,-150.724],[90.087,-177.157],[28.962,-181.871],[-29.242,-187.097],[-79.547,-175.28],[-132.664,-164.435],[-161.42,-125.534],[-199.779,-73.754],[-163.509,-27.089],[-5,177.875],[153.154,-22.588]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[166.813,-42],[175.313,-94.75],[138.89,-141.674],[128.076,-149.291],[91.616,-176.692],[30.925,-181.679],[-27.086,-187.196],[-77.99,-175.667],[-131.938,-165.063],[-160.938,-126.563],[-199.909,-74.71],[-163.242,-27.378],[-5,177.875],[152.819,-23.055]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[165.402,-41.125],[176.473,-93.857],[138.669,-141.034],[129.342,-147.847],[93.142,-176.229],[32.884,-181.487],[-24.933,-187.294],[-76.435,-176.054],[-130.715,-165.616],[-159.884,-127.397],[-199.482,-75.583],[-162.869,-27.883],[-5,177.875],[152.485,-23.523]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[163.991,-40.25],[177.633,-92.965],[138.45,-140.399],[130.612,-146.398],[94.668,-175.765],[34.841,-181.295],[-22.782,-187.392],[-74.881,-176.441],[-129.5,-166.167],[-158.833,-128.229],[-199.06,-76.445],[-162.504,-28.377],[-5,177.875],[152.149,-23.994]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[162.582,-39.376],[178.793,-92.073],[138.23,-139.765],[131.879,-144.952],[96.195,-175.301],[36.801,-181.103],[-20.629,-187.49],[-73.325,-176.827],[-128.278,-166.72],[-157.78,-129.063],[-198.633,-77.318],[-162.134,-28.878],[-5,177.875],[151.81,-24.468]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.17,-38.5],[179.955,-91.179],[138.01,-139.127],[132.932,-143.293],[97.722,-174.837],[38.761,-180.911],[-18.476,-187.589],[-71.768,-177.215],[-127.051,-167.276],[-156.729,-129.896],[-198.204,-78.193],[-161.763,-29.38],[-5,177.875],[151.469,-24.944]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.759,-37.625],[181.116,-90.286],[137.788,-138.484],[133.987,-141.63],[99.248,-174.373],[40.72,-180.719],[-16.323,-187.687],[-70.209,-177.603],[-125.831,-167.829],[-155.678,-130.728],[-197.78,-79.061],[-161.395,-29.878],[-5,177.875],[151.131,-25.416]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.35,-36.751],[182.271,-89.397],[137.567,-137.843],[135.031,-139.983],[100.775,-173.909],[42.68,-180.527],[-14.17,-187.785],[-68.651,-177.99],[-124.617,-168.378],[-154.632,-131.557],[-197.359,-79.922],[-161.029,-30.374],[-5,177.875],[150.797,-25.884]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.938,-35.875],[183.438,-88.5],[137.348,-137.21],[136.09,-138.313],[102.3,-173.446],[44.637,-180.335],[-12.019,-187.883],[-67.095,-178.377],[-123.405,-168.928],[-153.584,-132.387],[-196.938,-80.782],[-160.663,-30.869],[-5,177.875],[150.457,-26.36]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.45,-35.212],[183.908,-87.638],[137.125,-136.563],[137.143,-136.653],[103.828,-172.981],[46.597,-180.143],[-9.865,-187.982],[-65.538,-178.764],[-122.188,-169.479],[-152.531,-133.221],[-196.514,-81.648],[-160.294,-31.369],[-5,177.875],[150.257,-27.61]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.954,-34.546],[184.375,-86.781],[138.078,-135.721],[138.092,-135.808],[105.356,-172.517],[48.559,-179.951],[-7.71,-188.08],[-63.982,-179.151],[-120.97,-170.031],[-151.471,-134.061],[-196.088,-82.519],[-159.922,-31.873],[-5,177.875],[150.056,-28.862]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[152.478,-33.889],[184.844,-85.922],[139.02,-134.889],[139.036,-134.968],[106.883,-172.053],[50.518,-179.759],[-5.556,-188.178],[-62.428,-179.538],[-119.75,-170.583],[-150.417,-134.896],[-195.662,-83.389],[-159.551,-32.375],[-5,177.875],[149.858,-30.102]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.988,-33.225],[185.313,-85.061],[139.967,-134.052],[139.983,-134.125],[108.406,-171.59],[52.472,-179.568],[-3.405,-188.277],[-60.869,-179.925],[-118.533,-171.135],[-149.368,-135.726],[-195.239,-84.254],[-159.184,-32.872],[-5,177.875],[149.657,-31.359]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[149.5,-32.563],[185.782,-84.202],[140.916,-133.214],[140.931,-133.281],[109.938,-171.125],[54.438,-179.375],[-1.25,-188.375],[-59.313,-180.313],[-117.313,-171.688],[-148.313,-136.563],[-194.813,-85.125],[-158.813,-33.375],[-5,177.875],[149.457,-32.61]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.218,-32.389],[186.25,-83.344],[141.863,-132.377],[141.876,-132.439],[111,-170.513],[56.112,-178.993],[0.834,-188.206],[-57.561,-180.449],[-115.766,-172.165],[-148.166,-136.542],[-194.104,-86],[-160.459,-34.188],[-5,177.875],[150.177,-32.436]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[150.928,-32.218],[186.717,-82.487],[142.81,-131.541],[142.822,-131.597],[112.052,-169.907],[57.783,-178.612],[2.921,-188.036],[-55.813,-180.585],[-114.222,-172.642],[-148.021,-136.521],[-193.394,-86.878],[-162.104,-35],[-5,177.875],[150.883,-32.266]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[151.647,-32.045],[187.184,-81.632],[143.757,-130.704],[143.769,-130.754],[113.117,-169.294],[59.457,-178.23],[5.002,-187.867],[-54.06,-180.722],[-112.674,-173.12],[-147.875,-136.501],[-192.689,-87.748],[-163.751,-35.813],[-5,177.875],[151.599,-32.093]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[152.365,-31.871],[187.65,-80.777],[144.704,-129.867],[144.715,-129.912],[114.181,-168.681],[61.131,-177.849],[7.086,-187.698],[-52.313,-180.858],[-111.131,-173.597],[-147.896,-136.98],[-191.984,-88.619],[-165.397,-36.626],[-5,177.875],[152.313,-31.921]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.076,-31.7],[188.118,-79.919],[145.652,-129.03],[145.662,-129.069],[115.234,-168.075],[62.801,-177.468],[9.17,-187.529],[-50.562,-180.994],[-109.59,-174.072],[-147.917,-137.457],[-191.271,-89.5],[-167.042,-37.438],[-5,177.875],[153.022,-31.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[153.783,-31.529],[188.589,-79.056],[146.599,-128.194],[146.607,-128.227],[116.281,-167.471],[64.474,-177.086],[11.254,-187.36],[-48.813,-181.131],[-108.053,-174.547],[-147.938,-137.938],[-190.563,-90.375],[-168.687,-38.25],[-5,177.875],[153.729,-31.579]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[154.492,-31.358],[189.061,-78.19],[147.546,-127.358],[147.554,-127.384],[117.332,-166.866],[66.147,-176.705],[13.341,-187.191],[-47.063,-181.267],[-106.51,-175.024],[-148.051,-138.702],[-189.346,-91.247],[-170.333,-39.062],[-5,177.875],[154.439,-31.408]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.208,-31.186],[189.531,-77.328],[148.494,-126.52],[148.501,-126.541],[118.392,-166.255],[67.82,-176.323],[15.428,-187.021],[-45.314,-181.403],[-104.955,-175.504],[-148.163,-139.463],[-188.138,-92.114],[-171.979,-39.875],[-5,177.875],[155.157,-31.235]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[155.924,-31.013],[190,-76.469],[149.442,-125.683],[149.448,-125.698],[119.452,-165.645],[69.492,-175.942],[17.512,-186.852],[-43.563,-181.54],[-103.403,-175.983],[-148.276,-140.227],[-186.924,-92.985],[-173.623,-40.687],[-5,177.875],[155.875,-31.062]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[156.631,-30.842],[190.466,-75.615],[150.387,-124.848],[150.389,-124.86],[120.507,-165.037],[71.163,-175.561],[19.593,-186.683],[-41.817,-181.676],[-101.862,-176.459],[-148.388,-140.984],[-185.703,-93.861],[-175.271,-41.5],[-5,177.875],[156.585,-30.891]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[157.352,-30.668],[190.938,-74.75],[151.337,-124.009],[151.341,-124.013],[121.567,-164.427],[72.838,-175.179],[21.675,-186.514],[-40.063,-181.813],[-100.313,-176.938],[-148.5,-141.741],[-184.489,-94.731],[-176.914,-42.311],[-5,177.875],[157.302,-30.718]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.016,-30.411],[191.014,-73.733],[152.364,-123.076],[152.367,-123.074],[122.891,-163.936],[74.511,-174.797],[23.759,-186.345],[-37.838,-181.882],[-98.533,-177.292],[-148.614,-142.508],[-183.283,-95.596],[-178.563,-43.125],[-5,177.875],[157.967,-30.461]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.675,-30.157],[191.09,-72.724],[153.383,-122.15],[153.384,-122.143],[124.203,-163.449],[76.181,-174.416],[25.843,-186.176],[-35.618,-181.951],[-96.757,-177.646],[-148.727,-143.273],[-182.077,-96.461],[-179.663,-43.993],[-5,177.875],[158.626,-30.206]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.339,-29.9],[191.167,-71.708],[154.408,-121.219],[154.409,-121.205],[125.524,-162.96],[77.856,-174.034],[27.927,-186.006],[-33.396,-182.021],[-94.979,-178],[-148.84,-144.035],[-180.867,-97.329],[-180.759,-44.857],[-5,177.875],[159.29,-29.949]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.334,-29.811],[190.841,-70.789],[154.932,-120.12],[154.931,-120.103],[126.246,-162.369],[79.513,-173.531],[30.01,-185.837],[-31.172,-182.09],[-93.2,-178.354],[-148.728,-144.601],[-179.656,-98.198],[-181.862,-45.726],[-5,177.875],[159.287,-29.859]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":47,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.329,-29.722],[190.519,-69.881],[155.451,-119.031],[155.449,-119.008],[126.963,-161.782],[81.167,-173.03],[32.094,-185.668],[-28.947,-182.16],[-91.42,-178.709],[-148.617,-145.161],[-178.442,-99.068],[-182.966,-46.597],[-5,177.875],[159.284,-29.77]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.324,-29.633],[190.196,-68.967],[155.974,-117.935],[155.972,-117.904],[127.682,-161.192],[82.823,-172.527],[34.178,-185.499],[-26.728,-182.229],[-89.645,-179.063],[-148.505,-145.726],[-177.232,-99.937],[-184.063,-47.461],[-5,177.875],[159.281,-29.68]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.551,-29.457],[189.871,-68.048],[156.48,-116.743],[156.477,-116.715],[128.408,-160.598],[84.481,-172.024],[36.263,-185.33],[-24.507,-182.299],[-87.868,-179.417],[-148.394,-146.286],[-176.018,-100.807],[-185.155,-48.322],[-5,177.875],[159.508,-29.504]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.77,-29.288],[189.545,-67.128],[156.984,-115.555],[156.98,-115.529],[129.133,-160.005],[86.134,-171.523],[38.346,-185.161],[-22.284,-182.368],[-86.09,-179.771],[-148.284,-146.843],[-174.452,-101.677],[-186.25,-49.186],[-5,177.875],[159.727,-29.335]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[159.994,-29.114],[189.22,-66.212],[157.489,-114.364],[157.484,-114.34],[129.853,-159.415],[87.789,-171.021],[40.427,-184.992],[-20.062,-182.438],[-84.312,-180.125],[-148.172,-147.405],[-172.882,-102.548],[-187.347,-50.05],[-5,177.875],[159.951,-29.162]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.219,-28.94],[188.898,-65.301],[157.994,-113.175],[157.988,-113.153],[130.567,-158.83],[89.444,-170.518],[42.509,-184.823],[-17.84,-182.507],[-82.535,-180.479],[-148.06,-147.972],[-171.327,-103.411],[-188.447,-50.917],[-5,177.875],[160.176,-28.988]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.442,-28.768],[188.576,-64.393],[158.498,-111.987],[158.491,-111.967],[131.28,-158.247],[91.1,-170.016],[44.594,-184.653],[-15.618,-182.576],[-80.757,-180.833],[-147.95,-148.529],[-169.751,-104.286],[-189.544,-51.782],[-5,177.875],[160.399,-28.815]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.663,-28.597],[188.254,-63.483],[159,-110.803],[158.992,-110.786],[131.993,-157.662],[92.755,-169.514],[46.682,-184.484],[-13.398,-182.646],[-78.981,-181.187],[-147.837,-149.098],[-168.184,-105.155],[-190.643,-52.649],[-5,177.875],[160.62,-28.644]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[160.884,-28.426],[187.931,-62.57],[159.502,-109.618],[159.494,-109.604],[132.711,-157.074],[94.409,-169.012],[48.767,-184.315],[-11.177,-182.715],[-77.204,-181.541],[-147.448,-149.801],[-168.164,-106.025],[-191.484,-53.515],[-5,177.875],[160.841,-28.473]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.107,-28.254],[187.607,-61.657],[160.008,-108.427],[159.998,-108.415],[133.433,-156.483],[96.064,-168.51],[50.851,-184.145],[-8.952,-182.785],[-75.424,-181.896],[-147.057,-150.505],[-168.144,-106.898],[-192.327,-54.383],[-5,177.875],[161.063,-28.301]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.331,-28.08],[187.283,-60.742],[160.516,-107.229],[160.505,-107.219],[134.155,-155.892],[97.721,-168.007],[52.935,-183.976],[-6.729,-182.854],[-73.646,-182.25],[-146.67,-151.203],[-168.124,-107.763],[-193.163,-55.244],[-5,177.875],[161.287,-28.128]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.552,-27.909],[186.96,-59.828],[161.022,-106.036],[161.01,-106.028],[134.874,-155.303],[99.377,-167.505],[55.015,-183.807],[-4.507,-182.924],[-71.868,-182.604],[-146.282,-151.903],[-168.103,-108.629],[-194,-56.106],[-5,177.875],[161.509,-27.956]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[161.771,-27.74],[186.637,-58.916],[161.525,-104.85],[161.513,-104.845],[135.589,-154.717],[101.029,-167.003],[57.103,-183.638],[-2.287,-182.993],[-70.098,-182.957],[-145.89,-152.609],[-168.083,-109.504],[-194.847,-56.978],[-5,177.875],[161.728,-27.787]],"c":true}]},{"t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[162,-27.563],[186.313,-58],[162.031,-103.656],[162.018,-103.653],[136.313,-154.125],[102.688,-166.5],[59.188,-183.469],[-0.063,-183.063],[-68.313,-183.313],[-145.5,-153.313],[-168.063,-110.375],[-195.688,-57.844],[-5,177.875],[161.957,-27.61]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.407843142748,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[5,3]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":61,"st":-53,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":49,"s":[0]},{"t":84,"s":[90]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[216,258,0],"to":[0,0,0],"ti":[0,0,0]},{"t":78,"s":[141,254,0]}]},"a":{"a":0,"k":[271,240,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":69,"s":[165,165,100]},{"t":75,"s":[144,144,100]}]}},"ao":0,"w":512,"h":512,"ip":49,"op":84,"st":49,"bm":0},{"ddd":0,"ind":2,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139,"s":[0]},{"t":174,"s":[90]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[350,184,0],"to":[0,0,0],"ti":[0,0,0]},{"t":168,"s":[291,194,0]}]},"a":{"a":0,"k":[271,240,0]},"s":{"a":0,"k":[66,66,100]}},"ao":0,"w":512,"h":512,"ip":139,"op":174,"st":139,"bm":0},{"ddd":0,"ind":3,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":113,"s":[0]},{"t":148,"s":[45]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[196,184,0],"to":[0,0,0],"ti":[0,0,0]},{"t":142,"s":[121,156,0]}]},"a":{"a":0,"k":[271,240,0]},"s":{"a":0,"k":[77,77,100]}},"ao":0,"w":512,"h":512,"ip":113,"op":148,"st":113,"bm":0},{"ddd":0,"ind":4,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":95,"s":[0]},{"t":130,"s":[90]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[376,244,0],"to":[0,0,0],"ti":[0,0,0]},{"t":124,"s":[301,254,0]}]},"a":{"a":0,"k":[271,240,0]}},"ao":0,"w":512,"h":512,"ip":95,"op":130,"st":95,"bm":0},{"ddd":0,"ind":5,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":35,"s":[90]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":1,"s":[256,178,0],"to":[0,0,0],"ti":[0,0,0]},{"t":29,"s":[181,174,0]}]},"a":{"a":0,"k":[271,240,0]}},"ao":0,"w":512,"h":512,"ip":0,"op":35,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"refId":"comp_1","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":0,"op":54,"st":-6,"bm":0},{"ddd":0,"ind":7,"ty":0,"refId":"comp_1","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":174,"op":180,"st":174,"bm":0},{"ddd":0,"ind":8,"ty":0,"refId":"comp_1","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":114,"op":174,"st":114,"bm":0},{"ddd":0,"ind":9,"ty":0,"refId":"comp_1","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":54,"op":114,"st":54,"bm":0},{"ddd":0,"ind":10,"ty":0,"refId":"comp_2","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":0,"op":54,"st":-7,"bm":0},{"ddd":0,"ind":11,"ty":0,"refId":"comp_2","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":174,"op":180,"st":173,"bm":0},{"ddd":0,"ind":12,"ty":0,"refId":"comp_2","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":114,"op":174,"st":113,"bm":0},{"ddd":0,"ind":13,"ty":0,"refId":"comp_2","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":54,"op":114,"st":53,"bm":0},{"ddd":0,"ind":14,"ty":0,"refId":"comp_3","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":0,"op":51,"st":-8,"bm":0},{"ddd":0,"ind":15,"ty":0,"refId":"comp_3","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":172,"op":180,"st":172,"bm":0},{"ddd":0,"ind":16,"ty":0,"refId":"comp_3","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":113,"op":172,"st":113,"bm":0},{"ddd":0,"ind":17,"ty":0,"refId":"comp_3","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":54,"op":113,"st":54,"bm":0},{"ddd":0,"ind":18,"ty":0,"refId":"comp_4","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":0,"op":54,"st":-7,"bm":0},{"ddd":0,"ind":19,"ty":0,"refId":"comp_4","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":174,"op":180,"st":173,"bm":0},{"ddd":0,"ind":20,"ty":0,"refId":"comp_4","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":114,"op":174,"st":113,"bm":0},{"ddd":0,"ind":21,"ty":0,"refId":"comp_4","sr":1,"ks":{"p":{"a":0,"k":[256,256,0]},"a":{"a":0,"k":[256,256,0]}},"ao":0,"w":512,"h":512,"ip":54,"op":114,"st":53,"bm":0},{"ddd":0,"ind":22,"ty":4,"parent":43,"sr":1,"ks":{"p":{"a":0,"k":[50,45.136,0]},"a":{"a":0,"k":[2.844,-58.422,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[41]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[41]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":87,"s":[27]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":112,"s":[71]},{"t":180,"s":[57]}]},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":87,"s":[27]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":112,"s":[68]},{"t":180,"s":[57]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[0]},{"i":{"x":[0.577],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":70,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":112,"s":[0]},{"i":{"x":[0.577],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":127,"s":[14]},{"t":180,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":82,"s":[16]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":98,"s":[60]},{"t":180,"s":[46]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[35]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":82,"s":[24]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":98,"s":[65]},{"t":180,"s":[54]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.577],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":82,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":98,"s":[0]},{"i":{"x":[0.577],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":127,"s":[14]},{"t":180,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.780392216701,0.917647118662,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392156863,0.917395258885,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[191.997,-70.046],[146.255,-117.907],[111.289,-155.025]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[193.517,-68.296],[145.455,-116.589],[114.103,-154.013]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[194.866,-66.532],[144.527,-115.28],[116.818,-152.976]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.044,-64.757],[143.473,-113.979],[119.431,-151.914]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.049,-62.972],[142.293,-112.689],[121.939,-150.829]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.881,-61.179],[140.989,-111.41],[124.342,-149.72]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.538,-59.378],[139.561,-110.144],[126.636,-148.591]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[199.02,-57.573],[138.011,-108.892],[128.819,-147.44]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[199.328,-55.764],[136.341,-107.654],[130.89,-146.27]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[199.459,-53.952],[134.551,-106.433],[132.846,-145.082]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[199.415,-52.141],[132.644,-105.228],[134.687,-143.876]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[199.196,-50.33],[130.621,-104.042],[136.409,-142.653]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.801,-48.522],[128.483,-102.875],[138.013,-141.416]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.231,-46.719],[126.234,-101.728],[139.495,-140.164]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.486,-44.922],[123.874,-100.602],[140.856,-138.898]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.567,-43.132],[121.406,-99.499],[142.093,-137.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[195.476,-41.352],[118.832,-98.419],[143.206,-136.333]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[194.212,-39.583],[116.155,-97.363],[144.194,-135.036]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[192.777,-37.826],[113.377,-96.332],[145.055,-133.729]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[191.173,-36.083],[110.5,-95.327],[145.789,-132.416]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[189.4,-34.356],[107.526,-94.349],[146.396,-131.096]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[187.461,-32.646],[104.46,-93.4],[146.875,-129.771]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[185.357,-30.954],[101.302,-92.478],[147.224,-128.443]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[183.089,-29.283],[98.057,-91.587],[147.445,-127.112]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[180.661,-27.633],[94.726,-90.725],[147.537,-125.779]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[178.074,-26.006],[91.314,-89.895],[147.499,-124.446]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[175.33,-24.404],[87.823,-89.097],[147.332,-123.114]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[172.432,-22.828],[84.256,-88.331],[147.037,-121.785]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[169.383,-21.28],[80.616,-87.598],[146.612,-120.458]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[166.185,-19.76],[76.907,-86.899],[146.059,-119.136]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[162.841,-18.27],[73.131,-86.235],[145.378,-117.82]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[159.354,-16.812],[69.293,-85.606],[144.57,-116.51]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[155.727,-15.387],[65.396,-85.013],[143.635,-115.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[151.964,-13.996],[61.443,-84.455],[142.574,-113.917]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.067,-12.64],[57.438,-83.935],[141.389,-112.635]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[144.041,-11.32],[53.384,-83.451],[140.08,-111.365]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[139.889,-10.039],[49.285,-83.006],[138.648,-110.107]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[135.614,-8.796],[45.144,-82.598],[137.095,-108.863]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[131.221,-7.593],[40.966,-82.229],[135.423,-107.634]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[126.713,-6.431],[36.754,-81.898],[133.631,-106.421]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[122.094,-5.312],[32.512,-81.606],[131.723,-105.225]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[117.369,-4.235],[28.243,-81.354],[129.7,-104.047]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[112.542,-3.202],[23.952,-81.141],[127.564,-102.888]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[107.617,-2.215],[19.642,-80.967],[125.316,-101.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[102.598,-1.273],[15.317,-80.834],[122.959,-100.633]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[97.49,-0.378],[10.981,-80.74],[120.494,-99.538]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[92.298,0.469],[6.638,-80.686],[117.925,-98.466]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[87.026,1.269],[2.292,-80.673],[115.252,-97.418]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[81.679,2.019],[-2.053,-80.699],[112.48,-96.396]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[76.261,2.72],[-6.394,-80.766],[109.609,-95.399]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[70.778,3.37],[-10.727,-80.873],[106.643,-94.43]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[65.234,3.97],[-15.048,-81.019],[103.585,-93.488]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[59.635,4.518],[-19.352,-81.206],[100.436,-92.575]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[53.985,5.014],[-23.636,-81.431],[97.201,-91.691]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[48.289,5.458],[-27.897,-81.697],[93.881,-90.838]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[42.553,5.849],[-32.129,-82.001],[90.48,-90.015]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[36.781,6.187],[-36.331,-82.345],[87,-89.224]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[30.98,6.472],[-40.497,-82.727],[83.446,-88.466]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[25.153,6.703],[-44.624,-83.147],[79.82,-87.741]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[19.306,6.881],[-48.709,-83.605],[76.125,-87.049]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.445,7.004],[-52.748,-84.1],[72.364,-86.392]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.575,7.073],[-56.736,-84.633],[68.542,-85.77]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.7,7.089],[-60.672,-85.202],[64.661,-85.184]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.173,7.049],[-64.55,-85.807],[60.725,-84.633]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-10.04,6.956],[-68.368,-86.448],[56.737,-84.119]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-15.895,6.809],[-72.122,-87.123],[52.701,-83.642]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-21.734,6.608],[-75.809,-87.833],[48.621,-83.202]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-27.55,6.353],[-79.426,-88.577],[44.5,-82.801]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33.339,6.044],[-82.968,-89.353],[40.342,-82.437]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-39.095,5.683],[-86.434,-90.162],[36.15,-82.112]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-44.814,5.268],[-89.82,-91.002],[31.929,-81.826]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-50.49,4.801],[-93.123,-91.874],[27.682,-81.579]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-56.118,4.282],[-96.34,-92.775],[23.413,-81.371]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-61.694,3.711],[-99.469,-93.706],[19.125,-81.202]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-67.211,3.089],[-102.505,-94.665],[14.823,-81.073]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-72.666,2.416],[-105.447,-95.651],[10.511,-80.984]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-78.053,1.693],[-108.293,-96.665],[6.192,-80.935]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-83.368,0.921],[-111.038,-97.704],[1.87,-80.925]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-88.605,0.1],[-113.682,-98.768],[-2.451,-80.956]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-93.761,-0.768],[-116.222,-99.856],[-6.767,-81.026]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-96.306,-1.22],[-117.452,-100.408],[-8.922,-81.076]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":84,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":113,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":144,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":173,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":205,"s":[0.478431403637,0.819607913494,1,1]},{"t":268,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":20,"op":180,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[188.706,-33.984],[106.678,-94.169],[147.151,-131.259]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[186.731,-32.28],[103.594,-93.228],[147.645,-129.927]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[184.592,-30.595],[100.42,-92.314],[148.009,-128.591]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[182.29,-28.931],[97.159,-91.431],[148.244,-127.253]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[179.828,-27.289],[93.814,-90.578],[148.349,-125.913]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[177.208,-25.67],[90.388,-89.756],[148.324,-124.572]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[174.432,-24.076],[86.884,-88.966],[148.169,-123.233]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[171.503,-22.509],[83.304,-88.209],[147.885,-121.895]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[168.423,-20.969],[79.653,-87.485],[147.47,-120.561]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[165.195,-19.458],[75.933,-86.796],[146.927,-119.231]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[161.822,-17.978],[72.149,-86.14],[146.255,-117.907]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[158.307,-16.529],[68.302,-85.52],[145.455,-116.589]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[154.654,-15.114],[64.397,-84.936],[144.527,-115.28]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[150.864,-13.732],[60.437,-84.388],[143.473,-113.979]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.943,-12.387],[56.425,-83.877],[142.293,-112.689]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[142.893,-11.078],[52.366,-83.403],[140.989,-111.41]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[138.717,-9.807],[48.263,-82.967],[139.561,-110.144]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[134.421,-8.575],[44.119,-82.568],[138.011,-108.892]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[130.007,-7.383],[39.938,-82.208],[136.341,-107.654]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[125.479,-6.233],[35.725,-81.887],[134.551,-106.433]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[120.842,-5.124],[31.482,-81.605],[132.644,-105.228]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[116.099,-4.06],[27.214,-81.362],[130.621,-104.042]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[111.255,-3.039],[22.924,-81.158],[128.483,-102.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[106.315,-2.063],[18.616,-80.994],[126.234,-101.728]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[101.282,-1.133],[14.294,-80.87],[123.874,-100.602]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[96.161,-0.251],[9.962,-80.786],[121.406,-99.499]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[90.957,0.585],[5.624,-80.742],[118.832,-98.419]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[85.674,1.371],[1.284,-80.738],[116.155,-97.363]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[80.318,2.109],[-3.055,-80.773],[113.377,-96.332]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[74.892,2.797],[-7.388,-80.849],[110.5,-95.327]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[69.402,3.435],[-11.713,-80.965],[107.526,-94.349]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[63.852,4.022],[-16.024,-81.121],[104.46,-93.4]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[58.249,4.557],[-20.318,-81.316],[101.302,-92.478]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[52.595,5.041],[-24.591,-81.551],[98.057,-91.587]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[46.898,5.472],[-28.839,-81.825],[94.726,-90.725]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[41.161,5.85],[-33.059,-82.138],[91.314,-89.895]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[35.39,6.176],[-37.247,-82.49],[87.823,-89.097]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[29.59,6.448],[-41.399,-82.88],[84.256,-88.331]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[23.766,6.666],[-45.511,-83.308],[80.616,-87.598]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[17.924,6.831],[-49.579,-83.775],[76.907,-86.899]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.068,6.941],[-53.601,-84.278],[73.131,-86.235]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[6.205,6.998],[-57.572,-84.818],[69.293,-85.606]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[0.338,7],[-61.489,-85.395],[65.396,-85.013]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.526,6.949],[-65.348,-86.008],[61.443,-84.455]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-11.383,6.843],[-69.147,-86.656],[57.438,-83.935]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-17.226,6.684],[-72.88,-87.338],[53.384,-83.451]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.052,6.47],[-76.546,-88.055],[49.285,-83.006]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-28.854,6.203],[-80.141,-88.805],[45.144,-82.598]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-34.628,5.883],[-83.661,-89.588],[40.966,-82.229]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.368,5.509],[-87.104,-90.403],[36.754,-81.898]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-46.07,5.083],[-90.466,-91.25],[32.512,-81.606]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-51.727,4.604],[-93.745,-92.127],[28.243,-81.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-57.336,4.074],[-96.937,-93.034],[23.952,-81.141]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-62.891,3.492],[-100.04,-93.97],[19.642,-80.967]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-68.386,2.858],[-103.051,-94.934],[15.317,-80.834]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-73.818,2.175],[-105.966,-95.926],[10.981,-80.74]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-79.182,1.442],[-108.785,-96.944],[6.638,-80.686]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-84.471,0.659],[-111.503,-97.987],[2.292,-80.673]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-89.683,-0.171],[-114.12,-99.055],[-2.053,-80.699]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-94.812,-1.05],[-116.631,-100.147],[-6.395,-80.766]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-99.853,-1.975],[-119.035,-101.262],[-10.727,-80.873]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-104.802,-2.947],[-121.331,-102.398],[-15.048,-81.019]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-109.655,-3.963],[-123.515,-103.554],[-19.352,-81.206]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-114.407,-5.024],[-125.586,-104.731],[-23.636,-81.431]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-119.054,-6.128],[-127.542,-105.926],[-27.897,-81.697]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-123.592,-7.275],[-129.381,-107.138],[-32.129,-82.001]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-128.017,-8.463],[-131.102,-108.367],[-36.331,-82.345]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-132.325,-9.691],[-132.703,-109.611],[-40.497,-82.727]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-136.512,-10.959],[-134.183,-110.87],[-44.624,-83.147]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.573,-12.264],[-135.54,-112.141],[-48.709,-83.605]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-144.507,-13.606],[-136.773,-113.425],[-52.748,-84.1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-148.309,-14.984],[-137.881,-114.719],[-56.736,-84.633]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-151.975,-16.397],[-138.864,-116.023],[-60.672,-85.202]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-155.503,-17.842],[-139.719,-117.335],[-64.55,-85.807]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-158.889,-19.32],[-140.447,-118.655],[-68.368,-86.448]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-162.13,-20.828],[-141.046,-119.98],[-72.122,-87.123]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-165.224,-22.365],[-141.517,-121.311],[-75.809,-87.833]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-168.167,-23.93],[-141.858,-122.646],[-79.426,-88.577]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-170.958,-25.522],[-142.07,-123.983],[-82.968,-89.353]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-173.592,-27.138],[-142.153,-125.321],[-86.434,-90.162]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-176.069,-28.778],[-142.105,-126.659],[-89.82,-91.002]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-178.386,-30.44],[-141.928,-127.997],[-93.123,-91.874]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-180.54,-32.123],[-141.621,-129.332],[-96.34,-92.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-182.531,-33.825],[-141.185,-130.664],[-99.469,-93.706]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-184.355,-35.545],[-140.62,-131.991],[-102.505,-94.665]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-186.012,-37.28],[-139.926,-133.312],[-105.447,-95.651]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.5,-39.03],[-139.105,-134.627],[-108.293,-96.665]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-188.818,-40.793],[-138.157,-135.933],[-111.038,-97.704]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.964,-42.568],[-137.082,-137.23],[-113.682,-98.768]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.937,-44.352],[-135.882,-138.516],[-116.222,-99.856]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.359,-45.247],[-135.236,-139.155],[-117.452,-100.408]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-40,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":53,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":84,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":113,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":145,"s":[0.478431403637,0.819607913494,1,1]},{"t":208,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[190.283,-70.648],[145.735,-118.477],[110.383,-155.502]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[191.862,-68.913],[144.99,-117.164],[113.244,-154.498]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[193.272,-67.165],[144.118,-115.859],[116.006,-153.469]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[194.511,-65.404],[143.12,-114.562],[118.667,-152.414]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[195.58,-63.633],[141.997,-113.275],[121.224,-151.336]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.476,-61.853],[140.75,-111.998],[123.676,-150.234]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.199,-60.065],[139.379,-110.734],[126.02,-149.11]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.749,-58.271],[137.887,-109.483],[128.254,-147.965]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.124,-56.473],[136.274,-108.247],[130.376,-146.8]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.325,-54.673],[134.542,-107.025],[132.384,-145.616]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":99,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.352,-52.871],[132.692,-105.821],[134.276,-144.414]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.203,-51.07],[130.726,-104.634],[136.051,-143.195]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.881,-49.271],[128.646,-103.465],[137.707,-141.961]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.384,-47.476],[126.453,-102.317],[139.243,-140.711]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.713,-45.687],[124.151,-101.189],[140.657,-139.448]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":109,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[195.869,-43.904],[121.74,-100.082],[141.947,-138.172]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":111,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[194.852,-42.13],[119.222,-98.999],[143.114,-136.886]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":113,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[193.664,-40.366],[116.601,-97.939],[144.155,-135.589]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":115,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[192.305,-38.614],[113.878,-96.904],[145.07,-134.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":117,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[190.778,-36.875],[111.056,-95.894],[145.858,-132.968]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[189.082,-35.151],[108.138,-94.911],[146.518,-131.648]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":121,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[187.22,-33.443],[105.125,-93.955],[147.05,-130.322]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":123,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[185.193,-31.753],[102.022,-93.028],[147.453,-128.991]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":125,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[183.003,-30.083],[98.829,-92.129],[147.727,-127.658]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":127,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[180.652,-28.434],[95.551,-91.261],[147.871,-126.322]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":129,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[178.143,-26.807],[92.19,-90.423],[147.886,-124.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":131,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[175.477,-25.204],[88.75,-89.616],[147.772,-123.65]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":133,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[172.656,-23.626],[85.232,-88.841],[147.528,-122.316]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[169.684,-22.075],[81.642,-88.099],[147.155,-120.985]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[166.563,-20.552],[77.981,-87.391],[146.652,-119.658]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[163.296,-19.059],[74.252,-86.717],[146.022,-118.336]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":141,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[159.885,-17.596],[70.461,-86.077],[145.263,-117.02]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[156.334,-16.166],[66.608,-85.472],[144.378,-115.712]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[152.646,-14.768],[62.699,-84.904],[143.365,-114.413]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.824,-13.406],[58.737,-84.371],[142.228,-113.124]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[144.872,-12.079],[54.725,-83.876],[140.966,-111.846]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":151,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[140.793,-10.79],[50.666,-83.418],[139.58,-110.579]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[136.591,-9.538],[46.565,-82.997],[138.073,-109.327]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[132.269,-8.326],[42.425,-82.614],[136.444,-108.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":157,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[127.832,-7.154],[38.25,-82.27],[134.697,-106.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":159,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[123.283,-6.024],[34.043,-81.964],[132.831,-105.66]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":161,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[118.626,-4.936],[29.808,-81.697],[130.85,-104.471]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[113.866,-3.891],[25.55,-81.47],[128.754,-103.302]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":165,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[109.007,-2.891],[21.271,-81.281],[126.546,-102.152]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[104.053,-1.937],[16.976,-81.133],[124.227,-101.024]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":169,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[99.009,-1.028],[12.668,-81.024],[121.8,-99.917]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":171,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[93.879,-0.166],[8.352,-80.954],[119.266,-98.833]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":173,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[88.668,0.648],[4.031,-80.925],[116.629,-97.773]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":175,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[83.38,1.414],[-0.291,-80.935],[113.89,-96.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":177,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[78.02,2.131],[-4.61,-80.986],[111.052,-95.728]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[72.594,2.797],[-8.922,-81.076],[108.117,-94.745]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":79,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":143,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":172,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":203,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":232,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":264,"s":[0.478431403637,0.819607913494,1,1]},{"t":327,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":79,"op":180,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[190.901,-70.527],[146.022,-118.336],[110.404,-155.53]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":141,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[192.467,-68.787],[145.263,-117.02],[113.267,-154.526]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[193.865,-67.033],[144.378,-115.712],[116.032,-153.497]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[195.091,-65.267],[143.365,-114.413],[118.696,-152.442]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.146,-63.491],[142.228,-113.124],[121.256,-151.363]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.028,-61.705],[140.966,-111.846],[123.71,-150.261]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":151,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.737,-59.912],[139.58,-110.579],[126.057,-149.137]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.272,-58.114],[138.073,-109.327],[128.293,-147.992]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.632,-56.311],[136.444,-108.088],[130.418,-146.826]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":157,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.817,-54.506],[134.697,-106.866],[132.428,-145.642]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":159,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.827,-52.7],[132.831,-105.66],[134.323,-144.439]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":161,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.662,-50.895],[130.85,-104.471],[136.101,-143.22]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[198.322,-49.092],[128.754,-103.302],[137.759,-141.985]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":165,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.807,-47.293],[126.546,-102.152],[139.297,-140.735]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[197.118,-45.499],[124.227,-101.024],[140.713,-139.471]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":169,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[196.256,-43.713],[121.8,-99.917],[142.006,-138.195]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":171,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[195.22,-41.935],[119.266,-98.833],[143.175,-136.908]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":173,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[194.013,-40.168],[116.629,-97.773],[144.218,-135.61]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":175,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[192.635,-38.413],[113.89,-96.737],[145.135,-134.303]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":177,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[191.088,-36.671],[111.052,-95.728],[145.925,-132.989]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[189.372,-34.944],[108.117,-94.745],[146.587,-131.668]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":203,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":232,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":263,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":292,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":324,"s":[0.478431403637,0.819607913494,1,1]},{"t":387,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":139,"op":180,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.54,-46.269],[-134.297,-139.855],[-118.239,-101.339]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.154,-48.066],[-132.844,-141.114],[-120.527,-102.468]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.594,-49.868],[-131.27,-142.36],[-122.705,-103.617]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.859,-51.673],[-129.575,-143.591],[-124.77,-104.786]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.948,-53.48],[-127.762,-144.805],[-126.721,-105.974]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.862,-55.287],[-125.832,-146.002],[-128.556,-107.179]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.602,-57.092],[-123.787,-147.181],[-130.274,-108.4]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.166,-58.894],[-121.628,-148.34],[-131.872,-109.636]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.556,-60.691],[-119.358,-149.479],[-133.35,-110.887]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.772,-62.482],[-116.979,-150.597],[-134.705,-112.151]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.814,-64.265],[-114.492,-151.692],[-135.938,-113.427]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-188.684,-66.038],[-111.9,-152.763],[-137.046,-114.713]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.383,-67.799],[-109.206,-153.811],[-138.03,-116.009]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-185.912,-69.549],[-106.411,-154.833],[-138.887,-117.314]],"c":true}]},{"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-184.271,-71.283],[-103.518,-155.829],[-139.617,-118.626]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-220,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-156,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-127,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-96,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-67,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-35,"s":[0.478431403637,0.819607913494,1,1]},{"t":28,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":28,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-99.03,-2.213],[-118.239,-101.339],[-11.899,-81.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-103.956,-3.177],[-120.527,-102.468],[-16.189,-81.337]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-108.787,-4.186],[-122.705,-103.617],[-20.462,-81.534]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-113.518,-5.239],[-124.77,-104.786],[-24.714,-81.77]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-118.145,-6.335],[-126.721,-105.974],[-28.941,-82.045]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-122.663,-7.473],[-128.556,-107.179],[-33.14,-82.359]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-127.069,-8.652],[-130.274,-108.4],[-37.306,-82.712]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-131.359,-9.871],[-131.872,-109.636],[-41.436,-83.102]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-135.529,-11.13],[-133.35,-110.887],[-45.527,-83.531]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.574,-12.426],[-134.705,-112.151],[-49.574,-83.997]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-143.493,-13.759],[-135.938,-113.427],[-53.574,-84.501]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-147.28,-15.128],[-137.046,-114.713],[-57.523,-85.041]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-150.933,-16.53],[-138.03,-116.009],[-61.419,-85.617]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-154.448,-17.966],[-138.887,-117.314],[-65.257,-86.229]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-157.823,-19.434],[-139.617,-118.626],[-69.033,-86.876]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-161.054,-20.932],[-140.219,-119.944],[-72.746,-87.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-164.138,-22.459],[-140.694,-121.267],[-76.39,-88.273]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-167.072,-24.015],[-141.04,-122.594],[-79.964,-89.021]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-169.855,-25.596],[-141.258,-123.923],[-83.463,-89.803]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-172.483,-27.202],[-141.346,-125.254],[-86.886,-90.616]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-174.954,-28.832],[-141.305,-126.585],[-90.227,-91.46]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-177.266,-30.484],[-141.135,-127.915],[-93.486,-92.335]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-179.416,-32.156],[-140.837,-129.243],[-96.658,-93.24]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-181.404,-33.848],[-140.41,-130.568],[-99.741,-94.173]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-183.227,-35.557],[-139.854,-131.888],[-102.732,-95.134]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-184.883,-37.282],[-139.171,-133.203],[-105.629,-96.123]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-186.371,-39.022],[-138.361,-134.51],[-108.428,-97.138]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.69,-40.775],[-137.424,-135.809],[-111.128,-98.178]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-188.839,-42.539],[-136.362,-137.1],[-113.726,-99.242]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.816,-44.313],[-135.175,-138.38],[-116.219,-100.33]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.62,-46.095],[-133.864,-139.648],[-118.606,-101.441]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.252,-47.883],[-132.432,-140.904],[-120.884,-102.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.709,-49.677],[-130.878,-142.145],[-123.052,-103.725]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.993,-51.474],[-129.204,-143.372],[-125.106,-104.898]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.102,-53.273],[-127.412,-144.583],[-127.047,-106.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.037,-55.072],[-125.504,-145.777],[-128.87,-107.296]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.797,-56.87],[-123.481,-146.953],[-130.576,-108.52]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.384,-58.664],[-121.344,-148.11],[-132.163,-109.759]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.796,-60.454],[-119.097,-149.246],[-133.628,-111.012]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.035,-62.238],[-116.74,-150.362],[-134.972,-112.279]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.102,-64.014],[-114.276,-151.455],[-136.192,-113.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.996,-65.781],[-111.707,-152.524],[-137.288,-114.846]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-186.72,-67.537],[-109.036,-153.57],[-138.258,-116.144]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-185.275,-69.28],[-106.265,-154.591],[-139.102,-117.451]],"c":true}]},{"t":87,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-184.489,-70.146],[-104.842,-155.091],[-139.476,-118.107]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-161,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-97,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-68,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-37,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-8,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[0.478431403637,0.819607913494,1,1]},{"t":87,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":87,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[68.767,3.206],[106.678,-94.169],[-11.899,-81.18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[63.24,3.787],[103.594,-93.228],[-16.189,-81.337]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[57.659,4.317],[100.42,-92.314],[-20.462,-81.534]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[52.029,4.795],[97.159,-91.431],[-24.714,-81.77]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[46.356,5.221],[93.814,-90.578],[-28.941,-82.045]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[40.643,5.595],[90.388,-89.756],[-33.14,-82.359]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[34.897,5.916],[86.884,-88.966],[-37.306,-82.712]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[29.123,6.183],[83.304,-88.209],[-41.436,-83.102]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[23.325,6.397],[79.653,-87.485],[-45.527,-83.531]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[17.509,6.558],[75.933,-86.796],[-49.574,-83.997]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[11.68,6.665],[72.149,-86.14],[-53.574,-84.501]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.843,6.718],[68.302,-85.52],[-57.523,-85.041]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[0.004,6.717],[64.397,-84.936],[-61.419,-85.617]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.833,6.663],[60.437,-84.388],[-65.257,-86.229]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-11.661,6.554],[56.425,-83.877],[-69.033,-86.876]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-17.477,6.392],[52.366,-83.403],[-72.746,-87.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.274,6.177],[48.263,-82.967],[-76.39,-88.273]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-29.048,5.908],[44.119,-82.568],[-79.964,-89.021]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-34.793,5.586],[39.938,-82.208],[-83.463,-89.803]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.505,5.211],[35.725,-81.887],[-86.886,-90.616]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-46.177,4.784],[31.482,-81.605],[-90.227,-91.46]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-51.806,4.304],[27.214,-81.362],[-93.486,-92.335]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-57.385,3.773],[22.924,-81.158],[-96.658,-93.24]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-62.911,3.19],[18.616,-80.994],[-99.741,-94.173]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-68.377,2.557],[14.294,-80.87],[-102.732,-95.134]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-73.78,1.874],[9.962,-80.786],[-105.629,-96.123]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-79.114,1.141],[5.624,-80.742],[-108.428,-97.138]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-84.375,0.36],[1.284,-80.738],[-111.128,-98.178]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-89.557,-0.47],[-3.055,-80.773],[-113.726,-99.242]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-94.657,-1.347],[-7.388,-80.849],[-116.219,-100.33]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-99.669,-2.271],[-11.713,-80.965],[-118.606,-101.441]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-104.59,-3.24],[-16.024,-81.121],[-120.884,-102.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-109.415,-4.255],[-20.318,-81.316],[-123.052,-103.725]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-114.138,-5.314],[-24.591,-81.551],[-125.106,-104.898]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-118.758,-6.415],[-28.839,-81.825],[-127.047,-106.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-123.268,-7.559],[-33.059,-82.138],[-128.87,-107.296]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-127.665,-8.744],[-37.247,-82.49],[-130.576,-108.52]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-131.946,-9.969],[-41.399,-82.88],[-132.163,-109.759]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-136.106,-11.232],[-45.511,-83.308],[-133.628,-111.012]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.142,-12.534],[-49.579,-83.775],[-134.972,-112.279]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-144.049,-13.872],[-53.601,-84.278],[-136.192,-113.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-147.825,-15.246],[-57.572,-84.818],[-137.288,-114.846]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-151.466,-16.654],[-61.489,-85.395],[-138.258,-116.144]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-154.97,-18.094],[-65.348,-86.008],[-139.102,-117.451]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-158.331,-19.567],[-69.147,-86.656],[-139.818,-118.765]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-161.549,-21.07],[-72.88,-87.338],[-140.408,-120.085]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-164.62,-22.601],[-76.546,-88.055],[-140.868,-121.409]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-167.54,-24.161],[-80.141,-88.805],[-141.201,-122.738]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-170.308,-25.747],[-83.661,-89.588],[-141.404,-124.069]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-172.921,-27.357],[-87.104,-90.403],[-141.478,-125.401]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-175.377,-28.991],[-90.466,-91.25],[-141.423,-126.733]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-177.674,-30.647],[-93.745,-92.127],[-141.239,-128.064]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-179.809,-32.323],[-96.937,-93.034],[-140.926,-129.393]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-181.78,-34.018],[-100.04,-93.97],[-140.484,-130.718]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-183.586,-35.73],[-103.051,-94.934],[-139.914,-132.039]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-185.225,-37.459],[-105.966,-95.926],[-139.216,-133.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-186.696,-39.202],[-108.785,-96.944],[-138.391,-134.662]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.998,-40.957],[-111.503,-97.987],[-137.44,-135.961]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.128,-42.724],[-114.12,-99.055],[-136.363,-137.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.087,-44.5],[-116.631,-100.147],[-135.161,-138.532]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.873,-46.285],[-119.035,-101.262],[-133.836,-139.8]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.486,-48.076],[-121.331,-102.398],[-132.389,-141.055]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.925,-49.871],[-123.515,-103.554],[-130.82,-142.296]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.19,-51.67],[-125.586,-104.731],[-129.132,-143.523]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.28,-53.471],[-127.542,-105.926],[-127.326,-144.733]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-192.195,-55.272],[-129.381,-107.138],[-125.403,-145.926]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.936,-57.071],[-131.102,-108.367],[-123.365,-147.101]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-191.503,-58.867],[-132.703,-109.611],[-121.214,-148.257]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.896,-60.658],[-134.183,-110.87],[-118.953,-149.392]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-190.115,-62.442],[-135.54,-112.141],[-116.582,-150.506]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-189.162,-64.219],[-136.773,-113.425],[-114.104,-151.597]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-188.037,-65.986],[-137.881,-114.719],[-111.522,-152.665]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-186.741,-67.742],[-138.864,-116.023],[-108.837,-153.709]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-185.275,-69.485],[-139.719,-117.335],[-106.052,-154.728]],"c":true}]},{"t":147,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-184.479,-70.352],[-140.099,-117.994],[-104.623,-155.227]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-101,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-37,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-8,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":23,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":52,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":84,"s":[0.478431403637,0.819607913494,1,1]},{"t":147,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":147,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[106.678,-94.169],[68.767,3.206],[188.706,-33.984]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[103.594,-93.228],[63.24,3.787],[186.731,-32.28]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[100.42,-92.314],[57.659,4.317],[184.592,-30.595]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[97.159,-91.431],[52.029,4.795],[182.29,-28.931]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[93.814,-90.578],[46.356,5.221],[179.828,-27.289]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[90.388,-89.756],[40.643,5.595],[177.208,-25.67]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[86.884,-88.966],[34.897,5.916],[174.432,-24.076]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[83.304,-88.209],[29.123,6.183],[171.503,-22.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[79.653,-87.485],[23.325,6.397],[168.423,-20.969]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[75.933,-86.796],[17.509,6.558],[165.195,-19.458]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[72.149,-86.14],[11.68,6.665],[161.822,-17.978]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[68.302,-85.52],[5.843,6.718],[158.307,-16.529]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[64.397,-84.936],[0.004,6.717],[154.654,-15.114]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[60.437,-84.388],[-5.833,6.663],[150.864,-13.732]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[56.425,-83.877],[-11.661,6.554],[146.943,-12.387]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[52.366,-83.403],[-17.477,6.392],[142.893,-11.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[48.263,-82.967],[-23.274,6.177],[138.717,-9.807]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[44.119,-82.568],[-29.048,5.908],[134.421,-8.575]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[39.938,-82.208],[-34.793,5.586],[130.007,-7.383]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[35.725,-81.887],[-40.505,5.211],[125.479,-6.233]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[31.482,-81.605],[-46.177,4.784],[120.842,-5.124]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[27.214,-81.362],[-51.806,4.304],[116.099,-4.06]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[22.924,-81.158],[-57.385,3.773],[111.255,-3.039]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[18.616,-80.994],[-62.911,3.19],[106.315,-2.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[14.294,-80.87],[-68.377,2.557],[101.282,-1.133]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.962,-80.786],[-73.78,1.874],[96.161,-0.251]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.624,-80.742],[-79.114,1.141],[90.957,0.585]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.284,-80.738],[-84.375,0.36],[85.674,1.371]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-3.055,-80.773],[-89.557,-0.47],[80.318,2.109]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-7.388,-80.849],[-94.657,-1.347],[74.892,2.797]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-11.713,-80.965],[-99.669,-2.271],[69.402,3.435]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-16.024,-81.121],[-104.59,-3.24],[63.852,4.022]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-20.318,-81.316],[-109.415,-4.255],[58.249,4.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-24.591,-81.551],[-114.138,-5.314],[52.595,5.041]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-28.839,-81.825],[-118.758,-6.415],[46.898,5.472]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33.059,-82.138],[-123.268,-7.559],[41.161,5.85]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.247,-82.49],[-127.665,-8.744],[35.39,6.176]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.399,-82.88],[-131.946,-9.969],[29.59,6.448]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-45.511,-83.308],[-136.106,-11.232],[23.766,6.666]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-49.579,-83.775],[-140.142,-12.534],[17.924,6.831]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-53.601,-84.278],[-144.049,-13.872],[12.068,6.941]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-57.572,-84.818],[-147.825,-15.246],[6.205,6.998]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-61.489,-85.395],[-151.466,-16.654],[0.338,7]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-65.348,-86.008],[-154.97,-18.094],[-5.526,6.949]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-69.147,-86.656],[-158.331,-19.567],[-11.383,6.843]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-72.88,-87.338],[-161.549,-21.07],[-17.226,6.684]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-76.546,-88.055],[-164.62,-22.601],[-23.052,6.47]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-80.141,-88.805],[-167.54,-24.161],[-28.854,6.203]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-83.661,-89.588],[-170.308,-25.747],[-34.628,5.883]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-87.104,-90.403],[-172.921,-27.357],[-40.368,5.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-90.466,-91.25],[-175.377,-28.991],[-46.07,5.083]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-93.745,-92.127],[-177.674,-30.647],[-51.727,4.604]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-96.937,-93.034],[-179.809,-32.323],[-57.336,4.074]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-100.04,-93.97],[-181.78,-34.018],[-62.891,3.492]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-103.051,-94.934],[-183.586,-35.73],[-68.386,2.858]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-105.966,-95.926],[-185.225,-37.459],[-73.818,2.175]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-108.785,-96.944],[-186.696,-39.202],[-79.182,1.442]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-111.503,-97.987],[-187.998,-40.957],[-84.471,0.659]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-114.12,-99.055],[-189.128,-42.724],[-89.683,-0.171]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-116.631,-100.147],[-190.087,-44.5],[-94.812,-1.05]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-119.035,-101.262],[-190.873,-46.285],[-99.853,-1.975]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-121.331,-102.398],[-191.486,-48.076],[-104.802,-2.947]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-123.515,-103.554],[-191.925,-49.871],[-109.655,-3.963]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-125.586,-104.731],[-192.19,-51.67],[-114.407,-5.024]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-127.542,-105.926],[-192.28,-53.471],[-119.054,-6.128]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-129.381,-107.138],[-192.195,-55.272],[-123.592,-7.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-131.102,-108.367],[-191.936,-57.071],[-128.017,-8.463]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-132.703,-109.611],[-191.503,-58.867],[-132.325,-9.691]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-134.183,-110.87],[-190.896,-60.658],[-136.512,-10.959]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-135.54,-112.141],[-190.115,-62.442],[-140.573,-12.264]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-136.773,-113.425],[-189.162,-64.219],[-144.507,-13.606]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-137.881,-114.719],[-188.037,-65.986],[-148.309,-14.984]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-138.864,-116.023],[-186.741,-67.742],[-151.975,-16.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.719,-117.335],[-185.275,-69.485],[-155.503,-17.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.447,-118.655],[-183.642,-71.214],[-158.889,-19.32]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.046,-119.98],[-181.841,-72.927],[-162.13,-20.828]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.517,-121.311],[-179.875,-74.623],[-165.224,-22.365]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.858,-122.646],[-177.745,-76.3],[-168.167,-23.93]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-142.07,-123.983],[-175.454,-77.956],[-170.958,-25.522]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-142.153,-125.321],[-173.003,-79.591],[-173.592,-27.138]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-142.105,-126.659],[-170.395,-81.202],[-176.069,-28.778]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.928,-127.997],[-167.632,-82.788],[-178.386,-30.44]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.621,-129.332],[-164.716,-84.349],[-180.54,-32.123]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.185,-130.664],[-161.65,-85.881],[-182.531,-33.825]],"c":true}]},{"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.62,-131.991],[-158.437,-87.385],[-184.355,-35.545]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-60,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-40,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-11,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":54,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":79,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":112,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":146,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":168,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-60,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-40,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-11,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":54,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":79,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":112,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":146,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":168,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-11.899,-81.18],[-99.03,-2.213],[68.767,3.206]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-16.189,-81.337],[-103.956,-3.177],[63.24,3.787]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-20.462,-81.534],[-108.787,-4.186],[57.659,4.317]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-24.714,-81.77],[-113.518,-5.239],[52.029,4.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-28.941,-82.045],[-118.145,-6.335],[46.356,5.221]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-33.14,-82.359],[-122.663,-7.473],[40.643,5.595]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.306,-82.712],[-127.069,-8.652],[34.897,5.916]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-41.436,-83.102],[-131.359,-9.871],[29.123,6.183]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-45.527,-83.531],[-135.529,-11.13],[23.325,6.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-49.574,-83.997],[-139.574,-12.426],[17.509,6.558]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-53.574,-84.501],[-143.493,-13.759],[11.68,6.665]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-57.523,-85.041],[-147.28,-15.128],[5.843,6.718]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-61.419,-85.617],[-150.933,-16.53],[0.004,6.717]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-65.257,-86.229],[-154.448,-17.966],[-5.833,6.663]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-69.033,-86.876],[-157.823,-19.434],[-11.661,6.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-72.746,-87.557],[-161.054,-20.932],[-17.477,6.392]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-76.39,-88.273],[-164.138,-22.459],[-23.274,6.177]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-79.964,-89.021],[-167.072,-24.015],[-29.048,5.908]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-83.463,-89.803],[-169.855,-25.596],[-34.793,5.586]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-86.886,-90.616],[-172.483,-27.202],[-40.505,5.211]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-90.227,-91.46],[-174.954,-28.832],[-46.177,4.784]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-93.486,-92.335],[-177.266,-30.484],[-51.806,4.304]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-96.658,-93.24],[-179.416,-32.156],[-57.385,3.773]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-99.741,-94.173],[-181.404,-33.848],[-62.911,3.19]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-102.732,-95.134],[-183.227,-35.557],[-68.377,2.557]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-105.629,-96.123],[-184.883,-37.282],[-73.78,1.874]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-108.428,-97.138],[-186.371,-39.022],[-79.114,1.141]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-111.128,-98.178],[-187.69,-40.775],[-84.375,0.36]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-113.726,-99.242],[-188.839,-42.539],[-89.557,-0.47]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-116.219,-100.33],[-189.816,-44.313],[-94.657,-1.347]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-118.606,-101.441],[-190.62,-46.095],[-99.669,-2.271]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-120.884,-102.573],[-191.252,-47.883],[-104.59,-3.24]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-123.052,-103.725],[-191.709,-49.677],[-109.415,-4.255]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-125.106,-104.898],[-191.993,-51.474],[-114.138,-5.314]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-127.047,-106.088],[-192.102,-53.273],[-118.758,-6.415]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-128.87,-107.296],[-192.037,-55.072],[-123.268,-7.559]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-130.576,-108.52],[-191.797,-56.87],[-127.665,-8.744]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-132.163,-109.759],[-191.384,-58.664],[-131.946,-9.969]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-133.628,-111.012],[-190.796,-60.454],[-136.106,-11.232]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-134.972,-112.279],[-190.035,-62.238],[-140.142,-12.534]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-136.192,-113.557],[-189.102,-64.014],[-144.049,-13.872]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-137.288,-114.846],[-187.996,-65.781],[-147.825,-15.246]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-138.258,-116.144],[-186.72,-67.537],[-151.466,-16.654]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.102,-117.451],[-185.275,-69.28],[-154.97,-18.094]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.818,-118.765],[-183.661,-71.009],[-158.331,-19.567]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.408,-120.085],[-181.88,-72.722],[-161.549,-21.07]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.868,-121.409],[-179.934,-74.418],[-164.62,-22.601]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.201,-122.738],[-177.824,-76.096],[-167.54,-24.161]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.404,-124.069],[-175.553,-77.753],[-170.308,-25.747]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.478,-125.401],[-173.121,-79.388],[-172.921,-27.357]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.423,-126.733],[-170.533,-81.001],[-175.377,-28.991]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.239,-128.064],[-167.789,-82.589],[-177.674,-30.647]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.926,-129.393],[-164.893,-84.15],[-179.809,-32.323]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.484,-130.718],[-161.846,-85.685],[-181.78,-34.018]],"c":true}]},{"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.914,-132.039],[-158.652,-87.191],[-183.586,-35.73]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-120,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-100,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-71,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-44,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-6,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":52,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":86,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":108,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-120,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-100,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-71,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-44,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-6,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":52,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":86,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":108,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":108,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-118.239,-101.339],[-191.54,-46.269],[-99.03,-2.213]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-120.527,-102.468],[-192.154,-48.066],[-103.956,-3.177]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-122.705,-103.617],[-192.594,-49.868],[-108.787,-4.186]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-124.77,-104.786],[-192.859,-51.673],[-113.518,-5.239]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-126.721,-105.974],[-192.948,-53.48],[-118.145,-6.335]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-128.556,-107.179],[-192.862,-55.287],[-122.663,-7.473]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-130.274,-108.4],[-192.602,-57.092],[-127.069,-8.652]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-131.872,-109.636],[-192.166,-58.894],[-131.359,-9.871]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-133.35,-110.887],[-191.556,-60.691],[-135.529,-11.13]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-134.705,-112.151],[-190.772,-62.482],[-139.574,-12.426]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-135.938,-113.427],[-189.814,-64.265],[-143.493,-13.759]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-137.046,-114.713],[-188.684,-66.038],[-147.28,-15.128]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-138.03,-116.009],[-187.383,-67.799],[-150.933,-16.53]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-138.887,-117.314],[-185.912,-69.549],[-154.448,-17.966]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.617,-118.626],[-184.271,-71.283],[-157.823,-19.434]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.219,-119.944],[-182.464,-73.002],[-161.054,-20.932]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.694,-121.267],[-180.49,-74.704],[-164.138,-22.459]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.04,-122.594],[-178.352,-76.386],[-167.072,-24.015]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.258,-123.923],[-176.053,-78.048],[-169.855,-25.596]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.346,-125.254],[-173.593,-79.688],[-172.483,-27.202]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.305,-126.585],[-170.975,-81.305],[-174.954,-28.832]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-141.135,-127.915],[-168.201,-82.896],[-177.266,-30.484]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.837,-129.243],[-165.275,-84.462],[-179.416,-32.156]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-140.41,-130.568],[-162.198,-86],[-181.404,-33.848]],"c":true}]},{"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-139.854,-131.888],[-158.973,-87.508],[-183.227,-35.557]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-180,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-160,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-131,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-104,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-66,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-41,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-8,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":48,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-180,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-160,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-131,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-104,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-66,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-41,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-8,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":26,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":48,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":48,"st":0,"bm":0},{"ddd":0,"ind":33,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.518,-131.648],[189.082,-35.151],[166.297,-86.843]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":121,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.05,-130.322],[187.22,-33.443],[169.456,-85.322]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":123,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.453,-128.991],[185.193,-31.753],[172.467,-83.773]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":125,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.727,-127.658],[183.003,-30.083],[175.326,-82.197]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":127,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.871,-126.322],[180.652,-28.434],[178.031,-80.595]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":129,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.886,-124.986],[178.143,-26.807],[180.58,-78.969]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":131,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.772,-123.65],[175.477,-25.204],[182.97,-77.32]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":133,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.528,-122.316],[172.656,-23.626],[185.199,-75.65]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.155,-120.985],[169.684,-22.075],[187.265,-73.96]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.652,-119.658],[166.563,-20.552],[189.166,-72.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.022,-118.336],[163.296,-19.059],[190.901,-70.527]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":141,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[145.263,-117.02],[159.885,-17.596],[192.467,-68.787]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[144.378,-115.712],[156.334,-16.166],[193.865,-67.033]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[143.365,-114.413],[152.646,-14.768],[195.091,-65.267]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[142.228,-113.124],[148.824,-13.406],[196.146,-63.491]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[140.966,-111.846],[144.872,-12.079],[197.028,-61.705]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":151,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[139.58,-110.579],[140.793,-10.79],[197.737,-59.912]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[138.073,-109.327],[136.591,-9.538],[198.272,-58.114]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[136.444,-108.088],[132.269,-8.326],[198.632,-56.311]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":157,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[134.697,-106.866],[127.832,-7.154],[198.817,-54.506]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":159,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[132.831,-105.66],[123.283,-6.024],[198.827,-52.7]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":161,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[130.85,-104.471],[118.626,-4.936],[198.662,-50.895]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[128.754,-103.302],[113.866,-3.891],[198.322,-49.092]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":165,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[126.546,-102.152],[109.007,-2.891],[197.807,-47.293]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[124.227,-101.024],[104.053,-1.937],[197.118,-45.499]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":169,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[121.8,-99.917],[99.009,-1.028],[196.256,-43.713]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":171,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[119.266,-98.833],[93.879,-0.166],[195.22,-41.935]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":173,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[116.629,-97.773],[88.668,0.648],[194.013,-40.168]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":175,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[113.89,-96.737],[83.38,1.414],[192.635,-38.413]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":177,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[111.052,-95.728],[78.02,2.131],[191.088,-36.671]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[108.117,-94.745],[72.594,2.797],[189.372,-34.944]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":119,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":168,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":195,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":233,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":258,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":291,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":325,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":347,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":119,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":168,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":195,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":233,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":258,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":291,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":325,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":347,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":119,"op":180,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.396,-131.096],[189.4,-34.356],[167.193,-86.149]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.875,-129.771],[187.461,-32.646],[170.285,-84.62]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.224,-128.443],[185.357,-30.954],[173.227,-83.064]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.445,-127.112],[183.089,-29.283],[176.017,-81.481]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.537,-125.779],[180.661,-27.633],[178.652,-79.873]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.499,-124.446],[178.074,-26.006],[181.13,-78.241]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.332,-123.114],[175.33,-24.404],[183.449,-76.588]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.037,-121.785],[172.432,-22.828],[185.607,-74.914]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.612,-120.458],[169.383,-21.28],[187.601,-73.22]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.059,-119.136],[166.185,-19.76],[189.431,-71.509]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[145.378,-117.82],[162.841,-18.27],[191.093,-69.782]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[144.57,-116.51],[159.354,-16.812],[192.588,-68.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[143.635,-115.209],[155.727,-15.387],[193.913,-66.286]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[142.574,-113.917],[151.964,-13.996],[195.067,-64.52]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[141.389,-112.635],[148.067,-12.64],[196.049,-62.744]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[140.08,-111.365],[144.041,-11.32],[196.859,-60.96]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[138.648,-110.107],[139.889,-10.039],[197.496,-59.169]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[137.095,-108.863],[135.614,-8.796],[197.958,-57.373]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[135.423,-107.634],[131.221,-7.593],[198.247,-55.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[133.631,-106.421],[126.713,-6.431],[198.36,-53.772]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[131.723,-105.225],[122.094,-5.312],[198.299,-51.971]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[129.7,-104.047],[117.369,-4.235],[198.064,-50.17]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[127.564,-102.888],[112.542,-3.202],[197.654,-48.373]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[125.316,-101.75],[107.617,-2.215],[197.07,-46.581]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[122.959,-100.633],[102.598,-1.273],[196.312,-44.794]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[120.494,-99.538],[97.49,-0.378],[195.382,-43.016]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[117.925,-98.466],[92.298,0.469],[194.279,-41.246]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[115.252,-97.418],[87.026,1.269],[193.006,-39.488]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[112.48,-96.396],[81.679,2.019],[191.563,-37.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[109.609,-95.399],[76.261,2.72],[189.951,-36.011]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[106.643,-94.43],[70.778,3.37],[188.171,-34.295]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[103.585,-93.488],[65.234,3.97],[186.227,-32.596]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[100.436,-92.575],[59.635,4.518],[184.118,-30.916]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[97.201,-91.691],[53.985,5.014],[181.848,-29.256]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[93.881,-90.838],[48.289,5.458],[179.417,-27.618]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[90.48,-90.015],[42.553,5.849],[176.829,-26.002]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[87,-89.224],[36.781,6.187],[174.086,-24.412]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[83.446,-88.466],[30.98,6.472],[171.189,-22.847]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[79.82,-87.741],[25.153,6.703],[168.142,-21.31]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[76.125,-87.049],[19.306,6.881],[164.948,-19.802]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[72.364,-86.392],[13.445,7.004],[161.608,-18.324]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[68.542,-85.77],[7.575,7.073],[158.127,-16.877]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[64.661,-85.184],[1.7,7.089],[154.507,-15.463]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[60.725,-84.633],[-4.173,7.049],[150.752,-14.083]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[56.737,-84.119],[-10.04,6.956],[146.864,-12.738]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[52.701,-83.642],[-15.895,6.809],[142.848,-11.43]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[48.621,-83.202],[-21.734,6.608],[138.707,-10.159]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[44.5,-82.801],[-27.55,6.353],[134.445,-8.927]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[40.342,-82.437],[-33.339,6.044],[130.065,-7.735]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[36.15,-82.112],[-39.095,5.683],[125.571,-6.584]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[31.929,-81.826],[-44.814,5.268],[120.968,-5.474]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[27.682,-81.579],[-50.49,4.801],[116.259,-4.408]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[23.413,-81.371],[-56.118,4.282],[111.449,-3.386]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[19.125,-81.202],[-61.694,3.711],[106.542,-2.408]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[14.823,-81.073],[-67.211,3.089],[101.542,-1.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[10.511,-80.984],[-72.666,2.416],[96.455,-0.591]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[6.192,-80.935],[-78.053,1.693],[91.284,0.247]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.87,-80.925],[-83.368,0.921],[86.033,1.037]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.451,-80.956],[-88.605,0.1],[80.709,1.778]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-6.767,-81.026],[-93.761,-0.768],[75.315,2.47]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.922,-81.076],[-96.306,-1.22],[72.594,2.797]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":109,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":136,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":174,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":199,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":232,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":266,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":288,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":109,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":136,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":174,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":199,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":232,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":266,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":288,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":60,"op":180,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.151,-131.259],[188.706,-33.984],[167.805,-86.483]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.645,-129.927],[186.731,-32.28],[170.929,-84.948]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.009,-128.591],[184.592,-30.595],[173.902,-83.386]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.244,-127.253],[182.29,-28.931],[176.723,-81.797]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.349,-125.913],[179.828,-27.289],[179.389,-80.182]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.324,-124.572],[177.208,-25.67],[181.897,-78.544]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[148.169,-123.233],[174.432,-24.076],[184.245,-76.883]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.885,-121.895],[171.503,-22.509],[186.431,-75.201]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[147.47,-120.561],[168.423,-20.969],[188.453,-73.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.927,-119.231],[165.195,-19.458],[190.309,-71.781]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[146.255,-117.907],[161.822,-17.978],[191.997,-70.046]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[145.455,-116.589],[158.307,-16.529],[193.517,-68.296]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[144.527,-115.28],[154.654,-15.114],[194.866,-66.532]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[143.473,-113.979],[150.864,-13.732],[196.044,-64.757]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[142.293,-112.689],[146.943,-12.387],[197.049,-62.972]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[140.989,-111.41],[142.893,-11.078],[197.881,-61.179]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[139.561,-110.144],[138.717,-9.807],[198.538,-59.378]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[138.011,-108.892],[134.421,-8.575],[199.02,-57.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[136.341,-107.654],[130.007,-7.383],[199.328,-55.764]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[134.551,-106.433],[125.479,-6.233],[199.459,-53.952]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[132.644,-105.228],[120.842,-5.124],[199.415,-52.141]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[130.621,-104.042],[116.099,-4.06],[199.196,-50.33]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[128.483,-102.875],[111.255,-3.039],[198.801,-48.522]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[126.234,-101.728],[106.315,-2.063],[198.231,-46.719]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[123.874,-100.602],[101.282,-1.133],[197.486,-44.922]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[121.406,-99.499],[96.161,-0.251],[196.567,-43.132]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[118.832,-98.419],[90.957,0.585],[195.476,-41.352]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[116.155,-97.363],[85.674,1.371],[194.212,-39.583]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[113.377,-96.332],[80.318,2.109],[192.777,-37.826]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[110.5,-95.327],[74.892,2.797],[191.173,-36.083]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[107.526,-94.349],[69.402,3.435],[189.4,-34.356]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[104.46,-93.4],[63.852,4.022],[187.461,-32.646]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[101.302,-92.478],[58.249,4.557],[185.357,-30.954]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[98.057,-91.587],[52.595,5.041],[183.089,-29.283]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[94.726,-90.725],[46.898,5.472],[180.661,-27.633]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[91.314,-89.895],[41.161,5.85],[178.074,-26.006]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[87.823,-89.097],[35.39,6.176],[175.33,-24.404]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[84.256,-88.331],[29.59,6.448],[172.432,-22.828]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[80.616,-87.598],[23.766,6.666],[169.383,-21.28]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[76.907,-86.899],[17.924,6.831],[166.185,-19.76]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[73.131,-86.235],[12.068,6.941],[162.841,-18.27]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[69.293,-85.606],[6.205,6.998],[159.354,-16.812]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[65.396,-85.013],[0.338,7],[155.727,-15.387]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[61.443,-84.455],[-5.526,6.949],[151.964,-13.996]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[57.438,-83.935],[-11.383,6.843],[148.067,-12.64]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[53.384,-83.451],[-17.226,6.684],[144.041,-11.32]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[49.285,-83.006],[-23.052,6.47],[139.889,-10.039]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[45.144,-82.598],[-28.854,6.203],[135.614,-8.796]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[40.966,-82.229],[-34.628,5.883],[131.221,-7.593]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[36.754,-81.898],[-40.368,5.509],[126.713,-6.431]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[32.512,-81.606],[-46.07,5.083],[122.094,-5.312]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[28.243,-81.354],[-51.727,4.604],[117.369,-4.235]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[23.952,-81.141],[-57.336,4.074],[112.542,-3.202]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[19.642,-80.967],[-62.891,3.492],[107.617,-2.215]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.317,-80.834],[-68.386,2.858],[102.598,-1.273]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[10.981,-80.74],[-73.818,2.175],[97.49,-0.378]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[6.638,-80.686],[-79.182,1.442],[92.298,0.469]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.292,-80.673],[-84.471,0.659],[87.026,1.269]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.053,-80.699],[-89.683,-0.171],[81.679,2.019]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-6.395,-80.766],[-94.812,-1.05],[76.261,2.72]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-10.727,-80.873],[-99.853,-1.975],[70.778,3.37]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-15.048,-81.019],[-104.802,-2.947],[65.234,3.97]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-19.352,-81.206],[-109.655,-3.963],[59.635,4.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.636,-81.431],[-114.407,-5.024],[53.985,5.014]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-27.897,-81.697],[-119.054,-6.128],[48.289,5.458]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-32.129,-82.001],[-123.592,-7.275],[42.553,5.849]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36.331,-82.345],[-128.017,-8.463],[36.781,6.187]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.497,-82.727],[-132.325,-9.691],[30.98,6.472]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-44.624,-83.147],[-136.512,-10.959],[25.153,6.703]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-48.709,-83.605],[-140.573,-12.264],[19.306,6.881]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-52.748,-84.1],[-144.507,-13.606],[13.445,7.004]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-56.736,-84.633],[-148.309,-14.984],[7.575,7.073]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-60.672,-85.202],[-151.975,-16.397],[1.7,7.089]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-64.55,-85.807],[-155.503,-17.842],[-4.173,7.049]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-68.368,-86.448],[-158.889,-19.32],[-10.04,6.956]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-72.122,-87.123],[-162.13,-20.828],[-15.895,6.809]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-75.809,-87.833],[-165.224,-22.365],[-21.734,6.608]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-79.426,-88.577],[-168.167,-23.93],[-27.55,6.353]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-82.968,-89.353],[-170.958,-25.522],[-33.339,6.044]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-86.434,-90.162],[-173.592,-27.138],[-39.095,5.683]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-89.82,-91.002],[-176.069,-28.778],[-44.814,5.268]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-93.123,-91.874],[-178.386,-30.44],[-50.49,4.801]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-96.34,-92.775],[-180.54,-32.123],[-56.118,4.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-99.469,-93.706],[-182.531,-33.825],[-61.694,3.711]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-102.505,-94.665],[-184.355,-35.545],[-67.211,3.089]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-105.447,-95.651],[-186.012,-37.28],[-72.666,2.416]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-108.293,-96.665],[-187.5,-39.03],[-78.053,1.693]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-111.038,-97.704],[-188.818,-40.793],[-83.368,0.921]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-113.682,-98.768],[-189.964,-42.568],[-88.605,0.1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-116.222,-99.856],[-190.937,-44.352],[-93.761,-0.768]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-117.452,-100.408],[-191.359,-45.247],[-96.306,-1.22]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":49,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":114,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":172,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":206,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":228,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0.245444044471,0.421792507172,0.745098054409,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0.349019616842,0.662745118141,0.992156922817,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":49,"s":[0.482352972031,0.780392229557,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76,"s":[0.423529446125,0.741176486015,0.980392217636,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":114,"s":[0.317647069693,0.68235296011,0.956862807274,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0.77254909277,0.917647123337,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":172,"s":[0.478431403637,0.819607913494,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":206,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"t":228,"s":[0.205613210797,0.384617567062,0.749019622803,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[153.875,-14.688],[194.5,-65.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":87,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[150.063,-13.313],[195.563,-63.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[146.063,-12],[196.5,-61.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[142,-10.688],[197.188,-60.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[137.75,-9.438],[197.75,-58.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[133.438,-8.188],[198.125,-56.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":97,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[129,-7],[198.313,-54.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":99,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[124.438,-5.875],[198.375,-52.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[119.75,-4.75],[198.188,-51.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[114.938,-3.688],[197.875,-49.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[110.063,-2.688],[197.375,-47.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[105.125,-1.75],[196.688,-45.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":109,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[100.063,-0.813],[195.875,-43.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":111,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[94.875,0.063],[194.875,-42.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":113,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[89.688,0.875],[193.688,-40.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":115,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[84.375,1.625],[192.313,-38.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":117,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[79,2.375],[190.75,-36.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[73.5,3.063],[189.063,-35.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":121,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[68,3.688],[187.25,-33.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":123,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[62.438,4.25],[185.188,-31.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":125,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[56.813,4.75],[183,-30.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":127,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[51.125,5.25],[180.625,-28.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":129,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[45.438,5.688],[178.125,-26.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":131,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[39.688,6],[175.5,-25.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":133,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[33.875,6.313],[172.688,-23.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[28.063,6.625],[169.688,-22.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[22.25,6.813],[166.563,-20.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[16.375,6.938],[163.313,-19.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":141,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[10.5,7.063],[159.875,-17.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[4.625,7.063],[156.313,-16.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-1.25,7.063],[152.625,-14.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-7.125,7],[148.813,-13.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-13,6.875],[144.875,-12.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":151,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-18.813,6.688],[140.813,-10.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-24.625,6.5],[136.563,-9.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-30.438,6.188],[132.25,-8.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":157,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-36.25,5.875],[127.813,-7.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":159,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-41.938,5.5],[123.313,-6]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":161,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-47.688,5.063],[118.625,-4.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-53.313,4.563],[113.875,-3.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":165,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-58.938,4],[109,-2.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-64.438,3.375],[104.063,-1.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":169,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-69.938,2.75],[99,-1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":171,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-75.375,2.063],[93.875,-0.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":173,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-80.75,1.313],[88.688,0.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":175,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-86,0.5],[83.375,1.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":177,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-91.188,-0.313],[78,2.125]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-96.313,-1.25],[72.563,2.813]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":85,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":119,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":175,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":229,"s":[0.321568638086,0.77254909277,1,1]},{"t":265,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":85,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":119,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":175,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":229,"s":[0.321568638086,0.77254909277,1,1]},{"t":265,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":85,"op":180,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[154.5,-15.438],[194.5,-66.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[150.75,-14.063],[195.625,-64.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[146.875,-12.75],[196.625,-62.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[142.875,-11.438],[197.375,-60.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[138.688,-10.188],[198,-59]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[134.438,-8.938],[198.5,-57.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[130.063,-7.75],[198.75,-55.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[125.563,-6.563],[198.875,-53.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[120.938,-5.5],[198.75,-51.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[116.25,-4.438],[198.5,-50]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[111.438,-3.375],[198.063,-48.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[106.563,-2.438],[197.5,-46.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[101.563,-1.5],[196.688,-44.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[96.438,-0.563],[195.75,-42.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[91.313,0.25],[194.625,-41.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[86.063,1.063],[193.375,-39.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[80.688,1.75],[191.875,-37.563]],"c":true}]},{"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[75.313,2.5],[190.25,-35.813]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":144,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":178,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":234,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":288,"s":[0.321568638086,0.77254909277,1,1]},{"t":324,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":144,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":178,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":234,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":288,"s":[0.321568638086,0.77254909277,1,1]},{"t":324,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":144,"op":180,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-99,-2.188],[-191.563,-46.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-103.938,-3.188],[-192.125,-48.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-108.813,-4.188],[-192.625,-49.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-113.5,-5.25],[-192.875,-51.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-118.125,-6.313],[-192.938,-53.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-122.688,-7.5],[-192.875,-55.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-127.063,-8.625],[-192.625,-57.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-131.375,-9.875],[-192.188,-58.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-135.5,-11.125],[-191.563,-60.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-139.563,-12.438],[-190.75,-62.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-143.5,-13.75],[-189.813,-64.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-147.25,-15.125],[-188.688,-66.063]],"c":true}]},{"t":23,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-149.125,-15.813],[-188.063,-66.938]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-156,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-122,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-66,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-12,"s":[0.321568638086,0.77254909277,1,1]},{"t":24,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-156,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-122,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-66,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-12,"s":[0.321568638086,0.77254909277,1,1]},{"t":24,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":24,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-99,-2.188],[68.75,3.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-103.938,-3.188],[63.25,3.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-108.813,-4.188],[57.688,4.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-113.5,-5.25],[52,4.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-118.125,-6.313],[46.375,5.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-122.688,-7.5],[40.625,5.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-127.063,-8.625],[34.875,5.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-131.375,-9.875],[29.125,6.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-135.5,-11.125],[23.313,6.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-139.563,-12.438],[17.5,6.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-143.5,-13.75],[11.688,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-147.25,-15.125],[5.813,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-150.938,-16.5],[0,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-154.438,-17.938],[-5.813,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-157.813,-19.438],[-11.688,6.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-161.063,-20.938],[-17.5,6.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-164.125,-22.438],[-23.25,6.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-167.063,-24],[-29.063,5.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-169.875,-25.625],[-34.813,5.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-172.5,-27.188],[-40.5,5.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-174.938,-28.813],[-46.188,4.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-177.25,-30.5],[-51.813,4.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-179.438,-32.188],[-57.375,3.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-181.375,-33.875],[-62.938,3.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-183.25,-35.563],[-68.375,2.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-184.875,-37.313],[-73.75,1.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-186.375,-39],[-79.125,1.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-187.688,-40.75],[-84.375,0.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188.813,-42.563],[-89.563,-0.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-189.813,-44.313],[-94.688,-1.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.625,-46.125],[-99.688,-2.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.25,-47.875],[-104.563,-3.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.688,-49.688],[-109.438,-4.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192,-51.5],[-114.125,-5.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192.125,-53.25],[-118.75,-6.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192.063,-55.063],[-123.25,-7.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.813,-56.875],[-127.688,-8.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.375,-58.688],[-131.938,-9.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.813,-60.438],[-136.125,-11.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.063,-62.25],[-140.125,-12.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-189.125,-64],[-144.063,-13.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188,-65.75],[-147.813,-15.25]],"c":true}]},{"t":83,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-187.375,-66.688],[-149.688,-15.938]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-96,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-62,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-6,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":48,"s":[0.321568638086,0.77254909277,1,1]},{"t":84,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-96,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-62,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-6,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":48,"s":[0.321568638086,0.77254909277,1,1]},{"t":84,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":84,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[68.75,3.188],[188.688,-34]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[63.25,3.813],[186.75,-32.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[57.688,4.313],[184.563,-30.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[52,4.813],[182.313,-28.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[46.375,5.25],[179.813,-27.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[40.625,5.625],[177.188,-25.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[34.875,5.938],[174.438,-24.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[29.125,6.188],[171.5,-22.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[23.313,6.375],[168.438,-21]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[17.5,6.563],[165.188,-19.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[11.688,6.688],[161.813,-18]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[5.813,6.688],[158.313,-16.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[0,6.688],[154.625,-15.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-5.813,6.688],[150.875,-13.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-11.688,6.563],[146.938,-12.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-17.5,6.375],[142.875,-11.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-23.25,6.188],[138.688,-9.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-29.063,5.938],[134.438,-8.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-34.813,5.563],[130,-7.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-40.5,5.188],[125.5,-6.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-46.188,4.813],[120.813,-5.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-51.813,4.313],[116.125,-4.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-57.375,3.75],[111.25,-3.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-62.938,3.188],[106.313,-2.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-68.375,2.563],[101.313,-1.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-73.75,1.875],[96.188,-0.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-79.125,1.125],[90.938,0.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-84.375,0.375],[85.688,1.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-89.563,-0.5],[80.313,2.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-94.688,-1.375],[74.875,2.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-99.688,-2.25],[69.375,3.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-104.563,-3.25],[63.875,4]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-109.438,-4.25],[58.25,4.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-114.125,-5.313],[52.625,5.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-118.75,-6.438],[46.875,5.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-123.25,-7.563],[41.188,5.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-127.688,-8.75],[35.375,6.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-131.938,-9.938],[29.563,6.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-136.125,-11.25],[23.75,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-140.125,-12.563],[17.938,6.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-144.063,-13.875],[12.063,6.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-147.813,-15.25],[6.188,7]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-151.438,-16.625],[0.313,7]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-155,-18.125],[-5.5,6.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-158.313,-19.563],[-11.375,6.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-161.563,-21.063],[-17.25,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-164.625,-22.625],[-23.063,6.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-167.563,-24.188],[-28.875,6.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-170.313,-25.75],[-34.625,5.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-172.938,-27.375],[-40.375,5.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-175.375,-29],[-46.063,5.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-177.688,-30.625],[-51.75,4.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-179.813,-32.313],[-57.313,4.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-181.75,-34],[-62.875,3.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-183.563,-35.75],[-68.375,2.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-185.25,-37.438],[-73.813,2.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-186.688,-39.188],[-79.188,1.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188,-40.938],[-84.5,0.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-189.125,-42.75],[-89.688,-0.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.063,-44.5],[-94.813,-1.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.875,-46.313],[-99.875,-2]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.5,-48.063],[-104.813,-2.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.938,-49.875],[-109.625,-3.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192.188,-51.688],[-114.438,-5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192.25,-53.5],[-119.063,-6.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-192.188,-55.25],[-123.563,-7.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.938,-57.063],[-128,-8.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-191.5,-58.875],[-132.313,-9.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.875,-60.688],[-136.5,-10.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.125,-62.438],[-140.563,-12.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-189.188,-64.25],[-144.5,-13.625]],"c":true}]},{"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188.063,-66],[-148.313,-15]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-37,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-3,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":53,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":107,"s":[0.321568638086,0.77254909277,1,1]},{"t":143,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-37,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-3,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":53,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":107,"s":[0.321568638086,0.77254909277,1,1]},{"t":143,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[154.625,-15.125],[194.875,-66.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[150.875,-13.75],[196.063,-64.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[146.938,-12.375],[197.063,-63]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[142.875,-11.063],[197.875,-61.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[138.688,-9.813],[198.563,-59.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[134.438,-8.563],[199,-57.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[130,-7.375],[199.313,-55.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[125.5,-6.25],[199.438,-53.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[120.813,-5.125],[199.438,-52.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[116.125,-4.063],[199.188,-50.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[111.25,-3.063],[198.813,-48.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[106.313,-2.063],[198.25,-46.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[101.313,-1.125],[197.5,-44.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[96.188,-0.25],[196.563,-43.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[90.938,0.563],[195.5,-41.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[85.688,1.375],[194.188,-39.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[80.313,2.125],[192.75,-37.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[74.875,2.813],[191.188,-36.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[69.375,3.438],[189.375,-34.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[63.875,4],[187.438,-32.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[58.25,4.563],[185.375,-30.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[52.625,5.063],[183.063,-29.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[46.875,5.5],[180.688,-27.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[41.188,5.875],[178.063,-26]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[35.375,6.188],[175.313,-24.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[29.563,6.438],[172.438,-22.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[23.75,6.688],[169.375,-21.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[17.938,6.813],[166.188,-19.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[12.063,6.938],[162.813,-18.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[6.188,7],[159.375,-16.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[0.313,7],[155.75,-15.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-5.5,6.938],[151.938,-14]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":88,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-11.375,6.813],[148.063,-12.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-17.25,6.688],[144.063,-11.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-23.063,6.5],[139.875,-10.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":94,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-28.875,6.188],[135.625,-8.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-34.625,5.875],[131.25,-7.563]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":98,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-40.375,5.5],[126.688,-6.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-46.063,5.063],[122.125,-5.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-51.75,4.625],[117.375,-4.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-57.313,4.063],[112.563,-3.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-62.875,3.5],[107.625,-2.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-68.375,2.875],[102.625,-1.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-73.813,2.188],[97.5,-0.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-79.188,1.438],[92.313,0.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-84.5,0.688],[87,1.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-89.688,-0.188],[81.688,2]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-94.813,-1.063],[76.25,2.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":120,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-99.875,-2],[70.75,3.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-104.813,-2.938],[65.25,4]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":124,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-109.625,-3.938],[59.625,4.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-114.438,-5],[54,5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-119.063,-6.125],[48.313,5.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-123.563,-7.25],[42.563,5.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-128,-8.438],[36.813,6.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-132.313,-9.688],[31,6.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-136.5,-10.938],[25.125,6.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-140.563,-12.25],[19.313,6.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-144.5,-13.625],[13.438,7]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-148.313,-15],[7.563,7.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-152,-16.375],[1.688,7.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-155.5,-17.813],[-4.188,7.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":148,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-158.875,-19.313],[-10.063,6.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-162.125,-20.813],[-15.875,6.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-165.25,-22.375],[-21.75,6.625]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-168.188,-23.938],[-27.563,6.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-170.938,-25.5],[-33.313,6.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-173.563,-27.125],[-39.125,5.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-176.063,-28.75],[-44.813,5.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":162,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-178.375,-30.438],[-50.5,4.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-180.563,-32.125],[-56.125,4.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-182.5,-33.813],[-61.688,3.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-184.375,-35.563],[-67.188,3.063]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-186,-37.25],[-72.688,2.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-187.5,-39],[-78.063,1.688]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":174,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188.813,-40.813],[-83.375,0.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":176,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-189.938,-42.563],[-88.625,0.125]],"c":true}]},{"t":178,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-190.938,-44.375],[-93.75,-0.75]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":58,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":114,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":168,"s":[0.321568638086,0.77254909277,1,1]},{"t":204,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[0.29411765933,0.596078455448,0.858823597431,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":58,"s":[0.196078449488,0.670588254929,0.996078491211,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":114,"s":[0.47058826685,0.850980460644,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":168,"s":[0.321568638086,0.77254909277,1,1]},{"t":204,"s":[0.29411765933,0.596078455448,0.858823597431,1]}]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":24,"op":180,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[259,130.5,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[147.548,45.504,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":3,"parent":42,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-71.4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[82.8]},{"t":360,"s":[211.4]}]},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[259,202.5,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[199.429,61.504,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":45,"ty":3,"parent":44,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-97]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[57.2]},{"t":360,"s":[211.4]}]},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_egg.tgs b/TMessagesProj/src/main/res/raw/wallet_egg.tgs deleted file mode 100644 index 979b9c76b..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_egg.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"_2_chik_noloop","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"egg_b_tr 6","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-18.479,-43.267,0]},"a":{"a":0,"k":[-18.479,-43.267,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-36.71,-90.037],[-12.471,-111.182],[-17.842,-139.982],[-7.757,-147.278]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.23,46.77]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":79,"s":[0]},{"t":81,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":54,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":79,"s":[100]},{"t":81,"s":[28]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":81,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"egg_b_tr 5","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":-0.355},"p":{"a":0,"k":[126.637,270.38,0]},"a":{"a":0,"k":[-18.479,-43.267,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[8.08,-7.048],[0,0],[0,0],[0,0]],"v":[[-42.089,-89.053],[-15.239,-111.549],[-17.842,-139.982],[-7.757,-147.278]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.23,46.77]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":79,"s":[0]},{"t":81,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":54,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":79,"s":[100]},{"t":81,"s":[28]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":81,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"grandnull","sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":0,"k":[254.153,386.731,0]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":212,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"NULL CONTROL","parent":3,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.535],"y":[1]},"o":{"x":[0.536],"y":[0]},"t":11.211,"s":[-9.809]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.473],"y":[0]},"t":19.061,"s":[12.154]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":26.666,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":33.334,"s":[0]},{"i":{"x":[0.535],"y":[1]},"o":{"x":[0.536],"y":[0]},"t":44.547,"s":[-9.809]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.473],"y":[0]},"t":52.395,"s":[12.154]},{"t":60,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[57.77,176.006,0],"to":[0,0,0],"ti":[0,0,0]},{"t":60,"s":[57.77,176.006,0]}]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":212,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"egg_t_6","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,160.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[-181.485,100.295],[-160.692,120.39],[-148.352,105.01],[-136.002,131.24],[-121.102,149.24],[-102.062,124.76],[-94.702,131.24],[-69.362,110.16],[-52.692,106.56],[-43.142,124.76],[-43.142,144.61],[-25.432,133.81],[-13.092,145.13],[-8.972,159.53],[24.967,117.82],[45.487,129.91],[61.478,92.14],[95.938,103.98],[105.198,128.67],[126.277,145.64],[138.038,114.78],[148.908,122.59],[154.568,141.53],[181.509,97.928]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":14,"s":[50]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[29]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":47,"s":[29]},{"t":52,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":14,"s":[50]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[66]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":47,"s":[66]},{"t":52,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":70,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"egg_t_80","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-43.892,132.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[17.278,131.827]],"c":false}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":83,"op":84,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"egg_t_90","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[100.452,120.267],[105.448,132.92],[126.527,149.89],[135.788,123.53],[149.157,126.84],[154.818,145.78],[166.399,127.038]],"c":false}]},{"t":160,"s":[{"i":[[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"egg_t_89","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-3.577,9.555]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-44.168,-3.001]],"v":[[-48.947,117.471],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.218,122.07],[45.737,134.16],[50.244,117.222]],"c":false}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"egg_t_79","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-142.462,121.239],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-72.782,117.29]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"egg_t_78","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-98.274,132.126],[-94.453,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.723,163.78],[25.217,122.07],[45.737,134.16],[61.729,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[-0.004,-0.401],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-180.235,105.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.113,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.729,101.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[177.243,109.487]],"c":false}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-98.274,132.126],[-94.453,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.723,163.78],[25.217,122.07],[45.737,134.16],[61.729,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":81,"op":82,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"egg_t_77","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[10.622,-118.401],[0,-9.147],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.582,7.682]],"o":[[-0.818,9.115],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.699],[-9.094,-119.994]],"v":[[-180.021,74.765],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[180.879,79.092]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[123.336,-12.013],[0,-8.21],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.47,6.899]],"o":[[-0.661,8.188],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-6.911],[-154.472,-18.4]],"v":[[-180.26,77.567],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[181.049,81.453]],"c":false}]},{"t":160,"s":[{"i":[[10.622,-118.401],[0,-9.147],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.582,7.682]],"o":[[-0.818,9.115],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.699],[-9.094,-119.994]],"v":[[-180.021,74.765],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[180.879,79.092]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":80,"op":81,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"egg_t_76","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[23.972,-99.244],[0,-25.141],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.146,22.785]],"o":[[-5.861,24.266],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-23.492],[-22.887,-101.326]],"v":[[-172.219,27.574],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[173.836,32.357]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[99.994,-12.501],[0,-22.593],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[4.187,20.601]],"o":[[-4.774,21.967],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-21.105],[-102.755,-13.847]],"v":[[-173.918,34.979],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[175.331,39.325]],"c":false}]},{"t":160,"s":[{"i":[[23.972,-99.244],[0,-25.141],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.146,22.785]],"o":[[-5.861,24.266],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-23.492],[-22.887,-101.326]],"v":[[-172.219,27.574],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[173.836,32.357]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":79,"op":80,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"egg_t_75","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[33.354,-63.059],[0,-52.607],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[22.474,43.499]],"o":[[-23.284,44.02],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-51.586],[-33.276,-64.407]],"v":[[-144.055,-47.311],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[145.899,-44.74]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[87.812,-6.089],[0,-47.771],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[18.835,40.807]],"o":[[-19.545,41.38],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-46.813],[-98.323,-11.581]],"v":[[-150.236,-34.953],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[151.9,-32.461]],"c":false}]},{"t":160,"s":[{"i":[[33.354,-63.059],[0,-52.607],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[22.474,43.499]],"o":[[-23.284,44.02],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-51.586],[-33.276,-64.407]],"v":[[-144.055,-47.311],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[145.899,-44.74]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":78,"op":79,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"egg_t_74","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[17.832,-9.166],[0,-102.587],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[71.209,37.788]],"o":[[-72.075,37.047],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-101.78],[-18.32,-9.722]],"v":[[-56.248,-141.021],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[58.442,-140.136]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[29.168,0.107],[0,-98.586],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[66.814,41.184]],"o":[[-67.78,40.49],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-97.682],[-34.371,-1.52]],"v":[[-64.591,-136.387],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[66.948,-135.26]],"c":false}]},{"t":160,"s":[{"i":[[17.832,-9.166],[0,-102.587],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[71.209,37.788]],"o":[[-72.075,37.047],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-101.78],[-18.32,-9.722]],"v":[[-56.248,-141.021],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[58.442,-140.136]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":77,"op":78,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"egg_t_4","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":77,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"egg_bl3","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[107.034,99.923,0]},"a":{"a":0,"k":[18.048,23.191,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.749,-2.071],[2.071,-1.749],[1.749,2.072],[-2.072,1.75]],"o":[[1.749,2.071],[-2.071,1.75],[-1.75,-2.071],[2.071,-1.749]],"v":[[3.751,-3.168],[3.168,3.75],[-3.75,3.167],[-3.167,-3.751]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[30.347,40.632]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-4.948,-5.859],[5.859,-4.948],[4.948,5.859],[-5.859,4.948]],"o":[[4.948,5.859],[-5.859,4.948],[-4.948,-5.859],[5.859,-4.948]],"v":[[10.609,-8.96],[8.96,10.609],[-10.609,8.959],[-8.96,-10.609]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[15.806,15.807]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":0,"op":77,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Shape Layer 4","parent":51,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":51,"s":[0]},{"t":55,"s":[100]}]},"r":{"a":0,"k":-10.372},"p":{"a":0,"k":[141.347,220.221,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.302,36.792],[-21.186,47.659],[-17.164,58.925],[16.01,39.441]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false}],"ip":78,"op":79,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Shape Layer 3","parent":51,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":51,"s":[0]},{"t":55,"s":[100]}]},"r":{"a":0,"k":-10.372},"p":{"a":0,"k":[131.116,281.997,0]},"a":{"a":0,"k":[-21.186,58.925,0]},"s":{"a":0,"k":[81.255,81.255,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[16.152,-6.03],[4.498,-1.206],[4.281,31.268],[-21.186,47.659],[-17.164,58.925],[16.01,39.441],[14.28,10.927],[24.404,2.971]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false}],"ip":0,"op":78,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"egg_bl18","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[130.808,146.134,0]},"a":{"a":0,"k":[103.948,123.542,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.63,60.68],[45.422,-2.369],[-30.653,-8.906]],"o":[[-61.54,-2.602],[7.242,32.059],[47.011,13.658]],"v":[[85.068,39.956],[-88.894,45.224],[-28.236,109.633]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.948999980852,0.929000016755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[103.948,123.542]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":77,"op":78,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"egg_bl2","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[130.808,146.134,0]},"a":{"a":0,"k":[103.948,123.542,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[17.63,-60.68],[47.011,13.658],[-17.629,60.679],[-47.01,-13.659]],"o":[[-17.63,60.68],[-47.01,-13.659],[17.63,-60.68],[47.011,13.658]],"v":[[86.068,37.456],[-28.236,109.633],[-86.069,-12.556],[35.469,-109.633]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.948999980852,0.929000016755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[103.948,123.542]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":77,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"egg_bl1","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[241.403,207.828,0]},"a":{"a":0,"k":[21.324,22.678,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[8.288,-10.035],[6.939,5.73],[-8.287,10.036],[-6.939,-5.73]],"o":[[-8.288,10.035],[-6.939,-5.73],[8.288,-10.035],[6.939,5.73]],"v":[[12.621,11.117],[-13.356,16.698],[-12.787,-9.866],[14.135,-16.698]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.948999980852,0.929000016755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[21.324,22.678]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":78,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"egg_t_72","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[35.745,5.225],[1.79,-3.99],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-1.537,4.217],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.236,121.962],[-5.23,134.274],[10.71,147.106],[19.97,125.746],[34.34,127.056],[39,142.996],[47.526,129.197]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"egg_t_71","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[27.501,1],[4.329,-9.65],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-2.801,10.955],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.508,103.349],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[58.989,110.646]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":81,"op":82,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"egg_t_70","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[16.773,0.973],[7.889,-17.588],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.297,5.472]],"o":[[-2.582,21.831],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.477],[-16.484,-2.447]],"v":[[10.736,75.046],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[65.94,99.396],[65.94,99.395],[65.493,82.966]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":80,"op":81,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"egg_t_69","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[19.893,3.005],[0,-4.182],[11.258,-25.099],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.558,19.016]],"o":[[0.195,4.18],[0,33.566],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-19.401],[-16.48,-5.097]],"v":[[12.116,33.439],[12.41,45.985],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[65.94,99.396],[65.94,99.395],[60.488,41.541]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":79,"op":80,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"egg_t_68","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,-27.386],[11.258,-25.099],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,33.566],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-44.843],[0,0]],"v":[[0.487,-34.792],[12.41,45.985],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[65.94,99.396],[65.94,99.395],[38.415,-30.065]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":78,"op":79,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"egg_t_67","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-4.261,-4.788],[0,-67.44],[11.258,-25.099],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[63.059,43.619]],"o":[[39.36,44.23],[0,33.566],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-94.149],[-7.81,-5.402]],"v":[[-52.695,-133.605],[12.41,45.985],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[65.94,99.396],[65.94,99.395],[-41.709,-133.361]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":77,"op":78,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"egg_t_3","parent":51,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[297.327,158.314,0]},"a":{"a":0,"k":[65.94,147.105,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[75.56,33.82],[0,-74.74],[11.258,-25.099],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[46.73,43.02],[0,33.566],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-105.81]],"v":[[-65.94,-147.105],[12.41,45.985],[-5.23,134.274],[10.71,147.106],[22.47,116.246],[33.34,124.056],[39,142.996],[65.94,99.396],[65.94,99.395]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.94,147.106]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":77,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"egg_t_88","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,4.149],[0,0],[0,0],[0,0],[0,0]],"v":[[13.989,122.368],[-42.143,123.219],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":83,"op":84,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"egg_t_87","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.902,3.081],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[55.427,1.098]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-45.958,-0.91]],"v":[[-140.757,112.198],[-136.003,122.295],[-121.103,140.295],[-102.062,115.815],[-94.703,122.295],[-76.863,107.715],[-48.192,107.116],[-43.143,115.815],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585],[24.967,108.875],[45.487,120.965],[49.478,109.196],[105.438,113.035],[105.197,119.725],[126.277,136.695],[136.037,114.835],[148.907,116.145],[154.567,132.585],[162.976,118.214],[-2.957,106.947]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"egg_t_86","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-0.042,-1.365],[-0.246,-3.49],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.227,5.271],[80.529,0.763]],"o":[[0.109,3.578],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.532,-5.068],[0.078,-1.821],[-86.592,-0.821]],"v":[[-167.343,94.936],[-166.807,105.537],[-160.693,111.445],[-148.353,96.066],[-136.003,122.295],[-121.103,140.295],[-102.062,115.815],[-94.703,122.295],[-69.363,101.215],[-52.692,97.616],[-43.143,115.815],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585],[24.967,108.875],[45.487,120.965],[60.978,87.696],[95.938,95.035],[105.198,119.725],[126.277,136.695],[138.037,105.835],[148.907,113.645],[154.568,132.585],[166.079,113.954],[167.221,98.445],[10.072,86.869]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":81,"op":82,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"egg_t_85","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,-6.934],[-0.428,-6.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,9.295],[0,0],[81.51,1.64]],"o":[[0,0],[0,6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.913,-8.701],[0,-5.458],[0,0],[-62.483,-1.257]],"v":[[-166.691,66.163],[-167.465,86.955],[-166.807,105.537],[-160.693,111.446],[-148.353,96.066],[-136.003,122.295],[-121.103,140.295],[-102.062,115.815],[-94.703,122.295],[-69.363,101.215],[-52.693,97.616],[-43.143,115.815],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585],[24.967,108.875],[45.487,120.965],[61.478,83.196],[95.937,95.036],[105.197,119.725],[126.277,136.695],[138.037,105.835],[148.907,113.645],[154.567,132.585],[166.079,113.954],[167.465,86.955],[166.984,70.585],[-2.441,58.366]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":80,"op":81,"st":0,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"egg_t_84","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,-21.293],[-0.428,-6.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,9.295],[0,0],[80.019,0.044]],"o":[[0,0],[0,6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.913,-8.701],[0,-19.645],[0,0],[-67.007,-0.037]],"v":[[-160.405,23.649],[-167.465,86.955],[-166.807,105.537],[-160.693,111.445],[-148.353,96.066],[-136.003,122.295],[-121.103,140.295],[-102.062,115.815],[-94.703,122.295],[-69.363,101.215],[-52.693,97.615],[-43.143,115.815],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585],[24.967,108.875],[45.487,120.965],[61.478,83.196],[95.937,95.036],[105.197,119.725],[126.277,136.695],[138.037,105.835],[148.907,113.645],[154.567,132.585],[166.079,113.954],[167.465,86.955],[161.432,28.46],[2.583,16.571]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":79,"op":80,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"egg_t_83","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[47.93,-2.289],[0,-46.846],[-0.428,-6.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,9.295],[18.576,38.6]],"o":[[-20.148,39.739],[0,6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.913,-8.701],[0,-44.798],[-68.372,-15.543]],"v":[[-135.353,-46.697],[-167.465,86.955],[-166.807,105.537],[-160.693,111.445],[-148.353,96.066],[-136.003,122.295],[-121.103,140.295],[-102.062,115.815],[-94.703,122.295],[-69.363,101.215],[-52.693,97.616],[-43.143,115.815],[-43.143,135.665],[-25.433,124.865],[-13.093,136.185],[-8.973,150.585],[24.967,108.875],[45.487,120.965],[61.478,83.196],[95.937,95.035],[105.197,119.725],[126.277,136.695],[138.037,105.835],[148.907,113.645],[154.567,132.585],[166.079,113.954],[167.465,86.955],[137.948,-41.444]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":78,"op":79,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"egg_t_82","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[14.517,-0.497],[0,-103.316],[-0.428,-6.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,9.295],[74.533,26.022]],"o":[[-75.832,24.472],[0,6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.913,-8.701],[0,-102.108],[-15.515,-1.388]],"v":[[-33.44,-145.227],[-167.465,86.955],[-166.807,105.537],[-160.693,111.446],[-148.353,96.065],[-136.003,122.296],[-121.103,140.296],[-102.062,115.816],[-94.703,122.296],[-69.363,101.215],[-52.693,97.616],[-43.143,115.816],[-43.143,135.665],[-25.433,124.866],[-13.093,136.186],[-8.973,150.585],[24.967,108.876],[45.487,120.965],[61.478,83.196],[95.937,95.035],[105.197,119.725],[126.277,136.696],[138.037,105.835],[148.907,113.645],[154.567,132.585],[166.079,113.954],[167.465,86.955],[36.092,-144.336]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":77,"op":78,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":4,"nm":"egg_t_2","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,168.724,0]},"a":{"a":0,"k":[167.715,150.835,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[91.47,0],[0,-118.066],[-0.428,-6.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,9.295]],"o":[[-91.469,0],[0,6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.913,-8.701],[0,-118.066]],"v":[[-0.001,-150.585],[-167.465,86.956],[-166.807,105.537],[-160.693,111.446],[-148.353,96.066],[-136.003,122.295],[-121.103,140.295],[-102.062,115.816],[-94.703,122.295],[-69.363,101.215],[-52.693,97.616],[-43.143,115.816],[-43.143,135.665],[-25.433,124.865],[-13.093,136.186],[-8.973,150.585],[24.967,108.876],[45.487,120.965],[61.478,83.196],[95.937,95.036],[105.197,119.725],[126.277,136.696],[138.037,105.835],[148.907,113.645],[154.567,132.585],[166.079,113.954],[167.465,86.956]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,150.835]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":77,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":4,"nm":"egg_b_tr4","parent":40,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[9.999,39.154,0]},"a":{"a":0,"k":[42.686,10,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.64,-16.328],[-2.068,-9.128],[-16.343,12.486]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[26.343,22.486]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":0,"k":0},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50.666,"s":[0]},{"t":54,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":185,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":4,"nm":"egg_b_tr3","parent":40,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[9.999,39.154,0]},"a":{"a":0,"k":[42.686,10,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[16.343,-12.486],[-1.365,-5.285],[-16.343,12.486]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[26.343,22.486]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":0,"k":0},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50.666,"s":[0]},{"t":54,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":185,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":4,"nm":"egg_b_tr 4","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[172.538,318.809,0]},"a":{"a":0,"k":[26.211,6.5,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[13.698,-49.098],[-4.388,-8.319],[-0.757,16.556],[4.372,24.411]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.23,46.77]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":0,"k":0},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"t":54,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":187,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":4,"nm":"egg_b_tr 3","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[172.538,318.809,0]},"a":{"a":0,"k":[26.211,6.5,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.418,-47.145],[-8.231,-7.616],[-0.758,16.556],[5.141,24.27]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.23,46.77]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":0,"k":0},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"t":54,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":0,"op":187,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":4,"nm":"Shape Layer 2","parent":59,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":51,"s":[0]},{"t":55,"s":[100]}]},"r":{"a":0,"k":-6.732},"p":{"a":0,"k":[184.257,315.806,0]},"a":{"a":0,"k":[22,104.25,0]},"s":{"a":0,"k":[70.899,70.899,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.25,104.25],[-11.75,144.5],[-31.5,149],[-52,163.25],[-51.843,172.029],[-44.5,174.25],[-26.5,158.75],[-17.75,155.75],[-15.75,174.25],[-9,184.75],[-1.5,188.75],[0,176.75],[-3.952,165.128],[-3.953,148.378],[22,107.75]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":4,"nm":"egg_t_100","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[17.278,131.827],[-43.892,132.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78]],"c":true}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":83,"op":84,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":4,"nm":"egg_t_99","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[100.452,120.267],[105.448,132.92],[126.527,149.89],[135.788,123.53],[149.157,126.84],[154.818,145.78],[166.399,127.038]],"c":true}]},{"t":160,"s":[{"i":[[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":4,"nm":"egg_t_98","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[-3.577,9.555],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-44.168,-3.001],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[50.244,117.222],[-48.947,117.471],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.218,122.07],[45.737,134.16]],"c":true}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":45,"ty":4,"nm":"egg_t_97","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":82,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-72.782,117.29],[-142.462,121.239],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":82,"op":83,"st":0,"bm":0},{"ddd":0,"ind":46,"ty":4,"nm":"egg_t_96","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-98.274,132.126],[-94.453,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.723,163.78],[25.217,122.07],[45.737,134.16],[61.729,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":81,"s":[{"i":[[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[87.822,1.068],[-0.004,-0.401],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-90.868,-1.106],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[61.729,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[177.243,109.487],[5.072,95.275],[-180.235,105.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.113,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16]],"c":true}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.25,-155.28],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-98.274,132.126],[-94.453,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.723,163.78],[25.217,122.07],[45.737,134.16],[61.729,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":81,"op":82,"st":0,"bm":0},{"ddd":0,"ind":47,"ty":4,"nm":"egg_t_95","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[10.622,-118.401],[0,-9.147],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.582,7.682]],"o":[[-0.818,9.115],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.699],[-9.094,-119.994]],"v":[[-180.021,74.765],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[180.879,79.092]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[123.336,-12.013],[0,-8.21],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.47,6.899]],"o":[[-0.661,8.188],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-6.911],[-154.472,-18.4]],"v":[[-180.26,77.567],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[181.049,81.453]],"c":true}]},{"t":160,"s":[{"i":[[10.622,-118.401],[0,-9.147],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.582,7.682]],"o":[[-0.818,9.115],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.699],[-9.094,-119.994]],"v":[[-180.021,74.765],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[180.879,79.092]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":80,"op":81,"st":0,"bm":0},{"ddd":0,"ind":48,"ty":4,"nm":"egg_t_94","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[23.972,-99.244],[0,-25.141],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.146,22.785]],"o":[[-5.861,24.266],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-23.492],[-22.887,-101.326]],"v":[[-172.219,27.574],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[173.836,32.357]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":79,"s":[{"i":[[99.994,-12.501],[0,-22.593],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[4.187,20.601]],"o":[[-4.774,21.967],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-21.105],[-102.755,-13.847]],"v":[[-173.918,34.979],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[175.331,39.325]],"c":true}]},{"t":160,"s":[{"i":[[23.972,-99.244],[0,-25.141],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.146,22.785]],"o":[[-5.861,24.266],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-23.492],[-22.887,-101.326]],"v":[[-172.219,27.574],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[173.836,32.357]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":79,"op":80,"st":0,"bm":0},{"ddd":0,"ind":49,"ty":4,"nm":"egg_t_93","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[33.354,-63.059],[0,-52.607],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[22.474,43.499]],"o":[[-23.284,44.02],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-51.586],[-33.276,-64.407]],"v":[[-144.055,-47.311],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[145.899,-44.74]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":78,"s":[{"i":[[87.812,-6.089],[0,-47.771],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[18.835,40.807]],"o":[[-19.545,41.38],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-46.813],[-98.323,-11.581]],"v":[[-150.236,-34.953],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[151.9,-32.461]],"c":true}]},{"t":160,"s":[{"i":[[33.354,-63.059],[0,-52.607],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[22.474,43.499]],"o":[[-23.284,44.02],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.001,-51.586],[-33.276,-64.407]],"v":[[-144.055,-47.311],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[145.899,-44.74]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":78,"op":79,"st":0,"bm":0},{"ddd":0,"ind":50,"ty":4,"nm":"egg_t_92","parent":51,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.759,159.78,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"t":70,"s":[{"i":[[17.832,-9.166],[0,-102.587],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[71.209,37.788]],"o":[[-72.075,37.047],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-101.78],[-18.32,-9.722]],"v":[[-56.248,-141.021],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[58.442,-140.136]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":77,"s":[{"i":[[29.168,0.107],[0,-98.586],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[66.814,41.184]],"o":[[-67.78,40.49],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-97.682],[-34.371,-1.52]],"v":[[-64.591,-136.387],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[66.948,-135.26]],"c":true}]},{"t":160,"s":[{"i":[[17.832,-9.166],[0,-102.587],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[71.209,37.788]],"o":[[-72.075,37.047],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-101.78],[-18.32,-9.722]],"v":[[-56.248,-141.021],[-181.259,102.181],[-181.235,104.545],[-160.442,124.64],[-148.102,109.26],[-135.752,135.49],[-120.852,153.49],[-101.812,129.01],[-94.452,135.49],[-69.112,114.41],[-52.442,110.81],[-42.892,129.01],[-42.892,148.86],[-25.182,138.06],[-12.842,149.38],[-8.722,163.78],[25.217,122.07],[45.737,134.16],[61.728,96.39],[96.188,108.23],[105.448,132.92],[126.527,149.89],[138.288,119.03],[149.158,126.84],[154.818,145.78],[181.759,102.178],[58.442,-140.136]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false}],"ip":77,"op":78,"st":0,"bm":0},{"ddd":0,"ind":51,"ty":4,"nm":"egg_t_1","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.301,"y":0},"t":75,"s":[60,-405.409,0],"to":[0,-59,0],"ti":[0,59,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":89,"s":[60,-759.409,0],"to":[0,0,0],"ti":[0,0,0]},{"t":150,"s":[60,-759.409,0]}]},"a":{"a":0,"k":[181.759,0.25,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[1,1,0.333],"y":[0,0,0]},"t":75,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":82,"s":[100,100,100]},{"t":150,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":75,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[0,-159.53],[-181.509,97.931],[-181.485,100.295],[-160.692,120.39],[-148.352,105.01],[-136.002,131.24],[-121.102,149.24],[-102.062,124.76],[-94.702,131.24],[-69.362,110.16],[-52.692,106.56],[-43.142,124.76],[-43.142,144.61],[-25.432,133.81],[-13.092,145.13],[-8.972,159.53],[24.967,117.82],[45.487,129.91],[61.478,92.14],[95.938,103.98],[105.198,128.67],[126.277,145.64],[138.038,114.78],[148.908,122.59],[154.568,141.53],[181.509,97.928]],"c":true}]},{"t":160,"s":[{"i":[[99.14,0],[0,-127.967],[-0.007,-0.789],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-99.14,0],[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[0,-159.53],[-181.509,97.931],[-181.485,100.295],[-160.692,120.39],[-148.352,105.01],[-136.002,131.24],[-121.102,149.24],[-102.062,124.76],[-94.702,131.24],[-69.362,110.16],[-52.692,106.56],[-43.142,124.76],[-43.142,144.61],[-25.432,133.81],[-13.092,145.13],[-8.972,159.53],[24.967,117.82],[45.487,129.91],[61.478,92.14],[95.938,103.98],[105.198,128.67],[126.277,145.64],[138.038,114.78],[148.908,122.59],[154.568,141.53],[181.509,97.928]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235353956,0.960784373564,0.901960844152,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.759,159.78]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":77,"st":0,"bm":0},{"ddd":0,"ind":52,"ty":4,"nm":"egg_t_7","parent":53,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[201.51,181.53,0]},"a":{"a":0,"k":[201.509,179.53,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":82,"s":[{"i":[[0,-127.967],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[-181.259,94.681],[-160.442,117.14],[-148.102,101.76],[-135.752,127.99],[-120.852,145.99],[-101.812,121.51],[-94.452,127.99],[-69.112,106.91],[-52.442,103.31],[-42.892,121.51],[-42.892,141.36],[-25.182,130.56],[-12.842,141.88],[-8.722,156.28],[25.217,114.57],[45.737,126.66],[61.728,88.89],[96.188,100.73],[105.448,125.42],[126.527,142.39],[138.288,111.53],[149.158,119.34],[154.818,138.28],[181.759,94.678]],"c":false}]},{"t":85,"s":[{"i":[[0,-127.967],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.371,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0.793],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.002,-127.966]],"v":[[-181.259,94.681],[-160.442,117.14],[-148.102,101.76],[-135.752,127.99],[-120.852,145.99],[-101.812,121.51],[-94.452,127.99],[-69.112,106.91],[-52.442,103.31],[-42.892,121.51],[-42.892,141.36],[-25.182,130.56],[-12.842,141.88],[-8.722,156.28],[25.217,114.57],[45.737,126.66],[61.728,88.89],[96.188,100.73],[105.448,125.42],[126.527,142.39],[138.288,111.53],[149.158,119.34],[154.818,138.28],[181.759,94.678]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.509,179.53]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":75,"op":184,"st":0,"bm":0},{"ddd":0,"ind":53,"ty":4,"nm":"egg_full_9","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,229.454,0]},"a":{"a":0,"k":[201.51,251.204,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-127.967],[99.141,0],[0,127.967]],"o":[[0,127.967],[-99.14,0],[0,-127.967]],"v":[[181.51,26.257],[0,233.204],[-181.51,26.257]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.51,251.204]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":-20,"op":184,"st":0,"bm":0},{"ddd":0,"ind":54,"ty":4,"nm":"egg_b_6","parent":59,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":14,"s":[0]},{"t":20,"s":[100],"h":1},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[0]},{"t":55,"s":[100]}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.768,298.559,0]},"a":{"a":0,"k":[181.75,43.89,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.58,-7.25],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.04,5.16],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.37,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,7.62],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.73,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.3,-4.99],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[181.5,-37.85],[180.63,-15.54],[158.77,18.91],[148.39,15.35],[141.79,-4.84],[129.71,26.02],[99.52,4.72],[90.01,-19.97],[67.13,-29.91],[50.93,9.95],[27.64,-3.8],[-12.96,43.64],[-19.95,19.84],[-28.57,12.01],[-52.18,24.2],[-52.18,-6.45],[-59.14,-17.06],[-70.26,-12.46],[-94.29,7.62],[-100.85,2.14],[-120.41,26.62],[-141.72,3.62],[-150.4,-14.61],[-159.87,-2.11],[-180.98,-20.26],[-181.5,-35.49],[-160.7,-15.39],[-148.36,-30.77],[-136.01,-4.54],[-121.11,13.46],[-102.07,-11.02],[-94.71,-4.54],[-69.37,-25.62],[-52.7,-29.22],[-43.15,-11.02],[-43.15,8.83],[-25.44,-1.97],[-13.1,9.35],[-8.98,23.75],[24.96,-17.96],[45.48,-5.87],[61.47,-43.64],[95.93,-31.8],[105.19,-7.11],[126.27,9.86],[138.03,-21],[148.9,-13.19],[154.56,5.75]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.961000031116,0.902000038297,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.75,43.89]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":47,"op":184,"st":0,"bm":0},{"ddd":0,"ind":55,"ty":4,"nm":"egg_b_4","parent":59,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":14,"s":[0]},{"t":20,"s":[100],"h":1}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.768,298.559,0]},"a":{"a":0,"k":[181.75,43.89,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.37,16.96]],"o":[[-13.73,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[67.13,-29.91],[50.93,9.95],[27.64,-3.8],[-12.96,43.64],[-19.95,19.84],[-28.57,12.01],[-52.18,24.2],[-52.18,-6.45],[-59.14,-17.06],[-70.26,-12.46],[-69.37,-25.62],[-52.7,-29.22],[-43.15,-11.02],[-43.15,8.83],[-25.44,-1.97],[-13.1,9.35],[-8.98,23.75],[24.96,-17.96],[45.48,-5.87],[61.47,-43.64]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.961000031116,0.902000038297,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.75,43.89]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":-16,"op":184,"st":0,"bm":0},{"ddd":0,"ind":56,"ty":4,"nm":"egg_full_4","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,231.454,0]},"a":{"a":0,"k":[201.51,251.204,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-127.967],[99.141,0],[0,127.967],[-99.14,0]],"o":[[0,127.967],[-99.14,0],[0,-127.967],[99.141,0]],"v":[[181.51,26.257],[0,231.204],[-181.51,26.257],[0,-229.204]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[201.51,251.204]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":70,"st":0,"bm":0},{"ddd":0,"ind":57,"ty":4,"nm":"egg_full_3","parent":59,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[182.672,236.934,0]},"a":{"a":0,"k":[180.595,225.725,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-105.81],[99.14,0],[12.65,108.53],[-63.35,0],[0,114],[46.73,43.02]],"o":[[0,127.97],[-90.5,0],[26.54,61.77],[88.53,0],[0,-74.74],[75.56,33.82]],"v":[[180.595,20.775],[-0.915,225.725],[-180.595,53.045],[-35.015,147.945],[127.065,-32.635],[48.715,-225.725]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[180.595,225.725]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":70,"st":0,"bm":0},{"ddd":0,"ind":58,"ty":4,"nm":"egg_full_2","parent":59,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.76,230.454,0]},"a":{"a":0,"k":[167.715,213.566,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-118.066],[91.47,0],[0,118.066],[-91.469,0]],"o":[[0,118.066],[-91.469,0],[0,-118.066],[91.47,0]],"v":[[167.465,24.225],[-0.001,213.316],[-170.465,24.225],[-0.001,-213.316]],"c":true}},"nm":"Path 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[167.715,213.566]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":70,"st":0,"bm":0},{"ddd":0,"ind":59,"ty":4,"nm":"egg_full__0","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[60,60,0]},"a":{"a":0,"k":[181.76,462.659,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-127.967],[99.141,0],[0,127.967],[-99.14,0]],"o":[[0,127.967],[-99.14,0],[0,-127.967],[99.141,0]],"v":[[181.51,26.257],[0,231.204],[-181.51,26.257],[0,-229.204]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.961000031116,0.902000038297,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.76,231.454]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":0,"op":70,"st":0,"bm":0},{"ddd":0,"ind":60,"ty":4,"nm":"egg_b_3","parent":62,"sr":1,"ks":{"o":{"a":0,"k":32},"r":{"a":0,"k":0},"p":{"a":0,"k":[182.85,108.515,0]},"a":{"a":0,"k":[180.4,102.475,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[99.14,0],[11.489,98.62],[-63.35,0],[-26.98,60.1],[0,0],[0,0],[0,0],[0,0]],"o":[[0,127.97],[-98.843,0],[26.54,61.77],[62.44,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[180.4,-102.475],[-1.11,102.475],[-180.4,-69.985],[-34.82,26.915],[109.59,-67.305],[125.17,-54.765],[136.93,-85.625],[147.8,-77.815],[153.46,-58.875]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717999985639,0.705999995213,0.620000023935,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[180.4,102.475]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":188,"st":0,"bm":0},{"ddd":0,"ind":61,"ty":4,"nm":"egg_b_2","parent":62,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[181.75,108.515,0]},"a":{"a":0,"k":[181.75,102.725,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[99.14,0],[1,126.56],[0,0],[-86.32,0],[-12.45,107.48]],"o":[[0,127.97],[-98.53,0],[0,0],[10.18,111.57],[84.56,0],[0,0]],"v":[[181.5,-102.475],[-0.01,102.475],[-181.5,-100.115],[-171.29,-88.315],[-0.01,85.385],[170.58,-81.565]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.961000031116,0.902000038297,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.75,102.725]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":188,"st":0,"bm":0},{"ddd":0,"ind":62,"ty":4,"nm":"egg_b_1","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[57.778,68.636,0]},"a":{"a":0,"k":[181.75,105.62,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[99.14,0],[1,126.56],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-13.37,16.96],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,127.97],[-98.53,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[181.5,-99.58],[-0.01,105.37],[-181.5,-97.22],[-160.7,-77.12],[-148.36,-92.5],[-136.01,-66.27],[-121.11,-48.27],[-102.07,-72.75],[-94.71,-66.27],[-69.37,-87.35],[-52.7,-90.95],[-43.15,-72.75],[-43.15,-52.9],[-25.44,-63.7],[-13.1,-52.38],[-8.98,-37.98],[24.96,-79.69],[45.48,-67.6],[61.47,-105.37],[95.93,-93.53],[105.19,-68.84],[126.27,-51.87],[138.03,-82.73],[148.9,-74.92],[154.56,-55.98]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.913999968884,0.882000014361,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[181.75,105.62]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":188,"st":0,"bm":0},{"ddd":0,"ind":63,"ty":4,"nm":"beak2","parent":66,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[21.624,20.618,0]},"a":{"a":0,"k":[18.347,20.86,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":70,"s":[{"i":[[-1.828,-2.368],[0,0],[3.137,-10.389],[0,0],[0.913,1.794],[-0.878,10.652],[-2.73,-0.727]],"o":[[0,0],[-5.922,9.312],[0,0],[-1.692,1.09],[0.954,-11.939],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-4.586,18.72],[-4.599,18.734],[-9.64,17.372],[-5.552,-18.305],[2.794,-19.098]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[-1.828,-2.368],[0,0],[1.883,-5.692],[0,0],[0.913,1.794],[0.975,3.473],[-2.73,-0.727]],"o":[[0,0],[-4.156,4.062],[0,0],[-1.692,1.09],[0.934,-7.922],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-0.336,2.97],[-0.349,2.984],[-5.39,1.622],[-5.552,-18.305],[2.794,-19.098]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[{"i":[[-1.828,-2.368],[0,0],[3.137,-10.389],[0,0],[0.913,1.794],[-0.878,10.652],[-2.73,-0.727]],"o":[[0,0],[-5.922,9.312],[0,0],[-1.692,1.09],[0.954,-11.939],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-4.586,18.72],[-4.599,18.734],[-9.64,17.372],[-5.552,-18.305],[2.794,-19.098]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[{"i":[[-1.828,-2.368],[0,0],[-0.771,-5.51],[0,0],[0.913,1.794],[2.644,3.293],[-2.73,-0.727]],"o":[[0,0],[2.741,4.972],[0,0],[-1.692,1.09],[-7.117,-10.102],[2.757,-1.154],[2.729,0.728]],"v":[[14.606,-16.108],[15.317,-15.54],[23.63,9.077],[23.617,9.091],[19.306,8.575],[0,-18.956],[8.346,-19.749]],"c":true}]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[{"i":[[-1.828,-2.368],[0,0],[3.137,-10.389],[0,0],[1.594,0.716],[-0.878,10.652],[-2.73,-0.727]],"o":[[0,0],[-5.922,9.312],[0,0],[-2.314,-0.062],[0.954,-11.939],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-2.426,8.701],[-2.439,8.715],[-7.48,7.353],[-5.552,-18.305],[2.794,-19.098]],"c":true}]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[{"i":[[-1.828,-2.368],[0,0],[0.108,-0.668],[0,0],[0.913,1.794],[0.13,1.056],[-2.73,-0.727]],"o":[[0,0],[-3.643,9.427],[0,0],[-1.692,1.09],[-0.374,-5.681],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-22.071,11.277],[-22.084,11.291],[-27.125,9.929],[-5.552,-18.305],[2.794,-19.098]],"c":true}]},{"t":179,"s":[{"i":[[-1.828,-2.368],[0,0],[3.137,-10.389],[0,0],[1.594,0.716],[-0.878,10.652],[-2.73,-0.727]],"o":[[0,0],[-5.922,9.312],[0,0],[-2.314,-0.062],[0.954,-11.939],[2.757,-1.154],[2.729,0.728]],"v":[[9.64,-14.264],[9.64,-14.264],[-2.426,8.701],[-2.439,8.715],[-7.48,7.353],[-5.552,-18.305],[2.794,-19.098]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.948999980852,0.713999968884,0.141000007181,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[20.616,21.639]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":70,"s":[{"i":[[1.553,-1.014],[0,0],[0.919,1.803],[0,0],[-0.725,1.779],[-8.599,-2.292],[1.555,-10.337]],"o":[[0,0],[-1.696,1.107],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[-0.355,1.746]],"v":[[13.576,11.313],[-2.31,19.503],[-7.37,18.155],[-17.065,3.156],[-17.372,-2.414],[5.062,-18.319],[16.542,7.023]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[1.553,-1.014],[0,0],[0.919,1.803],[0,0],[-0.725,1.779],[-8.599,-2.292],[1.555,-10.337]],"o":[[0,0],[-1.696,1.107],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[-0.355,1.746]],"v":[[13.576,11.313],[1.94,3.753],[-3.12,2.405],[-17.065,3.156],[-17.372,-2.414],[5.062,-18.319],[16.542,7.023]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[{"i":[[1.553,-1.014],[0,0],[0.919,1.803],[0,0],[-0.725,1.779],[-8.599,-2.292],[1.555,-10.337]],"o":[[0,0],[-1.696,1.107],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[-0.355,1.746]],"v":[[13.576,11.313],[-2.31,19.503],[-7.37,18.155],[-17.065,3.156],[-17.372,-2.414],[5.062,-18.319],[16.542,7.023]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[{"i":[[-0.354,-2.379],[0,0],[4.672,1.076],[0,0],[-0.725,1.779],[-8.599,-2.292],[-2.304,-4.433]],"o":[[0.664,4.458],[-1.696,1.107],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[1.912,3.678]],"v":[[25.787,3.217],[25.906,9.86],[19.672,9.377],[-11.707,2.486],[-11.82,-3.065],[10.614,-18.97],[22.743,-6.638]],"c":true}]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[{"i":[[1.553,-1.014],[0,0],[1.843,0.552],[0,0],[-0.725,1.779],[-8.599,-2.292],[1.555,-10.337]],"o":[[0,0],[-2.324,-0.28],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[-0.355,1.746]],"v":[[13.576,11.313],[-0.15,9.484],[-5.21,8.136],[-17.065,3.156],[-17.372,-2.414],[5.062,-18.319],[16.542,7.023]],"c":true}]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[{"i":[[1.221,-1.209],[0,0],[0.919,1.803],[-2.124,4.06],[-2.045,2.04],[-8.599,-2.292],[1.555,-10.337]],"o":[[-0.236,0.994],[-1.696,1.107],[0,0],[2.109,-4.032],[5.644,-5.63],[8.706,2.32],[-0.355,1.746]],"v":[[14.093,11.775],[-19.795,12.06],[-24.855,10.712],[-22.958,2.829],[-15.758,-8.886],[5.062,-18.319],[16.542,7.023]],"c":true}]},{"t":179,"s":[{"i":[[1.553,-1.014],[0,0],[1.843,0.552],[0,0],[-0.725,1.779],[-8.599,-2.292],[1.555,-10.337]],"o":[[0,0],[-2.324,-0.28],[0,0],[-0.907,-1.779],[3.905,-9.592],[8.706,2.32],[-0.355,1.746]],"v":[[13.576,11.313],[-0.15,9.484],[-5.21,8.136],[-17.065,3.156],[-17.372,-2.414],[5.062,-18.319],[16.542,7.023]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.552999997606,0.086000001197,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.371,20.969]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":70,"op":188,"st":0,"bm":0},{"ddd":0,"ind":64,"ty":3,"nm":"NULL CONTROL","parent":78,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":94.463,"s":[6.002]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.666],"y":[0]},"t":108.625,"s":[-2.783]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[8.998]},{"t":179,"s":[6.002]}]},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[97.22,142.747,0],"to":[6.798,1.668,0],"ti":[8.174,1.041,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.666,"y":0},"t":108.625,"s":[138.01,152.756,0],"to":[-8.174,-1.041,0],"ti":[0.023,0.006,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[48.177,136.503,0],"to":[-5.511,-1.436,0],"ti":[-8.529,-0.063,0]},{"t":179,"s":[97.22,142.747,0]}]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":70,"op":188,"st":0,"bm":0},{"ddd":0,"ind":65,"ty":4,"nm":"Shape Layer 6","parent":66,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":22.631},"p":{"a":0,"k":[-58.833,24.044,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[{"i":[[2,3.375],[3.125,0.875],[-3.75,-7],[-2.987,-3.616],[-1.252,3.611]],"o":[[-11.875,4.375],[0.375,2.5],[3.75,7],[2.736,3.312],[0.696,-2.008]],"v":[[79.86,-33.288],[66.25,-32],[67.536,-26.283],[72.995,-17.937],[78.248,-18.765]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[{"i":[[2,3.375],[3.125,0.875],[-3.75,-7],[-6.509,-3.107],[1,1.875]],"o":[[-11.875,4.375],[0.375,2.5],[3.75,7],[5.5,2.625],[-1,-1.875]],"v":[[91.125,-36.875],[66.25,-32],[69,-27.5],[89.75,-10.125],[96.25,-11.625]],"c":true}]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[{"i":[[2,3.375],[3.125,0.875],[-3.75,-7],[-2.987,-3.616],[-1.252,3.611]],"o":[[-11.875,4.375],[0.375,2.5],[3.75,7],[2.736,3.312],[0.696,-2.008]],"v":[[90.64,-32.738],[66.25,-32],[58.686,-24.647],[75.985,-4.507],[81.237,-5.335]],"c":true}]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[{"i":[[2,3.375],[3.125,0.875],[-2.418,-7.564],[-2.555,-3.875],[-3.003,2.982]],"o":[[-11.875,4.375],[0.375,2.5],[1.051,3.288],[3.648,5.534],[4.954,-4.919]],"v":[[88.173,-28.956],[66.25,-32],[60.605,-22.558],[64.925,-9.393],[72.835,-6.897]],"c":true}]},{"t":179,"s":[{"i":[[2,3.375],[3.125,0.875],[-3.75,-7],[-2.987,-3.616],[-1.252,3.611]],"o":[[-11.875,4.375],[0.375,2.5],[3.75,7],[2.736,3.312],[0.696,-2.008]],"v":[[90.64,-32.738],[66.25,-32],[58.686,-24.647],[75.985,-4.507],[81.237,-5.335]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843197093,0.458823559331,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":3},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.611642156863,0.043521406136,0.043521406136,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Shape 1","bm":0,"hd":false}],"ip":89,"op":196,"st":0,"bm":0},{"ddd":0,"ind":66,"ty":4,"nm":"beak1","parent":64,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":-6.002},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":70,"s":[60,60,0],"to":[-0.697,-6.63,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.055,"s":[55.817,20.219,0],"to":[0,0,0],"ti":[-0.697,-6.63,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"t":94.463,"s":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[60,60,0]}]},"a":{"a":0,"k":[19.915,25.962,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[{"i":[[0.235,-0.882],[4.834,-3.642],[3.479,0.927],[2.18,4.669],[-1.57,5.888],[-9.487,-2.529],[1.556,-10.336]],"o":[[-1.486,5.573],[-4.445,3.349],[-3.263,-0.87],[-2.669,-5.717],[2.849,-10.689],[8.705,2.321],[-0.136,0.927]],"v":[[17.557,4.873],[6.907,19.51],[-5.889,23.777],[-14.445,14.64],[-16.813,-4.288],[6.63,-23.183],[18.109,2.158]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[{"i":[[0.235,-0.882],[1.19,-3.323],[3.68,3.492],[2.18,4.669],[-1.57,5.888],[-9.487,-2.529],[1.556,-10.336]],"o":[[-1.358,5.092],[-3.374,2.565],[-2.88,-2.733],[-2.669,-5.717],[2.849,-10.689],[8.705,2.321],[-0.136,0.927]],"v":[[16.389,0.201],[13.447,27.399],[-3.875,20.566],[-9.373,10.267],[-11.261,-4.94],[12.182,-23.835],[23.661,1.507]],"c":true}]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[{"i":[[0.222,-0.882],[4.573,-3.642],[3.291,0.927],[3.12,9.735],[-1.485,5.888],[-8.974,-2.529],[1.472,-10.336]],"o":[[-1.406,5.573],[-4.205,3.349],[-3.087,-0.87],[-1.915,-5.976],[2.695,-10.689],[8.235,2.321],[-0.129,0.927]],"v":[[17.912,5.604],[6.791,25.373],[-6.375,32.466],[-15.833,18.159],[-15.758,-3.822],[7.575,-22.453],[18.434,2.889]],"c":true}]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[{"i":[[-0.075,-0.91],[2.837,-3.44],[3.262,-0.922],[5.204,4.51],[-1.435,5.381],[-9.487,-2.529],[1.556,-10.336]],"o":[[0.317,3.838],[-3.541,4.294],[-6.744,1.906],[-0.166,-3.014],[2.849,-10.689],[8.705,2.321],[-0.136,0.927]],"v":[[17.557,4.873],[12.2,17.103],[0.373,23.136],[-15.378,20.963],[-16.813,-4.288],[6.63,-23.183],[18.109,2.159]],"c":true}]},{"t":179,"s":[{"i":[[0.222,-0.882],[4.573,-3.642],[3.291,0.927],[3.12,9.735],[-1.485,5.888],[-8.974,-2.529],[1.472,-10.336]],"o":[[-1.406,5.573],[-4.205,3.349],[-3.087,-0.87],[-1.915,-5.976],[2.695,-10.689],[8.235,2.321],[-0.129,0.927]],"v":[[17.912,5.604],[6.791,25.373],[-6.375,32.466],[-15.833,18.159],[-15.758,-3.822],[7.575,-22.453],[18.434,2.889]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.583999992819,0.226999993418,0.011999999776,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[19.915,25.963]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":67,"ty":4,"nm":"beak_shad","parent":66,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[23.104,40.172,0]},"a":{"a":0,"k":[22.318,28.428,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[{"i":[[0,0],[0.325,-12.821],[-13.76,-2.314],[8.575,29.159]],"o":[[0,0],[-0.282,11.143],[18.343,3.086],[0,0]],"v":[[-15.174,-28.178],[-21.786,-7.822],[-5.876,25.092],[13.492,-26.524]],"c":true}]},{"i":{"x":0.382,"y":1},"o":{"x":0.666,"y":0},"t":108.625,"s":[{"i":[[0,0],[4.393,-13.371],[-13.76,-2.314],[8.575,29.159]],"o":[[0,0],[-3.479,10.59],[18.343,3.086],[0,0]],"v":[[-5.756,-32.905],[-22.483,-9.725],[-9.497,13.625],[12.795,-28.427]],"c":true}]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[{"i":[[0,0],[0.325,-12.821],[-13.76,-2.314],[8.575,29.159]],"o":[[0,0],[-0.282,11.143],[18.343,3.086],[0,0]],"v":[[-15.174,-28.178],[-21.786,-7.822],[0.835,21.455],[13.492,-26.524]],"c":true}]},{"t":179,"s":[{"i":[[0,0],[0.325,-12.821],[-13.76,-2.314],[8.575,29.159]],"o":[[0,0],[-0.282,11.143],[18.343,3.086],[0,0]],"v":[[-15.174,-28.178],[-21.786,-7.822],[-5.876,25.092],[13.492,-26.524]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.795999983245,0.113999998803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[22.317,28.428]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":68,"ty":4,"nm":"eye_l_bl2","parent":70,"sr":1,"ks":{"o":{"a":1,"k":[{"t":89.312,"s":[0],"h":1},{"t":93.176,"s":[100],"h":1},{"t":141.113,"s":[0],"h":1},{"t":146.262,"s":[100],"h":1},{"t":153.988,"s":[0],"h":1},{"t":159.13671875,"s":[100],"h":1}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[20.782,11.647,0]},"a":{"a":0,"k":[9.274,6.623,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[1.39,-1.603],[4.591,1.224],[0.081,0.849],[-4.591,-1.224]],"o":[[0.205,-0.083],[-4.591,-1.224],[-0.156,-2.117],[4.591,1.224]],"v":[[7.479,9.653],[-0.257,5.082],[-9.148,5.221],[0.038,4.351]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.148,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.148,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[1.39,-1.603],[4.591,1.224],[0.081,0.849],[-4.591,-1.224]],"o":[[0.205,-0.083],[-4.591,-1.224],[-0.156,-2.117],[4.591,1.224]],"v":[[7.479,9.653],[-0.257,5.082],[-9.148,5.221],[0.038,4.351]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.148,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[1.39,-1.603],[4.591,1.224],[0.081,0.849],[-4.591,-1.224]],"o":[[0.205,-0.083],[-4.591,-1.224],[-0.156,-2.117],[4.591,1.224]],"v":[[7.479,9.653],[-0.257,5.082],[-9.148,5.221],[0.038,4.351]],"c":true}]},{"t":163,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.148,-1.279],[1.789,-5.149]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.961000031116,0.961000031116,0.961000031116,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[9.274,6.623]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":69,"ty":4,"nm":"eye_l_bl1","parent":70,"sr":1,"ks":{"o":{"a":1,"k":[{"t":89.312,"s":[0],"h":1},{"t":93.176,"s":[100],"h":1},{"t":141.113,"s":[0],"h":1},{"t":146.262,"s":[100],"h":1},{"t":153.988,"s":[0],"h":1},{"t":159.13671875,"s":[100],"h":1}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[17.514,28.882,0]},"a":{"a":0,"k":[12.335,11.569,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[0.154,-0.694],[6.231,1.661],[-0.839,1.802],[-6.231,-1.661]],"o":[[-0.846,0.306],[-6.231,-1.661],[0.221,-0.762],[6.231,1.661]],"v":[[12.298,-5.972],[1.515,-11.092],[-9.02,-11.403],[1.737,-10.929]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.264,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.264,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[0.154,-0.694],[6.231,1.661],[-0.839,1.802],[-6.231,-1.661]],"o":[[-0.846,0.306],[-6.231,-1.661],[0.221,-0.762],[6.231,1.661]],"v":[[12.298,-5.972],[1.515,-11.092],[-9.02,-11.403],[1.737,-10.929]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.264,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[0.154,-0.694],[6.231,1.661],[-0.839,1.802],[-6.231,-1.661]],"o":[[-0.846,0.306],[-6.231,-1.661],[0.221,-0.762],[6.231,1.661]],"v":[[12.298,-5.972],[1.515,-11.092],[-9.02,-11.403],[1.737,-10.929]],"c":true}]},{"t":163,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.264,-2.429]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282000014361,0.286000001197,0.286000001197,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[12.335,11.57]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":70,"ty":4,"nm":"eye_l","parent":66,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[-10.692,-13.618,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[-9.449,-12.553,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[-10.692,-13.618,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[-0.953,-12.908,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[-10.692,-13.618,0]}]},"a":{"a":0,"k":[18.32,22.44,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":94.463,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.621,0.621,0.621],"y":[0,0,0]},"t":108.625,"s":[100,100,100]},{"i":{"x":[0.382,0.382,0.382],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0,0]},"t":121.5,"s":[100,100,100]},{"i":{"x":[0.007,0.007,0.007],"y":[1,1,1]},"o":{"x":[0.61,0.61,0.61],"y":[0,0,0]},"t":134.375,"s":[80,100,100]},{"t":179,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[3.909,-2.445],[8.357,2.228],[1.027,4.56],[-8.357,-2.228]],"o":[[-3.986,2.493],[-8.356,-2.227],[-1.151,-5.112],[8.357,2.227]],"v":[[15.132,4.033],[0.929,-1.788],[-15.132,-4.033],[3.072,-7.212]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.322,19.962],[-15.132,-4.033],[5.322,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.322,19.962],[-15.132,-4.033],[5.322,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[3.909,-2.445],[8.357,2.228],[1.027,4.56],[-8.357,-2.228]],"o":[[-3.986,2.493],[-8.356,-2.227],[-1.151,-5.112],[8.357,2.227]],"v":[[15.132,4.033],[0.929,-1.788],[-15.132,-4.033],[3.072,-7.212]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.322,19.962],[-15.132,-4.033],[5.322,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[3.909,-2.445],[8.357,2.228],[1.027,4.56],[-8.357,-2.228]],"o":[[-3.986,2.493],[-8.356,-2.227],[-1.151,-5.112],[8.357,2.227]],"v":[[15.132,4.033],[0.929,-1.788],[-15.132,-4.033],[3.072,-7.212]],"c":true}]},{"t":163,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.322,19.962],[-15.132,-4.033],[5.322,-19.962]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.067000003889,0.067000003889,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.32,22.44]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":71,"ty":4,"nm":"eye_r_bl2","parent":73,"sr":1,"ks":{"o":{"a":1,"k":[{"t":89.312,"s":[0],"h":1},{"t":93.176,"s":[100],"h":1},{"t":141.113,"s":[0],"h":1},{"t":146.262,"s":[100],"h":1},{"t":153.988,"s":[0],"h":1},{"t":159.13671875,"s":[100],"h":1}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[20.782,11.647,0]},"a":{"a":0,"k":[9.274,6.623,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[0.261,-0.794],[4.591,1.224],[0.137,0.138],[-4.591,-1.224]],"o":[[-0.315,1.263],[-4.591,-1.224],[-0.163,-1.359],[4.591,1.224]],"v":[[7.729,9.403],[-0.007,4.582],[-11.148,4.471],[-0.462,4.601]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.147,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.147,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[0.261,-0.794],[4.591,1.224],[0.137,0.138],[-4.591,-1.224]],"o":[[-0.315,1.263],[-4.591,-1.224],[-0.163,-1.359],[4.591,1.224]],"v":[[7.729,9.403],[-0.007,4.582],[-11.148,4.471],[-0.462,4.601]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.147,-1.279],[1.789,-5.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[0.261,-0.794],[4.591,1.224],[0.137,0.138],[-4.591,-1.224]],"o":[[-0.315,1.263],[-4.591,-1.224],[-0.163,-1.359],[4.591,1.224]],"v":[[7.729,9.403],[-0.007,4.582],[-11.148,4.471],[-0.462,4.601]],"c":true}]},{"t":163,"s":[{"i":[[0.546,-2.05],[4.591,1.224],[-0.877,3.292],[-4.591,-1.224]],"o":[[-0.858,3.22],[-4.591,-1.224],[0.547,-2.051],[4.591,1.224]],"v":[[8.479,3.153],[-0.007,1.582],[-8.147,-1.279],[1.789,-5.149]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.961000031116,0.961000031116,0.961000031116,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[9.274,6.623]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":72,"ty":4,"nm":"eye_r_bl1","parent":73,"sr":1,"ks":{"o":{"a":1,"k":[{"t":89.312,"s":[0],"h":1},{"t":93.176,"s":[100],"h":1},{"t":141.113,"s":[0],"h":1},{"t":146.262,"s":[100],"h":1},{"t":153.988,"s":[0],"h":1},{"t":159.13671875,"s":[100],"h":1}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[17.514,28.882,0]},"a":{"a":0,"k":[12.336,11.57,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[1.867,-0.418],[6.231,1.661],[-0.355,1.246],[-6.231,-1.661]],"o":[[-1.54,0.345],[-6.231,-1.661],[0.277,-0.223],[6.231,1.661]],"v":[[11.048,-4.972],[1.015,-10.592],[-10.019,-10.653],[0.987,-11.179]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.263,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.263,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[1.867,-0.418],[6.231,1.661],[-0.355,1.246],[-6.231,-1.661]],"o":[[-1.54,0.345],[-6.231,-1.661],[0.277,-0.223],[6.231,1.661]],"v":[[11.048,-4.972],[1.015,-10.592],[-10.019,-10.653],[0.987,-11.179]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.263,-2.429]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[1.867,-0.418],[6.231,1.661],[-0.355,1.246],[-6.231,-1.661]],"o":[[-1.54,0.345],[-6.231,-1.661],[0.277,-0.223],[6.231,1.661]],"v":[[11.048,-4.972],[1.015,-10.592],[-10.019,-10.653],[0.987,-11.179]],"c":true}]},{"t":163,"s":[{"i":[[1.788,-6.706],[6.231,1.661],[-1.066,3.998],[-6.231,-1.661]],"o":[[-1.066,3.999],[-6.231,-1.661],[1.71,-6.416],[6.231,1.661]],"v":[[10.298,0.778],[-3.486,9.658],[-11.02,-4.903],[-0.263,-2.429]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.282000014361,0.286000001197,0.286000001197,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[12.335,11.57]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":73,"ty":4,"nm":"eye_r","parent":66,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":94.463,"s":[67.002,7.093,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.666,"y":0},"t":108.625,"s":[58.626,-0.605,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.167,"y":0.167},"t":121.5,"s":[67.002,7.093,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[67.261,7.284,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[67.002,7.093,0]}]},"a":{"a":0,"k":[18.32,22.439,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":94.463,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,1,1]},"o":{"x":[0.621,0.621,0.621],"y":[0,0,0]},"t":108.625,"s":[80,100,100]},{"i":{"x":[0.382,0.382,0.382],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":121.5,"s":[100,100,100]},{"i":{"x":[0.007,0.007,0.007],"y":[1,1,1]},"o":{"x":[0.61,0.61,0.61],"y":[0,0,0]},"t":134.375,"s":[100,100,100]},{"t":179,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89.312,"s":[{"i":[[2.634,-3.48],[8.357,2.228],[1.332,4.35],[-8.357,-2.228]],"o":[[-3.431,4.533],[-8.356,-2.227],[-1.216,-3.968],[8.357,2.227]],"v":[[15.132,4.033],[0.179,-2.788],[-15.131,-4.033],[2.321,-6.712]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":98.324,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.321,19.962],[-15.131,-4.033],[5.321,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":137.25,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.321,19.962],[-15.131,-4.033],[5.321,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":143.488,"s":[{"i":[[2.634,-3.48],[8.357,2.228],[1.332,4.35],[-8.357,-2.228]],"o":[[-3.431,4.533],[-8.356,-2.227],[-1.216,-3.968],[8.357,2.227]],"v":[[15.132,4.033],[0.179,-2.788],[-15.131,-4.033],[2.321,-6.712]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":149.729,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.321,19.962],[-15.131,-4.033],[5.321,-19.962]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155.969,"s":[{"i":[[2.634,-3.48],[8.357,2.228],[1.332,4.35],[-8.357,-2.228]],"o":[[-3.431,4.533],[-8.356,-2.227],[-1.216,-3.968],[8.357,2.227]],"v":[[15.132,4.033],[0.179,-2.788],[-15.131,-4.033],[2.321,-6.712]],"c":true}]},{"t":163,"s":[{"i":[[2.939,-11.025],[8.357,2.228],[-2.939,11.024],[-8.357,-2.228]],"o":[[-2.939,11.025],[-8.356,-2.227],[2.939,-11.025],[8.357,2.227]],"v":[[15.132,4.033],[-5.321,19.962],[-15.131,-4.033],[5.321,-19.962]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.067000003889,0.067000003889,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[18.32,22.44]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":74,"ty":4,"nm":"head_bl","parent":78,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.453],"y":[1]},"o":{"x":[0.773],"y":[0]},"t":82.875,"s":[0]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.62],"y":[0]},"t":108.625,"s":[6.555]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[0]},{"t":179,"s":[6.555]}]},"p":{"a":1,"k":[{"i":{"x":0.453,"y":1},"o":{"x":0.773,"y":0},"t":82.875,"s":[139.506,32.601,0],"to":[1.655,1.515,0],"ti":[0,0,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.62,"y":0},"t":108.625,"s":[149.436,41.692,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[139.506,32.601,0],"to":[0,0,0],"ti":[-1.655,-1.515,0]},{"t":179,"s":[149.436,41.692,0]}]},"a":{"a":0,"k":[25.789,20.981,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-6.378,-3.534]],"o":[[0,0],[0,0]],"v":[[-5.29,-2.599],[5.29,2.599]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[20.29,17.599]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.313,-0.891]],"o":[[1.243,0.787],[0,0]],"v":[[-1.919,-1.258],[1.919,1.258]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[34.659,25.704]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":75,"ty":4,"nm":"head4","parent":78,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.985,91.496,0]},"a":{"a":0,"k":[117.329,111.246,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-3.696,13.867],[58.314,15.545],[13.471,-50.535],[-5.642,-12.859],[-11.388,-10.339]],"o":[[14.991,-7.265],[13.272,-49.788],[-59.056,-15.742],[-3.456,12.963],[0,0],[0,0]],"v":[[52.787,91.246],[84.057,54.218],[23.35,-75.504],[-93.873,6.787],[-90.094,46.283],[-72.377,71.821]],"c":false}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0.458999992819,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[117.329,111.246]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.453],"y":[1]},"o":{"x":[0.773],"y":[0]},"t":82.875,"s":[0]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.62],"y":[0]},"t":108.625,"s":[0]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[0]},{"t":179,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.453],"y":[1]},"o":{"x":[0.773],"y":[0]},"t":82.875,"s":[100]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.62],"y":[0]},"t":108.625,"s":[94]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[100]},{"t":179,"s":[94]}]},"o":{"a":0,"k":0},"m":1,"nm":"Trim Paths 1","hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":76,"ty":4,"nm":"head3","parent":78,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[113.858,59.375,0]},"a":{"a":0,"k":[60.724,41.946,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[4.216,-15.817],[31.07,8.282],[-4.217,15.817],[-31.023,-8.457]],"o":[[-4.216,15.817],[-31.07,-8.283],[4.216,-15.817],[31.962,8.712]],"v":[[56.258,19.771],[-7.634,33.414],[-56.257,-10.222],[10.601,-33.239]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.991999966491,0.991999966491,0.616000007181,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[60.724,41.946]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":77,"ty":4,"nm":"head2","parent":78,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.527,87.848,0]},"a":{"a":0,"k":[82.548,74.918,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[9.177,-34.428],[39.206,9.704],[-6.819,25.581],[-46.907,-12.504]],"o":[[-6.819,25.581],[-49.703,-12.303],[9.315,-34.944],[46.318,12.347]],"v":[[73.121,40.486],[-14.262,64.964],[-75.479,-0.4],[21.027,-62.164]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.902000038297,0.234999997008,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[82.548,74.918]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":78,"ty":4,"nm":"head1","parent":82,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.453],"y":[1]},"o":{"x":[0.773],"y":[0]},"t":82.875,"s":[0]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.62],"y":[0]},"t":108.625,"s":[-20.676]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[0]},{"t":179,"s":[-20.676]}]},"p":{"a":1,"k":[{"i":{"x":0.453,"y":1},"o":{"x":0.773,"y":0},"t":82.875,"s":[124.041,75.846,0],"to":[3.333,0,0],"ti":[0,0,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.62,"y":0},"t":108.625,"s":[144.041,75.846,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[124.041,75.846,0],"to":[0,0,0],"ti":[-3.333,0,0]},{"t":179,"s":[144.041,75.846,0]}]},"a":{"a":0,"k":[100.375,195.015,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[13.272,-49.788],[49.134,13.098],[-9.861,36.993],[-59.057,-15.742]],"o":[[-9.861,36.993],[-49.134,-13.097],[13.471,-50.535],[58.314,15.545]],"v":[[87.26,43.46],[-20.142,88.907],[-90.671,-3.972],[26.553,-86.262]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.795999983245,0.113999998803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[100.782,102.255]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":79,"ty":4,"nm":"body4","parent":82,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[122.654,122.223,0]},"a":{"a":0,"k":[142.404,141.973,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-66.537],[67.602,0],[0,49.438],[-81.253,0]],"o":[[0,49.438],[-67.602,0],[0,-67.536],[80.233,0]],"v":[[122.404,24.542],[0,121.973],[-122.404,24.542],[0,-121.972]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0.458999992819,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[142.404,141.973]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":80,"ty":4,"nm":"body3","parent":82,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[120.726,53.422,0]},"a":{"a":0,"k":[92.328,39.364,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-24.938,-25.244],[44.659,0],[11.674,24.528],[-41.222,0]],"o":[[-11.941,24.289],[-44.957,0],[25.61,-37.204],[40.817,0]],"v":[[92.079,-6.395],[1.971,39.114],[-92.079,-1.91],[1.971,-39.114]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.663000009574,0.071000005685,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[92.328,39.364]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":81,"ty":4,"nm":"body2","parent":82,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[122.654,82.349,0]},"a":{"a":0,"k":[87.4,49.029,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-29.679],[50.826,0],[0,25.413],[-47.996,0]],"o":[[0,25.413],[-50.825,0],[0,-28.565],[47.927,0]],"v":[[87.15,5.752],[-0.001,48.779],[-87.15,5.752],[-0.001,-48.779]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.875,0.224000010771,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[87.4,49.029]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":82,"ty":4,"nm":"body1","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.453],"y":[1]},"o":{"x":[0.773],"y":[0]},"t":82.875,"s":[-4]},{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.62],"y":[0]},"t":108.625,"s":[6.83]},{"i":{"x":[0.007],"y":[1]},"o":{"x":[0.61],"y":[0]},"t":134.375,"s":[-4]},{"t":179,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":70,"s":[67.584,171.386,0],"to":[0,-9.333,0],"ti":[0,9.333,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"t":89.312,"s":[67.584,115.386,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[67.584,115.386,0]}]},"a":{"a":0,"k":[122.654,244.195,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-66.537],[67.602,0],[0,49.438],[-81.253,0]],"o":[[0,49.438],[-67.602,0],[0,-67.536],[80.233,0]],"v":[[122.404,24.542],[0,121.973],[-122.404,24.542],[0,-121.973]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.795999983245,0.113999998803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[122.654,122.223]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":83,"ty":4,"nm":"wing_r4","parent":88,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[88.898,65.006,0]},"a":{"a":0,"k":[90.221,63.386,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-67.412,-44.501],[-18.895,-53.049],[61.467,-52.565],[-33.624,14.61]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-67.412,-44.501],[-18.895,-53.049],[47.313,11.257],[-33.624,14.61]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-67.412,-44.501],[-18.895,-53.049],[61.467,-52.565],[-33.624,14.61]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-67.412,-44.501],[-18.895,-53.049],[47.313,11.257],[-33.624,14.61]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-67.412,-44.501],[-18.895,-53.049],[61.467,-52.565],[-33.624,14.61]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-67.412,-44.501],[-18.895,-53.049],[47.313,11.257],[-33.624,14.61]],"c":true}]},{"t":179,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-67.412,-44.501],[-18.895,-53.049],[47.313,11.257],[-33.624,14.61]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0.458999992819,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[90.221,63.386]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":84,"ty":4,"nm":"wing_r3","parent":88,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[84.717,30.786,0]},"a":{"a":0,"k":[50.514,39.922,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[0,0],[-26.186,3.797]],"o":[[0,0],[0,0]],"v":[[-21.999,-10.559],[33.374,-12.153]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[0,0],[-21.858,-21.337]],"o":[[0,0],[0,0]],"v":[[-23.014,-12.422],[23.014,12.422]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[0,0],[-26.186,3.797]],"o":[[0,0],[0,0]],"v":[[-21.999,-10.559],[33.374,-12.153]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[0,0],[-21.858,-21.337]],"o":[[0,0],[0,0]],"v":[[-23.014,-12.422],[23.014,12.422]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[0,0],[-26.186,3.797]],"o":[[0,0],[0,0]],"v":[[-21.999,-10.559],[33.374,-12.153]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[0,0],[-21.858,-21.337]],"o":[[0,0],[0,0]],"v":[[-23.014,-12.422],[23.014,12.422]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[-21.858,-21.337]],"o":[[0,0],[0,0]],"v":[[-23.014,-12.422],[23.014,12.422]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.995999983245,0.902000038297,0.234999997008,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":11},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[50.514,39.922]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":85,"ty":4,"nm":"wing_r2","parent":88,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[75.174,39.177,0]},"a":{"a":0,"k":[65.77,39.179,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-27.243,-2.537],[-10.226,-3.612],[-0.687,2.477],[47.214,4.823],[0,0]],"o":[[-4.376,-11.157],[0,0],[39.19,3.65],[5.054,-0.088],[3.161,-11.364],[-28.886,-2.951],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[69.508,-17.811],[73.092,-27.568],[-6.611,-26.531],[-52.37,-20.296]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-25.893,-8.84],[-3.366,-13.37],[-0.687,2.477],[42.065,14.368],[0,0]],"o":[[-4.376,-11.157],[0,0],[32.123,10.971],[5.054,-0.088],[3.161,-11.364],[-29.542,-10.085],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[53.33,38.93],[62.359,35.467],[-3.845,-28.844],[-52.37,-20.296]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-27.243,-2.537],[-10.226,-3.612],[-0.687,2.477],[47.214,4.823],[0,0]],"o":[[-4.376,-11.157],[0,0],[39.19,3.65],[5.054,-0.088],[3.161,-11.364],[-28.886,-2.951],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[69.508,-17.811],[73.092,-27.568],[-6.611,-26.531],[-52.37,-20.296]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-25.893,-8.84],[-3.366,-13.37],[-0.687,2.477],[42.065,14.368],[0,0]],"o":[[-4.376,-11.157],[0,0],[32.123,10.971],[5.054,-0.088],[3.161,-11.364],[-29.542,-10.085],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[53.33,38.93],[62.359,35.467],[-3.845,-28.844],[-52.37,-20.296]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-27.243,-2.537],[-10.226,-3.612],[-0.687,2.477],[47.214,4.823],[0,0]],"o":[[-4.376,-11.157],[0,0],[39.19,3.65],[5.054,-0.088],[3.161,-11.364],[-28.886,-2.951],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[69.508,-17.811],[73.092,-27.568],[-6.611,-26.531],[-52.37,-20.296]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-25.893,-8.84],[-3.366,-13.37],[-0.687,2.477],[42.065,14.368],[0,0]],"o":[[-4.376,-11.157],[0,0],[32.123,10.971],[5.054,-0.088],[3.161,-11.364],[-29.542,-10.085],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[53.33,38.93],[62.359,35.467],[-3.845,-28.844],[-52.37,-20.296]],"c":true}]},{"t":179,"s":[{"i":[[-10.869,-14.243],[-8.842,7.045],[-25.893,-8.84],[-3.366,-13.37],[-0.687,2.477],[42.065,14.368],[0,0]],"o":[[-4.376,-11.157],[0,0],[32.123,10.971],[5.054,-0.088],[3.161,-11.364],[-29.542,-10.085],[-13.15,10.49]],"v":[[-52.283,25.876],[-46.975,-4.999],[-4.458,-12.492],[53.33,38.93],[62.359,35.467],[-3.845,-28.844],[-52.37,-20.296]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.795999983245,0.113999998803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[65.77,39.18]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":86,"ty":3,"nm":"NULL CONTROL","parent":3,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.453,"y":1},"o":{"x":0.773,"y":0},"t":82.875,"s":[52.416,-56.006,0],"to":[4.667,0,0],"ti":[-0.667,0,0]},{"i":{"x":0.382,"y":1},"o":{"x":0.62,"y":0},"t":108.625,"s":[80.416,-56.006,0],"to":[0.667,0,0],"ti":[2.167,0,0]},{"i":{"x":0.007,"y":1},"o":{"x":0.61,"y":0},"t":134.375,"s":[56.416,-56.006,0],"to":[-2.167,0,0],"ti":[-1.833,0,0]},{"t":179,"s":[67.416,-56.006,0]}]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":87,"ty":3,"nm":"NULL CONTROL","parent":86,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":70,"s":[35.411]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":89.312,"s":[-3.748]},{"t":179,"s":[-3.748]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":70,"s":[98.066,119.369,0],"to":[0,-11.667,0],"ti":[0,11.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":89.312,"s":[98.066,49.369,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[98.066,49.369,0]}]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":88,"ty":4,"nm":"wing_r1","parent":87,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":89.312,"s":[-25.358]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":95.75,"s":[10.739]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":102.188,"s":[-25.358]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":108.625,"s":[10.739]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":115.062,"s":[-25.358]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":121.5,"s":[7.704]},{"t":179,"s":[7.704]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":82.875,"s":[60,60,0],"to":[6.667,0,0],"ti":[-6.667,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":89.312,"s":[100,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":98.324,"s":[100,60,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[100,60,0]}]},"a":{"a":0,"k":[13.816,43.208,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-47.662,-24.751],[0.855,-33.299],[81.217,-32.815],[-13.874,34.36]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-47.662,-24.751],[0.855,-33.299],[67.063,31.007],[-13.874,34.36]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-47.662,-24.751],[0.855,-33.299],[81.217,-32.815],[-13.874,34.36]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-47.662,-24.751],[0.855,-33.299],[67.063,31.007],[-13.874,34.36]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[-22.559,17.979],[-30.942,-4.12],[-3.037,-15.396],[36.756,0.551]],"o":[[0,0],[52.631,7.008],[3.483,17.655],[-34.454,-0.517]],"v":[[-47.662,-24.751],[0.855,-33.299],[81.217,-32.815],[-13.874,34.36]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-47.662,-24.751],[0.855,-33.299],[67.063,31.007],[-13.874,34.36]],"c":true}]},{"t":179,"s":[{"i":[[-22.559,17.979],[-29.54,-10.087],[3.158,-11.365],[33.255,-9.026]],"o":[[0,0],[42.069,14.367],[-2.773,9.981],[-33.255,9.026]],"v":[[-47.662,-24.751],[0.855,-33.299],[67.063,31.007],[-13.874,34.36]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.666999966491,0.071000005685,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[70.471,43.636]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":89,"ty":4,"nm":"wing_l4","parent":93,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[68.46,47.555,0]},"a":{"a":0,"k":[88.21,67.305,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[24.496,15.235],[28.69,-12.299],[-2.268,-13.172],[-55.682,3.877]],"o":[[0,0],[-44.491,19.072],[1.757,10.209],[34.375,-2.394]],"v":[[43.714,-31.002],[-5.467,-33.851],[-83.747,-13.32],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[24.496,15.235],[28.69,-12.299],[-2.268,-13.172],[-55.682,3.877]],"o":[[0,0],[-44.491,19.072],[1.757,10.209],[34.375,-2.394]],"v":[[43.714,-31.002],[-5.467,-33.851],[-83.747,-13.32],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[24.496,15.235],[28.69,-12.299],[-2.268,-13.172],[-55.682,3.877]],"o":[[0,0],[-44.491,19.072],[1.757,10.209],[34.375,-2.394]],"v":[[43.714,-31.002],[-5.467,-33.851],[-83.747,-13.32],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"t":179,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0.458999992819,0,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[88.21,67.305]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":90,"ty":4,"nm":"wing_l3","parent":93,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[67.223,25.602,0]},"a":{"a":0,"k":[49.357,37.615,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[0,0],[-14.525,-1.794]],"o":[[13.36,-4.762],[0,0]],"v":[[-23.298,5.736],[16.026,-6.364]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[0,0],[-20.743,-3.772]],"o":[[0,0],[0,0]],"v":[[-21.857,10.114],[21.857,-6.343]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[0,0],[-14.525,-1.794]],"o":[[13.36,-4.762],[0,0]],"v":[[-23.298,5.736],[16.026,-6.364]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[0,0],[-20.743,-3.772]],"o":[[0,0],[0,0]],"v":[[-21.857,10.114],[21.857,-6.343]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[0,0],[-14.525,-1.794]],"o":[[13.36,-4.762],[0,0]],"v":[[-23.298,5.736],[16.026,-6.364]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[0,0],[-20.743,-3.772]],"o":[[0,0],[0,0]],"v":[[-21.857,10.114],[21.857,-6.343]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[-20.743,-3.772]],"o":[[0,0],[0,0]],"v":[[-21.857,10.114],[21.857,-6.343]],"c":false}]}]},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.995999983245,0.902000038297,0.234999997008,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":11},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[49.357,37.615]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":91,"ty":4,"nm":"wing_l2","parent":93,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[63.424,44.203,0]},"a":{"a":0,"k":[63.425,44.205,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[25.341,-10.455],[17.759,1.762],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-31.379,12.946],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[1.052,-16.054],[-73.26,-4.569],[-76.092,-12.594],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[24.689,-11.79],[1.79,-13.67],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-30.63,14.63],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[2.075,-14.335],[-49.345,43.455],[-58.715,41.065],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[25.341,-10.455],[17.759,1.762],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-31.379,12.946],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[1.052,-16.054],[-73.26,-4.569],[-76.092,-12.594],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[24.689,-11.79],[1.79,-13.67],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-30.63,14.63],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[2.075,-14.335],[-49.345,43.455],[-58.715,41.065],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[25.341,-10.455],[17.759,1.762],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-31.379,12.946],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[1.052,-16.054],[-73.26,-4.569],[-76.092,-12.594],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[24.689,-11.79],[1.79,-13.67],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-30.63,14.63],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[2.075,-14.335],[-49.345,43.455],[-58.715,41.065],[-0.435,-30.505],[48.755,-27.655]],"c":true}]},{"t":179,"s":[{"i":[[9.14,-15.41],[9.6,5.97],[24.689,-11.79],[1.79,-13.67],[0.97,2.38],[-40.11,19.16],[0,0]],"o":[[3.05,-11.59],[0,0],[-30.63,14.63],[-5.03,0.5],[-4.46,-10.92],[28.17,-13.45],[14.28,8.89]],"v":[[54.035,18.215],[45.175,-11.835],[2.075,-14.335],[-49.345,43.455],[-58.715,41.065],[-0.435,-30.505],[48.755,-27.655]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.795999983245,0.113999998803,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[63.425,44.205]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":92,"ty":3,"nm":"NULL CONTROL","parent":86,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":70,"s":[-52.273]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":89.312,"s":[-3.748]},{"t":179,"s":[-3.748]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":70,"s":[21.934,140.631,0],"to":[0,-11.667,0],"ti":[0,11.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":89.312,"s":[21.934,70.631,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[21.934,70.631,0]}]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":70,"op":190,"st":0,"bm":0},{"ddd":0,"ind":93,"ty":4,"nm":"wing_l1","parent":92,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":89.312,"s":[44.874]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":95.75,"s":[16.506]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":102.188,"s":[44.874]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":108.625,"s":[16.506]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":115.062,"s":[44.874]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":121.5,"s":[15.391]},{"t":179,"s":[15.391]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":82.875,"s":[60,60,0],"to":[-6.667,0,0],"ti":[6.667,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":89.312,"s":[20,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":98.324,"s":[20,60,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[20,60,0]}]},"a":{"a":0,"k":[123.721,48.108,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":91.887,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-2.055,-11.615],[-34.193,-0.139]],"o":[[0,0],[-40.115,19.158],[5.28,29.839],[34.458,0.141]],"v":[[43.714,-31.002],[-5.467,-33.851],[-81.666,-15.139],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":98.324,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":104.762,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-2.055,-11.615],[-34.193,-0.139]],"o":[[0,0],[-40.115,19.158],[5.28,29.839],[34.458,0.141]],"v":[[43.714,-31.002],[-5.467,-33.851],[-81.666,-15.139],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":111.199,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":117.637,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-2.055,-11.615],[-34.193,-0.139]],"o":[[0,0],[-40.115,19.158],[5.28,29.839],[34.458,0.141]],"v":[[43.714,-31.002],[-5.467,-33.851],[-81.666,-15.139],[17.025,31.635]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":124.074,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]},{"t":179,"s":[{"i":[[24.496,15.235],[28.167,-13.453],[-4.457,-10.921],[-34.079,-5.099]],"o":[[0,0],[-40.115,19.158],[3.914,9.591],[34.079,5.1]],"v":[[43.714,-31.002],[-5.467,-33.851],[-63.753,37.713],[17.025,31.635]],"c":true}]}]},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.666999966491,0.071000005685,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[68.46,47.555]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0},{"ddd":0,"ind":94,"ty":4,"nm":"egg_back1","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[56.065,23.756,0]},"a":{"a":0,"k":[204.214,88.403,0]},"s":{"a":0,"k":[99,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.887,123.603],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-53.828,-27.429]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[53.829,27.428]],"v":[[184.403,-53.325],[176.443,-42.625],[166.1,-57.987],[153.26,-40.297],[130.529,-68.403],[97.475,-34.649],[34.529,-47.146],[-17.352,-34.649],[-48.443,-51.526],[-107.592,-41.414],[-143.414,-60.99],[-162.613,-47.146],[-178.786,-52.84],[-130.385,40.283]],"c":true}},"nm":"Path 1","hd":false},{"ty":"st","c":{"a":0,"k":[0.40800000359,0.313999998803,0.176000004189,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","hd":false},{"ty":"tr","p":{"a":0,"k":[204.214,88.403]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-2.887,123.603],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-53.828,-27.429]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[53.829,27.428]],"v":[[184.403,-53.325],[176.443,-42.625],[166.1,-57.987],[153.26,-40.297],[130.529,-68.403],[97.475,-34.649],[34.529,-47.146],[-17.352,-34.649],[-48.443,-51.526],[-107.592,-41.414],[-143.414,-60.99],[-162.613,-47.146],[-178.786,-52.84],[-130.385,40.283]],"c":true}},"nm":"Path 1","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 1","bm":0,"hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","hd":false},{"ty":"fl","c":{"a":0,"k":[0.592000026329,0.455000005984,0.224000010771,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"nm":"Fill 1","hd":false},{"ty":"tr","p":{"a":0,"k":[204.214,88.403]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"nm":"Transform"}],"nm":"Group 2","bm":0,"hd":false}],"ip":76,"op":190,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_gem.tgs b/TMessagesProj/src/main/res/raw/wallet_gem.tgs deleted file mode 100644 index 4326e1e52..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_gem.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"Static crystal v2","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[185,336,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,0],[0,0],[0,0],[0,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[-44.459,0],[0,-44.459],[44.459,0],[0,44.459]],"o":[[44.459,0],[0,44.459],[-44.459,0],[0,-44.459]],"v":[[0,-80.5],[80.5,0],[0,80.5],[-80.5,0]],"c":true}]},{"t":29,"s":[{"i":[[-68.759,0],[0,-51.915],[68.759,0],[0,51.915]],"o":[[68.759,0],[0,51.915],[-68.759,0],[0,-51.915]],"v":[[0,-94],[124.5,0],[0,94],[-124.5,0]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[3]},{"t":26,"s":[0]}]},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[85,-96]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":7,"op":35,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[185,336,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52,-92.5],[-35,-91]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[87,-64],[87,-7]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[117,-95.5],[208.5,-95.5]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[84.5,-127],[84.5,-184]],"c":false}},"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.760784373564,0.909803981407,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[4]},{"t":34,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[0]},{"t":22,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"t":33,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[84.5,-95.25]},"a":{"a":0,"k":[84.5,-95.25]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":35,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[218.077,299.023,0]},"a":{"a":0,"k":[289.077,219.023,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0.975],[0.808,0.006],[0.01,-0.827],[-0.78,0.017]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.018,-0.79],[-0.716,0.08],[0.027,0.79],[0.716,0.023]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7,"s":[{"i":[[0,73.226],[60.682,0.436],[0.778,-62.125],[-58.629,1.3]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.37,-59.334],[-53.771,6.047],[2.02,59.334],[53.771,1.695]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[2.086,115.5],[87.931,-2.472],[-1.804,-94.293],[-98,1.5]],"o":[[1.586,99],[87.431,-0.972],[5.196,-94.793],[-72.25,0.25]],"v":[[-1.37,-101.646],[-80.216,6.326],[2.02,101.646],[80.216,1.354]],"c":true}]},{"t":26,"s":[{"i":[[0,0.975],[0.808,0.006],[0.01,-0.827],[-0.78,0.017]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.018,-0.79],[-0.716,0.08],[0.027,0.79],[0.716,0.023]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[340.784,159.146]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":27,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":131,"s":[0]},{"t":166,"s":[92]}]},"p":{"a":0,"k":[121,124,0]},"a":{"a":0,"k":[268,243,0]},"s":{"a":0,"k":[46,46,100]}},"ao":0,"w":512,"h":512,"ip":131,"op":166,"st":131,"bm":0},{"ddd":0,"ind":2,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[0]},{"t":135,"s":[92]}]},"p":{"a":0,"k":[376,160,0]},"a":{"a":0,"k":[268,243,0]},"s":{"a":0,"k":[46,46,100]}},"ao":0,"w":512,"h":512,"ip":100,"op":135,"st":100,"bm":0},{"ddd":0,"ind":3,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":41,"s":[0]},{"t":76,"s":[45]}]},"p":{"a":0,"k":[141,158,0]},"a":{"a":0,"k":[268,243,0]},"s":{"a":0,"k":[84,84,100]}},"ao":0,"w":512,"h":512,"ip":41,"op":76,"st":41,"bm":0},{"ddd":0,"ind":4,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":27,"s":[0]},{"t":62,"s":[92]}]},"p":{"a":0,"k":[171,258,0]},"a":{"a":0,"k":[268,243,0]},"s":{"a":0,"k":[46,46,100]}},"ao":0,"w":512,"h":512,"ip":27,"op":62,"st":27,"bm":0},{"ddd":0,"ind":5,"ty":0,"refId":"comp_0","sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[0]},{"t":42,"s":[45]}]},"p":{"a":0,"k":[375,156,0]},"a":{"a":0,"k":[268,243,0]},"s":{"a":0,"k":[114,114,100]}},"ao":0,"w":512,"h":512,"ip":7,"op":42,"st":7,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[263.818,273.48,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[187.438,-58.125],[159.438,-109.75],[135.5,-153.813],[100.563,-167.125],[57.938,-183.875],[-6.313,-183.875],[-68,-183.875],[-107.563,-168.313],[-145.688,-153.188],[-169.688,-106.688],[-195.063,-57.25],[-167,-22.438],[-5,177.875],[161.688,-27.438]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0,0.345098048449,0.686274528503,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":-53,"bm":0},{"ddd":0,"ind":7,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":60},"p":{"a":0,"k":[256.226,243.689,0]},"a":{"a":0,"k":[0.226,-19.811,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-149,-31.5],[-82,-2.237],[89.028,-1.869],[149.452,-28.903],[87.915,-9.21],[-80.255,-9.099],[-149,-31.5]],"c":false}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":-54,"bm":0},{"ddd":0,"ind":8,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":60},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[460.47,130.909,0],"to":[0,0,0],"ti":[0,0,0]},{"t":149,"s":[75.47,130.909,0]}]},"a":{"a":0,"k":[246.47,130.909,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-45.667,26.969],[-47.1,28.032],[-46.724,27.986],[-46.408,27.954],[-46.41,27.957],[-45.657,26.971]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":108,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-11.511,4.199],[-46.725,30.302],[-37.482,29.174],[-29.725,28.398],[-29.756,28.46],[-11.282,4.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":109,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.239,-9.551],[-51.475,33.052],[-38.857,31.424],[-31.1,30.648],[-10.506,15.335],[7.468,-9.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.989,-12.989],[-51.475,33.052],[-38.857,31.424],[-31.1,30.648],[17.244,-9.665],[12.968,-11.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[28.864,-26.864],[-61.975,42.802],[-49.357,41.174],[-42.1,41.023],[38.119,-23.54],[33.843,-25.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.614,-32.489],[-61.975,42.802],[-50.732,44.174],[-42.35,42.273],[43.869,-29.165],[39.593,-30.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[37.239,-34.989],[-61.35,41.677],[-50.107,43.049],[-42.6,43.648],[46.494,-31.665],[42.218,-33.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":121,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.489,-40.739],[-58.1,40.365],[-46.857,41.736],[-39.35,42.335],[51.744,-37.415],[47.468,-39.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-56.85,39.24],[-45.607,40.611],[-38.1,41.21],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":131,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-44.85,27.865],[-33.607,29.236],[-26.1,29.835],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-39.475,23.865],[-36.232,28.486],[-26.1,29.835],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":133,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-34.85,20.115],[-28.982,27.986],[-24.85,28.335],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-29.975,15.615],[-25.857,21.486],[-22.35,26.585],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-25.6,11.615],[-21.482,17.486],[-17.975,22.585],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":136,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[35.989,-37.739],[-21.35,8.115],[-17.232,13.986],[-13.725,19.085],[54.432,-40.603],[44.905,-41.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[29.739,-32.739],[-17.1,4.49],[-12.982,10.361],[-9.475,15.46],[54.432,-40.603],[52.405,-41.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[21.864,-27.364],[-13.35,1.24],[-9.232,7.111],[-5.725,12.21],[52.432,-38.853],[49.53,-38.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.739,-10.864],[2.775,-11.01],[6.893,-5.139],[10.4,-0.04],[33.307,-22.353],[30.405,-21.688]],"c":true}]},{"t":148,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.741,-10.437],[13.742,-10.441],[13.851,-10.285],[13.945,-10.149],[14.555,-10.744],[14.478,-10.726]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[274.242,130.909]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":105,"s":[0]},{"t":106,"s":[83.914],"h":1},{"t":147,"s":[83.914],"h":1},{"t":148,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":96,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-60.827,30.249],[-60.581,30.003],[-60.803,30.013],[-60.696,30.246],[-61.024,30.252],[-60.684,29.879]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-7.702,-6.626],[-69.206,35.878],[-36.928,30.638],[-7.571,-6.629],[-7.899,-6.623],[-7.559,-6.996]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-3.827,-10.876],[-73.456,38.753],[-25.053,30.888],[-24.446,30.871],[4.476,-6.248],[4.816,-6.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-1.452,-12.626],[-73.456,38.753],[-61.928,37.513],[-27.571,32.371],[-1.899,10.752],[11.441,-7.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":105,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.298,-14.251],[-75.331,40.753],[-63.303,38.263],[-31.696,34.121],[10.726,4.377],[18.816,-7.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.298,-16.751],[-75.706,42.003],[-63.678,39.513],[-32.071,35.371],[25.851,-7.623],[12.316,-12.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":111,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[19.993,-27.724],[-80.767,47.213],[-61.859,45.068],[-40.283,42.48],[41.545,-18.595],[28.01,-23.593]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":112,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.132,-29.918],[-81.929,45.105],[-61.495,46.179],[-41.925,43.902],[44.684,-20.79],[31.149,-25.788]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":113,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.27,-32.112],[-80.487,44.018],[-61.131,47.289],[-43.567,45.324],[47.823,-22.984],[34.288,-27.982]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[29.409,-34.307],[-77.456,42.878],[-48.053,46.972],[-45.21,46.746],[50.962,-25.179],[37.427,-30.177]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":115,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[32.548,-36.501],[-75.706,42.003],[-65.928,43.263],[-44.321,46.621],[54.101,-27.373],[40.566,-32.371]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.923,-38.126],[-73.769,40.828],[-63.991,42.088],[-42.383,45.446],[56.851,-30.623],[38.441,-37.996]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":117,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.659,-37.946],[-71.831,39.653],[-62.053,40.913],[-40.446,44.271],[60.67,-33.137],[48.052,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.395,-37.765],[-69.894,38.478],[-60.116,39.738],[-38.508,43.096],[63.599,-35.917],[57.741,-37.902]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[35.382,-38.085],[-67.956,37.303],[-58.178,38.563],[-36.571,41.921],[65.242,-37.946],[55.413,-37.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":125,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-56.331,30.253],[-46.553,31.513],[-24.946,34.871],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":126,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-49.706,25.753],[-46.553,31.513],[-24.446,33.746],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":127,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-44.456,19.378],[-36.928,30.763],[-23.571,31.996],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":128,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-38.956,14.503],[-27.678,30.513],[-22.946,31.371],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":129,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-33.081,9.878],[-21.803,26.513],[-19.571,29.496],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[30.423,-34.001],[-27.831,5.003],[-16.553,21.638],[-14.321,24.621],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":131,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.923,-26.501],[-22.112,1.784],[-11.178,17.826],[-8.946,20.808],[64.476,-37.873],[51.816,-38.496]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[11.506,-20.626],[-16.394,-1.435],[-5.803,14.013],[-3.571,16.996],[64.476,-37.873],[59.191,-38.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":133,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.09,-13.314],[-10.675,-4.654],[-0.428,10.201],[1.804,13.183],[64.476,-37.873],[63.441,-37.246]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-4.827,-8.126],[-4.956,-7.872],[4.947,6.388],[7.179,9.371],[56.976,-31.873],[-4.559,-8.496]],"c":true}]},{"t":139,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[27.923,-8.251],[27.794,-7.997],[27.804,-8.511],[28.137,-7.729],[27.851,-8.123],[28.191,-8.621]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[231.013,128.136]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[0]},{"t":96,"s":[83.914],"h":1},{"t":139,"s":[83.914],"h":1},{"t":140,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":90,"op":149,"st":36,"bm":0},{"ddd":0,"ind":9,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":60},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[460.47,130.909,0],"to":[0,0,0],"ti":[0,0,0]},{"t":59,"s":[75.47,130.909,0]}]},"a":{"a":0,"k":[246.47,130.909,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-45.667,26.969],[-47.1,28.032],[-46.724,27.986],[-46.408,27.954],[-46.41,27.957],[-45.657,26.971]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":18,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-11.511,4.199],[-46.725,30.302],[-37.482,29.174],[-29.725,28.398],[-29.756,28.46],[-11.282,4.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.239,-9.551],[-51.475,33.052],[-38.857,31.424],[-31.1,30.648],[-10.506,15.335],[7.468,-9.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.989,-12.989],[-51.475,33.052],[-38.857,31.424],[-31.1,30.648],[17.244,-9.665],[12.968,-11.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[28.864,-26.864],[-61.975,42.802],[-49.357,41.174],[-42.1,41.023],[38.119,-23.54],[33.843,-25.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.614,-32.489],[-61.975,42.802],[-50.732,44.174],[-42.35,42.273],[43.869,-29.165],[39.593,-30.938]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[37.239,-34.989],[-61.35,41.677],[-50.107,43.049],[-42.6,43.648],[46.494,-31.665],[42.218,-33.438]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.489,-40.739],[-58.1,40.365],[-46.857,41.736],[-39.35,42.335],[51.744,-37.415],[47.468,-39.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-56.85,39.24],[-45.607,40.611],[-38.1,41.21],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-44.85,27.865],[-33.607,29.236],[-26.1,29.835],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-39.475,23.865],[-36.232,28.486],[-26.1,29.835],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-34.85,20.115],[-28.982,27.986],[-24.85,28.335],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-29.975,15.615],[-25.857,21.486],[-22.35,26.585],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.614,-40.739],[-25.6,11.615],[-21.482,17.486],[-17.975,22.585],[54.432,-40.603],[48.655,-40.813]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[35.989,-37.739],[-21.35,8.115],[-17.232,13.986],[-13.725,19.085],[54.432,-40.603],[44.905,-41.313]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":47,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[29.739,-32.739],[-17.1,4.49],[-12.982,10.361],[-9.475,15.46],[54.432,-40.603],[52.405,-41.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[21.864,-27.364],[-13.35,1.24],[-9.232,7.111],[-5.725,12.21],[52.432,-38.853],[49.53,-38.188]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.739,-10.864],[2.775,-11.01],[6.893,-5.139],[10.4,-0.04],[33.307,-22.353],[30.405,-21.688]],"c":true}]},{"t":58,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.741,-10.437],[13.742,-10.441],[13.851,-10.285],[13.945,-10.149],[14.555,-10.744],[14.478,-10.726]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[274.242,130.909]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":15,"s":[0]},{"t":16,"s":[83.914],"h":1},{"t":57,"s":[83.914],"h":1},{"t":58,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-60.827,30.249],[-60.581,30.003],[-60.803,30.013],[-60.696,30.246],[-61.024,30.252],[-60.684,29.879]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-7.702,-6.626],[-69.206,35.878],[-36.928,30.638],[-7.571,-6.629],[-7.899,-6.623],[-7.559,-6.996]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-3.827,-10.876],[-73.456,38.753],[-25.053,30.888],[-24.446,30.871],[4.476,-6.248],[4.816,-6.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-1.452,-12.626],[-73.456,38.753],[-61.928,37.513],[-27.571,32.371],[-1.899,10.752],[11.441,-7.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.298,-14.251],[-75.331,40.753],[-63.303,38.263],[-31.696,34.121],[10.726,4.377],[18.816,-7.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.298,-16.751],[-75.706,42.003],[-63.678,39.513],[-32.071,35.371],[25.851,-7.623],[12.316,-12.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[19.993,-27.724],[-80.767,47.213],[-61.859,45.068],[-40.283,42.48],[41.545,-18.595],[28.01,-23.593]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.132,-29.918],[-81.929,45.105],[-61.495,46.179],[-41.925,43.902],[44.684,-20.79],[31.149,-25.788]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.27,-32.112],[-80.487,44.018],[-61.131,47.289],[-43.567,45.324],[47.823,-22.984],[34.288,-27.982]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[29.409,-34.307],[-77.456,42.878],[-48.053,46.972],[-45.21,46.746],[50.962,-25.179],[37.427,-30.177]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[32.548,-36.501],[-75.706,42.003],[-65.928,43.263],[-44.321,46.621],[54.101,-27.373],[40.566,-32.371]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.923,-38.126],[-73.769,40.828],[-63.991,42.088],[-42.383,45.446],[56.851,-30.623],[38.441,-37.996]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.659,-37.946],[-71.831,39.653],[-62.053,40.913],[-40.446,44.271],[60.67,-33.137],[48.052,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.395,-37.765],[-69.894,38.478],[-60.116,39.738],[-38.508,43.096],[63.599,-35.917],[57.741,-37.902]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[35.382,-38.085],[-67.956,37.303],[-58.178,38.563],[-36.571,41.921],[65.242,-37.946],[55.413,-37.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-56.331,30.253],[-46.553,31.513],[-24.946,34.871],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-49.706,25.753],[-46.553,31.513],[-24.446,33.746],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":37,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-44.456,19.378],[-36.928,30.763],[-23.571,31.996],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-38.956,14.503],[-27.678,30.513],[-22.946,31.371],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.173,-38.251],[-33.081,9.878],[-21.803,26.513],[-19.571,29.496],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[30.423,-34.001],[-27.831,5.003],[-16.553,21.638],[-14.321,24.621],[64.476,-37.873],[40.941,-38.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.923,-26.501],[-22.112,1.784],[-11.178,17.826],[-8.946,20.808],[64.476,-37.873],[51.816,-38.496]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[11.506,-20.626],[-16.394,-1.435],[-5.803,14.013],[-3.571,16.996],[64.476,-37.873],[59.191,-38.621]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.09,-13.314],[-10.675,-4.654],[-0.428,10.201],[1.804,13.183],[64.476,-37.873],[63.441,-37.246]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-4.827,-8.126],[-4.956,-7.872],[4.947,6.388],[7.179,9.371],[56.976,-31.873],[-4.559,-8.496]],"c":true}]},{"t":49,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[27.923,-8.251],[27.794,-7.997],[27.804,-8.511],[28.137,-7.729],[27.851,-8.123],[28.191,-8.621]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[231.013,128.136]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":5,"s":[0]},{"t":6,"s":[83.914],"h":1},{"t":49,"s":[83.914],"h":1},{"t":50,"s":[0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":59,"st":-54,"bm":0},{"ddd":0,"ind":10,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":38},"p":{"a":0,"k":[258.883,270.477,0]}},"ao":0,"ef":[{"ty":5,"nm":"Refraction3: Path 1 [1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.3]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.4]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.5]","np":3,"mn":"ADBE Layer Control","ix":6,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.6]","np":3,"mn":"ADBE Layer Control","ix":7,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.7]","np":3,"mn":"ADBE Layer Control","ix":8,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.8]","np":3,"mn":"ADBE Layer Control","ix":9,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.9]","np":3,"mn":"ADBE Layer Control","ix":10,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.10]","np":3,"mn":"ADBE Layer Control","ix":11,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.11]","np":3,"mn":"ADBE Layer Control","ix":12,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.12]","np":3,"mn":"ADBE Layer Control","ix":13,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]},{"ty":5,"nm":"Refraction3: Path 1 [1.1.13]","np":3,"mn":"ADBE Layer Control","ix":14,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[158.889,-55.278],[137.002,-29.193],[-4.682,145.322],[-142.382,-24.943],[-166.236,-54.534],[-144.667,-96.556],[-124.267,-136.081],[-91.861,-148.937],[-58.232,-162.165],[-5.798,-162.165],[48.814,-162.165],[85.046,-147.928],[114.743,-136.612],[135.09,-99.159]],"c":true}},"hd":false},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[187.438,-58.125],[159.438,-109.75],[135.5,-153.813],[100.563,-167.125],[57.938,-183.875],[-6.313,-183.875],[-68,-183.875],[-107.563,-168.313],[-145.688,-153.188],[-169.688,-106.688],[-195.063,-57.25],[-167,-22.438],[-5,177.875],[161.688,-27.438]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.407843142748,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[5,3]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":-45,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":23,"sr":1,"ks":{"p":{"a":0,"k":[50,45.136,0]},"a":{"a":0,"k":[2.844,-58.422,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[-0.785]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.302]},"t":17,"s":[80]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":65,"s":[30]},{"t":71,"s":[30],"h":1},{"i":{"x":[0.667],"y":[-0.785]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.302]},"t":107,"s":[80]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":155,"s":[30]},{"t":161,"s":[30],"h":1}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[83]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56,"s":[30]},{"t":71,"s":[30],"h":1},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[83]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":146,"s":[30]},{"t":161,"s":[30],"h":1}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":25,"s":[7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":65,"s":[0]},{"t":71,"s":[0],"h":1},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":115,"s":[7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":155,"s":[0]},{"t":161,"s":[0],"h":1}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[83]},{"i":{"x":[0.667],"y":[0.405]},"o":{"x":[0.333],"y":[0]},"t":11,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.308]},"t":28,"s":[74]},{"t":71,"s":[30],"h":1},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[83]},{"i":{"x":[0.667],"y":[0.405]},"o":{"x":[0.333],"y":[0]},"t":101,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.308]},"t":118,"s":[74]},{"t":161,"s":[30],"h":1}]},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":11,"s":[83]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":67,"s":[30]},{"t":71,"s":[30],"h":1},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":101,"s":[83]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":157,"s":[30]},{"t":161,"s":[30],"h":1}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":29,"s":[7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[0]},{"t":71,"s":[0],"h":1},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":101,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":119,"s":[7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":157,"s":[0]},{"t":161,"s":[0],"h":1}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.063,-151.813],[-73.688,-114.5],[-92.688,-32.063],[-39.969,34.969],[45.969,34.969],[98.375,-31.875],[79.75,-114.625]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.780392216701,0.917647118662,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.780392156863,0.917395258885,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[2.821,-58.482]},"a":{"a":0,"k":[2.821,-58.482]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[87.026,1.269],[2.292,-80.673],[115.252,-97.418]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.42320601635,0.740996802858,0.980320344373,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-84.471,0.659],[-111.503,-97.987],[2.292,-80.673]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.771705371356,0.917365882923,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[192.985,-39.49],[115.24,-97.422],[144.613,-134.935]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.401431835762,0.701156937215,0.939309183031,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-187.998,-40.957],[-111.503,-97.987],[-137.44,-135.961]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.39285218964,0.715820345201,0.934450002022,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-111.503,-97.987],[-187.998,-40.957],[-84.471,0.659]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.476593143181,0.817378533559,0.998591971537,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.476593143181,0.817378533559,0.998591971537,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[115.252,-97.418],[87.026,1.269],[193.006,-39.488]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.477048305085,0.776855779552,0.99823178306,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.477048305085,0.776855779552,0.99823178306,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.292,-80.673],[-84.471,0.659],[87.026,1.269]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.317647069693,0.68235296011,0.956862807274,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.317647069693,0.68235296011,0.956862807274,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[87.031,1.25],[193,-39.5]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.201815529306,0.666228074266,0.988046579465,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.201815529306,0.666228074266,0.988046579465,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-188,-40.938],[-84.5,0.688]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.318858607023,0.755127458619,0.986062703271,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.318858607023,0.755127458619,0.986062703271,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"sr":1,"ks":{"p":{"a":0,"k":[256,256,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.668,194.973],[-84.5,0.688],[87,1.25]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.47058826685,0.850980460644,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"st","c":{"a":0,"k":[0.47058826685,0.850980460644,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":2},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[259,130.5,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[147.548,45.504,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":3,"parent":22,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":26.26},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[259,202.5,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[199.429,61.504,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":3,"parent":24,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0.66},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_money.tgs b/TMessagesProj/src/main/res/raw/wallet_money.tgs deleted file mode 100644 index c33c535f3..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_money.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"money","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[604.503,194.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-3,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":7.895,"s":[8]},{"t":20,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":3,"s":[0]},{"t":20,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-3,"s":[0]},{"t":16,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":0,"op":20,"st":-33,"bm":0},{"ddd":0,"ind":2,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[604.503,194.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":176,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":186.895,"s":[8]},{"t":199,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":182,"s":[0]},{"t":199,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":176,"s":[0]},{"t":195,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":176,"op":179,"st":146,"bm":0},{"ddd":0,"ind":3,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[422.503,406.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-11,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":-0.105,"s":[8]},{"t":12,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-5,"s":[0]},{"t":12,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-11,"s":[0]},{"t":8,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":0,"op":12,"st":-41,"bm":0},{"ddd":0,"ind":4,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[422.503,406.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":178.895,"s":[8]},{"t":191,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":174,"s":[0]},{"t":191,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[0]},{"t":187,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":168,"op":179,"st":138,"bm":0},{"ddd":0,"ind":5,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[377.503,149.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-19,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":-8.105,"s":[8]},{"t":4,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-13,"s":[0]},{"t":4,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-19,"s":[0]},{"t":0,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":0,"op":4,"st":-49,"bm":0},{"ddd":0,"ind":6,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[377.503,149.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":170.895,"s":[8]},{"t":183,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":166,"s":[0]},{"t":183,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[0]},{"t":179,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":160,"op":179,"st":130,"bm":0},{"ddd":0,"ind":7,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[511.503,103.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":82.895,"s":[8]},{"t":95,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":78,"s":[0]},{"t":95,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[0]},{"t":91,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":72,"op":95,"st":42,"bm":0},{"ddd":0,"ind":8,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[462.503,416.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":56,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":66.895,"s":[8]},{"t":79,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[0]},{"t":79,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":56,"s":[0]},{"t":75,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":56,"op":79,"st":26,"bm":0},{"ddd":0,"ind":9,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[545.503,149.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":50.895,"s":[8]},{"t":63,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":46,"s":[0]},{"t":63,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"t":59,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":40,"op":63,"st":10,"bm":0},{"ddd":0,"ind":10,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[376,278,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":34.895,"s":[8]},{"t":47,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"t":47,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[0]},{"t":43,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":24,"op":47,"st":-6,"bm":0},{"ddd":0,"ind":11,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[619,248,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":18.895,"s":[8]},{"t":31,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":14,"s":[0]},{"t":31,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[0]},{"t":27,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":8,"op":31,"st":-22,"bm":0},{"ddd":0,"ind":12,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[622,351,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":10.895,"s":[8]},{"t":23,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[0]},{"t":23,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":19,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":0,"op":23,"st":-30,"bm":0},{"ddd":0,"ind":13,"ty":3,"parent":16,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[-18.182,-14.81,0]},"s":{"a":0,"k":[119.617,148.745,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":3,"parent":13,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40,"s":[-151.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":72,"s":[-161.209]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":109,"s":[-142.109]},{"t":158,"s":[-151.83]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[362,378,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[370,394,0],"to":[0,0,0],"ti":[0,0,0]},{"t":136,"s":[362,378,0]}]},"s":{"a":0,"k":[88,88,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":3,"parent":15,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":-31,"s":[-10,-10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.526},"o":{"x":0.333,"y":0},"t":-11,"s":[-10,10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.524},"t":0,"s":[-10,-1.495,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":9,"s":[-10,-10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":29,"s":[-10,10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":49,"s":[-10,-10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":68,"s":[-10,20,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.433,"y":0},"t":87,"s":[-10,-40,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":122,"s":[-10,51.057,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.311},"o":{"x":0.54,"y":0},"t":164,"s":[-10,10,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-10,-1.495,0]}]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[95,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":41,"s":[95,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.16,0.16,0.16],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":77,"s":[95,110,100]},{"i":{"x":[0.16,0.16,0.16],"y":[1,1,1]},"o":{"x":[0.33,0.33,0.33],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.54,0.54,0.54],"y":[0,0,0]},"t":155,"s":[100,100,100]},{"t":180,"s":[95,105,100]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"parent":16,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-35,"s":[24]},{"i":{"x":[0.667],"y":[0.734]},"o":{"x":[0.333],"y":[0]},"t":-15,"s":[-24]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.6]},"t":0,"s":[26.821]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":5,"s":[34.321]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":25,"s":[-42.184]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[24]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":61,"s":[-50]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":96,"s":[-24.718]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":125,"s":[5.632]},{"i":{"x":[0.667],"y":[0.519]},"o":{"x":[0.54],"y":[0]},"t":155,"s":[-20]},{"t":180,"s":[26.821]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[77.1,24.262,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":72,"s":[77.1,10.508,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.588,"y":0.748},"o":{"x":0.404,"y":0},"t":108,"s":[55.478,26.025,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.561,"y":1},"o":{"x":0.248,"y":0.737},"t":136,"s":[80.919,25.828,0],"to":[0,0,0],"ti":[0,0,0]},{"t":158,"s":[77.1,24.262,0]}]},"a":{"a":0,"k":[77.1,24.262,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":108,"s":[81.797,100,100]},{"t":136,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[10.772,-7.519],[0,0],[8.767,-3.616],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-10.772,7.519],[0,0],[-8.767,3.616],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[238.777,40.616],[234.767,64.345],[209.05,60.401],[198.33,82.445],[177.922,68.406],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[13.124,0.593],[0,0],[9.285,1.931],[0,0],[1.238,15.413],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-13.124,-0.593],[0,0],[-9.285,-1.931],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[211.5,68.951],[193.872,85.334],[175.872,66.549],[158.543,78.1],[149.583,62.277],[136.094,53.717],[125.844,56.428],[122.495,37.112],[109.525,28.876]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.549019634724,0.572549045086,0.517647087574,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[122.495,37.112],[136.744,27.963]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.931,5.149]],"o":[[0,0],[0,0]],"v":[[136.094,53.717],[147.851,35.767]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-5.975,10.786]],"o":[[0,0],[0,0]],"v":[[177.922,68.406],[180.229,44.996]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.276,6.814]],"o":[[0,0],[0,0]],"v":[[149.583,62.277],[162.427,42.57]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[1.029,13.94]],"o":[[0,0],[0,0]],"v":[[209.05,60.401],[199.636,38.327]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-7.67,11.685]],"o":[[0,0],[0,0]],"v":[[175.872,66.549],[181.842,43.306]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-16.839,-12.48],[-7.397,-23.208],[43.574,62.857],[21.221,-13.117],[1.004,7.484],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[16.839,12.48],[7.397,23.208],[0,0],[-18.81,11.627],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[248.617,48.827],[299.717,111.358],[238.06,118.521],[227.97,170.824],[186.597,131.93],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-14.009,-21.554],[-5.76,-20.152],[8.261,-22.914],[17.265,36.883],[15.983,2.864],[-0.24,7.547],[9.451,1.586],[-3.62,11.163],[8.782,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[14.009,21.554],[5.76,20.152],[-8.261,22.914],[0,0],[-14.167,-2.539],[0,0],[-9.812,-1.646],[0,0],[-13.726,-4.369],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.578,15.39],[214.307,81.456],[216.777,162.173],[172.666,155.743],[143.986,180.14],[127.129,150.877],[107.939,162.253],[99.472,134.25],[81.389,140.869],[74.791,116.614],[58.182,115.468]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.549019634724,0.572549045086,0.517647087574,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-28.849,2.743]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[120.333,47.209]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[74.791,116.614],[125.844,56.428]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-34.372,27.435]],"o":[[0,0],[0,0]],"v":[[99.472,134.25],[143.716,63.79]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-4.644,41.728]],"o":[[0,0],[0,0]],"v":[[186.414,132.913],[178.862,69.713]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-21.806,36.471]],"o":[[0,0],[0,0]],"v":[[127.129,150.877],[152.543,78.181]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[22.867,36.854]],"o":[[0,0],[0,0]],"v":[[238.06,118.521],[204.794,74.357]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-6.975,43.398]],"o":[[0,0],[0,0]],"v":[[172.666,155.743],[168.433,75.038]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-7.399,-23.207],[10.511,-3.607],[3.449,11.201],[15.284,11.148],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-16.837,-12.486]],"o":[[5.646,17.71],[6.733,-4.155],[-6.479,-21.041],[-15.284,-11.148],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[16.835,12.485]],"v":[[299.715,111.354],[285.473,147.524],[286.589,115.676],[240.539,59.38],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[248.617,48.825]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[8.259,-22.915],[13.152,13.342],[-4.08,10.986],[5.337,18.149],[12.985,19.405],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-14.005,-21.562],[-5.765,-20.153]],"o":[[-6.303,17.487],[7.872,0.803],[7.67,-20.636],[-5.338,-18.149],[-12.985,-19.405],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[14.004,21.551],[5.755,20.154]],"v":[[216.777,162.168],[184.996,174.852],[203.733,157.605],[201.475,84.909],[184.124,25.42],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.578,15.393],[214.309,81.454]],"c":true}]},{"t":180,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.992156863213,0.984313726425,0.949019610882,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-16.839,-12.48],[-7.397,-23.208],[43.36,64.907],[21.221,-13.117],[1.004,7.484],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[16.839,12.48],[7.397,23.208],[0,0],[-18.81,11.627],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[248.617,48.827],[299.717,111.358],[238.06,118.521],[227.97,170.824],[186.414,132.913],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.303]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-14.009,-21.554],[-5.76,-20.152],[8.261,-22.914],[17.265,36.883],[15.983,2.864],[-0.24,7.547],[9.451,1.586],[-3.62,11.163],[8.782,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[14.009,21.554],[5.76,20.152],[-8.261,22.914],[0,0],[-14.167,-2.539],[0,0],[-9.812,-1.646],[0,0],[-13.726,-4.369],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.578,15.39],[214.307,81.456],[216.777,162.173],[172.666,155.743],[143.986,180.14],[127.129,150.877],[107.939,162.253],[99.472,134.25],[81.389,140.869],[74.791,116.614],[58.182,115.468]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.92549020052,0.882352948189,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"parent":14,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[146.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[151.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40,"s":[146.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":62,"s":[151.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":82,"s":[146.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":101,"s":[151.83]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":124,"s":[146.83]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.54],"y":[0]},"t":153,"s":[151.83]},{"t":180,"s":[146.83]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":-15,"s":[-13.575,-8.719,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":0,"s":[-13.575,-8.719,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":5,"s":[-13.575,-8.719,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":25,"s":[-16.749,-14.646,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":57,"s":[-13.575,-8.719,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":77,"s":[-16.749,-14.646,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":108,"s":[-13.575,-8.719,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":136,"s":[-16.749,-14.646,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[-16.749,-14.646,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-13.575,-8.719,0]}]},"a":{"a":0,"k":[-8.791,6.156,0]},"s":{"a":0,"k":[83.488,67.32,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-23.944,25.48],[0,0]],"v":[[96.444,7.575],[47.019,84.717]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-19.358,26.112],[0,0]],"v":[[96.123,-0.957],[47.019,84.717]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-23.944,25.48],[0,0]],"v":[[96.444,7.575],[47.019,84.717]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-19.358,26.112],[0,0]],"v":[[96.123,-0.957],[47.019,84.717]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-23.944,25.48],[0,0]],"v":[[96.444,7.575],[47.019,84.717]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[17.861,-26.216]],"o":[[-20.328,25.143],[0,0]],"v":[[95.449,-8.007],[37.925,70.059]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-21.172,25.862],[0,0]],"v":[[96.25,2.418],[47.019,84.717]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-19.829,26.047],[0,0]],"v":[[96.155,-0.082],[47.019,84.717]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[16.179,-27.898]],"o":[[-23.944,25.48],[0,0]],"v":[[96.444,7.575],[47.019,84.717]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.478431373835,0.443137258291,0.239215686917,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-21.168,30.121]],"o":[[12.985,-21.803],[0,0]],"v":[[-100.715,-21.996],[-51.256,-101.786]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-19.896,30.975]],"o":[[13.874,-21.248],[0,0]],"v":[[-99.254,-21.231],[-55.484,-105.059]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-21.168,30.121]],"o":[[12.985,-21.803],[0,0]],"v":[[-100.715,-21.996],[-51.256,-101.786]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-19.896,30.975]],"o":[[13.874,-21.248],[0,0]],"v":[[-99.254,-21.231],[-55.484,-105.059]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-21.168,30.121]],"o":[[12.985,-21.803],[0,0]],"v":[[-100.715,-21.996],[-51.256,-101.786]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-21.486,29.385]],"o":[[14.932,-20.19],[0,0]],"v":[[-77.992,-4.137],[-28.472,-82.216]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-20.399,30.637]],"o":[[13.522,-21.468],[0,0]],"v":[[-99.832,-21.534],[-53.811,-103.765]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-20.027,30.888]],"o":[[13.783,-21.305],[0,0]],"v":[[-99.404,-21.309],[-55.05,-104.724]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-21.168,30.121]],"o":[[12.985,-21.803],[0,0]],"v":[[-100.715,-21.996],[-51.256,-101.786]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.584313750267,0.552941203117,0.352941185236,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[45.284,-54.16],[50.484,-50.834]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[38.768,-56.508],[45.684,-51.466]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[55.875,-47.386],[57.571,-46.301]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[52.855,-46.238],[55.11,-44.594]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[14.087,-23.755]],"o":[[-25.432,25.857],[0,0]],"v":[[76.821,-18.218],[29.94,64.311]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[15.382,-24.728]],"o":[[-21.541,34.612],[0,0]],"v":[[77.609,-22.094],[30.357,64.45]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[14.087,-23.755]],"o":[[-25.432,25.857],[0,0]],"v":[[76.821,-18.218],[29.94,64.311]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[15.382,-24.728]],"o":[[-21.541,34.612],[0,0]],"v":[[77.609,-22.094],[30.357,64.45]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[14.087,-23.755]],"o":[[-25.432,25.857],[0,0]],"v":[[76.821,-18.218],[29.94,64.311]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[16.723,-23.386]],"o":[[-23.417,32.736],[0,0]],"v":[[73.611,-30.26],[15.366,45.944]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[14.87,-24.343]],"o":[[-23.08,31.149],[0,0]],"v":[[77.297,-20.561],[30.192,64.395]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[15.249,-24.628]],"o":[[-21.94,33.714],[0,0]],"v":[[77.528,-21.696],[30.314,64.436]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[14.087,-23.755]],"o":[[-25.432,25.857],[0,0]],"v":[[76.821,-18.218],[29.94,64.311]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.584313750267,0.552941203117,0.352941185236,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[49.545,-58.254]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[1.85,-2.84],[23.56,-30.81],[0,0],[0,0],[-1.53,1.94],[-29.27,38.49],[0,0]],"o":[[-2.01,2.65],[-30.1,46.12],[0,0],[0,0],[1.79,-1.9],[18.76,-23.78],[0,0],[0,0]],"v":[[88.539,-38.363],[82.739,-30.143],[19.679,79.967],[-39.261,39.237],[-108.921,-8.903],[-103.941,-14.673],[-45.691,-119.083],[48.989,-62.143]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[49.545,-58.254]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[1.85,-2.84],[23.56,-30.81],[0,0],[0,0],[-1.53,1.94],[-29.27,38.49],[0,0]],"o":[[-2.01,2.65],[-30.1,46.12],[0,0],[0,0],[1.79,-1.9],[18.76,-23.78],[0,0],[0,0]],"v":[[88.539,-38.363],[82.739,-30.143],[19.679,79.967],[-39.261,39.237],[-108.921,-8.903],[-103.941,-14.673],[-45.691,-119.083],[48.989,-62.143]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[49.545,-58.254]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[1.994,-2.697],[24.601,-29.77],[0,0],[0,0],[-1.589,1.881],[-30.593,37.167],[0,0]],"o":[[-2.102,2.558],[-32.399,43.821],[0,0],[0,0],[1.806,-1.884],[19.48,-23.06],[0,0],[0,0]],"v":[[85.308,-45.763],[79.16,-37.89],[2.319,60.167],[-35.287,39.042],[-88.041,7.809],[-82.947,2.153],[-18.072,-95.633],[54.847,-60.453]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[2.078,-2.653],[23.56,-30.81],[0,0],[0,0],[-1.422,2.014],[-29.893,37.995],[0,0]],"o":[[-2.219,2.452],[-33.781,43.096],[0,0],[0,0],[1.758,-1.929],[17.434,-24.689],[0,0],[0,0]],"v":[[89.523,-35.736],[83.071,-28.093],[19.679,79.967],[-39.261,39.237],[-108.8,-8.805],[-104.242,-14.808],[-43.8,-117.403],[49.209,-60.605]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[1.909,-2.791],[23.56,-30.81],[0,0],[0,0],[-1.502,1.959],[-29.432,38.362],[0,0]],"o":[[-2.064,2.599],[-31.054,45.336],[0,0],[0,0],[1.782,-1.908],[18.416,-24.016],[0,0],[0,0]],"v":[[88.794,-37.682],[82.825,-29.612],[19.679,79.967],[-39.261,39.237],[-108.89,-8.878],[-104.019,-14.708],[-45.201,-118.647],[49.046,-61.744]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[49.545,-58.254]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.541176497936,0.396078437567,0.078431375325,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-36.64,23.806],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-36.64,23.806],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-36.64,23.806],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[26.086,-34.364],[0,0],[-32.371,43.836],[-2.102,2.558]],"o":[[-30.591,32.58],[0,0],[24.601,-29.77],[1.992,-2.698],[0,0]],"v":[[107.058,-21.37],[26.7,85.733],[2.319,60.167],[79.16,-37.89],[85.308,-45.763]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-33.769,43.109],[-2.219,2.452]],"o":[[-32.742,29.351],[0,0],[23.56,-30.81],[2.077,-2.654],[0,0]],"v":[[108.735,-10.154],[36.689,101.287],[19.679,79.967],[83.071,-28.093],[89.523,-35.736]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-31.051,45.339],[-2.064,2.599]],"o":[[-30.852,32.039],[0,0],[23.56,-30.81],[1.909,-2.792],[0,0]],"v":[[107.731,-13.501],[36.689,101.287],[19.679,79.967],[82.825,-29.612],[88.794,-37.682]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-36.64,23.806],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.494117647409,0.32549020648,0.043137256056,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-0.693,-0.519],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.515,0.69],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.687,-0.519],[0,0],[0.518,-0.694]],"v":[[-54.986,-55.684],[29.454,-2.523],[29.952,-0.335],[25.427,6.646],[23.29,7.127],[-61.571,-46.882],[-61.881,-49.068],[-57.18,-55.367]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-0.739,-0.452],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.448,0.736],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.733,-0.452],[0,0],[0.45,-0.739]],"v":[[-57.07,-55.955],[30.565,-2.384],[31.063,-0.196],[26.538,6.785],[24.401,7.266],[-62.799,-46.574],[-63.313,-48.721],[-59.224,-55.433]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-0.693,-0.519],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.515,0.69],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.687,-0.519],[0,0],[0.518,-0.694]],"v":[[-54.986,-55.684],[29.454,-2.523],[29.952,-0.335],[25.427,6.646],[23.29,7.127],[-61.571,-46.882],[-61.881,-49.068],[-57.18,-55.367]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[-0.739,-0.452],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.448,0.736],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.733,-0.452],[0,0],[0.45,-0.739]],"v":[[-57.07,-55.955],[30.565,-2.384],[31.063,-0.196],[26.538,6.785],[24.401,7.266],[-62.799,-46.574],[-63.313,-48.721],[-59.224,-55.433]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-0.693,-0.519],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.515,0.69],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.687,-0.519],[0,0],[0.518,-0.694]],"v":[[-54.986,-55.684],[29.454,-2.523],[29.952,-0.335],[25.427,6.646],[23.29,7.127],[-61.571,-46.882],[-61.881,-49.068],[-57.18,-55.367]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[-0.568,-0.281],[0,0],[0.517,-0.702],[0,0],[0.556,0.279],[0,0],[-0.489,0.694],[0,0]],"o":[[0,0],[0.578,0.286],[0,0],[-0.499,0.678],[0,0],[-0.563,-0.282],[0,0],[0.492,-0.698]],"v":[[-36.879,-39.931],[30.491,-6.627],[30.603,-4.824],[25.725,1.804],[23.826,2.523],[-43.131,-31.074],[-43.264,-32.84],[-38.798,-39.176]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-0.721,-0.478],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.475,0.718],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.715,-0.479],[0,0],[0.477,-0.721]],"v":[[-56.246,-55.848],[30.126,-2.439],[30.623,-0.251],[26.099,6.73],[23.962,7.211],[-62.313,-46.696],[-62.747,-48.858],[-58.415,-55.407]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-0.734,-0.458],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.455,0.731],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.728,-0.459],[0,0],[0.457,-0.735]],"v":[[-56.856,-55.927],[30.452,-2.398],[30.949,-0.21],[26.424,6.771],[24.287,7.251],[-62.673,-46.605],[-63.167,-48.756],[-59.015,-55.427]],"c":true}]},{"t":180,"s":[{"i":[[-0.693,-0.519],[0,0],[0.479,-0.739],[0,0],[0.725,0.447],[0,0],[-0.515,0.69],[0,0]],"o":[[0,0],[0.752,0.46],[0,0],[-0.463,0.715],[0,0],[-0.687,-0.519],[0,0],[0.518,-0.694]],"v":[[-54.986,-55.684],[29.454,-2.523],[29.952,-0.335],[25.427,6.646],[23.29,7.127],[-61.571,-46.882],[-61.881,-49.068],[-57.18,-55.367]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.32549020648,0.254901975393,0.113725490868,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0.542,0.057],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[2.485,-18.74],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.181,-3.411],[0.751,-0.884]],"o":[[-0.353,0.416],[-3.008,-0.318],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-2.923,22.038],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.1,0.369],[0,0]],"v":[[-23.943,-54.141],[-25.372,-53.576],[-45.975,-37.044],[-35.659,-20.902],[0.065,-53.357],[27.931,-24.454],[-2.25,21.337],[-22.02,21.713],[-23.125,19.38],[-15.2,3.745],[-13.542,2.863],[7.918,-10.201],[-1.278,-32.982],[-37.922,2.079],[-57.331,-42.826],[-15.66,-67.36],[-14.929,-64.749]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0.545,-0.006],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[1.545,-22.177],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.506,-2.215],[0.644,-0.965]],"o":[[-0.303,0.453],[-3.025,0.031],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-1.545,22.177],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.135,0.239],[0,0]],"v":[[-24.84,-53.601],[-26.194,-52.875],[-45.975,-37.044],[-35.659,-20.902],[0.621,-54.19],[27.515,-23.482],[-1.278,22.587],[-19.52,23.102],[-20.625,20.769],[-12.7,5.134],[-11.042,4.252],[9.862,-9.09],[-1.278,-32.982],[-37.922,2.079],[-58.026,-42.826],[-18.136,-67.687],[-17.109,-65.177]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0.542,0.057],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[2.485,-18.74],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.181,-3.411],[0.751,-0.884]],"o":[[-0.353,0.416],[-3.008,-0.318],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-2.923,22.038],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.1,0.369],[0,0]],"v":[[-23.943,-54.141],[-25.372,-53.576],[-45.975,-37.044],[-35.659,-20.902],[0.065,-53.357],[27.931,-24.454],[-2.25,21.337],[-22.02,21.713],[-23.125,19.38],[-15.2,3.745],[-13.542,2.863],[7.918,-10.201],[-1.278,-32.982],[-37.922,2.079],[-57.331,-42.826],[-15.66,-67.36],[-14.929,-64.749]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0.545,-0.006],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[1.545,-22.177],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.506,-2.215],[0.644,-0.965]],"o":[[-0.303,0.453],[-3.025,0.031],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-1.545,22.177],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.135,0.239],[0,0]],"v":[[-24.84,-53.601],[-26.194,-52.875],[-45.975,-37.044],[-35.659,-20.902],[0.621,-54.19],[27.515,-23.482],[-1.278,22.587],[-19.52,23.102],[-20.625,20.769],[-12.7,5.134],[-11.042,4.252],[9.862,-9.09],[-1.278,-32.982],[-37.922,2.079],[-58.026,-42.826],[-18.136,-67.687],[-17.109,-65.177]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0.542,0.057],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[2.485,-18.74],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.181,-3.411],[0.751,-0.884]],"o":[[-0.353,0.416],[-3.008,-0.318],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-2.923,22.038],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.1,0.369],[0,0]],"v":[[-23.943,-54.141],[-25.372,-53.576],[-45.975,-37.044],[-35.659,-20.902],[0.065,-53.357],[27.931,-24.454],[-2.25,21.337],[-22.02,21.713],[-23.125,19.38],[-15.2,3.745],[-13.542,2.863],[7.918,-10.201],[-1.278,-32.982],[-37.922,2.079],[-57.331,-42.826],[-15.66,-67.36],[-14.929,-64.749]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0.468,-0.083],[7.548,-13.406],[-5.806,4.548],[-13.588,3.171],[4.506,-19.216],[12.689,-7.043],[3.09,0.184],[-0.55,0.885],[0,0],[-0.571,0.018],[-7.388,12.97],[7.016,-5.198],[15.661,-5.442],[-14.928,25.072],[-8.68,-0.389],[0.69,-0.919]],"o":[[-0.324,0.432],[-2.595,0.461],[-8.909,15.823],[5.806,-4.548],[13.588,-3.171],[-4.506,19.216],[-5.769,3.202],[-0.859,-0.051],[0,0],[0.355,-0.571],[2.954,-0.094],[8.865,-15.564],[-7.016,5.198],[-13.626,4.735],[13.853,-23.266],[0.938,0.042],[0,0]],"v":[[-9.612,-42.541],[-10.876,-41.725],[-30.09,-25.327],[-23.571,-12.982],[12.279,-46.7],[30.906,-24.259],[-0.367,19.331],[-16.064,22.39],[-16.675,20.55],[-7.644,6.022],[-6.097,5.028],[13.722,-9.399],[7.609,-28.263],[-28.808,7.025],[-39.581,-28.549],[-1.849,-55.567],[-1.329,-53.565]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0.544,0.019],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[1.917,-20.817],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.113],[-10.377,-2.688],[0.687,-0.933]],"o":[[-0.323,0.438],[-3.018,-0.107],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-2.09,22.122],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.121,0.29],[0,0]],"v":[[-24.485,-53.814],[-25.869,-53.152],[-45.975,-37.044],[-35.659,-20.902],[0.401,-53.86],[27.679,-23.867],[-1.663,22.092],[-20.509,22.552],[-21.614,20.219],[-13.689,4.584],[-12.031,3.702],[9.093,-9.53],[-1.278,-32.982],[-37.922,2.079],[-57.751,-42.826],[-17.157,-67.558],[-16.247,-65.008]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0.545,0.001],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[1.642,-21.824],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.473,-2.337],[0.655,-0.957]],"o":[[-0.308,0.45],[-3.023,-0.005],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-1.686,22.163],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.132,0.253],[0,0]],"v":[[-24.748,-53.656],[-26.11,-52.947],[-45.975,-37.044],[-35.659,-20.902],[0.564,-54.105],[27.557,-23.582],[-1.378,22.459],[-19.776,22.959],[-20.881,20.626],[-12.956,4.991],[-11.298,4.109],[9.663,-9.204],[-1.278,-32.982],[-37.922,2.079],[-57.955,-42.826],[-17.882,-67.653],[-16.886,-65.133]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0.542,0.057],[6.368,-14.585],[-6.059,4.295],[-15.685,1.074],[2.485,-18.74],[13.825,-5.906],[3.749,0.843],[-0.483,0.953],[0,0],[-0.682,-0.093],[-6.264,14.094],[7.382,-4.832],[17.718,-3.384],[-12.886,27.114],[-10.181,-3.411],[0.751,-0.884]],"o":[[-0.353,0.416],[-3.008,-0.318],[-7.517,17.215],[6.059,-4.295],[15.685,-1.074],[-2.923,22.038],[-6.286,2.685],[-1.042,-0.234],[0,0],[0.311,-0.614],[3.53,0.482],[7.517,-16.912],[-7.382,4.832],[-15.416,2.945],[11.958,-25.161],[1.1,0.369],[0,0]],"v":[[-23.943,-54.141],[-25.372,-53.576],[-45.975,-37.044],[-35.659,-20.902],[0.065,-53.357],[27.931,-24.454],[-2.25,21.337],[-22.02,21.713],[-23.125,19.38],[-15.2,3.745],[-13.542,2.863],[7.918,-10.201],[-1.278,-32.982],[-37.922,2.079],[-57.331,-42.826],[-15.66,-67.36],[-14.929,-64.749]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.32549020648,0.254901975393,0.113725490868,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[26.086,-34.364],[0,0],[-32.371,43.836],[-2.102,2.558]],"o":[[-30.591,32.58],[0,0],[24.601,-29.77],[1.992,-2.698],[0,0]],"v":[[107.058,-21.37],[26.7,85.733],[2.319,60.167],[79.16,-37.89],[85.308,-45.763]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-33.769,43.109],[-2.219,2.452]],"o":[[-33.423,29.018],[0,0],[23.56,-30.81],[2.077,-2.654],[0,0]],"v":[[108.735,-10.154],[36.689,101.287],[19.679,79.967],[83.071,-28.093],[89.523,-35.736]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-31.051,45.339],[-2.064,2.599]],"o":[[-31.029,31.953],[0,0],[23.56,-30.81],[1.909,-2.792],[0,0]],"v":[[107.731,-13.501],[36.689,101.287],[19.679,79.967],[82.825,-29.612],[88.794,-37.682]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.305882364511,0.337254911661,0.258823543787,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":30},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-100.999,-22.486],[29.937,64.309],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-99.26,-21.235],[30.354,64.448],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.921,-8.903]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-100.999,-22.486],[29.937,64.309],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-99.26,-21.235],[30.354,64.448],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.921,-8.903]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-100.999,-22.486],[29.937,64.309],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-77.997,-4.14],[15.599,46.096],[37.924,70.059],[26.7,85.733],[2.319,60.167],[-88.041,7.809]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-99.948,-21.73],[30.189,64.393],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.8,-8.805]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-99.439,-21.363],[30.311,64.433],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.89,-8.878]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-100.999,-22.486],[29.937,64.309],[47.017,84.717],[36.689,101.287],[19.679,79.967],[-108.615,-8.655]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.627451002598,0.0941176489,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-51.951,-102.254],[76.913,-19.464],[96.513,7.668],[110.806,-3.25],[91.026,-31.722],[-40.912,-114.835]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-56.197,-105.498],[77.428,-23.33],[96.215,-0.888],[107.379,-14.673],[88.539,-38.363],[-45.691,-119.083]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-51.951,-102.254],[76.913,-19.464],[96.513,7.668],[110.806,-3.25],[91.026,-31.722],[-40.912,-114.835]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-56.197,-105.498],[77.428,-23.33],[96.215,-0.888],[107.379,-14.673],[88.539,-38.363],[-45.691,-119.083]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-51.951,-102.254],[76.913,-19.464],[96.513,7.668],[110.806,-3.25],[91.026,-31.722],[-40.912,-114.835]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-29.02,-82.49],[73.633,-31.292],[95.518,-7.961],[107.059,-21.37],[85.308,-45.763],[-18.072,-95.633]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-54.517,-104.215],[77.224,-21.801],[96.333,2.496],[108.735,-10.154],[89.523,-35.736],[-43.8,-117.403]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-55.762,-105.166],[77.375,-22.934],[96.246,-0.011],[107.731,-13.501],[88.794,-37.682],[-45.201,-118.647]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-51.951,-102.254],[76.913,-19.464],[96.513,7.668],[110.806,-3.25],[91.026,-31.722],[-40.912,-114.835]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.627451002598,0.0941176489,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[46.489,-59.921]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[1.85,-2.84],[23.56,-30.81],[0,0],[0,0],[-1.53,1.94],[-29.27,38.49],[0,0]],"o":[[-2.01,2.65],[-30.1,46.12],[0,0],[0,0],[1.79,-1.9],[18.76,-23.78],[0,0],[0,0]],"v":[[88.539,-38.363],[82.739,-30.143],[19.679,79.967],[-39.261,39.237],[-108.921,-8.903],[-103.941,-14.673],[-45.691,-119.083],[48.989,-62.143]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[46.489,-59.921]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[1.85,-2.84],[23.56,-30.81],[0,0],[0,0],[-1.53,1.94],[-29.27,38.49],[0,0]],"o":[[-2.01,2.65],[-30.1,46.12],[0,0],[0,0],[1.79,-1.9],[18.76,-23.78],[0,0],[0,0]],"v":[[88.539,-38.363],[82.739,-30.143],[19.679,79.967],[-39.261,39.237],[-108.921,-8.903],[-103.941,-14.673],[-45.691,-119.083],[48.989,-62.143]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[46.489,-59.921]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[1.994,-2.697],[24.601,-29.77],[0,0],[0,0],[-1.589,1.881],[-30.593,37.167],[0,0]],"o":[[-2.102,2.558],[-32.399,43.821],[0,0],[0,0],[1.806,-1.884],[19.48,-23.06],[0,0],[0,0]],"v":[[85.308,-45.763],[79.16,-37.89],[2.319,60.167],[-35.287,39.042],[-88.041,7.809],[-82.947,2.153],[-18.072,-95.633],[54.847,-60.453]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[2.078,-2.653],[23.56,-30.81],[0,0],[0,0],[-1.422,2.014],[-29.893,37.995],[0,0]],"o":[[-2.219,2.452],[-33.781,43.096],[0,0],[0,0],[1.758,-1.929],[17.434,-24.689],[0,0],[0,0]],"v":[[89.523,-35.736],[83.071,-28.093],[19.679,79.967],[-39.261,39.237],[-108.8,-8.805],[-104.242,-14.808],[-43.8,-117.403],[48,-61.264]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[1.909,-2.791],[23.56,-30.81],[0,0],[0,0],[-1.502,1.959],[-29.432,38.362],[0,0]],"o":[[-2.064,2.599],[-31.054,45.336],[0,0],[0,0],[1.782,-1.908],[18.416,-24.016],[0,0],[0,0]],"v":[[88.794,-37.682],[82.825,-29.612],[19.679,79.967],[-39.261,39.237],[-108.89,-8.878],[-104.019,-14.708],[-45.201,-118.647],[48.733,-61.915]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[2.425,-2.368],[23.56,-30.81],[0,0],[0,0],[-1.257,2.127],[-30.846,37.239],[0,0]],"o":[[-2.538,2.15],[-39.405,38.475],[0,0],[0,0],[1.71,-1.972],[15.407,-26.078],[0,0],[0,0]],"v":[[91.026,-31.722],[83.578,-24.959],[19.679,79.967],[-39.261,39.237],[-108.615,-8.655],[-104.701,-15.014],[-40.912,-114.835],[46.489,-59.921]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.827450990677,0.800000011921,0.627451002598,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-30.1,46.12],[-2.01,2.65]],"o":[[-30.19,32.98],[0,0],[23.56,-30.81],[1.85,-2.84],[0,0]],"v":[[107.379,-14.673],[36.689,101.287],[19.679,79.967],[82.739,-30.143],[88.539,-38.363]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[26.086,-34.364],[0,0],[-32.371,43.836],[-2.102,2.558]],"o":[[-30.591,32.58],[0,0],[24.601,-29.77],[1.992,-2.698],[0,0]],"v":[[107.058,-21.37],[26.7,85.733],[2.319,60.167],[79.16,-37.89],[85.308,-45.763]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-33.769,43.109],[-2.219,2.452]],"o":[[-33.423,29.018],[0,0],[23.56,-30.81],[2.077,-2.654],[0,0]],"v":[[108.735,-10.154],[36.689,101.287],[19.679,79.967],[83.071,-28.093],[89.523,-35.736]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-31.051,45.339],[-2.064,2.599]],"o":[[-31.029,31.953],[0,0],[23.56,-30.81],[1.909,-2.792],[0,0]],"v":[[107.731,-13.501],[36.689,101.287],[19.679,79.967],[82.825,-29.612],[88.794,-37.682]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[24.42,-36.03],[0,0],[-39.374,38.507],[-2.538,2.15]],"o":[[-38.363,22.965],[0,0],[23.56,-30.81],[2.423,-2.37],[0,0]],"v":[[110.806,-3.25],[36.689,101.287],[19.679,79.967],[83.578,-24.959],[91.026,-31.722]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.772549033165,0.749019622803,0.584313750267,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-92.099,-12.651],[-60.171,-71.123],[49.347,-48.183],[52.576,-47.057],[0,0],[52.881,33.966],[-24.711,41.809]],"o":[[0,0],[0,0],[-53.862,52.591],[-43.935,39.323],[0,0],[0,0],[26.662,-45.11]],"v":[[59.599,-155.683],[196.328,-57.381],[83.581,-24.959],[-12.298,117.057],[-67.493,184.851],[-203.992,78.812],[-104.704,-15.018]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-124.2,37.125],[-60.171,-71.123],[37.694,-57.758],[52.816,-41.681],[0,0],[59.4,19.686],[-30.086,38.124]],"o":[[0,0],[0,0],[-41.143,63.042],[-46.286,36.527],[0,0],[0,0],[32.461,-41.134]],"v":[[59.599,-189.016],[193.828,-105.853],[82.742,-30.143],[-13.687,113.446],[-90.058,154.329],[-214.258,55.789],[-103.944,-14.678]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-92.099,-12.651],[-60.171,-71.123],[49.347,-48.183],[52.576,-47.057],[0,0],[52.881,33.966],[-24.711,41.809]],"o":[[0,0],[0,0],[-53.862,52.591],[-43.935,39.323],[0,0],[0,0],[26.662,-45.11]],"v":[[59.599,-155.683],[196.328,-57.381],[83.581,-24.959],[-12.298,117.057],[-67.493,184.851],[-203.992,78.812],[-104.704,-15.018]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[-124.2,37.125],[-60.171,-71.123],[37.694,-57.758],[52.816,-41.681],[0,0],[59.4,19.686],[-30.086,38.124]],"o":[[0,0],[0,0],[-41.143,63.042],[-46.286,36.527],[0,0],[0,0],[32.461,-41.134]],"v":[[59.599,-189.016],[193.828,-105.853],[82.742,-30.143],[-13.687,113.446],[-90.058,154.329],[-214.258,55.789],[-103.944,-14.678]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-92.099,-12.651],[-60.171,-71.123],[49.347,-48.183],[52.576,-47.057],[0,0],[52.881,33.966],[-24.711,41.809]],"o":[[0,0],[0,0],[-53.862,52.591],[-43.935,39.323],[0,0],[0,0],[26.662,-45.11]],"v":[[59.599,-155.683],[196.328,-57.381],[83.581,-24.959],[-12.298,117.057],[-67.493,184.851],[-203.992,78.812],[-104.704,-15.018]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[-111.703,49.622],[-41.328,-52.279],[40.574,-54.878],[51.218,-43.279],[0,0],[48.049,8.335],[-31.239,36.97]],"o":[[0,0],[0,0],[-44.286,59.899],[-44.885,37.927],[0,0],[0,0],[33.706,-39.89]],"v":[[82.143,-170.64],[185.171,-118.677],[79.163,-37.891],[-29.604,89.205],[-100.882,135.181],[-187.544,78.335],[-82.949,2.149]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-111.501,17.434],[-60.171,-71.123],[42.304,-53.97],[52.721,-43.807],[0,0],[56.821,25.335],[-27.959,39.581]],"o":[[0,0],[0,0],[-46.174,58.908],[-45.356,37.633],[0,0],[0,0],[30.167,-42.707]],"v":[[59.599,-175.83],[194.817,-86.678],[83.074,-28.093],[-13.137,114.875],[-81.132,166.403],[-210.197,64.897],[-104.245,-14.813]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-120.908,32.02],[-60.171,-71.123],[38.889,-56.776],[52.792,-42.232],[0,0],[58.731,21.15],[-29.534,38.502]],"o":[[0,0],[0,0],[-42.447,61.97],[-46.045,36.814],[0,0],[0,0],[31.867,-41.542]],"v":[[59.599,-185.597],[194.084,-100.882],[82.828,-29.612],[-13.544,113.816],[-87.744,157.46],[-213.205,58.15],[-104.022,-14.713]],"c":true}]},{"t":180,"s":[{"i":[[-92.099,-12.651],[-60.171,-71.123],[49.347,-48.183],[52.576,-47.057],[0,0],[52.881,33.966],[-24.711,41.809]],"o":[[0,0],[0,0],[-53.862,52.591],[-43.935,39.323],[0,0],[0,0],[26.662,-45.11]],"v":[[59.599,-155.683],[196.328,-57.381],[83.581,-24.959],[-12.298,117.057],[-67.493,184.851],[-203.992,78.812],[-104.704,-15.018]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.568627476692,0.588235318661,0.360784322023,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-116.708,0.987],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-117.819,-0.263],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.921,-8.903]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-116.708,0.987],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-117.819,-0.263],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.921,-8.903]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-116.708,0.987],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.615,-8.655]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-96.902,16.486],[2.961,75.106],[20.197,97.846],[26.7,85.733],[3.902,58.228],[-88.041,7.809]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-117.379,0.232],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.8,-8.805]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-117.705,-0.135],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.89,-8.878]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-116.708,0.987],[13.947,90.26],[31.315,114.529],[36.689,101.287],[21.19,77.956],[-108.615,-8.655]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.345098048449,0.360784322023,0.180392161012,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":40},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-160.905,42.761],[-40.239,141.881],[-17.694,121.3],[-140.922,24.274]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-170.627,34.983],[-49.405,137.714],[-19.916,118.245],[-146.339,20.802]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-160.905,42.761],[-40.239,141.881],[-17.694,121.3],[-140.922,24.274]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-170.627,34.983],[-49.405,137.714],[-19.916,118.245],[-146.339,20.802]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-160.905,42.761],[-40.239,141.881],[-17.694,121.3],[-140.922,24.274]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-22.989,-48.58],[0,0],[44.882,8.667]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-147.19,54.253],[-63.679,115.116],[-35.628,94.208],[-124.352,38.621]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-166.781,38.06],[-45.779,139.363],[-19.037,119.453],[-144.196,22.175]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-169.63,35.781],[-48.465,138.142],[-19.688,118.558],[-145.783,21.158]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[-37.396,-62.987],[0,0],[55.662,19.446]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-160.905,42.761],[-40.239,141.881],[-17.694,121.3],[-140.922,24.274]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,0.850980401039,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":25},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.025,-135.28],[106.881,-58.476],[135.478,-70.636],[10.875,-147.825]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-24.636,-142.503],[106.881,-58.476],[134.089,-79.247],[-3.57,-159.492]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.025,-135.28],[106.881,-58.476],[135.478,-70.636],[10.875,-147.825]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-24.636,-142.503],[106.881,-58.476],[134.089,-79.247],[-3.57,-159.492]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.025,-135.28],[106.881,-58.476],[135.478,-70.636],[10.875,-147.825]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-36.863,-39.061],[0,0],[60.124,0.16]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.322,-118.713],[103.904,-65.621],[130.188,-87.316],[23.803,-136.287]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-21.229,-139.646],[106.881,-58.476],[134.638,-75.841],[2.144,-154.877]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-23.753,-141.762],[106.881,-58.476],[134.231,-78.364],[-2.089,-158.295]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[-52.146,-54.345],[0,0],[72.26,12.295]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.025,-135.28],[106.881,-58.476],[135.478,-70.636],[10.875,-147.825]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,0.850980401039,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":25},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[35.806,-31.377],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.02],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-23.037,-0.782],[27.847,-39.799],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.207,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[89.149,-30.102],[169.47,-72.213],[57.599,-152.68],[57.599,-152.68],[59.629,-155.67],[57.599,-152.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-49.24,-58.2],[0.92,-0.26],[0.11,-0.03],[0.53,-0.16],[0.15,-0.04],[0.689,-0.21],[0.36,-0.12],[2.58,-0.91],[28.13,-38.41],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.09,0.02],[-0.4,0.11],[-0.13,0.03],[-0.58,0.17],[-0.33,0.1],[-1.9,0.59],[-21.74,7.66],[18.53,-44.9],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[193.829,-105.853],[192.409,-105.473],[192.109,-105.393],[190.699,-104.993],[190.279,-104.873],[188.379,-104.303],[187.349,-103.983],[180.599,-101.733],[87.059,-36.373],[171.97,-111.102],[57.599,-186.013],[57.599,-186.013],[59.629,-189.003],[57.599,-186.013],[66.399,-187.543]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[35.806,-31.377],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.02],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-23.037,-0.782],[27.847,-39.799],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.207,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[89.149,-30.102],[169.47,-72.213],[57.599,-152.68],[57.599,-152.68],[59.629,-155.67],[57.599,-152.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[-49.24,-58.2],[0.92,-0.26],[0.11,-0.03],[0.53,-0.16],[0.15,-0.04],[0.689,-0.21],[0.36,-0.12],[2.58,-0.91],[28.13,-38.41],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.09,0.02],[-0.4,0.11],[-0.13,0.03],[-0.58,0.17],[-0.33,0.1],[-1.9,0.59],[-21.74,7.66],[18.53,-44.9],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[193.829,-105.853],[192.409,-105.473],[192.109,-105.393],[190.699,-104.993],[190.279,-104.873],[188.379,-104.303],[187.349,-103.983],[180.599,-101.733],[87.059,-36.373],[171.97,-111.102],[57.599,-186.013],[57.599,-186.013],[59.629,-189.003],[57.599,-186.013],[66.399,-187.543]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[35.806,-31.377],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.02],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-23.037,-0.782],[27.847,-39.799],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.207,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[89.149,-30.102],[169.47,-72.213],[57.599,-152.68],[57.599,-152.68],[59.629,-155.67],[57.599,-152.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[-33.82,-42.78],[0.825,-0.355],[0.099,-0.041],[0.477,-0.213],[0.134,-0.056],[0.621,-0.279],[0.326,-0.148],[2.341,-1.149],[29.605,-36.934],[0,0],[0.932,0.402],[0,0],[0,0],[0,0],[-2.906,-0.241]],"o":[[0,0],[-0.08,0.03],[-0.358,0.152],[-0.116,0.044],[-0.521,0.229],[-0.297,0.133],[-1.712,0.778],[-19.719,9.681],[22.315,-41.115],[-17.339,-32.105],[-1.461,1.942],[0,0],[0,0],[0.607,0.007],[16.125,1.335]],"v":[[185.172,-118.678],[183.902,-118.148],[183.633,-118.037],[182.368,-117.492],[181.992,-117.329],[180.282,-116.568],[179.354,-116.146],[173.25,-113.25],[83.754,-43.846],[167.204,-120.036],[79.999,-167.781],[79.999,-167.781],[82.167,-170.633],[79.999,-167.781],[87.756,-170.354]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-49.24,-58.2],[0.932,-0.12],[0.112,-0.013],[0.538,-0.079],[0.152,-0.017],[0.701,-0.105],[0.367,-0.062],[2.641,-0.513],[31.167,-35.628],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.091,0.006],[-0.405,0.05],[-0.131,0.01],[-0.589,0.082],[-0.336,0.05],[-1.933,0.3],[-22.253,4.321],[22.216,-42.882],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[194.818,-86.678],[193.596,-86.719],[193.292,-86.685],[191.863,-86.499],[191.437,-86.443],[189.507,-86.162],[188.458,-85.999],[181.568,-84.782],[87.886,-33.892],[170.982,-95.718],[57.599,-172.827],[57.599,-172.827],[59.629,-175.817],[57.599,-172.827],[66.399,-174.357]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-49.24,-58.2],[0.923,-0.224],[0.111,-0.025],[0.532,-0.139],[0.15,-0.034],[0.692,-0.183],[0.362,-0.105],[2.596,-0.807],[28.917,-37.689],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.09,0.017],[-0.401,0.094],[-0.131,0.025],[-0.582,0.147],[-0.331,0.087],[-1.909,0.515],[-21.873,6.794],[19.486,-44.377],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[194.085,-100.882],[192.717,-100.611],[192.416,-100.543],[191.001,-100.198],[190.579,-100.095],[188.672,-99.6],[187.637,-99.32],[180.85,-97.338],[87.273,-35.73],[171.714,-107.113],[57.599,-182.594],[57.599,-182.594],[59.629,-185.584],[57.599,-182.594],[66.399,-184.124]],"c":true}]},{"t":180,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[35.806,-31.377],[0,0],[1.2,0.67],[0,0],[0,0],[0,0],[-3.54,-0.87]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.02],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-23.037,-0.782],[27.847,-39.799],[-27.292,-42.058],[-1.364,2.039],[0,0],[0,0],[0.73,0.13],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.207,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[89.149,-30.102],[169.47,-72.213],[57.599,-152.68],[57.599,-152.68],[59.629,-155.67],[57.599,-152.68],[66.399,-154.21]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,0.850980401039,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-0.067,-4.918],[6.926,0.224],[0.067,4.918],[-6.926,-0.224]],"o":[[0.067,4.918],[-6.926,-0.224],[-0.067,-4.918],[6.926,0.224]],"v":[[-82.41,59.934],[-94.83,68.432],[-107.49,59.122],[-95.071,50.624]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,-4.355],[7.242,0],[0,4.355],[-7.242,0]],"o":[[0,4.355],[-7.242,0],[0,-4.355],[7.242,0]],"v":[[-83.918,48.865],[-97.031,56.751],[-110.145,48.865],[-97.031,40.979]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-0.067,-4.918],[6.926,0.224],[0.067,4.918],[-6.926,-0.224]],"o":[[0.067,4.918],[-6.926,-0.224],[-0.067,-4.918],[6.926,0.224]],"v":[[-82.41,59.934],[-94.83,68.432],[-107.49,59.122],[-95.071,50.624]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,-4.355],[7.242,0],[0,4.355],[-7.242,0]],"o":[[0,4.355],[-7.242,0],[0,-4.355],[7.242,0]],"v":[[-83.918,48.865],[-97.031,56.751],[-110.145,48.865],[-97.031,40.979]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-0.067,-4.918],[6.926,0.224],[0.067,4.918],[-6.926,-0.224]],"o":[[0.067,4.918],[-6.926,-0.224],[-0.067,-4.918],[6.926,0.224]],"v":[[-82.41,59.934],[-94.83,68.432],[-107.49,59.122],[-95.071,50.624]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0.625,-3.73],[6.203,-1.039],[-0.625,3.73],[-6.203,1.039]],"o":[[-0.625,3.73],[-6.203,1.039],[0.625,-3.73],[6.203,-1.039]],"v":[[-74.917,53.698],[-87.28,62.334],[-97.38,57.462],[-85.016,48.826]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-0.026,-4.578],[7.117,0.089],[0.026,4.578],[-7.117,-0.089]],"o":[[0.026,4.578],[-7.117,-0.089],[-0.026,-4.578],[7.117,0.089]],"v":[[-83.321,53.244],[-96.16,61.372],[-109.095,52.923],[-96.256,44.795]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-0.007,-4.413],[7.21,0.023],[0.007,4.413],[-7.21,-0.023]],"o":[[0.007,4.413],[-7.21,-0.023],[-0.007,-4.413],[7.21,0.023]],"v":[[-83.763,50.001],[-96.805,57.949],[-109.872,49.917],[-96.83,41.969]],"c":true}]},{"t":180,"s":[{"i":[[-0.067,-4.918],[6.926,0.224],[0.067,4.918],[-6.926,-0.224]],"o":[[0.067,4.918],[-6.926,-0.224],[-0.067,-4.918],[6.926,0.224]],"v":[[-82.41,59.934],[-94.83,68.432],[-107.49,59.122],[-95.071,50.624]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.458823531866,0.388235300779,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-0.102,-7.511],[10.579,0.342],[0.102,7.511],[-10.579,-0.343]],"o":[[0.102,7.511],[-10.579,-0.342],[-0.102,-7.511],[10.579,0.342]],"v":[[-75.796,60.148],[-94.766,73.129],[-114.105,58.908],[-95.135,45.928]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,-6.653],[11.062,0],[0,6.653],[-11.062,0]],"o":[[0,6.653],[-11.062,0],[0,-6.653],[11.062,0]],"v":[[-77.001,48.865],[-97.031,60.911],[-117.061,48.865],[-97.031,36.82]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-0.102,-7.511],[10.579,0.342],[0.102,7.511],[-10.579,-0.343]],"o":[[0.102,7.511],[-10.579,-0.342],[-0.102,-7.511],[10.579,0.342]],"v":[[-75.796,60.148],[-94.766,73.129],[-114.105,58.908],[-95.135,45.928]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,-6.653],[11.062,0],[0,6.653],[-11.062,0]],"o":[[0,6.653],[-11.062,0],[0,-6.653],[11.062,0]],"v":[[-77.001,48.865],[-97.031,60.911],[-117.061,48.865],[-97.031,36.82]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-0.102,-7.511],[10.579,0.342],[0.102,7.511],[-10.579,-0.343]],"o":[[0.102,7.511],[-10.579,-0.342],[-0.102,-7.511],[10.579,0.342]],"v":[[-75.796,60.148],[-94.766,73.129],[-114.105,58.908],[-95.135,45.928]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0.955,-5.698],[9.475,-1.588],[-0.955,5.698],[-9.475,1.588]],"o":[[-0.955,5.698],[-9.475,1.588],[0.955,-5.698],[9.475,-1.588]],"v":[[-68.993,52.705],[-87.877,65.897],[-103.304,58.455],[-84.419,45.263]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-0.04,-6.992],[10.871,0.135],[0.04,6.992],[-10.871,-0.135]],"o":[[0.04,6.992],[-10.871,-0.135],[-0.04,-6.992],[10.871,0.135]],"v":[[-76.524,53.329],[-96.135,65.744],[-115.892,52.838],[-96.281,40.423]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-0.01,-6.741],[11.013,0.035],[0.01,6.741],[-11.013,-0.035]],"o":[[0.01,6.741],[-11.013,-0.035],[-0.01,-6.741],[11.013,0.035]],"v":[[-76.877,50.023],[-96.799,62.164],[-116.758,49.895],[-96.837,37.754]],"c":true}]},{"t":180,"s":[{"i":[[-0.102,-7.511],[10.579,0.342],[0.102,7.511],[-10.579,-0.343]],"o":[[0.102,7.511],[-10.579,-0.342],[-0.102,-7.511],[10.579,0.342]],"v":[[-75.796,60.148],[-94.766,73.129],[-114.105,58.908],[-95.135,45.928]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.419607847929,0.46274510026,0.380392163992,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0.421,-3.108],[7.059,0.956],[-0.421,3.108],[-7.059,-0.956]],"o":[[-0.421,3.108],[-7.059,-0.956],[0.421,-3.108],[7.059,0.956]],"v":[[79.508,-101.313],[65.965,-97.417],[53.946,-104.776],[67.489,-108.672]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,-4.355],[7.242,0],[0,4.355],[-7.242,0]],"o":[[0,4.355],[-7.242,0],[0,-4.355],[7.242,0]],"v":[[71.911,-113.828],[58.798,-105.942],[45.684,-113.828],[58.798,-121.714]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0.421,-3.108],[7.059,0.956],[-0.421,3.108],[-7.059,-0.956]],"o":[[-0.421,3.108],[-7.059,-0.956],[0.421,-3.108],[7.059,0.956]],"v":[[79.508,-101.313],[65.965,-97.417],[53.946,-104.776],[67.489,-108.672]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,-4.355],[7.242,0],[0,4.355],[-7.242,0]],"o":[[0,4.355],[-7.242,0],[0,-4.355],[7.242,0]],"v":[[71.911,-113.828],[58.798,-105.942],[45.684,-113.828],[58.798,-121.714]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0.421,-3.108],[7.059,0.956],[-0.421,3.108],[-7.059,-0.956]],"o":[[-0.421,3.108],[-7.059,-0.956],[0.421,-3.108],[7.059,0.956]],"v":[[79.508,-101.313],[65.965,-97.417],[53.946,-104.776],[67.489,-108.672]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0.625,-3.73],[6.203,-1.039],[-0.625,3.73],[-6.203,1.039]],"o":[[-0.625,3.73],[-6.203,1.039],[0.625,-3.73],[6.203,-1.039]],"v":[[81.897,-108.01],[69.534,-99.374],[59.434,-104.246],[71.797,-112.882]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0.167,-3.862],[7.17,0.378],[-0.167,3.862],[-7.17,-0.378]],"o":[[-0.167,3.862],[-7.17,-0.378],[0.167,-3.862],[7.17,0.378]],"v":[[74.916,-108.877],[61.633,-102.569],[48.952,-110.247],[62.236,-116.555]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0.043,-4.227],[7.224,0.098],[-0.043,4.227],[-7.224,-0.098]],"o":[[-0.043,4.227],[-7.224,-0.098],[0.043,-4.227],[7.224,0.098]],"v":[[72.69,-112.544],[59.533,-105.067],[46.531,-112.899],[59.689,-120.376]],"c":true}]},{"t":180,"s":[{"i":[[0.421,-3.108],[7.059,0.956],[-0.421,3.108],[-7.059,-0.956]],"o":[[-0.421,3.108],[-7.059,-0.956],[0.421,-3.108],[7.059,0.956]],"v":[[79.508,-101.313],[65.965,-97.417],[53.946,-104.776],[67.489,-108.672]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.568627476692,0.690196096897,0.509803950787,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0.643,-4.747],[10.782,1.461],[-0.643,4.747],[-10.782,-1.461]],"o":[[-0.643,4.747],[-10.782,-1.461],[0.643,-4.747],[10.782,1.461]],"v":[[86.249,-100.4],[65.563,-94.449],[47.205,-105.69],[67.892,-111.641]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,-6.653],[11.062,0],[0,6.653],[-11.062,0]],"o":[[0,6.653],[-11.062,0],[0,-6.653],[11.062,0]],"v":[[78.828,-113.828],[58.798,-101.782],[38.768,-113.828],[58.798,-125.873]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0.643,-4.747],[10.782,1.461],[-0.643,4.747],[-10.782,-1.461]],"o":[[-0.643,4.747],[-10.782,-1.461],[0.643,-4.747],[10.782,1.461]],"v":[[86.249,-100.4],[65.563,-94.449],[47.205,-105.69],[67.892,-111.641]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,-6.653],[11.062,0],[0,6.653],[-11.062,0]],"o":[[0,6.653],[-11.062,0],[0,-6.653],[11.062,0]],"v":[[78.828,-113.828],[58.798,-101.782],[38.768,-113.828],[58.798,-125.873]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0.643,-4.747],[10.782,1.461],[-0.643,4.747],[-10.782,-1.461]],"o":[[-0.643,4.747],[-10.782,-1.461],[0.643,-4.747],[10.782,1.461]],"v":[[86.249,-100.4],[65.563,-94.449],[47.205,-105.69],[67.892,-111.641]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0.955,-5.698],[9.475,-1.588],[-0.955,5.698],[-9.475,1.588]],"o":[[-0.955,5.698],[-9.475,1.588],[0.955,-5.698],[9.475,-1.588]],"v":[[87.821,-109.002],[68.937,-95.811],[53.51,-103.253],[72.394,-116.444]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0.254,-5.899],[10.951,0.578],[-0.254,5.899],[-10.951,-0.578]],"o":[[-0.254,5.899],[-10.951,-0.578],[0.254,-5.899],[10.951,0.578]],"v":[[81.764,-108.516],[61.474,-98.881],[42.105,-110.608],[62.395,-120.243]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0.066,-6.457],[11.034,0.15],[-0.066,6.457],[-11.034,-0.15]],"o":[[-0.066,6.457],[-11.034,-0.15],[0.066,-6.457],[11.034,0.15]],"v":[[79.589,-112.451],[59.491,-101.03],[39.633,-112.993],[59.73,-124.413]],"c":true}]},{"t":180,"s":[{"i":[[0.643,-4.747],[10.782,1.461],[-0.643,4.747],[-10.782,-1.461]],"o":[[-0.643,4.747],[-10.782,-1.461],[0.643,-4.747],[10.782,1.461]],"v":[[86.249,-100.4],[65.563,-94.449],[47.205,-105.69],[67.892,-111.641]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.568627476692,0.690196096897,0.509803950787,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[20.496,-15.556]],"o":[[0,0],[0,0]],"v":[[-43.294,53.31],[-90.218,95.556]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[26.229,-9.257]],"o":[[0,0],[0,0]],"v":[[-49.405,48.865],[-94.662,79.723]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[20.496,-15.556]],"o":[[0,0],[0,0]],"v":[[-43.294,53.31],[-90.218,95.556]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[26.229,-9.257]],"o":[[0,0],[0,0]],"v":[[-49.405,48.865],[-94.662,79.723]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[20.496,-15.556]],"o":[[0,0],[0,0]],"v":[[-43.294,53.31],[-90.218,95.556]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[23.793,-11.693]],"o":[[0,0],[0,0]],"v":[[-45.358,48.745],[-88.548,81.669]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[23.961,-11.749]],"o":[[0,0],[0,0]],"v":[[-46.988,50.624],[-92.904,85.986]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[25.641,-9.903]],"o":[[0,0],[0,0]],"v":[[-48.779,49.321],[-94.207,81.346]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[20.496,-15.556]],"o":[[0,0],[0,0]],"v":[[-43.294,53.31],[-90.218,95.556]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.427450984716,0.447058826685,0.40000000596,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[22.776,-17.165]],"o":[[0,0],[0,0]],"v":[[-32.518,64.086],[-77.776,105.221]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[26.229,-9.257]],"o":[[0,0],[0,0]],"v":[[-38.63,59.641],[-83.887,90.498]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[22.776,-17.165]],"o":[[0,0],[0,0]],"v":[[-32.518,64.086],[-77.776,105.221]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[26.229,-9.257]],"o":[[0,0],[0,0]],"v":[[-38.63,59.641],[-83.887,90.498]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[22.776,-17.165]],"o":[[0,0],[0,0]],"v":[[-32.518,64.086],[-77.776,105.221]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[23.793,-11.693]],"o":[[0,0],[0,0]],"v":[[-37.675,56.427],[-80.866,89.351]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[24.863,-12.385]],"o":[[0,0],[0,0]],"v":[[-36.212,61.399],[-81.469,96.322]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[25.874,-10.068]],"o":[[0,0],[0,0]],"v":[[-38.003,60.097],[-83.26,92.008]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[22.776,-17.165]],"o":[[0,0],[0,0]],"v":[[-32.518,64.086],[-77.776,105.221]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.427450984716,0.447058826685,0.40000000596,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[4.442,-110.598],[50.732,-127.104]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[0.136,-115.32],[43.986,-149.949]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[4.442,-110.598],[50.732,-127.104]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[0.136,-115.32],[43.986,-149.949]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[4.442,-110.598],[50.732,-127.104]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-26.786,12.765]],"o":[[0,0],[0,0]],"v":[[20.637,-98.987],[63.164,-134.939]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-30.242,6.488]],"o":[[0,0],[0,0]],"v":[[1.839,-113.452],[46.655,-140.912]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-29.773,9.047]],"o":[[0,0],[0,0]],"v":[[0.578,-114.836],[44.678,-147.606]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[4.442,-110.598],[50.732,-127.104]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.427450984716,0.447058826685,0.40000000596,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[18.253,-103.131],[59.384,-117.997]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[13.947,-107.853],[57.798,-142.482]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[18.253,-103.131],[59.384,-117.997]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[13.947,-107.853],[57.798,-142.482]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[18.253,-103.131],[59.384,-117.997]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-26.786,12.765]],"o":[[0,0],[0,0]],"v":[[31.395,-94.574],[73.922,-130.526]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-30.242,6.488]],"o":[[0,0],[0,0]],"v":[[15.651,-105.985],[58.425,-132.796]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-29.773,9.047]],"o":[[0,0],[0,0]],"v":[[14.389,-107.369],[57.96,-139.971]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-31.21,1.21]],"o":[[0,0],[0,0]],"v":[[18.253,-103.131],[59.384,-117.997]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.427450984716,0.447058826685,0.40000000596,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-31.23,0.456]],"o":[[0,0],[0,0]],"v":[[70.793,-78.131],[113.928,-90.448]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[64.96,-77.853],[108.81,-112.482]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-31.23,0.456]],"o":[[0,0],[0,0]],"v":[[70.793,-78.131],[113.928,-90.448]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-29.609,9.943]],"o":[[0,0],[0,0]],"v":[[64.96,-77.853],[108.81,-112.482]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-31.23,0.456]],"o":[[0,0],[0,0]],"v":[[70.793,-78.131],[113.928,-90.448]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-26.786,12.765]],"o":[[0,0],[0,0]],"v":[[70.78,-76.201],[113.307,-112.153]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-30.25,6.19]],"o":[[0,0],[0,0]],"v":[[67.267,-77.963],[110.835,-103.766]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-29.775,8.97]],"o":[[0,0],[0,0]],"v":[[65.558,-77.882],[109.335,-110.222]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-31.23,0.456]],"o":[[0,0],[0,0]],"v":[[70.793,-78.131],[113.928,-90.448]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.427450984716,0.447058826685,0.40000000596,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-77.995,17.26],[-21.907,3.077],[30.802,16.903],[15.833,11.954],[27.386,-62.2],[32.736,-24.147],[12.671,-10.701],[-23.663,-17.029],[-13.772,-12.456],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[128.428,-84.946],[131.855,-102.326],[82.716,-130.929],[53.918,-136.262],[-37.601,-81.816],[-143.784,56.667],[-144.377,76.462],[-87.355,122.254],[-58.172,122.178],[3.97,51.848]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-69.549,39.543],[-20.057,9.412],[34.286,7.886],[18.514,7.2],[27.386,-62.2],[36.569,-17.817],[14.4,-8.229],[-22.223,-22.573],[-15.429,-19.543],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[122.856,-104.93],[128.256,-131.004],[68.828,-161.844],[39.628,-159.13],[-37.601,-81.816],[-139.889,44.91],[-144.058,64.27],[-94.687,105.413],[-61.23,111.098],[3.97,51.848]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-77.995,17.26],[-21.907,3.077],[30.802,16.903],[15.833,11.954],[27.386,-62.2],[32.736,-24.147],[12.671,-10.701],[-23.663,-17.029],[-13.772,-12.456],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[128.428,-84.946],[131.855,-102.326],[82.716,-130.929],[53.918,-136.262],[-37.601,-81.816],[-143.784,56.667],[-144.377,76.462],[-87.355,122.254],[-58.172,122.178],[3.97,51.848]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[-69.549,39.543],[-20.057,9.412],[34.286,7.886],[18.514,7.2],[27.386,-62.2],[36.569,-17.817],[14.4,-8.229],[-22.223,-22.573],[-15.429,-19.543],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[122.856,-104.93],[128.256,-131.004],[68.828,-161.844],[39.628,-159.13],[-37.601,-81.816],[-139.889,44.91],[-144.058,64.27],[-94.687,105.413],[-61.23,111.098],[3.97,51.848]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-77.995,17.26],[-21.907,3.077],[30.802,16.903],[15.833,11.954],[27.386,-62.2],[32.736,-24.147],[12.671,-10.701],[-23.663,-17.029],[-13.772,-12.456],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[128.428,-84.946],[131.855,-102.326],[82.716,-130.929],[53.918,-136.262],[-37.601,-81.816],[-143.784,56.667],[-144.377,76.462],[-87.355,122.254],[-58.172,122.178],[3.97,51.848]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[-65.243,43.85],[-18.529,10.94],[28.233,1.833],[14.824,3.509],[32.382,-57.203],[33.878,-20.508],[13.514,-9.114],[-15.794,-16.144],[-10.409,-14.524],[-22.428,32.079]],"o":[[0,0],[0,0],[0,0],[0,0],[-26.988,47.675],[0,0],[0,0],[0,0],[0,0],[28.879,-41.305]],"v":[[124.253,-107.701],[132.621,-130.808],[86.147,-148.693],[60.749,-142.177],[-16.492,-64.875],[-122.287,58.343],[-128.637,75.523],[-97.826,93.949],[-69.987,94.017],[-0.071,43.639]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-72.89,30.728],[-20.789,6.906],[32.908,11.453],[17.454,9.081],[27.386,-62.2],[35.053,-20.321],[13.716,-9.207],[-22.793,-20.38],[-14.773,-16.739],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[125.06,-97.025],[129.68,-119.66],[74.322,-149.615],[45.281,-150.084],[-37.601,-81.816],[-141.43,49.561],[-144.184,69.093],[-91.786,112.075],[-60.02,115.481],[3.97,51.848]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-70.415,37.258],[-20.247,8.762],[33.928,8.811],[18.239,7.688],[27.386,-62.2],[36.176,-18.466],[14.223,-8.482],[-22.371,-22.005],[-15.259,-18.816],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[123.428,-102.881],[128.625,-128.063],[70.252,-158.674],[41.093,-156.785],[-37.601,-81.816],[-140.288,46.116],[-144.091,65.52],[-93.935,107.14],[-60.916,112.235],[3.97,51.848]],"c":true}]},{"t":180,"s":[{"i":[[-77.995,17.26],[-21.907,3.077],[30.802,16.903],[15.833,11.954],[27.386,-62.2],[32.736,-24.147],[12.671,-10.701],[-23.663,-17.029],[-13.772,-12.456],[-20.486,34.022]],"o":[[0,0],[0,0],[0,0],[0,0],[-22.824,51.839],[0,0],[0,0],[0,0],[0,0],[26.378,-43.807]],"v":[[128.428,-84.946],[131.855,-102.326],[82.716,-130.929],[53.918,-136.262],[-37.601,-81.816],[-143.784,56.667],[-144.377,76.462],[-87.355,122.254],[-58.172,122.178],[3.97,51.848]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.878431379795,0.890196084976,0.709803938866,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[28.458,15.986],[-37.029,90.857],[0,0],[-48.638,-50.227],[31.484,-69.603],[88.218,-92.819]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-35.052,77.489],[0,0]],"v":[[-180.403,73.458],[-60.401,-63.102],[61.45,-143.891],[164.9,-77.156],[55.297,-12.702],[-69.884,155.041]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[31.371,10.538],[-37.029,90.857],[0,0],[-48.638,-50.227],[39.559,-83.657],[54.259,-15.903]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-40.531,85.713],[0,0]],"v":[[-178.944,54.789],[-60.401,-63.102],[59.57,-174.502],[166.78,-112.332],[55.297,-12.702],[-83.315,131.584]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[28.458,15.986],[-37.029,90.857],[0,0],[-48.638,-50.227],[26.609,-62.237],[88.218,-92.819]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-33.434,78.2],[0,0]],"v":[[-180.403,73.458],[-60.401,-63.102],[61.45,-143.891],[164.9,-77.156],[55.297,-12.702],[-69.884,155.041]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[31.371,10.538],[-37.029,90.857],[0,0],[-48.638,-50.227],[39.559,-83.657],[54.259,-15.903]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-40.531,85.713],[0,0]],"v":[[-178.944,54.789],[-60.401,-63.102],[59.57,-174.502],[166.78,-112.332],[55.297,-12.702],[-83.315,131.584]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[28.458,15.986],[-37.029,90.857],[0,0],[-48.638,-50.227],[32.295,-69.567],[88.218,-92.819]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-35.811,77.141],[0,0]],"v":[[-180.403,73.458],[-60.401,-63.102],[61.45,-143.891],[164.9,-77.156],[55.297,-12.702],[-69.884,155.041]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[25.357,4.523],[-44.754,83.132],[0,0],[-34.449,-36.038],[45.888,-77.328],[48.754,-21.408]],"o":[[0,0],[48.655,-90.378],[0,0],[0,0],[-47.016,79.228],[0,0]],"v":[[-157.155,72.41],[-38.706,-45.574],[80.035,-158.205],[162.935,-120.344],[53.154,-19.013],[-91.843,114.732]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[30.219,12.693],[-37.029,90.857],[0,0],[-48.638,-50.227],[37.668,-84.486],[67.693,-46.33]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-37.142,82.983],[0,0]],"v":[[-179.521,62.174],[-60.401,-63.102],[60.314,-162.392],[166.036,-98.417],[55.297,-12.702],[-78.002,140.863]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[31.073,11.097],[-37.029,90.857],[0,0],[-48.638,-50.227],[39.069,-83.872],[57.742,-23.792]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-39.652,85.005],[0,0]],"v":[[-179.093,56.704],[-60.401,-63.102],[59.763,-171.362],[166.587,-108.724],[55.297,-12.702],[-81.938,133.99]],"c":true}]},{"t":180,"s":[{"i":[[28.458,15.986],[-37.029,90.857],[0,0],[-48.638,-50.227],[31.484,-69.603],[88.218,-92.819]],"o":[[0,0],[40.256,-98.777],[0,0],[0,0],[-35.052,77.489],[0,0]],"v":[[-180.403,73.458],[-60.401,-63.102],[61.45,-143.891],[164.9,-77.156],[55.297,-12.702],[-69.884,155.041]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.458823531866,0.388235300779,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[36.38,-35.523],[52.82,-41.68],[0,0],[51.773,29.523],[-24.711,41.808],[-32.16,39.74],[0,0],[-39.806,6.806],[-1.781,0.267],[-0.824,0.112],[-1.965,0.239],[-1.793,0.183],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.019],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-24.244,-0.824],[-53.859,52.59],[-46.28,36.53],[0,0],[0,0],[16.049,-27.153],[0,0],[18.11,-22.37],[1.735,-0.297],[0.801,-0.121],[1.912,-0.26],[1.748,-0.213],[0.989,-0.093],[0,0],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.206,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[83.578,-24.959],[-12.302,117.058],[-67.497,184.85],[-203.995,78.811],[-104.701,-15.014],[-37.526,-118.555],[-36.405,-117.732],[36.594,-155.592],[42.836,-156.171],[45.964,-156.817],[51.228,-156.589],[56.545,-156.069],[59.599,-155.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-49.24,-58.2],[0.92,-0.26],[0.11,-0.03],[0.53,-0.16],[0.15,-0.04],[0.689,-0.21],[0.36,-0.12],[2.58,-0.91],[27.79,-42.58],[52.82,-41.68],[0,0],[59.4,19.69],[-30.09,38.12],[-32.16,39.74],[0,0],[-37.57,14.81],[-1.69,0.62],[-0.78,0.29],[-1.88,0.62],[-1.72,0.54],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.09,0.02],[-0.4,0.11],[-0.13,0.03],[-0.58,0.17],[-0.33,0.1],[-1.9,0.59],[-22.88,8.06],[-41.14,63.04],[-46.28,36.53],[0,0],[0,0],[19.54,-24.76],[0,0],[18.11,-22.37],[1.64,-0.64],[0.76,-0.28],[1.82,-0.64],[1.67,-0.56],[0.95,-0.29],[0,0],[19.64,4.85]],"v":[[193.829,-105.853],[192.409,-105.473],[192.109,-105.393],[190.699,-104.993],[190.279,-104.873],[188.379,-104.303],[187.349,-103.983],[180.599,-101.733],[82.739,-30.143],[-13.691,113.447],[-90.061,154.327],[-214.261,55.787],[-103.941,-14.673],[-41.971,-123.833],[-41.961,-123.843],[38.769,-181.833],[43.759,-183.733],[46.069,-184.583],[51.619,-186.483],[56.709,-188.133],[59.599,-189.013],[66.399,-187.543]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[36.38,-35.523],[52.82,-41.68],[0,0],[51.773,29.523],[-24.711,41.808],[-32.16,39.74],[0,0],[-39.806,6.806],[-1.781,0.267],[-0.824,0.112],[-1.965,0.239],[-1.793,0.183],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.019],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-24.244,-0.824],[-53.859,52.59],[-46.28,36.53],[0,0],[0,0],[16.049,-27.153],[0,0],[18.11,-22.37],[1.735,-0.297],[0.801,-0.121],[1.912,-0.26],[1.748,-0.213],[0.989,-0.093],[0,0],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.206,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[83.578,-24.959],[-12.302,117.058],[-67.497,184.85],[-203.995,78.811],[-104.701,-15.014],[-37.526,-118.555],[-36.405,-117.732],[36.594,-155.592],[42.836,-156.171],[45.964,-156.817],[51.228,-156.589],[56.545,-156.069],[59.599,-155.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[-49.24,-58.2],[0.92,-0.26],[0.11,-0.03],[0.53,-0.16],[0.15,-0.04],[0.689,-0.21],[0.36,-0.12],[2.58,-0.91],[27.79,-42.58],[52.82,-41.68],[0,0],[59.4,19.69],[-30.09,38.12],[-32.16,39.74],[0,0],[-37.57,14.81],[-1.69,0.62],[-0.78,0.29],[-1.88,0.62],[-1.72,0.54],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.09,0.02],[-0.4,0.11],[-0.13,0.03],[-0.58,0.17],[-0.33,0.1],[-1.9,0.59],[-22.88,8.06],[-41.14,63.04],[-46.28,36.53],[0,0],[0,0],[19.54,-24.76],[0,0],[18.11,-22.37],[1.64,-0.64],[0.76,-0.28],[1.82,-0.64],[1.67,-0.56],[0.95,-0.29],[0,0],[19.64,4.85]],"v":[[193.829,-105.853],[192.409,-105.473],[192.109,-105.393],[190.699,-104.993],[190.279,-104.873],[188.379,-104.303],[187.349,-103.983],[180.599,-101.733],[82.739,-30.143],[-13.691,113.447],[-90.061,154.327],[-214.261,55.787],[-103.941,-14.673],[-41.971,-123.833],[-41.961,-123.843],[38.769,-181.833],[43.759,-183.733],[46.069,-184.583],[51.619,-186.483],[56.709,-188.133],[59.599,-189.013],[66.399,-187.543]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[36.38,-35.523],[52.82,-41.68],[0,0],[51.773,29.523],[-24.711,41.808],[-32.16,39.74],[0,0],[-39.806,6.806],[-1.781,0.267],[-0.824,0.112],[-1.965,0.239],[-1.793,0.183],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.019],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-24.244,-0.824],[-53.859,52.59],[-46.28,36.53],[0,0],[0,0],[16.049,-27.153],[0,0],[18.11,-22.37],[1.735,-0.297],[0.801,-0.121],[1.912,-0.26],[1.748,-0.213],[0.989,-0.093],[0,0],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.206,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[83.578,-24.959],[-12.302,117.058],[-67.497,184.85],[-203.995,78.811],[-104.701,-15.014],[-37.526,-118.555],[-36.405,-117.732],[36.594,-155.592],[42.836,-156.171],[45.964,-156.817],[51.228,-156.589],[56.545,-156.069],[59.599,-155.68],[66.399,-154.21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[-33.82,-42.78],[0.825,-0.355],[0.099,-0.041],[0.477,-0.213],[0.134,-0.056],[0.621,-0.279],[0.326,-0.148],[2.341,-1.149],[29.911,-40.458],[51.217,-43.285],[0,0],[48.049,8.339],[-31.239,36.97],[-33.248,38.652],[0,0],[-34.329,17.971],[-1.537,0.773],[-0.712,0.349],[-1.698,0.808],[-1.55,0.709],[-0.872,0.388],[-3.578,-0.296]],"o":[[0,0],[-0.08,0.03],[-0.358,0.152],[-0.116,0.044],[-0.521,0.229],[-0.297,0.133],[-1.712,0.778],[-20.753,10.187],[-44.283,59.897],[-44.88,37.929],[0,0],[0,0],[20.289,-24.011],[0,0],[18.721,-21.758],[1.497,-0.783],[0.691,-0.349],[1.651,-0.809],[1.511,-0.719],[0.855,-0.385],[0,0],[16.125,1.335]],"v":[[185.172,-118.678],[183.902,-118.148],[183.633,-118.037],[182.368,-117.492],[181.991,-117.329],[180.282,-116.568],[179.354,-116.146],[173.25,-113.25],[79.16,-37.89],[-29.608,89.206],[-100.885,135.18],[-187.546,78.333],[-82.947,2.153],[-14.204,-100.235],[-14.195,-100.245],[63.272,-161.498],[67.818,-163.842],[69.918,-164.901],[74.945,-167.325],[79.541,-169.469],[82.143,-170.637],[87.756,-170.354]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[-49.24,-58.2],[0.932,-0.12],[0.112,-0.013],[0.538,-0.079],[0.152,-0.017],[0.701,-0.105],[0.367,-0.062],[2.641,-0.513],[31.188,-39.788],[52.82,-41.68],[0,0],[56.383,23.58],[-27.962,39.579],[-32.16,39.74],[0,0],[-38.454,11.644],[-1.726,0.48],[-0.797,0.22],[-1.914,0.469],[-1.749,0.399],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.091,0.006],[-0.405,0.05],[-0.131,0.01],[-0.589,0.082],[-0.336,0.05],[-1.933,0.3],[-23.42,4.546],[-46.172,58.906],[-46.28,36.53],[0,0],[0,0],[18.159,-25.707],[0,0],[18.11,-22.37],[1.678,-0.504],[0.776,-0.217],[1.857,-0.49],[1.701,-0.423],[0.966,-0.212],[0,0],[19.64,4.85]],"v":[[194.818,-86.678],[193.596,-86.719],[193.292,-86.685],[191.863,-86.499],[191.437,-86.443],[189.507,-86.162],[188.458,-85.999],[181.568,-84.782],[83.071,-28.093],[-13.142,114.875],[-81.135,166.401],[-210.2,64.895],[-104.242,-14.808],[-40.213,-121.745],[-39.763,-121.426],[37.908,-171.453],[43.394,-172.83],[46.027,-173.599],[51.464,-174.657],[56.644,-175.449],[59.599,-175.827],[66.399,-174.357]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[-49.24,-58.2],[0.923,-0.224],[0.111,-0.025],[0.532,-0.139],[0.15,-0.034],[0.692,-0.183],[0.362,-0.105],[2.596,-0.807],[28.671,-41.856],[52.82,-41.68],[0,0],[58.618,20.698],[-29.538,38.498],[-32.16,39.74],[0,0],[-37.799,13.989],[-1.7,0.584],[-0.784,0.272],[-1.889,0.581],[-1.727,0.503],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.09,0.017],[-0.401,0.094],[-0.131,0.025],[-0.582,0.147],[-0.332,0.087],[-1.909,0.515],[-23.02,7.149],[-42.445,61.968],[-46.28,36.53],[0,0],[0,0],[19.182,-25.006],[0,0],[18.11,-22.37],[1.65,-0.605],[0.764,-0.264],[1.83,-0.601],[1.678,-0.524],[0.954,-0.27],[0,0],[19.64,4.85]],"v":[[194.085,-100.882],[192.717,-100.611],[192.416,-100.543],[191.001,-100.198],[190.579,-100.095],[188.672,-99.6],[187.637,-99.32],[180.85,-97.338],[82.825,-29.612],[-13.549,113.817],[-87.747,157.457],[-213.208,58.148],[-104.019,-14.708],[-41.515,-123.292],[-41.391,-123.216],[38.546,-179.142],[43.665,-180.906],[46.058,-181.735],[51.579,-183.417],[56.692,-184.845],[59.599,-185.594],[66.399,-184.124]],"c":true}]},{"t":180,"s":[{"i":[[-49.24,-58.2],[0.951,0.093],[0.114,0.012],[0.552,0.044],[0.154,0.017],[0.719,0.055],[0.378,0.027],[2.734,0.093],[36.38,-35.523],[52.82,-41.68],[0,0],[51.773,29.523],[-24.711,41.808],[-32.16,39.74],[0,0],[-39.806,6.806],[-1.781,0.267],[-0.824,0.112],[-1.965,0.239],[-1.793,0.183],[-0.97,0.29],[-4.36,-1.07]],"o":[[0,0],[-0.091,-0.014],[-0.413,-0.043],[-0.132,-0.019],[-0.602,-0.053],[-0.344,-0.027],[-1.984,-0.142],[-24.244,-0.824],[-53.859,52.59],[-46.28,36.53],[0,0],[0,0],[16.049,-27.153],[0,0],[18.11,-22.37],[1.735,-0.297],[0.801,-0.121],[1.912,-0.26],[1.748,-0.213],[0.989,-0.093],[0,0],[19.64,4.85]],"v":[[196.329,-57.381],[195.409,-58.065],[195.1,-58.1],[193.641,-58.241],[193.206,-58.282],[191.229,-58.443],[190.153,-58.52],[183.047,-58.882],[83.578,-24.959],[-12.302,117.058],[-67.497,184.85],[-203.995,78.811],[-104.701,-15.014],[-37.526,-118.555],[-36.405,-117.732],[36.594,-155.592],[42.836,-156.171],[45.964,-156.817],[51.228,-156.589],[56.545,-156.069],[59.599,-155.68],[66.399,-154.21]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.874509811401,0.89411765337,0.698039233685,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-4.545,-4.972]],"o":[[0,0],[0,0]],"v":[[-180.978,101.465],[-167.4,112.75]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-11.912,-8.259]],"o":[[0,0],[0,0]],"v":[[-198.058,80.727],[-171.627,95.096]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-4.545,-4.972]],"o":[[0,0],[0,0]],"v":[[-180.978,101.465],[-167.4,112.75]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-11.912,-8.259]],"o":[[0,0],[0,0]],"v":[[-198.058,80.727],[-171.627,95.096]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-4.545,-4.972]],"o":[[0,0],[0,0]],"v":[[-180.978,101.465],[-167.4,112.75]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-9.017,-5.364]],"o":[[0,0],[0,0]],"v":[[-177.249,97.368],[-156.674,105.882]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-8.998,-6.959]],"o":[[0,0],[0,0]],"v":[[-191.302,88.931],[-169.955,102.08]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-11.157,-7.922]],"o":[[0,0],[0,0]],"v":[[-196.306,82.854],[-171.194,96.907]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-4.545,-4.972]],"o":[[0,0],[0,0]],"v":[[-180.978,101.465],[-167.4,112.75]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.247058823705,0.266666680574,0.101960785687,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0.151,-0.374],[0.239,-0.558],[0.509,-1.107],[0.122,-0.268],[0.116,-0.249],[0.416,-0.832],[0.109,-0.219],[0.092,-0.193],[0.025,-0.056],[0.02,-0.036],[0.012,-0.007],[0.005,-0.019],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.087,-1.187],[0.178,-1.225],[0.159,-0.858],[0.699,-2.494]],"o":[[0,0],[0,0],[-0.153,0.384],[-0.26,0.593],[-0.565,1.319],[-0.127,0.287],[-0.12,0.258],[-0.596,1.28],[-0.135,0.275],[-0.152,0.301],[-0.037,0.062],[-0.02,0.036],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[-0.088,1.197],[-0.12,0.848],[-0.459,2.485],[0,0]],"v":[[193.873,-39.172],[177.416,-33.595],[188.442,-23.644],[187.979,-22.515],[187.234,-20.787],[185.61,-17.141],[185.229,-16.321],[184.874,-15.567],[183.329,-12.375],[182.961,-11.645],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[196.454,-52.877],[196.053,-49.239],[195.636,-46.681],[193.885,-39.179]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0.05,-0.4],[0.09,-0.6],[0.21,-1.2],[0.05,-0.29],[0.05,-0.27],[0.19,-0.91],[0.05,-0.24],[0.04,-0.21],[0.01,-0.06],[0.01,-0.04],[0.01,-0.01],[0,-0.02],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.311,-1.1],[-0.22,-1.17],[-0.14,-1.23],[-0.07,-0.87],[0.04,-2.59]],"o":[[0,0],[0,0],[-0.05,0.41],[-0.1,0.64],[-0.21,1.42],[-0.05,0.31],[-0.05,0.28],[-0.25,1.39],[-0.06,0.3],[-0.07,0.33],[-0.02,0.07],[-0.01,0.04],[0,0.01],[-0.02,0.09],[-0.01,0.01],[-97.95,5.68],[-45.77,67.51],[-18.52,-20.83],[85.63,-269.94],[0.4,1],[0.3,1.09],[0.22,1.18],[0.1,0.85],[0.19,2.52],[0,0]],"v":[[196.659,-85.373],[182.169,-75.783],[195.369,-68.973],[195.209,-67.763],[194.929,-65.903],[194.289,-61.963],[194.129,-61.073],[193.979,-60.253],[193.299,-56.773],[193.129,-55.973],[192.959,-55.153],[192.909,-54.963],[192.879,-54.843],[192.869,-54.803],[192.839,-54.633],[192.829,-54.613],[36.689,101.287],[-72.311,201.327],[-90.061,154.327],[193.829,-105.853],[194.879,-102.693],[195.659,-99.283],[196.199,-95.663],[196.449,-93.083],[196.669,-85.383]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0.151,-0.374],[0.239,-0.558],[0.509,-1.107],[0.122,-0.268],[0.116,-0.249],[0.416,-0.832],[0.109,-0.219],[0.092,-0.193],[0.025,-0.056],[0.02,-0.036],[0.012,-0.007],[0.005,-0.019],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.087,-1.187],[0.178,-1.225],[0.159,-0.858],[0.699,-2.494]],"o":[[0,0],[0,0],[-0.153,0.384],[-0.26,0.593],[-0.565,1.319],[-0.127,0.287],[-0.12,0.258],[-0.596,1.28],[-0.135,0.275],[-0.152,0.301],[-0.037,0.062],[-0.02,0.036],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[-0.088,1.197],[-0.12,0.848],[-0.459,2.485],[0,0]],"v":[[193.873,-39.172],[177.416,-33.595],[188.442,-23.644],[187.979,-22.515],[187.234,-20.787],[185.61,-17.141],[185.229,-16.321],[184.874,-15.567],[183.329,-12.375],[182.961,-11.645],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[196.454,-52.877],[196.053,-49.239],[195.636,-46.681],[193.885,-39.179]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0],[0.05,-0.4],[0.09,-0.6],[0.21,-1.2],[0.05,-0.29],[0.05,-0.27],[0.19,-0.91],[0.05,-0.24],[0.04,-0.21],[0.01,-0.06],[0.01,-0.04],[0.01,-0.01],[0,-0.02],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.311,-1.1],[-0.22,-1.17],[-0.14,-1.23],[-0.07,-0.87],[0.04,-2.59]],"o":[[0,0],[0,0],[-0.05,0.41],[-0.1,0.64],[-0.21,1.42],[-0.05,0.31],[-0.05,0.28],[-0.25,1.39],[-0.06,0.3],[-0.07,0.33],[-0.02,0.07],[-0.01,0.04],[0,0.01],[-0.02,0.09],[-0.01,0.01],[-97.95,5.68],[-45.77,67.51],[-18.52,-20.83],[85.63,-269.94],[0.4,1],[0.3,1.09],[0.22,1.18],[0.1,0.85],[0.19,2.52],[0,0]],"v":[[196.659,-85.373],[182.169,-75.783],[195.369,-68.973],[195.209,-67.763],[194.929,-65.903],[194.289,-61.963],[194.129,-61.073],[193.979,-60.253],[193.299,-56.773],[193.129,-55.973],[192.959,-55.153],[192.909,-54.963],[192.879,-54.843],[192.869,-54.803],[192.839,-54.633],[192.829,-54.613],[36.689,101.287],[-72.311,201.327],[-90.061,154.327],[193.829,-105.853],[194.879,-102.693],[195.659,-99.283],[196.199,-95.663],[196.449,-93.083],[196.669,-85.383]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0],[0,0],[0.151,-0.374],[0.239,-0.558],[0.509,-1.107],[0.122,-0.268],[0.116,-0.249],[0.416,-0.832],[0.109,-0.219],[0.092,-0.193],[0.025,-0.056],[0.02,-0.036],[0.012,-0.007],[0.005,-0.019],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.087,-1.187],[0.178,-1.225],[0.159,-0.858],[0.699,-2.494]],"o":[[0,0],[0,0],[-0.153,0.384],[-0.26,0.593],[-0.565,1.319],[-0.127,0.287],[-0.12,0.258],[-0.596,1.28],[-0.135,0.275],[-0.152,0.301],[-0.037,0.062],[-0.02,0.036],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[-0.088,1.197],[-0.12,0.848],[-0.459,2.485],[0,0]],"v":[[193.873,-39.172],[177.416,-33.595],[188.442,-23.644],[187.979,-22.515],[187.234,-20.787],[185.61,-17.141],[185.229,-16.321],[184.874,-15.567],[183.329,-12.375],[182.961,-11.645],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[196.454,-52.877],[196.053,-49.239],[195.636,-46.681],[193.885,-39.179]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0],[0,0],[0.101,-0.35],[0.162,-0.527],[0.352,-1.058],[0.084,-0.256],[0.08,-0.238],[0.293,-0.807],[0.077,-0.213],[0.064,-0.186],[0.017,-0.053],[0.014,-0.035],[0.01,-0.01],[0.003,-0.017],[0,0],[43.432,-57.201],[0,0],[0,0],[-3.494,-14.03],[-0.102,-0.9],[-0.019,-0.971],[0.056,-1.033],[0.069,-0.736],[0.406,-2.224]],"o":[[0,0],[0,0],[-0.102,0.358],[-0.178,0.562],[-0.384,1.246],[-0.087,0.273],[-0.083,0.247],[-0.414,1.226],[-0.095,0.266],[-0.108,0.293],[-0.027,0.063],[-0.015,0.036],[-0.001,0.009],[-0.03,0.08],[-0.01,0.01],[-66.957,24.839],[-48.89,64.39],[-12.872,-15.183],[112.082,-243.488],[0.199,0.799],[0.1,0.89],[0.019,0.979],[-0.036,0.714],[-0.199,2.131],[0,0]],"v":[[184.657,-101.543],[170.87,-91.25],[181.198,-87.312],[180.888,-86.252],[180.381,-84.619],[179.267,-81.153],[179.003,-80.368],[178.756,-79.644],[177.675,-76.566],[176.823,-71.814],[176.559,-71.088],[176.489,-70.918],[176.446,-70.811],[176.432,-70.775],[176.382,-70.625],[176.37,-70.607],[26.7,85.733],[-89.493,172.512],[-100.885,135.18],[185.173,-118.678],[185.618,-116.122],[185.797,-113.313],[185.74,-110.29],[185.584,-108.117],[184.667,-101.553]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0],[0,0],[0.09,-0.39],[0.149,-0.583],[0.328,-1.163],[0.078,-0.281],[0.076,-0.262],[0.279,-0.879],[0.073,-0.232],[0.061,-0.203],[0.016,-0.058],[0.014,-0.038],[0.011,-0.009],[0.002,-0.02],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.192,-1.117],[-0.099,-1.177],[-0.014,-1.228],[0.02,-0.865],[0.301,-2.552]],"o":[[0,0],[0,0],[-0.091,0.399],[-0.163,0.621],[-0.35,1.38],[-0.08,0.301],[-0.078,0.271],[-0.387,1.346],[-0.09,0.29],[-0.103,0.318],[-0.027,0.067],[-0.014,0.038],[-0.001,0.01],[-0.029,0.087],[-0.011,0.009],[-97.241,-4.277],[-45.77,67.51],[-20.648,-18.264],[52.171,-275.183],[0.4,1],[0.186,1.106],[0.098,1.187],[0.013,0.849],[-0.067,2.506],[0,0]],"v":[[195.557,-67.097],[180.289,-59.094],[192.629,-51.042],[192.349,-49.864],[191.885,-48.056],[190.856,-44.232],[190.608,-43.37],[190.377,-42.576],[189.355,-39.21],[189.107,-38.438],[188.856,-37.645],[188.788,-37.463],[188.746,-37.348],[188.732,-37.309],[188.685,-37.144],[188.673,-37.126],[36.689,101.287],[-61.447,209.355],[-81.135,166.401],[194.818,-86.678],[195.548,-84.37],[195.973,-80.926],[196.141,-77.299],[196.128,-74.727],[195.568,-67.106]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0],[0,0],[0.061,-0.397],[0.105,-0.596],[0.241,-1.191],[0.057,-0.288],[0.057,-0.268],[0.213,-0.902],[0.056,-0.238],[0.045,-0.208],[0.011,-0.06],[0.011,-0.039],[0.01,-0.01],[0.001,-0.02],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.28,-1.104],[-0.189,-1.172],[-0.107,-1.229],[-0.046,-0.869],[0.108,-2.58]],"o":[[0,0],[0,0],[-0.061,0.407],[-0.117,0.635],[-0.246,1.41],[-0.058,0.308],[-0.057,0.278],[-0.286,1.379],[-0.068,0.297],[-0.079,0.327],[-0.022,0.069],[-0.011,0.04],[0,0.01],[-0.022,0.089],[-0.01,0.009],[-97.766,3.098],[-45.77,67.51],[-19.072,-20.165],[76.955,-271.299],[0.4,1],[0.27,1.094],[0.189,1.182],[0.078,0.85],[0.123,2.516],[0,0]],"v":[[196.373,-80.635],[181.681,-71.456],[194.659,-64.324],[194.467,-63.122],[194.14,-61.276],[193.399,-57.366],[193.216,-56.483],[193.045,-55.67],[192.277,-52.22],[192.086,-51.427],[191.895,-50.614],[191.841,-50.426],[191.808,-50.307],[191.796,-50.268],[191.762,-50.099],[191.752,-50.079],[36.689,101.287],[-69.494,203.408],[-87.747,157.457],[194.085,-100.882],[195.053,-97.943],[195.741,-94.524],[196.184,-90.902],[196.366,-88.324],[196.383,-80.644]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0.151,-0.374],[0.239,-0.558],[0.509,-1.107],[0.122,-0.268],[0.116,-0.249],[0.416,-0.832],[0.109,-0.219],[0.092,-0.193],[0.025,-0.056],[0.02,-0.036],[0.012,-0.007],[0.005,-0.019],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.087,-1.187],[0.178,-1.225],[0.159,-0.858],[0.699,-2.494]],"o":[[0,0],[0,0],[-0.153,0.384],[-0.26,0.593],[-0.565,1.319],[-0.127,0.287],[-0.12,0.258],[-0.596,1.28],[-0.135,0.275],[-0.152,0.301],[-0.037,0.062],[-0.02,0.036],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[-0.088,1.197],[-0.12,0.848],[-0.459,2.485],[0,0]],"v":[[193.873,-39.172],[177.416,-33.595],[188.442,-23.644],[187.979,-22.515],[187.234,-20.787],[185.61,-17.141],[185.229,-16.321],[184.874,-15.567],[183.329,-12.375],[182.961,-11.645],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[196.454,-52.877],[196.053,-49.239],[195.636,-46.681],[193.885,-39.179]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.345098048449,0.360784322023,0.180392161012,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-17.899,22.582]],"o":[[0,0],[0,0]],"v":[[-50.795,195.049],[-7.657,138.807]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-27.412,19.859]],"o":[[0,0],[0,0]],"v":[[-72.034,171.241],[-19.916,141.725]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-17.899,22.582]],"o":[[0,0],[0,0]],"v":[[-50.795,195.049],[-7.657,138.807]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-27.412,19.859]],"o":[[0,0],[0,0]],"v":[[-72.034,171.241],[-19.916,141.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-17.899,22.582]],"o":[[0,0],[0,0]],"v":[[-50.795,195.049],[-7.657,138.807]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-26.328,20.943]],"o":[[0,0],[0,0]],"v":[[-87.872,147.079],[-38.998,114.319]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-23.649,20.936]],"o":[[0,0],[0,0]],"v":[[-63.632,180.659],[-15.067,140.571]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-26.436,20.138]],"o":[[0,0],[0,0]],"v":[[-69.856,173.683],[-18.659,141.426]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-17.899,22.582]],"o":[[0,0],[0,0]],"v":[[-50.795,195.049],[-7.657,138.807]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.380392163992,0.40000000596,0.196078434587,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-8.828,19.345],[-45.173,3.673]],"o":[[11.281,-17.263],[22.325,-48.921],[0,0]],"v":[[4.552,121.708],[41.085,71.47],[134.896,-35.896]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-8.828,19.345],[-37.005,25.425]],"o":[[14.113,-13.617],[22.325,-48.921],[0,0]],"v":[[5.108,120.874],[41.085,71.47],[133.785,-58.673]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-8.828,19.345],[-45.173,3.673]],"o":[[11.281,-17.263],[22.325,-48.921],[0,0]],"v":[[4.552,121.708],[41.085,71.47],[134.896,-35.896]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-8.828,19.345],[-37.005,25.425]],"o":[[14.113,-13.617],[22.325,-48.921],[0,0]],"v":[[5.108,120.874],[41.085,71.47],[133.785,-58.673]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-8.828,19.345],[-45.173,3.673]],"o":[[11.281,-17.263],[22.325,-48.921],[0,0]],"v":[[4.552,121.708],[41.085,71.47],[134.896,-35.896]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-10.338,17.836],[-35.343,27.087]],"o":[[14.042,-13.688],[26.143,-45.104],[0,0]],"v":[[-14.573,92.869],[28.901,55.118],[126.974,-69.652]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-8.828,19.345],[-40.236,16.82]],"o":[[12.993,-15.059],[22.325,-48.921],[0,0]],"v":[[4.888,121.204],[41.085,71.47],[134.224,-49.663]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-8.828,19.345],[-37.843,23.194]],"o":[[13.823,-13.991],[22.325,-48.921],[0,0]],"v":[[5.051,120.96],[41.085,71.47],[133.898,-56.337]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-8.828,19.345],[-45.173,3.673]],"o":[[11.281,-17.263],[22.325,-48.921],[0,0]],"v":[[4.552,121.708],[41.085,71.47],[134.896,-35.896]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.380392163992,0.40000000596,0.196078434587,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-3.455,-0.58]],"o":[[3.713,-0.309],[0,0]],"v":[[149.898,-38.024],[159.01,-37.754]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-2.957,0.701]],"o":[[2.931,-1.15],[0,0]],"v":[[151.565,-68.302],[160.399,-71.087]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-3.455,-0.58]],"o":[[3.713,-0.309],[0,0]],"v":[[149.898,-38.024],[159.01,-37.754]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-2.957,0.701]],"o":[[2.931,-1.15],[0,0]],"v":[[151.565,-68.302],[160.399,-71.087]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-3.455,-0.58]],"o":[[3.713,-0.309],[0,0]],"v":[[149.898,-38.024],[159.01,-37.754]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-2.633,1.025]],"o":[[2.676,-1.406],[0,0]],"v":[[143.585,-80.45],[151.551,-84.103]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-3.154,0.194]],"o":[[3.24,-0.818],[0,0]],"v":[[150.906,-56.325],[159.85,-57.901]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-3.008,0.57]],"o":[[3.011,-1.064],[0,0]],"v":[[151.394,-65.197],[160.257,-67.669]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-3.455,-0.58]],"o":[[3.713,-0.309],[0,0]],"v":[[149.898,-38.024],[159.01,-37.754]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.380392163992,0.40000000596,0.196078434587,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.012,-1.143],[0.699,-2.494],[0,0],[0,0],[0,0],[0,0],[0,0],[0.784,2.78],[-0.454,2.212]],"o":[[3.452,-1.195],[1.45,0.77],[0.4,1],[0.012,1.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.57,-5.568],[1.701,-8.296]],"v":[[185.553,-58.783],[193.549,-60.011],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172],[180.097,-34.504],[187.949,-24.089],[182.339,-10.423],[171.359,-12.322],[177.106,-28.821],[171.406,-35.673],[182.348,-45.889]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.311,-1.1],[0.04,-2.59],[0,0],[0,0],[0,0],[0,0],[0,0],[1.467,2.488],[0.126,2.255]],"o":[[2.78,-2.37],[1.45,0.77],[0.4,1],[0.3,1.09],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.938,-4.984],[-0.471,-8.456]],"v":[[182.969,-102.553],[191.049,-108.483],[193.829,-105.853],[194.879,-102.693],[196.659,-85.373],[184.529,-77.345],[194.778,-69.278],[192.839,-54.633],[181.739,-53.668],[183.087,-71.087],[175.828,-76.259],[183.802,-88.928]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.012,-1.143],[0.699,-2.494],[0,0],[0,0],[0,0],[0,0],[0,0],[0.784,2.78],[-0.454,2.212]],"o":[[3.452,-1.195],[1.45,0.77],[0.4,1],[0.012,1.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.57,-5.568],[1.701,-8.296]],"v":[[185.553,-58.783],[193.549,-60.011],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172],[180.097,-34.504],[187.949,-24.089],[182.339,-10.423],[171.359,-12.322],[177.106,-28.821],[171.406,-35.673],[182.348,-45.889]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.311,-1.1],[0.04,-2.59],[0,0],[0,0],[0,0],[0,0],[0,0],[1.467,2.488],[0.126,2.255]],"o":[[2.78,-2.37],[1.45,0.77],[0.4,1],[0.3,1.09],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.938,-4.984],[-0.471,-8.456]],"v":[[182.969,-102.553],[191.049,-108.483],[193.829,-105.853],[194.879,-102.693],[196.659,-85.373],[184.529,-77.345],[194.778,-69.278],[192.839,-54.633],[181.739,-53.668],[183.087,-71.087],[175.828,-76.259],[183.802,-88.928]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.012,-1.143],[0.699,-2.494],[0,0],[0,0],[0,0],[0,0],[0,0],[0.784,2.78],[-0.454,2.212]],"o":[[3.452,-1.195],[1.45,0.77],[0.4,1],[0.012,1.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.57,-5.568],[1.701,-8.296]],"v":[[185.553,-58.783],[193.549,-60.011],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172],[180.097,-34.504],[187.949,-24.089],[182.339,-10.423],[171.359,-12.322],[177.106,-28.821],[171.406,-35.673],[182.348,-45.889]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[-2.457,1.744],[-0.192,-0.773],[-0.101,-0.9],[0.406,-2.224],[0,0],[0,0],[0,0],[0,0],[0,0],[0.899,1.921],[-0.216,1.913]],"o":[[2.721,-2.429],[1.131,0.451],[0.199,0.799],[0.1,0.89],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.801,-3.847],[0.81,-7.175]],"v":[[175.398,-114.293],[183.169,-120.531],[185.172,-118.678],[185.619,-116.122],[184.657,-101.543],[173.116,-92.927],[180.736,-87.488],[176.382,-70.625],[166.736,-68.206],[170.982,-87.36],[165.507,-90.747],[174.155,-102.742]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.192,-1.117],[0.301,-2.552],[0,0],[0,0],[0,0],[0,0],[0,0],[1.197,2.604],[-0.104,2.238]],"o":[[3.046,-1.905],[1.45,0.77],[0.4,1],[0.186,1.106],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.397,-5.215],[0.388,-8.393]],"v":[[183.991,-85.238],[192.038,-89.308],[194.818,-86.678],[195.548,-84.37],[195.557,-67.097],[182.776,-60.398],[192.077,-51.402],[188.685,-37.144],[177.633,-37.312],[180.721,-54.367],[174.078,-60.204],[183.227,-71.902]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.28,-1.104],[0.108,-2.58],[0,0],[0,0],[0,0],[0,0],[0,0],[1.397,2.518],[0.066,2.25]],"o":[[2.849,-2.249],[1.45,0.77],[0.4,1],[0.27,1.094],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.798,-5.044],[-0.248,-8.44]],"v":[[183.234,-98.064],[191.306,-103.512],[194.085,-100.882],[195.053,-97.943],[196.373,-80.635],[184.075,-72.952],[194.078,-64.643],[191.762,-50.099],[180.674,-49.428],[182.473,-66.752],[175.374,-72.096],[183.653,-84.514]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[-2.6,1.6],[-0.38,-0.97],[-0.012,-1.143],[0.699,-2.494],[0,0],[0,0],[0,0],[0,0],[0,0],[0.784,2.78],[-0.454,2.212]],"o":[[3.452,-1.195],[1.45,0.77],[0.4,1],[0.012,1.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.57,-5.568],[1.701,-8.296]],"v":[[185.553,-58.783],[193.549,-60.011],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172],[180.097,-34.504],[187.949,-24.089],[182.339,-10.423],[171.359,-12.322],[177.106,-28.821],[171.406,-35.673],[182.348,-45.889]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.635294139385,0.654901981354,0.450980395079,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0.092,-0.193],[0.023,-0.046],[0.017,-0.027],[0.012,-0.007],[0.008,-0.029],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.699,-2.494]],"o":[[0,0],[-0.153,0.384],[-0.037,0.062],[-0.023,0.046],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[0,0]],"v":[[177.416,-33.595],[188.442,-23.644],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[0,0],[0.04,-0.21],[0.01,-0.05],[0.01,-0.03],[0.01,-0.01],[0,-0.03],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.311,-1.1],[0.04,-2.59]],"o":[[0,0],[-0.05,0.41],[-0.02,0.07],[-0.01,0.05],[0,0.01],[-0.02,0.09],[-0.01,0.01],[-97.95,5.68],[-45.77,67.51],[-18.52,-20.83],[85.63,-269.94],[0.4,1],[0.3,1.09],[0,0]],"v":[[182.169,-75.783],[195.369,-68.973],[192.959,-55.153],[192.909,-54.963],[192.879,-54.843],[192.869,-54.803],[192.839,-54.633],[192.829,-54.613],[36.689,101.287],[-72.311,201.327],[-90.061,154.327],[193.829,-105.853],[194.879,-102.693],[196.659,-85.373]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[0,0],[0,0],[0.092,-0.193],[0.023,-0.046],[0.017,-0.027],[0.012,-0.007],[0.008,-0.029],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.699,-2.494]],"o":[[0,0],[-0.153,0.384],[-0.037,0.062],[-0.023,0.046],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[0,0]],"v":[[177.416,-33.595],[188.442,-23.644],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0.04,-0.21],[0.01,-0.05],[0.01,-0.03],[0.01,-0.01],[0,-0.03],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.311,-1.1],[0.04,-2.59]],"o":[[0,0],[-0.05,0.41],[-0.02,0.07],[-0.01,0.05],[0,0.01],[-0.02,0.09],[-0.01,0.01],[-97.95,5.68],[-45.77,67.51],[-18.52,-20.83],[85.63,-269.94],[0.4,1],[0.3,1.09],[0,0]],"v":[[182.169,-75.783],[195.369,-68.973],[192.959,-55.153],[192.909,-54.963],[192.879,-54.843],[192.869,-54.803],[192.839,-54.633],[192.829,-54.613],[36.689,101.287],[-72.311,201.327],[-90.061,154.327],[193.829,-105.853],[194.879,-102.693],[196.659,-85.373]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[0,0],[0,0],[0.092,-0.193],[0.023,-0.046],[0.017,-0.027],[0.012,-0.007],[0.008,-0.029],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.699,-2.494]],"o":[[0,0],[-0.153,0.384],[-0.037,0.062],[-0.023,0.046],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[0,0]],"v":[[177.416,-33.595],[188.442,-23.644],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[0,0],[0,0],[0.064,-0.186],[0.016,-0.044],[0.013,-0.027],[0.01,-0.01],[0.004,-0.026],[0,0],[43.432,-57.201],[0,0],[0,0],[-3.494,-14.03],[-0.102,-0.9],[0.406,-2.224]],"o":[[0,0],[-0.102,0.358],[-0.027,0.063],[-0.016,0.044],[-0.001,0.009],[-0.03,0.08],[-0.01,0.01],[-67.728,24.956],[-48.89,64.39],[-12.872,-15.183],[112.082,-243.488],[0.199,0.799],[0.1,0.89],[0,0]],"v":[[170.87,-91.25],[181.198,-87.312],[176.559,-71.088],[176.489,-70.918],[176.446,-70.811],[176.432,-70.775],[176.382,-70.625],[176.37,-70.607],[26.7,85.733],[-89.493,172.512],[-100.885,135.18],[185.173,-118.678],[185.618,-116.122],[184.657,-101.543]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[0,0],[0,0],[0.061,-0.203],[0.015,-0.048],[0.013,-0.029],[0.011,-0.009],[0.003,-0.03],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.192,-1.117],[0.301,-2.552]],"o":[[0,0],[-0.091,0.399],[-0.027,0.067],[-0.015,0.048],[-0.001,0.01],[-0.029,0.087],[-0.011,0.009],[-97.241,-4.277],[-45.77,67.51],[-20.648,-18.264],[52.171,-275.183],[0.4,1],[0.186,1.106],[0,0]],"v":[[180.289,-59.094],[192.629,-51.042],[188.856,-37.645],[188.788,-37.463],[188.746,-37.348],[188.732,-37.309],[188.685,-37.144],[188.673,-37.126],[36.689,101.287],[-61.447,209.355],[-81.135,166.401],[194.818,-86.678],[195.548,-84.37],[195.557,-67.097]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[0,0],[0,0],[0.045,-0.208],[0.011,-0.05],[0.011,-0.03],[0.01,-0.01],[0.001,-0.03],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.28,-1.104],[0.108,-2.58]],"o":[[0,0],[-0.061,0.407],[-0.022,0.069],[-0.012,0.049],[0,0.01],[-0.022,0.089],[-0.01,0.009],[-97.766,3.098],[-45.77,67.51],[-19.072,-20.165],[76.955,-271.299],[0.4,1],[0.27,1.094],[0,0]],"v":[[181.681,-71.456],[194.659,-64.324],[191.895,-50.614],[191.841,-50.426],[191.808,-50.307],[191.796,-50.268],[191.762,-50.099],[191.752,-50.079],[36.689,101.287],[-69.494,203.408],[-87.747,157.457],[194.085,-100.882],[195.053,-97.943],[196.373,-80.635]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0.092,-0.193],[0.023,-0.046],[0.017,-0.027],[0.012,-0.007],[0.008,-0.029],[0,0],[40.65,-59.98],[0,0],[0,0],[-6.94,-17.59],[-0.012,-1.143],[0.699,-2.494]],"o":[[0,0],[-0.153,0.384],[-0.037,0.062],[-0.023,0.046],[-0.003,0.01],[-0.042,0.082],[-0.012,0.007],[-96.159,-19.492],[-45.77,67.51],[-23.898,-14.344],[1.05,-283.194],[0.4,1],[0.012,1.13],[0,0]],"v":[[177.416,-33.595],[188.442,-23.644],[182.587,-10.895],[182.49,-10.724],[182.431,-10.616],[182.411,-10.58],[182.339,-10.423],[182.324,-10.407],[36.689,101.287],[-44.846,221.62],[-67.497,184.85],[196.329,-57.381],[196.57,-56.373],[193.873,-39.172]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039215803,0.521568655968,0.313725501299,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[39.171,-10.024],[-3.076,-10.368],[0,0],[0,0],[-3.431,-3.573],[-61.457,-74.739],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.234,3.851],[0,0],[0,0],[-37.029,-18.857]],"v":[[-214.258,55.789],[-211.264,74.194],[-196.687,82.441],[-204.921,89.046],[-196.487,100.294],[-72.315,201.327],[-86.801,74.727]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[39.171,-10.024],[-3.076,-10.368],[0,0],[0,0],[-3.431,-3.573],[-61.457,-74.739],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.234,3.851],[0,0],[0,0],[-37.029,-18.857]],"v":[[-214.258,55.789],[-211.264,74.194],[-196.687,82.441],[-204.921,89.046],[-196.487,100.294],[-72.315,201.327],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[34.988,-14.207],[-1.147,-8.439],[0,0],[0,0],[-2.426,-2.568],[-41.91,-55.192],[29.008,10.836]],"o":[[0,0],[0,0],[0,0],[1.361,2.978],[0,0],[0,0],[-29.008,-10.836]],"v":[[-187.544,78.335],[-187.621,93.668],[-176.32,98.64],[-184.321,105.479],[-178.711,113.902],[-89.497,172.512],[-81.098,76.262]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[37.995,-13.185],[-3.909,-10.022],[0,0],[0,0],[-3.697,-3.257],[-69.181,-66.123],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.534,3.632],[0,0],[0,0],[-37.029,-18.857]],"v":[[-210.197,64.897],[-205.702,82.891],[-190.569,89.857],[-198.183,97.087],[-188.89,107.536],[-61.451,209.355],[-86.801,74.727]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[38.867,-10.843],[-3.292,-10.279],[0,0],[0,0],[-3.5,-3.491],[-63.46,-72.506],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.312,3.794],[0,0],[0,0],[-37.029,-18.857]],"v":[[-213.205,58.15],[-209.822,76.449],[-195.101,84.364],[-203.174,91.131],[-194.517,102.172],[-69.498,203.408],[-86.801,74.727]],"c":true}]},{"t":180,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.247058823705,0.266666680574,0.101960785687,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[39.171,-10.024],[-3.076,-10.368],[0,0],[0,0],[-3.431,-3.573],[-61.457,-74.739],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.234,3.851],[0,0],[0,0],[-37.029,-18.857]],"v":[[-214.258,55.789],[-211.264,74.194],[-196.687,82.441],[-204.921,89.046],[-196.487,100.294],[-72.315,201.327],[-86.801,74.727]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":40,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":62,"s":[{"i":[[39.171,-10.024],[-3.076,-10.368],[0,0],[0,0],[-3.431,-3.573],[-61.457,-74.739],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.234,3.851],[0,0],[0,0],[-37.029,-18.857]],"v":[[-214.258,55.789],[-211.264,74.194],[-196.687,82.441],[-204.921,89.046],[-196.487,100.294],[-72.315,201.327],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":76,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[{"i":[[34.988,-14.207],[-1.147,-8.439],[0,0],[0,0],[-2.426,-2.568],[-41.91,-55.192],[29.008,10.836]],"o":[[0,0],[0,0],[0,0],[1.361,2.978],[0,0],[0,0],[-29.008,-10.836]],"v":[[-187.544,78.335],[-187.621,93.668],[-176.32,98.64],[-184.321,105.479],[-178.711,113.902],[-89.497,172.512],[-81.098,76.262]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":136,"s":[{"i":[[37.995,-13.185],[-3.909,-10.022],[0,0],[0,0],[-3.697,-3.257],[-69.181,-66.123],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.534,3.632],[0,0],[0,0],[-37.029,-18.857]],"v":[[-210.197,64.897],[-205.702,82.891],[-190.569,89.857],[-198.183,97.087],[-188.89,107.536],[-61.451,209.355],[-86.801,74.727]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":157,"s":[{"i":[[38.867,-10.843],[-3.292,-10.279],[0,0],[0,0],[-3.5,-3.491],[-63.46,-72.506],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.312,3.794],[0,0],[0,0],[-37.029,-18.857]],"v":[[-213.205,58.15],[-209.822,76.449],[-195.101,84.364],[-203.174,91.131],[-194.517,102.172],[-69.498,203.408],[-86.801,74.727]],"c":true}]},{"t":180,"s":[{"i":[[36.199,-18.015],[-5.182,-9.493],[0,0],[0,0],[-4.104,-2.774],[-80.984,-52.959],[37.029,18.857]],"o":[[0,0],[0,0],[0,0],[2.992,3.297],[0,0],[0,0],[-37.029,-18.857]],"v":[[-203.992,78.812],[-197.205,96.18],[-181.222,101.187],[-187.888,109.372],[-177.283,118.601],[-44.85,221.621],[-86.801,74.727]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.380392163992,0.40000000596,0.196078434587,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"parent":16,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-35,"s":[50.092]},{"i":{"x":[0.667],"y":[0.762]},"o":{"x":[0.333],"y":[0]},"t":-15,"s":[98.092]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.6]},"t":0,"s":[41.342]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":5,"s":[33.842]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":25,"s":[118.702]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[50.092]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":61,"s":[124.092]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[49.092]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":96,"s":[98.81]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":125,"s":[68.46]},{"i":{"x":[0.667],"y":[0.573]},"o":{"x":[0.54],"y":[0]},"t":155,"s":[94.092]},{"t":180,"s":[41.342]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[-64.776,-41.739,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[-18.185,-50.83,0],"to":[0,0,0],"ti":[0,0,0]},{"t":136,"s":[-64.776,-41.739,0]}]},"a":{"a":0,"k":[77.1,24.262,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":76,"s":[-98.531,92.075,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":108,"s":[-59.049,92.075,100]},{"t":136,"s":[-98.531,92.075,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[10.772,-7.519],[0,0],[8.767,-3.616],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-10.772,7.519],[0,0],[-8.767,3.616],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[238.777,40.616],[234.767,64.345],[209.05,60.401],[198.33,82.445],[177.922,68.406],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[12.424,4.268],[0,0],[8.364,4.469],[0,0],[-3.156,15.137],[5.777,3.214],[-4.968,4.41],[-2.493,13.72]],"o":[[0,0],[-12.424,-4.268],[0,0],[-8.364,-4.469],[0,0],[0,0],[-5.777,-3.214],[0,0],[0,0]],"v":[[204.461,100.277],[182.93,111.028],[170.954,87.931],[151.071,94.13],[150.952,68.962],[136.404,64.409],[125.806,64.122],[128.037,44.645],[117.913,33.087]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[13.124,0.593],[0,0],[9.285,1.931],[0,0],[1.238,15.413],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-13.124,-0.593],[0,0],[-9.285,-1.931],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[211.5,68.951],[193.872,85.334],[175.872,66.549],[158.543,78.1],[149.583,62.277],[136.094,53.717],[125.844,56.428],[122.495,37.112],[109.525,28.876]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[12.171,-4.945],[0,0],[9.242,-2.126],[0,0],[9.986,17.473],[6.449,1.455],[-3.524,5.632],[1.474,13.867]],"o":[[0,0],[-12.171,4.945],[0,0],[-9.242,2.126],[0,0],[0,0],[-6.449,-1.455],[0,0],[0,0]],"v":[[232.1,53.081],[222.931,75.331],[198.728,65.786],[187.811,83.522],[169.988,66.319],[144.861,61.147],[128.962,58.095],[124.16,42.773],[110.935,29.389]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.549019634724,0.572549045086,0.517647087574,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-10.509,-0.5]],"o":[[0,0],[0,0]],"v":[[128.037,44.645],[144.286,39.882]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[122.495,37.112],[136.744,27.963]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-10.224,2.482]],"o":[[0,0],[0,0]],"v":[[124.16,42.773],[138.408,33.624]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-11.939,1.86]],"o":[[0,0],[0,0]],"v":[[136.404,64.409],[152.743,50.5]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.931,5.149]],"o":[[0,0],[0,0]],"v":[[136.094,53.717],[147.851,35.767]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-9.178,7.859]],"o":[[0,0],[0,0]],"v":[[144.861,61.147],[151.447,40.725]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-5.975,10.786]],"o":[[0,0],[0,0]],"v":[[177.922,68.406],[180.229,44.996]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-11.78,3.642]],"o":[[0,0],[0,0]],"v":[[150.952,68.962],[164.811,61.135]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-10.276,6.814]],"o":[[0,0],[0,0]],"v":[[149.583,62.277],[162.427,42.57]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-7.667,9.657]],"o":[[0,0],[0,0]],"v":[[169.988,66.319],[176.112,43.607]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[1.029,13.94]],"o":[[0,0],[0,0]],"v":[[209.05,60.401],[199.636,38.327]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-10.653,9.05]],"o":[[0,0],[0,0]],"v":[[170.954,87.931],[183.232,67.313]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-7.67,11.685]],"o":[[0,0],[0,0]],"v":[[175.872,66.549],[181.842,43.306]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-2.086,13.821]],"o":[[0,0],[0,0]],"v":[[198.728,65.786],[194.439,42.175]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-16.839,-12.48],[-7.397,-23.208],[43.574,62.857],[21.221,-13.117],[1.004,7.484],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[16.839,12.48],[7.397,23.208],[0,0],[-18.81,11.627],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[248.617,48.827],[299.717,111.358],[238.06,118.521],[227.97,170.824],[186.597,131.93],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-14.009,-21.554],[-5.76,-20.152],[8.261,-22.914],[17.265,36.883],[15.983,2.864],[-0.24,7.547],[9.451,1.586],[-3.62,11.163],[8.782,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[14.009,21.554],[5.76,20.152],[-8.261,22.914],[0,0],[-14.167,-2.539],[0,0],[-9.812,-1.646],[0,0],[-13.726,-4.369],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.578,15.39],[214.307,81.456],[216.777,162.173],[172.666,155.743],[143.986,180.14],[127.129,150.877],[107.939,162.253],[99.472,134.25],[81.389,140.869],[74.791,116.614],[58.182,115.468]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,13.234],[0.155,11.415],[0,0],[-3.211,11.847],[-14.126,-1.269],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.574,62.857],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.123,-9.062],[0,0],[2.939,-10.841],[12.427,1.117],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[62.117,22.32],[90.897,6.756],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[168.101,130.406],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.549019634724,0.572549045086,0.517647087574,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[106.313,32.242]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-26.071,-0.867]],"o":[[0,0],[0,0]],"v":[[67.83,39.902],[110.244,30.214]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-28.452,-5.498]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[123.117,53.723]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-28.849,2.743]],"o":[[0,0],[0,0]],"v":[[74.129,67.933],[120.333,47.209]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-28.147,9.136]],"o":[[0,0],[0,0]],"v":[[76.391,74.875],[124.243,43.045]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-33.304,9.327]],"o":[[0,0],[0,0]],"v":[[66.672,108.927],[125.806,64.122]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[74.791,116.614],[125.844,56.428]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-35.988,20.034]],"o":[[0,0],[0,0]],"v":[[85.726,118.732],[128.962,58.095]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-41.558,18.648]],"o":[[0,0],[0,0]],"v":[[78.57,131.356],[148.802,70.452]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-34.372,27.435]],"o":[[0,0],[0,0]],"v":[[99.472,134.25],[143.716,63.79]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-14.162,44.524]],"o":[[0,0],[0,0]],"v":[[126.26,120.588],[144.844,61.748]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[-4.644,41.728]],"o":[[0,0],[0,0]],"v":[[186.414,132.913],[178.862,69.713]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-31.201,28.848]],"o":[[0,0],[0,0]],"v":[[100.421,155.104],[145.291,92.518]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-21.806,36.471]],"o":[[0,0],[0,0]],"v":[[127.129,150.877],[152.543,78.181]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-11.441,40.396]],"o":[[0,0],[0,0]],"v":[[167.759,131.345],[170.701,67.764]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[0,0],[22.867,36.854]],"o":[[0,0],[0,0]],"v":[[238.06,118.521],[204.794,74.357]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[0,0],[-18.923,39.673]],"o":[[0,0],[0,0]],"v":[[141.329,167.268],[161.424,93.979]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[0,0],[-6.975,43.398]],"o":[[0,0],[0,0]],"v":[[172.666,155.743],[168.433,75.038]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[16.497,40.112]],"o":[[0,0],[0,0]],"v":[[216.093,121.755],[195.517,76.607]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.752941191196,0.705882370472,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-7.399,-23.207],[10.511,-3.607],[3.449,11.201],[15.284,11.148],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-16.837,-12.486]],"o":[[5.646,17.71],[6.733,-4.155],[-6.479,-21.041],[-15.284,-11.148],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[16.835,12.485]],"v":[[299.715,111.354],[285.473,147.524],[286.589,115.676],[240.539,59.38],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[248.617,48.825]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[14.382,-19.658],[8.859,16.508],[-7.014,9.389],[0.006,18.918],[6.99,22.278],[21.43,0.648],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-23.126,-0.591],[-7.365,-24.633],[0.158,-20.961]],"o":[[-10.976,15.002],[7.326,2.989],[13.175,-17.638],[-0.006,-18.918],[-6.99,-22.278],[-21.417,-0.648],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[23.113,0.591],[7.363,24.625],[-0.158,20.958]],"v":[[179.925,208.377],[149.185,194.416],[172.023,183.149],[190.344,112.763],[190.462,50.795],[134.131,15.207],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[145.348,5.893],[204.278,44.403],[203.631,113.065]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[8.259,-22.915],[13.152,13.342],[-4.08,10.986],[5.337,18.149],[12.985,19.405],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-14.005,-21.562],[-5.765,-20.153]],"o":[[-6.303,17.487],[7.872,0.803],[7.67,-20.636],[-5.338,-18.149],[-12.985,-19.405],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[14.004,21.551],[5.755,20.154]],"v":[[216.777,162.168],[184.996,174.852],[203.733,157.605],[201.475,84.909],[184.124,25.42],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.578,15.393],[214.309,81.454]],"c":true}]},{"t":180,"s":[{"i":[[-2.072,-24.269],[17.524,6.625],[0.881,11.687],[12.433,14.258],[19.906,12.203],[16.693,-3.557],[12.599,-0.131],[4.176,-8.388],[-0.825,2.582],[-12.499,0.13],[-17.998,3.945],[-21.736,-13.732],[-13.652,-15.907]],"o":[[1.581,18.521],[7.487,-2.56],[-1.655,-21.953],[-12.433,-14.258],[-19.906,-12.203],[-16.683,3.557],[-10.599,0.104],[-0.297,-1.996],[3.656,-11.361],[13.59,-0.135],[17.988,-3.945],[21.729,13.728],[13.65,15.905]],"v":[[275.847,135.564],[252.274,160.368],[262.09,136.869],[229.66,71.769],[189.038,24.973],[130.341,13.86],[84.817,17.55],[60.386,29.373],[61.053,22.504],[88.499,6.609],[137.588,2.531],[195.254,11.077],[239.876,63.267]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.992156863213,0.984313726425,0.949019610882,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.67,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.88,"y":0},"t":53,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":71,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-16.839,-12.48],[-7.397,-23.208],[43.36,64.907],[21.221,-13.117],[1.004,7.484],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[16.839,12.48],[7.397,23.208],[0,0],[-18.81,11.627],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[248.617,48.827],[299.717,111.358],[238.06,118.521],[227.97,170.824],[186.414,132.913],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.303]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":79,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-23.117,-0.595],[-7.366,-24.629],[0.153,-20.959],[14.384,-19.658],[6.171,40.254],[14.528,7.253],[-2.357,7.173],[8.621,4.185],[-6.619,9.69],[7.638,5.157],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[23.117,0.595],[7.366,24.629],[-0.153,20.959],[-14.384,19.658],[0,0],[-12.877,-6.429],[0,0],[-8.95,-4.345],[0,0],[-11.938,-8.06],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[145.343,5.893],[204.279,44.4],[203.629,113.066],[179.924,208.381],[141.329,167.268],[109.972,195.322],[100.421,155.104],[73.634,162.492],[78.57,131.356],[58.266,136.2],[66.672,108.927],[49.595,110.879]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":106,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.54,"y":0},"t":155,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-14.009,-21.554],[-5.76,-20.152],[8.261,-22.914],[17.265,36.883],[15.983,2.864],[-0.24,7.547],[9.451,1.586],[-3.62,11.163],[8.782,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[14.009,21.554],[5.76,20.152],[-8.261,22.914],[0,0],[-14.167,-2.539],[0,0],[-9.812,-1.646],[0,0],[-13.726,-4.369],[0,0],[-8.31,-9.369]],"v":[[74.129,67.933],[57.789,53.995],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.578,15.39],[214.307,81.456],[216.777,162.173],[172.666,155.743],[143.986,180.14],[127.129,150.877],[107.939,162.253],[99.472,134.25],[81.389,140.869],[74.791,116.614],[58.182,115.468]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,13.234],[0.119,9.503],[0,0],[-3.755,11.686],[-12.504,0.129],[-17.991,3.942],[-21.734,-13.728],[-13.654,-15.901],[-2.071,-24.27],[43.36,64.907],[23.089,-9.45],[-0.24,7.547],[19.837,-0.264],[-3.62,11.163],[15.785,2.795],[0,0],[5.109,5.76]],"o":[[0,0],[-0.113,-9.062],[0,0],[3.652,-11.365],[13.584,-0.14],[17.991,-3.942],[21.734,13.728],[13.654,15.901],[2.071,24.27],[0,0],[-20.466,8.376],[0,0],[-20.594,0.274],[0,0],[-24.672,-4.369],[0,0],[-8.31,-9.369]],"v":[[76.391,74.875],[59.069,59.249],[67.83,39.902],[61.056,22.506],[88.5,6.611],[137.583,2.532],[195.253,11.074],[239.875,63.269],[275.849,135.568],[216.093,121.755],[202.518,175.572],[167.759,131.345],[150.532,170.731],[126.26,120.588],[97.967,150.442],[85.726,118.732],[65.594,116.304]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.929411768913,0.92549020052,0.882352948189,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[626.503,375.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":90.895,"s":[8]},{"t":103,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":86,"s":[0]},{"t":103,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"t":99,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":80,"op":103,"st":50,"bm":0},{"ddd":0,"ind":21,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[604.503,194.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":64,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":74.895,"s":[8]},{"t":87,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[0]},{"t":87,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":64,"s":[0]},{"t":83,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":64,"op":87,"st":34,"bm":0},{"ddd":0,"ind":22,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[379.503,147.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":58.895,"s":[8]},{"t":71,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":54,"s":[0]},{"t":71,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[0]},{"t":67,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":48,"op":71,"st":18,"bm":0},{"ddd":0,"ind":23,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[479.503,185.239,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":32,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":42.895,"s":[8]},{"t":55,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[0]},{"t":55,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":32,"s":[0]},{"t":51,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":32,"op":55,"st":2,"bm":0},{"ddd":0,"ind":24,"ty":4,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":0,"k":-45.291},"p":{"a":0,"k":[458,404,0]},"a":{"a":0,"k":[173,-184,0]},"s":{"a":0,"k":[131,93.9,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.952941176471,0.971764658012,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":18},"lc":1,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690195958755,0.690195958755,0.690195958755,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[173,-184],[-37,-184]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.952941179276,0.971764683723,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":26.895,"s":[8]},{"t":39,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[0]},{"t":39,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0]},{"t":35,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":16,"op":39,"st":-14,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"refId":"comp_0","sr":1,"ks":{"p":{"a":0,"k":[262,256,0]},"a":{"a":0,"k":[372,372,0]},"s":{"a":0,"k":[96,96,100]}},"ao":0,"w":744,"h":744,"ip":0,"op":20,"st":-160,"bm":0},{"ddd":0,"ind":2,"ty":0,"refId":"comp_0","sr":1,"ks":{"p":{"a":0,"k":[262,256,0]},"a":{"a":0,"k":[372,372,0]},"s":{"a":0,"k":[96,96,100]}},"ao":0,"w":744,"h":744,"ip":20,"op":180,"st":20,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_note.tgs b/TMessagesProj/src/main/res/raw/wallet_note.tgs deleted file mode 100644 index 8cb11dd1e..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_note.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"writing/list / emoji","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":0,"s":[216,316,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32.143,"s":[216,316,0],"to":[0,0,0],"ti":[0,0,0]},{"t":144.642578125,"s":[216,232,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"parent":2,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-18,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32.143,"s":[203,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":48.215,"s":[-18,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80.357,"s":[211,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":96.428,"s":[-18,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":130.178,"s":[212,-222,0],"to":[0,0,0],"ti":[0,0,0]},{"t":176.78515625,"s":[88,-222,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"parent":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32.143,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":48.215,"s":[0,90,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80.357,"s":[0,90,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":96.428,"s":[0,183,0],"to":[0,0,0],"ti":[0,0,0]},{"t":176.78515625,"s":[0,295,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"parent":4,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":8.035,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16.072,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24.107,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":32.143,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40.178,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":48.215,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56.25,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":64.285,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":72.322,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80.357,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":88.393,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":96.428,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":104.465,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":112.5,"s":[-5]},{"t":139.822265625,"s":[0]}]},"p":{"a":0,"k":[-109,116,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":129,"s":[80,80,100]},{"t":176.78515625,"s":[100,100,100]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[117.006,-119.555,0]},"a":{"a":0,"k":[49.006,45.445,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[29.928,34.271],[41.717,22.482]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[93.32,-29.121],[97.415,-33.216]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[49.367,14.833],[53.462,10.737]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-8.021,-13.492],[0,0],[-1.507,4.282],[0,0]],"o":[[0,0],[-4.274,1.505],[0,0],[0,0]],"v":[[-39.029,156.552],[-63.872,165.352],[-70.761,158.465],[-63.58,138.086]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.188235297799,0.20000000298,0.207843139768,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[81.95,-38.101],[132.921,13.063]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[88.074,-44.201],[139.045,6.962]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[153.296,5.137],[89.953,-58.445],[89.946,-58.438],[153.289,5.144]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[131.256,27.093],[67.913,-36.488],[67.906,-36.481],[131.249,27.1]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.209,11.251],[0,0],[11.251,-11.209],[0,0],[0,0],[0,0]],"o":[[0,0],[-11.209,-11.251],[0,0],[0,0],[0,0],[11.251,-11.209]],"v":[[160.706,-50.084],[145.202,-65.647],[104.533,-65.724],[93.572,-54.805],[149.669,1.504],[160.63,-9.416]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.57647061348,0.298039227724,0.298039227724,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.25,-11.208],[0,0],[0,0],[0,0],[12.266,12.313],[0,0],[-6.147,-6.17],[0,0]],"o":[[0,0],[0,0],[0,0],[12.283,-12.236],[0,0],[8.048,-0.593],[0,0],[11.208,11.25]],"v":[[159.918,-8.712],[151.083,0.089],[134.772,-16.284],[139.751,-21.244],[138.721,-59.402],[123.456,-74.725],[144.495,-64.941],[160.001,-49.377]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.549019634724,0.235294118524,0.235294118524,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":21},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[8.513,8.545],[0,0],[8.545,-8.513],[0,0],[0,0],[0,0]],"o":[[0,0],[-8.513,-8.545],[0,0],[0,0],[0,0],[8.545,-8.513]],"v":[[152.513,-45.398],[140.484,-57.472],[109.6,-57.53],[99.564,-47.532],[142.419,-4.515],[152.455,-14.513]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.866666674614,0.450980395079,0.450980395079,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[11.209,11.251],[0,0],[11.251,-11.209],[0,0],[0,0],[0,0]],"o":[[0,0],[-11.209,-11.251],[0,0],[0,0],[0,0],[11.251,-11.209]],"v":[[160.706,-50.084],[145.202,-65.647],[104.533,-65.724],[93.572,-54.805],[149.669,1.504],[160.63,-9.416]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254905701,0.560784339905,0.560784339905,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[106.408,-41.921],[96.524,-51.907],[74.092,-30.272],[84.365,-19.961]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.901960790157,0.949019610882,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":51},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[148.937,0.768],[132.564,-15.666],[110.521,6.294],[126.894,22.728]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":51},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[149.669,1.504],[93.572,-54.805],[71.738,-33.053],[127.835,23.255]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.490196079016,0.482352942228,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[0.745098054409,0.792156875134,0.850980401039,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.522,-0.796],[0,0],[2.779,-0.058],[0,0],[0.186,2.581],[0,0],[2.56,-0.01],[0,0],[-0.607,3.018],[0,0],[1.946,-0.725],[0,0],[0,0]],"o":[[0,0],[-1.218,1.214],[0,0],[0.083,-2.779],[0,0],[-2.595,0.059],[0,0],[-0.193,-2.546],[0,0],[-3.083,0.022],[0,0],[0.4,-2.035],[0,0],[0,0],[0,0]],"v":[[128.437,24.27],[17.503,134.788],[13.375,137.813],[13.738,124.987],[8.777,119.993],[-4.611,120.993],[-10.272,115.778],[-11.548,98.544],[-16.425,94.03],[-30.122,94.096],[-34.912,88.282],[-32.942,78.471],[-36.465,75.459],[-40.18,76.831],[70.726,-33.658]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.458823531866,0.031372550875,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.186,2.581],[0,0]],"o":[[0,0],[-2.595,0.059],[0,0],[0,0]],"v":[[110.524,6.29],[-4.611,120.993],[-10.272,115.778],[105.097,0.843]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.796078443527,0.145098045468,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.522,-0.796],[0,0],[2.779,-0.058],[0,0],[0,0]],"o":[[0,0],[-1.218,1.214],[0,0],[0.083,-2.779],[0,0],[0,0],[0,0]],"v":[[128.437,24.27],[17.503,134.788],[13.375,137.813],[13.738,124.987],[8.777,119.993],[-4.611,120.993],[110.524,6.29]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215695858,0.564705908298,0.070588238537,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.607,3.018],[0,0]],"o":[[0,0],[-3.083,0.022],[0,0],[0,0]],"v":[[84.368,-19.964],[-30.122,94.096],[-34.912,88.282],[78.8,-25.554]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.796078443527,0.145098045468,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.946,-0.725],[0,0],[0,0],[0,0]],"o":[[0,0],[0.4,-2.035],[0,0],[0,0],[0,0],[0,0]],"v":[[-34.912,88.282],[-32.942,78.471],[-36.465,75.459],[-40.18,76.831],[70.726,-33.658],[78.8,-25.554]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254905701,0.654901981354,0.027450980619,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.522,-0.796],[0,0],[2.779,-0.058],[0,0],[0.186,2.581],[0,0],[2.56,-0.01],[0,0],[-0.607,3.018],[0,0],[1.946,-0.725],[0,0],[0,0]],"o":[[0,0],[-1.218,1.214],[0,0],[0.083,-2.779],[0,0],[-2.595,0.059],[0,0],[-0.193,-2.546],[0,0],[-3.083,0.022],[0,0],[0.4,-2.035],[0,0],[0,0],[0,0]],"v":[[128.437,24.27],[17.503,134.788],[13.375,137.813],[13.738,124.987],[8.777,119.993],[-4.611,120.993],[-10.272,115.778],[-11.548,98.544],[-16.425,94.03],[-30.122,94.096],[-34.912,88.282],[-32.942,78.471],[-36.465,75.459],[-40.18,76.831],[70.726,-33.658]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.745098054409,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.008,-0.006],[0,0],[1.348,1.693],[0,0],[0.036,0.134]],"o":[[0,0],[-2.363,0.83],[0,0],[4.174,2.651],[-0.944,-3.472]],"v":[[-48.253,147.098],[-67.17,163.132],[-67.967,163.458],[-57.349,142.341],[-47.631,146.807]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725495338,0.909803926945,0.909803926945,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":20},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-8.021,-13.492],[0,0],[-1.507,4.282],[0,0]],"o":[[0,0],[-4.274,1.505],[0,0],[0,0]],"v":[[-39.029,156.552],[-63.872,165.352],[-70.761,158.465],[-63.58,138.086]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.278431385756,0.278431385756,0.274509817362,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.778,-0.282],[0,0],[-1.507,4.282],[0,0],[-1.821,1.814],[0,0],[0.4,-2.035],[0,0],[-3.083,0.022],[0,0],[-0.193,-2.546],[0,0],[-2.595,0.059],[0,0],[0.083,-2.779]],"o":[[-0.729,0.388],[0,0],[-4.274,1.505],[0,0],[0.853,-2.431],[0,0],[1.946,-0.725],[0,0],[-0.607,3.018],[0,0],[2.56,-0.01],[0,0],[0.186,2.581],[0,0],[2.779,-0.058],[0,0]],"v":[[13.375,137.813],[11.11,138.813],[-63.872,165.352],[-70.761,158.465],[-44.251,83.286],[-40.18,76.831],[-36.465,75.459],[-32.942,78.471],[-34.912,88.282],[-30.122,94.096],[-16.425,94.03],[-11.548,98.544],[-10.272,115.778],[-4.611,120.993],[8.777,119.993],[13.738,124.987]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.54509806633,0.301960796118,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.778,-0.282],[0,0],[1.347,1.664],[0,0],[0,0],[-2.595,0.059],[0,0],[0.083,-2.779]],"o":[[-0.729,0.388],[0,0],[-2.349,0.83],[0,0],[0,0],[0.186,2.581],[0,0],[2.779,-0.058],[0,0]],"v":[[13.375,137.813],[11.11,138.813],[-63.872,165.352],[-69.872,163.65],[-69.901,163.608],[-10.272,115.778],[-4.611,120.993],[8.777,119.993],[13.738,124.987]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.78823530674,0.57647061348,0.262745112181,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":49},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.825,2.346],[0,0],[-1.821,1.814],[0,0],[0.4,-2.035],[0,0],[-0.974,-1.091]],"o":[[0,0],[-1.652,-1.347],[0,0],[0.853,-2.431],[0,0],[1.946,-0.725],[0,0],[-0.314,1.569],[0,0]],"v":[[-67.17,163.132],[-69.067,164.458],[-70.761,158.465],[-44.251,83.286],[-40.18,76.831],[-36.465,75.459],[-32.942,78.471],[-34.912,88.282],[-33.782,92.449]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.745098054409,0.454901963472,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0.778,-0.282],[0,0],[-1.507,4.282],[0,0],[-1.821,1.814],[0,0],[0.4,-2.035],[0,0],[-3.083,0.022],[0,0],[-0.193,-2.546],[0,0],[-2.595,0.059],[0,0],[0.083,-2.779]],"o":[[-0.729,0.388],[0,0],[-4.274,1.505],[0,0],[0.853,-2.431],[0,0],[1.946,-0.725],[0,0],[-0.607,3.018],[0,0],[2.56,-0.01],[0,0],[0.186,2.581],[0,0],[2.779,-0.058],[0,0]],"v":[[13.375,137.813],[11.11,138.813],[-63.872,165.352],[-70.761,158.465],[-44.251,83.286],[-40.18,76.831],[-36.465,75.459],[-32.942,78.471],[-34.912,88.282],[-30.122,94.096],[-16.425,94.03],[-11.548,98.544],[-10.272,115.778],[-4.611,120.993],[8.777,119.993],[13.738,124.987]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176474094,0.819607853889,0.572549045086,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":6,"sr":1,"ks":{"o":{"a":0,"k":55},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":8.035,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16.072,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24.107,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":32.143,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40.178,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":48.215,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56.25,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":64.285,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":72.322,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80.357,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":88.393,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":96.428,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":104.465,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":112.5,"s":[5]},{"t":139.822265625,"s":[0]}]},"p":{"a":0,"k":[-65.308,162.145,0]},"a":{"a":0,"k":[-68.097,169.091,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6.428,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.046,-3.855],[-1.091,4.534],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[4.21,-17.497],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[242.2,227.362],[245.841,187.794],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.035,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.047,-3.855],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[231.262,227.049],[231.154,186.857],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.643,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[215.325,227.674],[215.216,187.482],[214.353,166.975],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19.285,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[96.742,235.447],[97.2,213.924],[97.091,173.732],[96.384,151.819],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22.5,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[57.679,232.635],[58.137,211.112],[58.029,170.919],[56.697,146.819],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25.715,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.846,-0.575],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.593,0.566],[1.984,0.369],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[17.355,2.304],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-2.231,-0.887],[-2.988,-0.61],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[26.429,225.76],[26.887,204.237],[26.779,164.044],[25.447,139.944],[14.249,134.517],[6.736,134.858],[-70.585,163.218]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":27.322,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.856,-0.493],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.58,0.606],[-0.241,0.172],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[10.333,1.049],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-0.293,-0.412],[-2.965,-0.735],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[16.429,224.197],[16.887,202.674],[16.779,162.482],[15.447,138.381],[16.02,135.454],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.333,"y":0},"t":32.143,"s":[{"i":[[-2.343,-1.952],[-7.541,-5.227],[-1.131,-0.493],[-3.549,-1.819],[-0.011,4.663],[0.015,7.164],[0.368,0.606],[-0.056,0.172],[1.063,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[1.836,1.272],[2.407,1.049],[-0.048,-0.257],[0.04,-16.911],[-0.022,-10.311],[-0.068,-0.412],[-0.691,-0.735],[-2.093,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-6.739,220.209],[-4.426,223.639],[-1.613,224.197],[-1.507,202.674],[-1.532,162.482],[-1.842,138.381],[-1.709,135.454],[-2.997,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.104},"t":35.357,"s":[{"i":[[-2.343,-1.952],[-15.859,-10.799],[-3.233,-0.633],[-10.201,-1.819],[-0.032,4.663],[0.044,7.164],[1.08,0.538],[3.636,0.508],[3.054,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[2.564,1.75],[18.906,3.192],[-0.137,-0.257],[0.115,-16.911],[-0.064,-10.311],[-3.505,-1.222],[-2.024,-0.522],[-6.017,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-6.077,220.209],[0.569,223.639],[27.597,228.374],[27.903,206.851],[27.831,166.658],[26.939,142.558],[11.759,135.988],[4.676,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.965,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[57.679,232.635],[58.137,211.112],[58.029,170.919],[56.697,146.819],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43.393,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[215.325,227.674],[215.216,187.482],[214.353,166.975],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.046,-3.855],[-1.091,4.534],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[4.21,-17.497],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[242.2,227.362],[245.841,187.794],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54.643,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.046,-3.855],[-1.091,4.534],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[4.21,-17.497],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[242.2,227.362],[245.841,187.794],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56.25,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.047,-3.855],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[231.262,227.049],[231.154,186.857],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.857,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[215.325,227.674],[215.216,187.482],[214.353,166.975],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.285,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[0.382,7.14],[1.531,0.663],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.525,-10.107],[-6.122,-2.765],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[129.867,240.031],[130.325,218.508],[130.216,178.315],[129.457,156.871],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.5,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[87.367,235.447],[87.825,213.924],[87.716,173.732],[87.009,151.819],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.715,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[48.304,229.51],[48.762,207.987],[48.654,167.794],[47.322,143.694],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.928,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.846,-0.575],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.593,0.566],[1.984,0.369],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[17.355,2.304],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-2.231,-0.887],[-2.988,-0.61],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[17.054,222.635],[17.512,201.112],[17.404,160.919],[16.072,136.819],[14.249,134.517],[6.736,134.858],[-70.585,163.218]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":75.535,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.856,-0.493],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.58,0.606],[-0.241,0.172],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[10.333,1.049],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-0.293,-0.412],[-2.965,-0.735],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[7.054,224.197],[7.512,202.674],[7.404,162.482],[6.072,138.381],[16.02,135.454],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.333,"y":0},"t":80.357,"s":[{"i":[[-2.343,-1.952],[-7.541,-5.227],[-1.131,-0.493],[-3.549,-1.819],[-0.011,4.663],[0.015,7.164],[0.368,0.606],[-0.056,0.172],[1.063,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[1.836,1.272],[2.407,1.049],[-0.048,-0.257],[0.04,-16.911],[-0.022,-10.311],[-0.068,-0.412],[-0.691,-0.735],[-2.093,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-14.239,214.897],[-12.864,221.921],[-14.113,224.197],[-14.007,202.674],[-14.032,162.482],[-14.342,138.381],[-1.709,135.454],[-2.997,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.104},"t":83.572,"s":[{"i":[[-2.343,-1.952],[-15.859,-10.799],[-3.233,-0.633],[-10.201,-1.819],[-0.032,4.663],[0.044,7.164],[1.08,0.538],[3.636,0.508],[3.054,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[2.564,1.75],[18.906,3.192],[-0.137,-0.257],[0.115,-16.911],[-0.064,-10.311],[-3.505,-1.222],[-2.024,-0.522],[-6.017,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-6.077,220.209],[0.569,223.639],[20.409,225.561],[20.716,204.038],[20.643,163.846],[19.752,139.745],[11.759,135.988],[4.676,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":85.178,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-15.238,-1.819],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[51.429,229.51],[51.887,207.987],[51.779,167.794],[50.447,143.694],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":86.785,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-18.819,-1.76],[-0.047,4.663],[0.303,7.146],[1.553,0.619],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.418,-10.158],[-6.118,-2.532],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[89.163,231.307],[89.622,209.784],[89.513,169.591],[88.298,146.389],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":91.607,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[213.304,249.197],[213.762,227.674],[213.654,187.482],[212.791,166.975],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":93.215,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.046,-3.855],[-1.091,4.534],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[4.21,-17.497],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[242.2,227.362],[245.841,187.794],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":102.857,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.046,-3.855],[-1.091,4.534],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[4.21,-17.497],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[242.2,227.362],[245.841,187.794],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104.465,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-58.047,-3.855],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[17.064,1.133],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[231.262,227.049],[231.154,186.857],[230.291,166.35],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":106.072,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[1.013,7.092],[1.352,1.016],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-1.385,-9.698],[-6.151,-4.623],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[214.867,249.197],[215.325,227.674],[215.216,187.482],[214.353,166.975],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":110.893,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[0.54,7.128],[1.486,0.752],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.74,-10.004],[-6.129,-3.229],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[158.929,242.322],[159.387,220.799],[159.279,180.607],[158.494,159.397],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":115.715,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-29.562,-1.583],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[96.742,235.447],[97.2,213.924],[97.091,173.732],[96.384,151.819],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.167,"y":0.167},"t":118.928,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.825,-0.74],[-15.065,-2.923],[-0.386,4.647],[-0.455,7.15],[1.58,0.604],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[31.4,4.816],[-0.186,-0.271],[1.401,-16.854],[0.655,-10.291],[-5.957,-2.275],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-5.575,220.209],[4.352,223.639],[60.495,235.959],[60.33,214.526],[63.145,174.432],[63.569,150.299],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.167,"y":0.104},"t":120.535,"s":[{"i":[[-2.343,-1.952],[-18.946,-13.082],[-4.03,-0.709],[-12.581,-2.756],[-0.397,4.646],[-0.494,7.147],[1.311,0.611],[5.051,0.636],[3.845,-1.38],[6.205,-3.147]],"o":[[14.164,11.799],[2.818,1.969],[25.221,4.062],[-0.152,-0.268],[1.44,-16.85],[0.712,-10.286],[-4.699,-1.88],[-2.521,-0.453],[-7.575,2.718],[-5.7,2.891]],"v":[[-72.722,175.576],[-2.936,220.262],[5.306,223.734],[44.517,231.412],[41.56,208.734],[44.553,168.654],[45.29,144.543],[21.461,136.419],[12.141,136.308],[-70.585,163.218]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.104},"t":123.75,"s":[{"i":[[-2.343,-1.952],[-12.521,-9.207],[-2.44,-0.647],[-7.811,-1.678],[0.03,4.663],[0.117,7.162],[0.828,0.548],[2.315,0.161],[2.411,-1.336],[6.205,-3.147]],"o":[[14.164,11.799],[2.221,1.681],[12.862,2.553],[-0.108,-0.255],[-0.108,-16.911],[-0.168,-10.309],[-2.276,-0.876],[-1.551,-0.491],[-4.751,2.632],[-5.7,2.891]],"v":[[-72.722,175.576],[2.343,220.369],[7.213,223.925],[14.017,225.596],[14.002,204.071],[13.48,163.884],[12.52,139.799],[14.571,140.181],[15.449,136.71],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.333,"y":0},"t":125.357,"s":[{"i":[[-2.343,-1.952],[-7.031,-5.895],[-1.081,-0.594],[-3.368,-2.136],[0.096,4.662],[0.179,7.162],[0.382,0.597],[-0.052,0.173],[1.03,-1.425],[6.205,-3.147]],"o":[[14.164,11.799],[1.712,1.435],[2.301,1.264],[-0.024,-0.26],[-0.346,-16.908],[-0.258,-10.308],[-0.078,-0.41],[-0.707,-0.719],[-2.03,2.808],[-5.7,2.891]],"v":[[-72.722,175.576],[-1.686,219.596],[0.302,223.223],[3.052,224.036],[3.46,202.283],[2.517,162.102],[1.656,138.014],[1.723,135.085],[0.449,135.768],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.104},"t":126.965,"s":[{"i":[[-2.343,-1.952],[-5.765,-3.101],[-0.859,-0.275],[-2.7,-1.042],[0.09,3.041],[0.163,4.671],[0.289,0.38],[-0.038,0.114],[0.767,-0.957],[6.205,-3.147]],"o":[[14.164,11.799],[1.404,0.755],[1.827,0.586],[-0.041,-0.165],[-0.327,-11.03],[-0.234,-6.723],[-0.06,-0.266],[-0.534,-0.451],[-1.512,1.886],[-5.7,2.891]],"v":[[-72.722,175.576],[-8.104,205.81],[-6.298,207.952],[-4.177,208.201],[-4.55,194.161],[-5.417,167.95],[-6.158,152.246],[-6.119,150.331],[-7.072,150.81],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":130.178,"s":[{"i":[[-2.343,-1.952],[-5.765,-3.101],[-0.859,-0.275],[-2.7,-1.042],[0.09,3.041],[0.163,4.671],[0.289,0.38],[-0.038,0.114],[0.767,-0.957],[6.205,-3.147]],"o":[[14.164,11.799],[1.404,0.755],[1.827,0.586],[-0.041,-0.165],[-0.327,-11.03],[-0.234,-6.723],[-0.06,-0.266],[-0.534,-0.451],[-1.512,1.886],[-5.7,2.891]],"v":[[-72.722,175.576],[-19.333,205.81],[-17.526,207.952],[-15.405,208.201],[-15.779,194.161],[-16.645,167.95],[-17.386,152.246],[-17.348,150.331],[-18.3,150.81],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.896},"o":{"x":0.167,"y":0},"t":133.393,"s":[{"i":[[-2.343,-1.952],[-5.765,-3.101],[-0.859,-0.275],[-2.7,-1.042],[0.09,3.041],[0.163,4.671],[0.289,0.38],[-0.038,0.114],[0.767,-0.957],[6.205,-3.147]],"o":[[14.164,11.799],[1.404,0.755],[1.827,0.586],[-0.041,-0.165],[-0.327,-11.03],[-0.234,-6.723],[-0.06,-0.266],[-0.534,-0.451],[-1.512,1.886],[-5.7,2.891]],"v":[[-72.722,175.576],[-17.125,205.81],[-15.319,207.952],[-13.197,208.201],[-13.571,194.161],[-14.438,167.95],[-15.178,152.246],[-15.14,150.331],[-16.093,150.81],[-70.585,163.218]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.104},"t":139.822,"s":[{"i":[[-2.343,-1.952],[-12.521,-9.207],[-2.44,-0.647],[-7.811,-1.678],[0.03,4.663],[0.117,7.162],[0.828,0.548],[2.315,0.161],[2.411,-1.336],[6.205,-3.147]],"o":[[14.164,11.799],[2.221,1.681],[12.862,2.553],[-0.108,-0.255],[-0.108,-16.911],[-0.168,-10.309],[-2.276,-0.876],[-1.551,-0.491],[-4.751,2.632],[-5.7,2.891]],"v":[[-72.722,175.576],[-25.233,202.459],[4.655,202.319],[11.458,203.991],[11.443,182.466],[13.48,163.884],[12.52,139.799],[14.571,140.181],[15.449,136.71],[-70.585,163.218]],"c":true}]},{"i":{"x":0.05,"y":1},"o":{"x":0.167,"y":0.167},"t":149.465,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.881,-0.067],[-29.562,-1.583],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[30.843,0.421],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-44.015,195.305],[-32.734,195.757],[81.853,195.654],[82.311,174.131],[82.203,170.754],[81.496,148.841],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]},{"t":180,"s":[{"i":[[-2.343,-1.952],[-22.158,-15.019],[-4.881,-0.067],[-29.562,-1.583],[-0.047,4.663],[0.066,7.164],[1.62,0.487],[6.433,0.763],[4.562,-1.402],[6.205,-3.147]],"o":[[14.164,11.799],[3.116,2.112],[30.843,0.421],[-0.205,-0.257],[0.171,-16.911],[-0.095,-10.311],[-6.107,-1.836],[-3.034,-0.36],[-8.988,2.761],[-5.7,2.891]],"v":[[-72.722,175.576],[-50.015,191.055],[-38.734,191.507],[144.853,191.339],[145.411,181.066],[145.302,177.689],[145.996,164.841],[21.957,136.392],[10.486,136.108],[-70.585,163.218]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.776470648074,0.776470648074,0.772549079446,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[-127.438,-159.153,0]},"a":{"a":0,"k":[-127.438,-159.153,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-4.093,-32.646],[0,0],[-0.001,0.001],[-44.633,20.728],[-0.323,0.148],[0.024,-0.012]],"o":[[0,0],[0,0],[0.257,-0.234],[0.322,-0.149],[-0.021,0.01],[-3.699,1.822]],"v":[[-123.003,-132.523],[-167.823,-132.523],[-167.821,-132.524],[-88.02,-185.336],[-87.053,-185.783],[-87.122,-185.749]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.776470601559,0.776470601559,0.772549033165,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":11,"sr":1,"ks":{"p":{"a":0,"k":[-10.272,6.317,0]},"a":{"a":0,"k":[-10.272,6.317,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":17.678,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,-113.893],[7.496,-113.893],[7.496,-99.813],[7.469,-99.813]],"c":true}]},{"t":32.142578125,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.909,-113.893],[93.976,-113.893],[93.976,-99.813],[7.909,-99.813]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":120.535,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,112.446],[7.499,112.446],[7.499,126.527],[7.469,126.527]],"c":true}]},{"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.909,112.446],[102.942,112.446],[102.942,126.527],[7.909,126.527]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":114.107,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,67.434],[7.494,67.434],[7.494,81.515],[7.469,81.515]],"c":true}]},{"t":128.572265625,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.175,67.434],[87.534,67.434],[87.534,81.515],[8.175,81.515]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":70.715,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,22.446],[7.494,22.446],[7.494,36.527],[7.469,36.527]],"c":true}]},{"t":85.177734375,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.909,22.446],[88.944,22.446],[88.944,36.527],[7.909,36.527]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":65.893,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,-22.718],[7.495,-22.718],[7.495,-8.637],[7.469,-8.637]],"c":true}]},{"t":80.357421875,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.909,-22.718],[92.572,-22.718],[92.572,-8.637],[7.909,-8.637]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":22.5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.469,-68.693],[7.5,-68.693],[7.5,-54.612],[7.469,-54.612]],"c":true}]},{"t":36.96484375,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.526,-68.693],[107.073,-68.693],[107.073,-54.612],[7.526,-54.612]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,-113.893],[-127.682,-113.893],[-127.682,-99.813],[-127.656,-99.813]],"c":true}]},{"t":17.677734375,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,-113.893],[-42.584,-113.893],[-42.584,-99.813],[-127.617,-99.813]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":102.857,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,112.446],[-127.686,112.446],[-127.686,126.527],[-127.656,126.527]],"c":true}]},{"t":120.53515625,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,112.446],[-29.164,112.446],[-29.164,126.527],[-127.617,126.527]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":96.428,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,67.434],[-127.68,67.434],[-127.68,81.515],[-127.656,81.515]],"c":true}]},{"t":114.107421875,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,67.434],[-48.258,67.434],[-48.258,81.515],[-127.617,81.515]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":53.035,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,22.446],[-127.688,22.446],[-127.688,36.527],[-127.656,36.527]],"c":true}]},{"t":70.71484375,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,22.446],[-24.354,22.446],[-24.354,36.527],[-127.617,36.527]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":48.215,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,-22.718],[-127.68,-22.718],[-127.68,-8.637],[-127.656,-8.637]],"c":true}]},{"t":65.892578125,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,-22.718],[-48.258,-22.718],[-48.258,-8.637],[-127.617,-8.637]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":4.822,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.656,-68.693],[-127.684,-68.693],[-127.684,-54.612],[-127.656,-54.612]],"c":true}]},{"t":22.5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-127.617,-68.693],[-35.384,-68.693],[-35.384,-54.612],[-127.617,-54.612]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.690196078431,0.690196078431,0.690196078431,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":3,"parent":2,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.399,"y":0},"t":130.178,"s":[226,124,0],"to":[0,0,0],"ti":[0,0,0]},{"t":176.78515625,"s":[273,145,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":10,"sr":1,"ks":{"p":{"a":0,"k":[-235.333,-123.338,0]},"a":{"a":0,"k":[-9.333,0.662,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-45.26,20.79]],"o":[[0,0],[0,0],[0,0],[0,0],[0.07,-0.03]],"v":[[149.157,-185.893],[149.157,187.217],[-167.823,187.217],[-167.823,-132.523],[-87.053,-185.783]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.776470601559,0.776470601559,0.772549033165,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-45.26,20.79]],"o":[[0,0],[0,0],[0,0],[0,0],[0.07,-0.03]],"v":[[149.157,-185.893],[149.157,187.217],[-167.823,187.217],[-167.823,-132.523],[-87.053,-185.783]],"c":true}},"hd":false},{"ty":"gf","o":{"a":0,"k":100},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.992,0.992,0.992,0.583,0.91,0.908,0.906,1,0.827,0.824,0.82]}},"s":{"a":0,"k":[-32,-180]},"e":{"a":0,"k":[34.343,352.286]},"t":1,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_perfect.tgs b/TMessagesProj/src/main/res/raw/wallet_perfect.tgs deleted file mode 100644 index b8b091757..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_perfect.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":120,"w":480,"h":608,"nm":"thumbsup 👍480x608","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[110.62,-0.262,0]},"a":{"a":0,"k":[110.62,-0.262,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.124,6.478],[-17.411,11.949],[-8.876,-0.066],[-19.033,0.597]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-31.75,-6.828],[17.411,-11.949],[11.522,0.085],[0,0]],"v":[[107.555,-50.359],[187.305,-8.441],[157.291,41.858],[58.969,46.324],[44.288,-4.629],[98.315,-14.473],[143.72,-23.691]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":10,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.762,1.767],[-17.411,11.949],[-8.535,2.438],[-7.196,4.859]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-32.422,-1.862],[17.411,-11.949],[11.079,-3.165],[0,0]],"v":[[107.555,-50.359],[193.555,-8.441],[168.853,43.108],[86.798,55.885],[72.101,5.058],[120.587,-11.917],[143.252,-21.659]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":35.398,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":39.736,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[110.256,-39.831],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":43.205,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[107.948,-44.294],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":44.072,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[107.716,-45.923],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":44.941,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[107.744,-47.41],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.33,"y":0},"t":45.809,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.542,14.612],[-19.466,8.186],[-8.68,-1.857],[-15.165,1.89]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.463,-11.257],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[107.398,-48.953],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[136.064,-24.941]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":46.676,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[39.412,14.422],[-19.436,8.241],[-8.678,-1.794],[-15.047,1.934]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.492,-11.118],[19.436,-8.241],[11.265,2.328],[0,0]],"v":[[107.869,-50.224],[180.933,-9.057],[150.997,41.26],[44.188,39.478],[40.08,-13.721],[95.193,-17.952],[136.171,-24.892]],"c":false}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.762,1.767],[-17.411,11.949],[-8.535,2.438],[-7.196,4.859]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-32.422,-1.862],[17.411,-11.949],[11.079,-3.165],[0,0]],"v":[[107.555,-50.359],[193.555,-8.441],[168.853,43.108],[86.798,55.885],[72.101,5.058],[120.587,-11.917],[143.252,-21.659]],"c":false}]},{"t":62.3828125,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.124,6.478],[-17.411,11.949],[-8.876,-0.066],[-19.033,0.597]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-31.75,-6.828],[17.411,-11.949],[11.522,0.085],[0,0]],"v":[[107.555,-50.359],[187.305,-8.441],[157.291,41.858],[58.969,46.324],[44.288,-4.629],[98.315,-14.473],[143.72,-23.691]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-4.855,0.482],[19.901,4.272],[-17.412,11.952],[-8.88,-0.067],[-2.333,-23.454]],"o":[[-22.301,2.691],[-31.752,-6.828],[17.412,-11.952],[0,0],[2.484,24.97]],"v":[[126.828,48.021],[58.973,46.328],[44.286,-4.63],[101.986,-14.712],[89.178,22.458]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":10,"s":[{"i":[[-4.855,0.482],[20.321,1.167],[-17.412,11.952],[-8.539,2.438],[-2.333,-23.454]],"o":[[-20.616,5.648],[-32.425,-1.862],[17.412,-11.952],[0,0],[2.484,24.97]],"v":[[153.078,46.771],[86.804,55.887],[72.098,5.057],[124.042,-13.182],[111.366,24.645]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":35.398,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":39.736,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":43.205,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":44.072,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":44.941,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.33,"y":0},"t":45.809,"s":[{"i":[[-4.855,0.482],[19.257,6.594],[-19.467,8.188],[-8.88,-0.067],[2.453,-23.442]],"o":[[-22.301,2.691],[-30.727,-10.521],[19.467,-8.188],[0,0],[-2.611,24.957]],"v":[[120.265,47.396],[43.552,39.236],[39.596,-14.004],[95.893,-17.681],[82.154,16.906]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":46.676,"s":[{"i":[[-4.855,0.482],[19.273,6.513],[-19.437,8.244],[-8.875,-0.03],[2.382,-23.442]],"o":[[-22.276,2.735],[-30.752,-10.393],[19.437,-8.244],[0,0],[-2.536,24.957]],"v":[[120.751,47.387],[44.193,39.482],[40.077,-13.722],[96.309,-17.615],[82.586,17.021]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[-4.855,0.482],[20.321,1.167],[-17.412,11.952],[-8.539,2.438],[-2.333,-23.454]],"o":[[-20.616,5.648],[-32.425,-1.862],[17.412,-11.952],[0,0],[2.484,24.97]],"v":[[153.078,46.771],[86.804,55.887],[72.098,5.057],[124.042,-13.182],[111.366,24.645]],"c":true}]},{"t":62.3828125,"s":[{"i":[[-4.855,0.482],[19.901,4.272],[-17.412,11.952],[-8.88,-0.067],[-2.333,-23.454]],"o":[[-22.301,2.691],[-31.752,-6.828],[17.412,-11.952],[0,0],[2.484,24.97]],"v":[[126.828,48.021],[58.973,46.328],[44.286,-4.63],[101.986,-14.712],[89.178,22.458]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.685],[14.273,2.254],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[4.081,25.698]],"v":[[168.725,37.472],[155.346,40.517],[168.169,-12.176],[128.207,-32.895],[108.059,-50.341],[187.305,-8.442]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":10,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.685],[14.273,2.254],[0,0],[-5.335,-29.988]],"o":[[0,0],[25.553,-8.411],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[5.157,28.986]],"v":[[176.85,40.597],[167.534,43.955],[174.419,-12.176],[128.207,-32.895],[108.059,-50.341],[193.555,-8.442]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[-10.511,9.915],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[8.942,-8.436],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[136.645,-24.458],[123.997,-39.091],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[-10.511,9.915],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[8.942,-8.436],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[136.645,-24.458],[123.997,-39.091],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":35.398,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[-10.511,9.915],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[8.942,-8.436],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[136.645,-24.458],[123.997,-39.091],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":39.736,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.685],[6.913,4.529],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-11.281,-4.704],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[130.713,-30.39],[110.761,-39.813],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":43.205,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[13.2,2.585],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-18.578,-3.358],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[128.572,-32.53],[108.453,-44.276],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":44.072,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[13.834,2.389],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-19.313,-3.222],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[128.356,-32.746],[108.22,-45.905],[180.742,-9.067]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":44.941,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[14.182,2.282],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-19.717,-3.148],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[128.238,-32.864],[108.249,-47.391],[180.742,-9.067]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.33,"y":0},"t":45.809,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[14.273,2.254],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[4.081,25.698]],"v":[[162.162,36.847],[151.128,41.611],[161.607,-12.801],[128.207,-32.895],[107.903,-48.935],[180.742,-9.067]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":46.676,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.686],[14.273,2.254],[0,0],[-4.784,-30.08]],"o":[[0,0],[23.254,-7.475],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[4.097,25.746]],"v":[[162.38,36.903],[151.37,41.646],[161.797,-12.792],[128.207,-32.895],[108.374,-50.206],[180.932,-9.058]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.685],[14.273,2.254],[0,0],[-5.335,-29.988]],"o":[[0,0],[25.553,-8.411],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[5.157,28.986]],"v":[[176.85,40.597],[167.534,43.955],[174.419,-12.176],[128.207,-32.895],[108.059,-50.341],[193.555,-8.442]],"c":true}]},{"t":62.3828125,"s":[{"i":[[13.903,-7.366],[0,0],[9.514,12.685],[14.273,2.254],[0,0],[-4.776,-30.082]],"o":[[0,0],[23.22,-7.461],[-8.386,-11.182],[-19.823,-3.128],[32.896,1.155],[4.081,25.698]],"v":[[168.725,37.472],[155.346,40.517],[168.169,-12.176],[128.207,-32.895],[108.059,-50.341],[187.305,-8.442]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.124,6.478],[-17.411,11.949],[-8.876,-0.066],[-19.033,0.597]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-31.75,-6.828],[17.411,-11.949],[11.522,0.085],[0,0]],"v":[[107.555,-50.359],[187.305,-8.441],[157.291,41.858],[58.969,46.324],[44.288,-4.629],[98.315,-14.473],[143.72,-23.691]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":10,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.762,1.767],[-17.411,11.949],[-8.535,2.438],[-9.071,4.234]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-32.422,-1.862],[17.411,-11.949],[11.079,-3.165],[0,0]],"v":[[107.555,-50.359],[193.555,-8.441],[168.853,43.108],[86.798,55.885],[72.101,5.058],[120.587,-11.917],[143.252,-21.659]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-7.977,1.422]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[10.929,-5.766]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-7.977,1.422]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[10.929,-5.766]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":35.398,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-7.977,1.422]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[10.929,-5.766]],"v":[[123.492,-39.109],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":39.736,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-15.75,0.842]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[3.245,-1.712]],"v":[[110.256,-39.831],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":43.205,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-18.555,0.633]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[0.473,-0.249]],"v":[[107.948,-44.294],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":44.072,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-18.837,0.612]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[0.194,-0.102]],"v":[[107.716,-45.923],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":44.941,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-18.992,0.6]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[0.04,-0.021]],"v":[[107.744,-47.41],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.33,"y":0},"t":45.809,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[37.025,14.513],[-19.466,8.186],[-8.68,-1.857],[-19.033,0.597]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.236,-11.852],[19.466,-8.186],[11.267,2.411],[0,0]],"v":[[107.398,-48.953],[180.743,-9.066],[150.728,41.233],[43.548,39.232],[39.598,-14.003],[94.812,-18.043],[137.158,-24.941]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.192},"t":46.676,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[36.932,14.325],[-19.436,8.241],[-8.678,-1.794],[-18.885,0.651]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-30.268,-11.704],[19.436,-8.241],[11.265,2.328],[0,0]],"v":[[107.869,-50.224],[180.933,-9.057],[150.997,41.26],[44.188,39.478],[40.08,-13.721],[95.193,-17.952],[137.248,-24.892]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.762,1.767],[-17.411,11.949],[-8.535,2.438],[-9.071,4.234]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-32.422,-1.862],[17.411,-11.949],[11.079,-3.165],[0,0]],"v":[[107.555,-50.359],[193.555,-8.441],[168.853,43.108],[86.798,55.885],[72.101,5.058],[120.587,-11.917],[143.252,-21.659]],"c":true}]},{"t":62.3828125,"s":[{"i":[[0,0],[-4.8,-30.236],[22.645,-7.162],[30.124,6.478],[-17.411,11.949],[-8.876,-0.066],[-19.033,0.597]],"o":[[32.969,1.056],[5.235,32.973],[-24.922,7.882],[-31.75,-6.828],[17.411,-11.949],[11.522,0.085],[0,0]],"v":[[107.555,-50.359],[187.305,-8.441],[157.291,41.858],[58.969,46.324],[44.288,-4.629],[98.315,-14.473],[143.72,-23.691]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[109.483,63.81,0]},"a":{"a":0,"k":[109.483,63.81,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":2,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[67.845,33.323],[25.512,61.686],[67.845,102.285],[130.662,104.675],[186.31,82.171],[167.533,24.475]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[88.157,41.135],[45.824,69.498],[88.157,110.097],[144.412,106.862],[195.685,81.234],[176.908,23.537]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[62.845,28.948],[20.512,57.311],[62.845,97.91],[126.599,104.987],[182.247,82.484],[163.47,24.787]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[62.845,28.948],[20.512,57.311],[62.845,97.91],[126.599,104.987],[182.247,82.484],[163.47,24.787]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54.146,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[88.157,41.135],[45.824,69.498],[88.157,110.097],[144.412,106.862],[195.685,81.234],[176.908,23.537]],"c":true}]},{"t":61.875,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[67.845,33.323],[25.512,61.686],[67.845,102.285],[130.662,104.675],[186.31,82.171],[167.533,24.475]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":2,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-25.831,0.044],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.181,0.258],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[178.571,31.08],[138.982,59.827],[88.248,77.744],[110.616,105.953],[67.842,102.287],[25.517,61.688],[67.842,33.322],[167.538,24.476],[178.448,29.633]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-21.279,2.247],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.498,3.341],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[187.946,30.142],[152.732,62.015],[108.56,85.556],[132.647,108.297],[88.155,110.099],[45.83,69.501],[88.155,41.135],[176.913,23.538],[187.823,28.696]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-25.831,0.044],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.181,0.258],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[174.508,31.392],[134.919,60.14],[83.248,73.369],[104.053,104.078],[62.842,97.912],[20.517,57.313],[62.842,28.947],[163.476,24.788],[174.385,29.946]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-25.831,0.044],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.181,0.258],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[174.508,31.392],[134.919,60.14],[83.248,73.369],[104.053,104.078],[62.842,97.912],[20.517,57.313],[62.842,28.947],[163.476,24.788],[174.385,29.946]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54.146,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-21.279,2.247],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.498,3.341],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[187.946,30.142],[152.732,62.015],[108.56,85.556],[132.647,108.297],[88.155,110.099],[45.83,69.501],[88.155,41.135],[176.913,23.538],[187.823,28.696]],"c":true}]},{"t":61.875,"s":[{"i":[[-0.011,-0.493],[36.528,-5.651],[6.532,-13.936],[-25.831,0.044],[9.923,2.938],[-2.186,24.296],[-15.024,-0.875],[-32.784,-10.584],[-3.072,-2.041]],"o":[[0,0],[-36.517,5.651],[-4.341,9.262],[-15.181,0.258],[-15.024,-4.44],[2.164,-24.274],[52.573,3.072],[4.227,1.368],[0.067,0.471]],"v":[[178.571,31.08],[138.982,59.827],[88.248,77.744],[110.616,105.953],[67.842,102.287],[25.517,61.688],[67.842,33.322],[167.538,24.476],[178.448,29.633]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":2,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[186.307,82.172],[165.238,95.81],[167.527,40.52],[160.509,22.648],[167.538,24.476]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[195.682,81.235],[175.394,96.748],[176.902,39.583],[169.884,21.711],[176.913,23.538]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[182.245,82.485],[161.176,96.123],[163.465,40.833],[156.446,22.961],[163.476,24.788]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[182.245,82.485],[161.176,96.123],[163.465,40.833],[156.446,22.961],[163.476,24.788]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54.146,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[195.682,81.235],[175.394,96.748],[176.902,39.583],[169.884,21.711],[176.913,23.538]],"c":true}]},{"t":61.875,"s":[{"i":[[10.248,-13.32],[6.357,-3.061],[0,0],[0,0],[-2.433,-0.785]],"o":[[-3.319,4.317],[26.476,-24.62],[0,0],[2.254,0.437],[32.772,10.584]],"v":[[186.307,82.172],[165.238,95.81],[167.527,40.52],[160.509,22.648],[167.538,24.476]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":2,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[67.845,33.323],[25.512,61.686],[67.845,102.285],[130.662,104.675],[186.31,82.171],[167.533,24.475]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[88.157,41.135],[45.824,69.498],[88.157,110.097],[144.412,106.862],[195.685,81.234],[176.908,23.537]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[62.845,28.948],[20.512,57.311],[62.845,97.91],[126.599,104.987],[182.247,82.484],[163.47,24.787]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[62.845,28.948],[20.512,57.311],[62.845,97.91],[126.599,104.987],[182.247,82.484],[163.47,24.787]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54.146,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[88.157,41.135],[45.824,69.498],[88.157,110.097],[144.412,106.862],[195.685,81.234],[176.908,23.537]],"c":true}]},{"t":61.875,"s":[{"i":[[52.575,3.073],[2.174,-24.269],[-15.021,-4.438],[-15.021,2.048],[-10.242,13.314],[32.774,10.583]],"o":[[-15.031,-0.878],[-2.177,24.298],[15.021,4.438],[15.021,-2.048],[10.242,-13.314],[-32.774,-10.583]],"v":[[67.845,33.323],[25.512,61.686],[67.845,102.285],[130.662,104.675],[186.31,82.171],[167.533,24.475]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[100.972,119.826,0]},"a":{"a":0,"k":[100.972,119.826,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[67.938,13.314],[2.641,-16.864],[-13.656,-10.754],[-10.56,-0.707],[-20.479,6.503],[-0.541,8.689],[19.118,1.366]],"o":[[-8.436,-1.653],[-2.219,14.168],[16.175,12.738],[14.722,0.986],[19.172,-6.088],[1.053,-16.899],[-27.992,-1.999]],"v":[[49.068,84.874],[23.805,103.992],[41.827,138.865],[86.252,154.889],[152.511,147.378],[178.429,117.164],[155.584,84.874]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[{"i":[[68.551,9.673],[1.738,-16.981],[-14.21,-10.01],[-10.582,-0.143],[-20.103,7.586],[-0.077,8.705],[19.164,0.344]],"o":[[-8.512,-1.201],[-1.46,14.266],[16.832,11.857],[14.754,0.2],[18.82,-7.102],[0.15,-16.931],[-28.059,-0.504]],"v":[[63.148,96.615],[38.94,117.053],[58.796,150.915],[104.012,164.548],[161.863,148.251],[186.132,116.699],[161.598,85.672]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[67.167,16.775],[3.501,-16.707],[-13.087,-11.439],[-10.51,-1.247],[-20.785,5.446],[-0.985,8.65],[19.023,2.343]],"o":[[-8.34,-2.083],[-2.941,14.036],[15.502,13.549],[14.652,1.739],[19.459,-5.099],[1.916,-16.823],[-27.853,-3.43]],"v":[[45.405,74.329],[19.196,92.129],[35.409,127.878],[78.955,146.156],[145.945,145.824],[173.375,116.977],[152.213,83.559]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[67.167,16.775],[3.501,-16.707],[-13.087,-11.439],[-10.51,-1.247],[-20.785,5.446],[-0.985,8.65],[19.023,2.343]],"o":[[-8.34,-2.083],[-2.941,14.036],[15.502,13.549],[14.652,1.739],[19.459,-5.099],[1.916,-16.823],[-27.853,-3.43]],"v":[[45.405,74.329],[19.196,92.129],[35.409,127.878],[78.955,146.156],[145.945,145.824],[173.375,116.977],[152.213,83.559]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[68.551,9.673],[1.738,-16.981],[-14.21,-10.01],[-10.582,-0.143],[-20.103,7.586],[-0.077,8.705],[19.164,0.344]],"o":[[-8.512,-1.201],[-1.46,14.266],[16.832,11.857],[14.754,0.2],[18.82,-7.102],[0.15,-16.931],[-28.059,-0.504]],"v":[[63.148,96.615],[38.94,117.053],[58.796,150.915],[104.012,164.548],[161.863,148.251],[186.132,116.699],[161.598,85.672]],"c":true}]},{"t":61.134765625,"s":[{"i":[[67.938,13.314],[2.641,-16.864],[-13.656,-10.754],[-10.56,-0.707],[-20.479,6.503],[-0.541,8.689],[19.118,1.366]],"o":[[-8.436,-1.653],[-2.219,14.168],[16.175,12.738],[14.722,0.986],[19.172,-6.088],[1.053,-16.899],[-27.992,-1.999]],"v":[[49.068,84.874],[23.805,103.992],[41.827,138.865],[86.252,154.889],[152.511,147.378],[178.429,117.164],[155.584,84.874]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[-3.565,-3.397],[14.529,-5.28],[11.912,-12.427],[-14.191,-1.329],[1.312,0.09],[16.168,12.748],[-2.22,14.172],[-8.443,-1.659],[-27.996,-1.996]],"o":[[-1.267,5.853],[-29.788,10.826],[-10.361,10.809],[-1.547,-0.045],[-10.562,-0.706],[-13.656,-10.752],[2.646,-16.863],[67.933,13.309],[6.974,0.505]],"v":[[171.182,90.951],[150.9,112.759],[79.792,124.191],[90.535,155.084],[86.252,154.893],[41.83,138.86],[23.802,103.991],[49.073,84.874],[155.586,84.874]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[{"i":[[-3.742,-3.202],[14.226,-6.047],[11.233,-13.044],[-14.241,-0.571],[1.315,0.018],[16.833,11.856],[-1.465,14.27],[-8.52,-1.202],[-28.062,-0.53]],"o":[[-0.953,5.912],[-29.169,12.399],[-9.77,11.346],[-1.547,0.038],[-10.584,-0.142],[-14.21,-10.009],[1.743,-16.98],[68.546,9.667],[6.991,0.132]],"v":[[177.498,90.909],[158.407,113.767],[95.924,134.238],[108.299,164.514],[104.012,164.552],[58.799,150.91],[38.937,117.052],[63.153,96.616],[161.6,85.673]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[-3.387,-3.575],[14.78,-4.529],[12.533,-11.801],[-14.104,-2.054],[1.306,0.155],[15.503,13.548],[-2.946,14.039],[-8.348,-2.084],[-27.854,-3.456]],"o":[[-1.565,5.78],[-30.304,9.287],[-10.901,10.264],[-1.543,-0.124],[-10.512,-1.246],[-13.088,-11.437],[3.506,-16.705],[67.163,16.769],[6.939,0.861]],"v":[[167.48,90.427],[146.108,111.167],[74.075,115.167],[83.223,146.569],[78.955,146.16],[35.413,127.874],[19.193,92.128],[45.41,74.33],[152.215,83.56]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[-3.387,-3.575],[14.78,-4.529],[12.533,-11.801],[-14.104,-2.054],[1.306,0.155],[15.503,13.548],[-2.946,14.039],[-8.348,-2.084],[-27.854,-3.456]],"o":[[-1.565,5.78],[-30.304,9.287],[-10.901,10.264],[-1.543,-0.124],[-10.512,-1.246],[-13.088,-11.437],[3.506,-16.705],[67.163,16.769],[6.939,0.861]],"v":[[167.48,90.427],[146.108,111.167],[74.075,115.167],[83.223,146.569],[78.955,146.16],[35.413,127.874],[19.193,92.128],[45.41,74.33],[152.215,83.56]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[-3.742,-3.202],[14.226,-6.047],[11.233,-13.044],[-14.241,-0.571],[1.315,0.018],[16.833,11.856],[-1.465,14.27],[-8.52,-1.202],[-28.062,-0.53]],"o":[[-0.953,5.912],[-29.169,12.399],[-9.77,11.346],[-1.547,0.038],[-10.584,-0.142],[-14.21,-10.009],[1.743,-16.98],[68.546,9.667],[6.991,0.132]],"v":[[177.498,90.909],[158.407,113.767],[95.924,134.238],[108.299,164.514],[104.012,164.552],[58.799,150.91],[38.937,117.052],[63.153,96.616],[161.6,85.673]],"c":true}]},{"t":61.134765625,"s":[{"i":[[-3.565,-3.397],[14.529,-5.28],[11.912,-12.427],[-14.191,-1.329],[1.312,0.09],[16.168,12.748],[-2.22,14.172],[-8.443,-1.659],[-27.996,-1.996]],"o":[[-1.267,5.853],[-29.788,10.826],[-10.361,10.809],[-1.547,-0.045],[-10.562,-0.706],[-13.656,-10.752],[2.646,-16.863],[67.933,13.309],[6.974,0.505]],"v":[[171.182,90.951],[150.9,112.759],[79.792,124.191],[90.535,155.084],[86.252,154.893],[41.83,138.86],[23.802,103.991],[49.073,84.874],[155.586,84.874]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[1.031,-16.594],[14.665,-7.052],[0,0],[0,0]],"o":[[-0.482,7.747],[15.573,-26.942],[0,0],[18.264,1.783]],"v":[[178.425,117.165],[158.3,145.083],[158.3,93.216],[156.607,84.964]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[{"i":[[0.146,-16.625],[14.268,-7.824],[0,0],[0,0]],"o":[[-0.068,7.762],[14.114,-27.734],[0,0],[18.333,0.806]],"v":[[186.128,116.699],[167.52,145.651],[164.754,93.858],[162.624,85.708]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[1.881,-16.519],[15.007,-6.292],[0,0],[0,0]],"o":[[-0.878,7.713],[16.932,-26.11],[0,0],[18.149,2.715]],"v":[[173.371,116.977],[151.843,143.828],[154.498,92.029],[153.23,83.702]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[1.881,-16.519],[15.007,-6.292],[0,0],[0,0]],"o":[[-0.878,7.713],[16.932,-26.11],[0,0],[18.149,2.715]],"v":[[173.371,116.977],[151.843,143.828],[154.498,92.029],[153.23,83.702]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[0.146,-16.625],[14.268,-7.824],[0,0],[0,0]],"o":[[-0.068,7.762],[14.114,-27.734],[0,0],[18.333,0.806]],"v":[[186.128,116.699],[167.52,145.651],[164.754,93.858],[162.624,85.708]],"c":true}]},{"t":61.134765625,"s":[{"i":[[1.031,-16.594],[14.665,-7.052],[0,0],[0,0]],"o":[[-0.482,7.747],[15.573,-26.942],[0,0],[18.264,1.783]],"v":[[178.425,117.165],[158.3,145.083],[158.3,93.216],[156.607,84.964]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[67.938,13.314],[2.641,-16.864],[-13.656,-10.754],[-10.56,-0.707],[-20.479,6.503],[-0.541,8.689],[19.118,1.366]],"o":[[-8.436,-1.653],[-2.219,14.168],[16.175,12.738],[14.722,0.986],[19.172,-6.088],[1.053,-16.899],[-27.992,-1.999]],"v":[[49.068,84.874],[23.805,103.992],[41.827,138.865],[86.252,154.889],[152.511,147.378],[178.429,117.164],[155.584,84.874]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[{"i":[[68.551,9.673],[1.738,-16.981],[-14.21,-10.01],[-10.582,-0.143],[-20.103,7.586],[-0.077,8.705],[19.164,0.344]],"o":[[-8.512,-1.201],[-1.46,14.266],[16.832,11.857],[14.754,0.2],[18.82,-7.102],[0.15,-16.931],[-28.059,-0.504]],"v":[[63.148,96.615],[38.94,117.053],[58.796,150.915],[104.012,164.548],[161.863,148.251],[186.132,116.699],[161.598,85.672]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":24,"s":[{"i":[[67.167,16.775],[3.501,-16.707],[-13.087,-11.439],[-10.51,-1.247],[-20.785,5.446],[-0.985,8.65],[19.023,2.343]],"o":[[-8.34,-2.083],[-2.941,14.036],[15.502,13.549],[14.652,1.739],[19.459,-5.099],[1.916,-16.823],[-27.853,-3.43]],"v":[[45.405,74.329],[19.196,92.129],[35.409,127.878],[78.955,146.156],[145.945,145.824],[173.375,116.977],[152.213,83.559]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":46,"s":[{"i":[[67.167,16.775],[3.501,-16.707],[-13.087,-11.439],[-10.51,-1.247],[-20.785,5.446],[-0.985,8.65],[19.023,2.343]],"o":[[-8.34,-2.083],[-2.941,14.036],[15.502,13.549],[14.652,1.739],[19.459,-5.099],[1.916,-16.823],[-27.853,-3.43]],"v":[[45.405,74.329],[19.196,92.129],[35.409,127.878],[78.955,146.156],[145.945,145.824],[173.375,116.977],[152.213,83.559]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[68.551,9.673],[1.738,-16.981],[-14.21,-10.01],[-10.582,-0.143],[-20.103,7.586],[-0.077,8.705],[19.164,0.344]],"o":[[-8.512,-1.201],[-1.46,14.266],[16.832,11.857],[14.754,0.2],[18.82,-7.102],[0.15,-16.931],[-28.059,-0.504]],"v":[[63.148,96.615],[38.94,117.053],[58.796,150.915],[104.012,164.548],[161.863,148.251],[186.132,116.699],[161.598,85.672]],"c":true}]},{"t":61.134765625,"s":[{"i":[[67.938,13.314],[2.641,-16.864],[-13.656,-10.754],[-10.56,-0.707],[-20.479,6.503],[-0.541,8.689],[19.118,1.366]],"o":[[-8.436,-1.653],[-2.219,14.168],[16.175,12.738],[14.722,0.986],[19.172,-6.088],[1.053,-16.899],[-27.992,-1.999]],"v":[[49.068,84.874],[23.805,103.992],[41.827,138.865],[86.252,154.889],[152.511,147.378],[178.429,117.164],[155.584,84.874]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[90.532,164.194,0]},"a":{"a":0,"k":[90.532,164.194,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[42.923,134.319],[25.337,151.446],[35.581,174.615],[66.999,191.998],[132.71,187.663],[152.511,139.839]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[58.86,140.257],[41.275,157.384],[51.518,180.552],[82.936,197.935],[140.523,188.288],[160.324,140.464]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[71.426,30.165],[2.302,-12.636],[-4.237,-4.886],[-12.975,-4.048],[-24.088,7.53],[6.041,11.587]],"o":[[-7.845,-3.313],[-1.631,8.952],[4.237,4.886],[12.975,4.048],[24.088,-7.53],[-6.041,-11.587]],"v":[[39.599,121.849],[20.389,137.132],[28.265,161.209],[57.789,181.645],[123.604,183.901],[148.087,138.296]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":44,"s":[{"i":[[71.426,30.165],[2.302,-12.636],[-4.237,-4.886],[-12.975,-4.048],[-24.088,7.53],[6.041,11.587]],"o":[[-7.845,-3.313],[-1.631,8.952],[4.237,4.886],[12.975,4.048],[24.088,-7.53],[-6.041,-11.587]],"v":[[39.599,121.849],[20.389,137.132],[28.265,161.209],[57.789,181.645],[123.604,183.901],[148.087,138.296]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[58.86,140.257],[41.275,157.384],[51.518,180.552],[82.936,197.935],[140.523,188.288],[160.324,140.464]],"c":true}]},{"t":61,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[42.923,134.319],[25.337,151.446],[35.581,174.615],[66.999,191.998],[132.71,187.663],[152.511,139.839]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[-0.011,-0.045],[22.392,-4.874],[4.521,-13.076],[-9.923,-2.971],[5.785,1.188],[4.698,4.44],[-0.729,9.07],[-8.129,-2.512],[-7.176,-10.92],[-0.549,-2.489]],"o":[[0,0],[-25.599,5.572],[-3.456,9.996],[-9.99,-0.168],[-13.32,-2.725],[-4.709,-4.44],[1.031,-12.804],[74.088,22.872],[1.166,1.783],[0.011,0.045]],"v":[[155.138,146.45],[128.992,165.073],[75.556,176.151],[91.555,194.561],[67.001,191.993],[35.585,174.615],[25.338,151.451],[42.918,134.319],[152.514,139.835],[155.104,146.305]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[{"i":[[-0.011,-0.045],[22.392,-4.874],[4.521,-13.076],[-9.923,-2.971],[5.785,1.188],[4.698,4.44],[-0.729,9.07],[-8.129,-2.512],[-7.176,-10.92],[-0.549,-2.489]],"o":[[0,0],[-25.599,5.572],[-3.456,9.996],[-9.719,1.608],[-13.32,-2.725],[-4.709,-4.44],[1.031,-12.804],[74.088,22.872],[1.166,1.783],[0.011,0.045]],"v":[[162.951,147.075],[136.804,165.698],[91.493,182.088],[106.243,197.686],[82.939,197.931],[51.523,180.552],[41.275,157.388],[58.855,140.257],[160.327,140.46],[162.917,146.93]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[-0.007,-0.046],[22.767,-2.611],[5.806,-12.558],[-9.576,-3.948],[5.639,1.756],[4.236,4.882],[-1.634,8.952],[-7.838,-3.31],[-6.024,-11.596],[-0.298,-2.532]],"o":[[0,0],[-26.028,2.985],[-4.438,9.601],[-9.923,-1.166],[-12.981,-4.042],[-4.242,-4.888],[2.306,-12.637],[71.431,30.164],[0.982,1.89],[0.007,0.046]],"v":[[150.039,145.137],[122.163,161.053],[67.887,166.733],[81.966,186.65],[57.791,181.641],[28.27,161.209],[20.389,137.137],[39.594,121.848],[148.09,138.293],[150.02,144.988]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":44,"s":[{"i":[[-0.007,-0.046],[22.767,-2.611],[5.806,-12.558],[-9.576,-3.948],[5.639,1.756],[4.236,4.882],[-1.634,8.952],[-7.838,-3.31],[-6.024,-11.596],[-0.298,-2.532]],"o":[[0,0],[-26.028,2.985],[-4.438,9.601],[-9.923,-1.166],[-12.981,-4.042],[-4.242,-4.888],[2.306,-12.637],[71.431,30.164],[0.982,1.89],[0.007,0.046]],"v":[[150.039,145.137],[122.163,161.053],[67.887,166.733],[81.966,186.65],[57.791,181.641],[28.27,161.209],[20.389,137.137],[39.594,121.848],[148.09,138.293],[150.02,144.988]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[-0.011,-0.045],[22.392,-4.874],[4.521,-13.076],[-9.923,-2.971],[5.785,1.188],[4.698,4.44],[-0.729,9.07],[-8.129,-2.512],[-7.176,-10.92],[-0.549,-2.489]],"o":[[0,0],[-25.599,5.572],[-3.456,9.996],[-9.719,1.608],[-13.32,-2.725],[-4.709,-4.44],[1.031,-12.804],[74.088,22.872],[1.166,1.783],[0.011,0.045]],"v":[[162.951,147.075],[136.804,165.698],[91.493,182.088],[106.243,197.686],[82.939,197.931],[51.523,180.552],[41.275,157.388],[58.855,140.257],[160.327,140.46],[162.917,146.93]],"c":true}]},{"t":61,"s":[{"i":[[-0.011,-0.045],[22.392,-4.874],[4.521,-13.076],[-9.923,-2.971],[5.785,1.188],[4.698,4.44],[-0.729,9.07],[-8.129,-2.512],[-7.176,-10.92],[-0.549,-2.489]],"o":[[0,0],[-25.599,5.572],[-3.456,9.996],[-9.99,-0.168],[-13.32,-2.725],[-4.709,-4.44],[1.031,-12.804],[74.088,22.872],[1.166,1.783],[0.011,0.045]],"v":[[155.138,146.45],[128.992,165.073],[75.556,176.151],[91.555,194.561],[67.001,191.993],[35.585,174.615],[25.338,151.451],[42.918,134.319],[152.514,139.835],[155.104,146.305]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[23.209,-9.9],[5.101,-1.065],[0,0],[-0.28,1.973],[-1.57,-2.388]],"o":[[-4.776,2.041],[28.377,-16.952],[0.123,-2.31],[3.857,-0.426],[7.164,10.932]],"v":[[132.714,187.665],[117.802,192.262],[143.892,143.771],[144.498,137.357],[152.514,139.835]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[{"i":[[23.209,-9.9],[5.101,-1.065],[0,0],[-0.28,1.973],[-1.57,-2.388]],"o":[[-4.776,2.041],[28.377,-16.952],[0.123,-2.31],[3.857,-0.426],[7.164,10.932]],"v":[[140.527,188.29],[125.615,192.887],[151.705,144.396],[152.31,137.982],[160.327,140.46]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[24.078,-7.544],[5.182,-0.55],[0,0],[-0.476,1.935],[-1.32,-2.535]],"o":[[-4.956,1.553],[29.93,-14.031],[0.354,-2.286],[3.88,-0.038],[6.036,11.593]],"v":[[123.608,183.904],[108.311,186.987],[139.118,141.346],[140.361,135.026],[148.09,138.293]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":44,"s":[{"i":[[24.078,-7.544],[5.182,-0.55],[0,0],[-0.476,1.935],[-1.32,-2.535]],"o":[[-4.956,1.553],[29.93,-14.031],[0.354,-2.286],[3.88,-0.038],[6.036,11.593]],"v":[[123.608,183.904],[108.311,186.987],[139.118,141.346],[140.361,135.026],[148.09,138.293]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[23.209,-9.9],[5.101,-1.065],[0,0],[-0.28,1.973],[-1.57,-2.388]],"o":[[-4.776,2.041],[28.377,-16.952],[0.123,-2.31],[3.857,-0.426],[7.164,10.932]],"v":[[140.527,188.29],[125.615,192.887],[151.705,144.396],[152.31,137.982],[160.327,140.46]],"c":true}]},{"t":61,"s":[{"i":[[23.209,-9.9],[5.101,-1.065],[0,0],[-0.28,1.973],[-1.57,-2.388]],"o":[[-4.776,2.041],[28.377,-16.952],[0.123,-2.31],[3.857,-0.426],[7.164,10.932]],"v":[[132.714,187.665],[117.802,192.262],[143.892,143.771],[144.498,137.357],[152.514,139.835]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[42.923,134.319],[25.337,151.446],[35.581,174.615],[66.999,191.998],[132.71,187.663],[152.511,139.839]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[58.86,140.257],[41.275,157.384],[51.518,180.552],[82.936,197.935],[140.523,188.288],[160.324,140.464]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":26,"s":[{"i":[[71.426,30.165],[2.302,-12.636],[-4.237,-4.886],[-12.975,-4.048],[-24.088,7.53],[6.041,11.587]],"o":[[-7.845,-3.313],[-1.631,8.952],[4.237,4.886],[12.975,4.048],[24.088,-7.53],[-6.041,-11.587]],"v":[[39.599,121.849],[20.389,137.132],[28.265,161.209],[57.789,181.645],[123.604,183.901],[148.087,138.296]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":44,"s":[{"i":[[71.426,30.165],[2.302,-12.636],[-4.237,-4.886],[-12.975,-4.048],[-24.088,7.53],[6.041,11.587]],"o":[[-7.845,-3.313],[-1.631,8.952],[4.237,4.886],[12.975,4.048],[24.088,-7.53],[-6.041,-11.587]],"v":[[39.599,121.849],[20.389,137.132],[28.265,161.209],[57.789,181.645],[123.604,183.901],[148.087,138.296]],"c":true}]},{"i":{"x":0.38,"y":1},"o":{"x":0.33,"y":0},"t":54,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[58.86,140.257],[41.275,157.384],[51.518,180.552],[82.936,197.935],[140.523,188.288],[160.324,140.464]],"c":true}]},{"t":61,"s":[{"i":[[74.083,22.874],[1.028,-12.802],[-4.704,-4.438],[-13.314,-2.731],[-23.215,9.901],[7.169,10.925]],"o":[[-8.137,-2.512],[-0.728,9.07],[4.704,4.438],[13.314,2.731],[23.215,-9.901],[-7.169,-10.925]],"v":[[42.923,134.319],[25.337,151.446],[35.581,174.615],[66.999,191.998],[132.71,187.663],[152.511,139.839]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"parent":9,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[-20.177]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":27,"s":[14.417]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.67],"y":[0]},"t":47.266,"s":[-21.806]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":58,"s":[3]},{"t":86,"s":[0]}]},"p":{"a":0,"k":[-72.859,72.455,0]},"a":{"a":0,"k":[-72.859,72.455,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-2.582,-2.853]],"o":[[0,0],[0,0]],"v":[[23.016,-197.92],[27.525,-193.816]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-1.335,-3.243]],"o":[[0,0],[0,0]],"v":[[66.204,-170.767],[68.852,-165.849]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-0.608,-3.471]],"o":[[0,0],[0,0]],"v":[[91.403,-154.924],[92.965,-149.531]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[0.714,-3.344]],"o":[[0,0],[0,0]],"v":[[114.19,-117.544],[113.613,-112.153]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[1.61,-3.259]],"o":[[0,0],[0,0]],"v":[[129.635,-92.207],[127.609,-86.818]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[1.74,-3.247]],"o":[[0,0],[0,0]],"v":[[131.869,-88.543],[129.633,-83.153]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.862,-3.235]],"o":[[0,0],[0,0]],"v":[[133.977,-85.086],[131.542,-79.697]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[1.973,-3.224]],"o":[[0,0],[0,0]],"v":[[135.898,-81.935],[133.283,-76.545]],"c":false}]},{"t":29,"s":[{"i":[[0,0],[2.067,-3.215]],"o":[[0,0],[0,0]],"v":[[137.514,-79.284],[134.748,-73.894]],"c":false}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[2.12,-3.21]],"o":[[0,0],[0,0]],"v":[[138.435,-77.773],[135.582,-72.384]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[0,0],[2.12,-3.21]],"o":[[0,0],[0,0]],"v":[[138.435,-77.773],[135.582,-72.384]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[0,0],[2.067,-3.215]],"o":[[0,0],[0,0]],"v":[[137.514,-79.284],[134.748,-73.894]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[0,0],[1.973,-3.224]],"o":[[0,0],[0,0]],"v":[[135.898,-81.935],[133.283,-76.545]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[0,0],[1.862,-3.235]],"o":[[0,0],[0,0]],"v":[[133.977,-85.086],[131.542,-79.697]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[0,0],[1.74,-3.247]],"o":[[0,0],[0,0]],"v":[[131.869,-88.543],[129.633,-83.153]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[0,0],[1.61,-3.259]],"o":[[0,0],[0,0]],"v":[[129.635,-92.207],[127.609,-86.818]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[0,0],[-2.582,-2.853]],"o":[[0,0],[0,0]],"v":[[23.016,-197.92],[27.525,-193.816]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[0,0],[-3.212,-2.118]],"o":[[0,0],[0,0]],"v":[[-19.625,-195.276],[-14.233,-192.427]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[0,0],[-2.582,-2.853]],"o":[[0,0],[0,0]],"v":[[23.016,-197.92],[27.525,-193.816]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[0,0],[-1.897,-3.347]],"o":[[0,0],[0,0]],"v":[[47.981,-188.203],[51.486,-183.214]],"c":false}]},{"t":77,"s":[{"i":[[0,0],[-2.582,-2.853]],"o":[[0,0],[0,0]],"v":[[23.016,-197.92],[27.525,-193.816]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-0.975,-7.313]],"o":[[2.2,4.707],[0,0]],"v":[[34.895,-182.535],[39.982,-164.594]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.737,-6.524]],"o":[[0.32,4.698],[0,0]],"v":[[71.535,-153.925],[69.737,-137.064]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[3.319,-6.064]],"o":[[-0.777,4.693],[0,0]],"v":[[92.913,-137.231],[87.099,-121.001]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[5.025,-4.465]],"o":[[-2.344,4.019],[0,0]],"v":[[109.181,-100.994],[98.378,-88.077]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[6.181,-3.381]],"o":[[-3.407,3.563],[0,0]],"v":[[120.208,-76.432],[106.023,-65.761]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[6.349,-3.224]],"o":[[-3.56,3.497],[0,0]],"v":[[121.802,-72.879],[107.129,-62.534]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[6.506,-3.077]],"o":[[-3.705,3.434],[0,0]],"v":[[123.307,-69.528],[108.172,-59.489]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[6.65,-2.942]],"o":[[-3.837,3.377],[0,0]],"v":[[124.678,-66.473],[109.123,-56.713]],"c":false}]},{"t":29,"s":[{"i":[[0,0],[6.771,-2.828]],"o":[[-3.948,3.33],[0,0]],"v":[[125.832,-63.903],[109.923,-54.378]],"c":false}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[6.84,-2.764]],"o":[[-4.012,3.302],[0,0]],"v":[[126.489,-62.439],[110.379,-53.048]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[0,0],[6.84,-2.764]],"o":[[-4.012,3.302],[0,0]],"v":[[126.489,-62.439],[110.379,-53.048]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[0,0],[6.771,-2.828]],"o":[[-3.948,3.33],[0,0]],"v":[[125.832,-63.903],[109.923,-54.378]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[0,0],[6.65,-2.942]],"o":[[-3.837,3.377],[0,0]],"v":[[124.678,-66.473],[109.123,-56.713]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[0,0],[6.506,-3.077]],"o":[[-3.705,3.434],[0,0]],"v":[[123.307,-69.528],[108.172,-59.489]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[0,0],[6.349,-3.224]],"o":[[-3.56,3.497],[0,0]],"v":[[121.802,-72.879],[107.129,-62.534]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[0,0],[6.181,-3.381]],"o":[[-3.407,3.563],[0,0]],"v":[[120.208,-76.432],[106.023,-65.761]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[0,0],[-0.975,-7.313]],"o":[[2.2,4.707],[0,0]],"v":[[34.895,-182.535],[39.982,-164.594]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[0,0],[-2.769,-6.838]],"o":[[3.305,4.009],[0,0]],"v":[[-4.282,-183.342],[5.122,-167.238]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[0,0],[-0.975,-7.313]],"o":[[2.2,4.707],[0,0]],"v":[[34.895,-182.535],[39.982,-164.594]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[0,0],[0.645,-7.349]],"o":[[1.12,5.074],[0,0]],"v":[[56.215,-170.596],[57.262,-151.977]],"c":false}]},{"t":77,"s":[{"i":[[0,0],[-0.975,-7.313]],"o":[[2.2,4.707],[0,0]],"v":[[34.895,-182.535],[39.982,-164.594]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"t":29,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]},{"t":77,"s":[{"i":[[-23.929,48.852],[2.114,1.922],[24.913,-24.689],[0.384,-3.939]],"o":[[6.888,-14.061],[-3.077,-2.797],[-21.335,21.142],[-0.384,3.939]],"v":[[3.194,15.822],[7.903,-12.977],[-29.769,36.228],[-60.524,64.578]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-65.927],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-35.335,53.002],[-13.167,17.34],[-24.248,3.318],[11.988,-36.978],[4.187,-15.792],[-32.894,-2.889],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[21.17,-27.879],[27.32,-3.739],[-12.152,37.484],[-4.187,15.792],[40.158,3.527],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[9.789,-127.255],[49.868,-192.704],[83.798,-126.069],[42.366,-55.178],[112.216,-49.497],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-35.335,53.002],[-17.602,14.342],[-25.679,-1.767],[21.013,-33.924],[8.581,-11.56],[-32.915,-2.617],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[28.3,-23.058],[28.933,1.991],[-21.301,34.389],[-8.581,11.56],[40.184,3.194],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[23.233,-123.789],[79.793,-179.918],[98.949,-107.254],[44.391,-48.906],[112.11,-47.457],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-35.335,53.002],[-20.294,7.491],[-21.512,-9.687],[30.22,-24.21],[15.673,-6.821],[-59.212,-6.062],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[32.627,-12.044],[24.238,10.914],[-30.634,24.542],[-15.673,6.821],[40.103,4.105],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[44.302,-110.709],[113.095,-143.907],[103.692,-71.858],[47.694,-34.844],[115.111,-39.332],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-35.335,53.002],[-22.118,2.847],[-18.688,-15.055],[36.461,-17.625],[20.48,-3.608],[-22.589,6.762],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.56,-4.578],[21.056,16.963],[-36.961,17.867],[-20.48,3.608],[40.311,0.76],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[58.584,-101.844],[135.667,-119.498],[106.907,-47.866],[49.932,-25.312],[105.988,-39.812],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-35.335,53.002],[-22.382,2.176],[-18.279,-15.832],[37.364,-16.673],[21.358,-1.449],[-31.587,12.499],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.985,-3.498],[20.595,17.838],[-37.876,16.901],[-8.42,0.571],[35.601,-2.189],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[60.649,-100.562],[138.932,-115.968],[107.372,-44.396],[50.256,-23.934],[108.58,-39.299],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-35.335,53.002],[-22.631,1.542],[-17.894,-16.564],[38.215,-15.775],[21.955,-1.554],[-29.58,10.587],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.385,-2.48],[20.161,18.663],[-38.739,15.991],[-13.169,0.959],[37.099,-0.815],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[62.598,-99.352],[142.011,-112.638],[107.811,-41.123],[50.562,-22.633],[113.135,-39.262],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-35.335,53.002],[-22.858,0.965],[-17.543,-17.232],[38.991,-14.956],[22.499,-1.651],[-34.396,15.776],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.75,-1.551],[19.765,19.415],[-39.526,15.161],[-17.5,1.312],[38.465,0.438],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[64.374,-98.249],[144.819,-109.602],[108.21,-38.139],[50.84,-21.448],[114.827,-39.608],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"t":29,"s":[{"i":[[0,0],[-35.335,53.002],[-23.049,0.479],[-17.247,-17.793],[39.644,-14.267],[22.957,-1.732],[-31.785,18.865],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.057,-0.77],[19.432,20.048],[-40.188,14.462],[-21.143,1.609],[39.614,1.491],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[65.868,-97.322],[147.181,-107.048],[108.547,-35.628],[51.074,-20.45],[118.778,-38.79],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[-35.335,53.002],[-23.157,0.202],[-17.079,-18.113],[40.016,-13.874],[23.218,-1.778],[-32.985,-1.713],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.231,-0.325],[19.243,20.408],[-40.565,14.064],[-23.218,1.778],[40.269,2.092],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[66.72,-96.793],[148.526,-105.593],[108.739,-34.198],[51.208,-19.882],[113.79,-17.766],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[0,0],[-35.335,53.002],[-23.157,0.202],[-17.079,-18.113],[40.016,-13.874],[23.218,-1.778],[-32.985,-1.713],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.231,-0.325],[19.243,20.408],[-40.565,14.064],[-23.218,1.778],[40.269,2.092],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[66.72,-96.793],[148.526,-105.593],[108.739,-34.198],[51.208,-19.882],[113.79,-17.766],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[0,0],[-35.335,53.002],[-23.049,0.479],[-17.247,-17.793],[39.644,-14.267],[22.957,-1.732],[-31.785,18.865],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.057,-0.77],[19.432,20.048],[-40.188,14.462],[-21.143,1.609],[39.614,1.491],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[65.868,-97.322],[147.181,-107.048],[108.547,-35.628],[51.074,-20.45],[118.778,-38.79],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[0,0],[-35.335,53.002],[-22.858,0.965],[-17.543,-17.232],[38.991,-14.956],[22.499,-1.651],[-34.396,15.776],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.75,-1.551],[19.765,19.415],[-39.526,15.161],[-17.5,1.312],[38.465,0.438],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[64.374,-98.249],[144.819,-109.602],[108.21,-38.139],[50.84,-21.448],[114.827,-39.608],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[0,0],[-35.335,53.002],[-22.631,1.542],[-17.894,-16.564],[38.215,-15.775],[21.955,-1.554],[-29.58,10.587],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.385,-2.48],[20.161,18.663],[-38.739,15.991],[-13.169,0.959],[37.099,-0.815],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[62.598,-99.352],[142.011,-112.638],[107.811,-41.123],[50.562,-22.633],[113.135,-39.262],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[0,0],[-35.335,53.002],[-22.382,2.176],[-18.279,-15.832],[37.364,-16.673],[21.358,-1.449],[-31.587,12.499],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.985,-3.498],[20.595,17.838],[-37.876,16.901],[-8.42,0.571],[35.601,-2.189],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[60.649,-100.562],[138.932,-115.968],[107.372,-44.396],[50.256,-23.934],[108.58,-39.299],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[0,0],[-35.335,53.002],[-22.118,2.847],[-18.688,-15.055],[36.461,-17.625],[20.48,-3.608],[-22.589,6.762],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.56,-4.578],[21.056,16.963],[-36.961,17.867],[-20.48,3.608],[40.311,0.76],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[58.584,-101.844],[135.667,-119.498],[106.907,-47.866],[49.932,-25.312],[105.988,-39.812],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-65.927],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[0,0],[-35.335,53.002],[2.736,22.996],[-16.135,18.959],[-18.171,-38.257],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[-4.398,-36.972],[18.179,-21.361],[18.42,38.781],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-36.76,-126.359],[-54.462,-206.711],[20.859,-174.977],[31.082,-66.239],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-65.927],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[0,0],[-35.335,53.002],[-9.606,21.072],[-23.635,7.821],[4.343,-42.13],[0.95,-23.267],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[15.444,-33.878],[26.63,-8.811],[-4.402,42.707],[-0.95,23.267],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[2.674,-129.298],[29.282,-207.156],[77.165,-140.917],[46.09,-65.463],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]},{"t":77,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-65.927],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[31.58,26.707],[6.919,-11.821],[-10.667,-27.389],[-6.524,18.112]],"o":[[0,0],[-6.919,11.821],[10.667,27.389],[6.524,-18.112]],"v":[[32.756,-210.226],[11.843,-208.256],[16.168,-139.063],[54.043,-121.815]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[19.272,32.711],[10.573,-7.852],[0.091,-26.66],[-12.473,13.325]],"o":[[0,0],[-10.573,7.853],[-0.091,26.66],[12.473,-13.325]],"v":[[79.531,-178.137],[59.705,-183.094],[38.793,-122.915],[67.218,-96.249]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[12.09,36.214],[12.705,-5.537],[6.368,-26.234],[-15.944,10.532]],"o":[[0,0],[-12.705,5.537],[-6.368,26.234],[15.944,-10.532]],"v":[[106.823,-159.414],[87.632,-168.412],[51.994,-113.493],[74.906,-81.331]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-2.493,36.707],[12.931,-1.033],[14.85,-21.832],[-17.505,4.551]],"o":[[0,0],[-12.931,1.033],[-14.85,21.832],[17.505,-4.551]],"v":[[129.088,-116.771],[115.749,-130.986],[65.43,-92.304],[73.713,-55.872]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-12.378,37.042],[13.084,2.021],[20.598,-18.847],[-18.563,0.497]],"o":[[0,0],[-13.084,-2.021],[-20.598,18.847],[18.563,-0.497]],"v":[[144.18,-87.867],[134.808,-105.618],[74.536,-77.942],[72.905,-38.615]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-13.807,37.09],[13.106,2.462],[21.43,-18.416],[-18.716,-0.089]],"o":[[0,0],[-13.106,-2.462],[-21.43,18.416],[18.716,0.089]],"v":[[146.363,-83.687],[137.564,-101.949],[75.854,-75.864],[72.788,-36.119]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-15.156,37.136],[13.126,2.879],[22.214,-18.009],[-18.861,-0.642]],"o":[[0,0],[-13.126,-2.879],[-22.214,18.009],[18.861,0.642]],"v":[[148.422,-79.743],[140.165,-98.488],[77.096,-73.905],[72.678,-33.765]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-16.385,37.178],[13.145,3.259],[22.929,-17.637],[-18.992,-1.146]],"o":[[0,0],[-13.145,-3.259],[-22.929,17.637],[18.992,1.146]],"v":[[150.299,-76.148],[142.535,-95.333],[78.229,-72.118],[72.577,-31.619]],"c":true}]},{"t":29,"s":[{"i":[[-17.42,37.213],[13.161,3.578],[23.53,-17.325],[-19.103,-1.571]],"o":[[0,0],[-13.161,-3.578],[-23.53,17.325],[19.103,1.571]],"v":[[151.878,-73.124],[144.529,-92.678],[79.182,-70.616],[72.493,-29.813]],"c":true}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[-18.009,37.233],[13.171,3.76],[23.873,-17.147],[-19.166,-1.812]],"o":[[0,0],[-13.171,-3.76],[-23.873,17.147],[19.166,1.812]],"v":[[152.778,-71.401],[145.666,-91.166],[79.725,-69.759],[72.445,-28.784]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[-18.009,37.233],[13.171,3.76],[23.873,-17.147],[-19.166,-1.812]],"o":[[0,0],[-13.171,-3.76],[-23.873,17.147],[19.166,1.812]],"v":[[152.778,-71.401],[145.666,-91.166],[79.725,-69.759],[72.445,-28.784]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[-17.42,37.213],[13.161,3.578],[23.53,-17.325],[-19.103,-1.571]],"o":[[0,0],[-13.161,-3.578],[-23.53,17.325],[19.103,1.571]],"v":[[151.878,-73.124],[144.529,-92.678],[79.182,-70.616],[72.493,-29.813]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[-16.385,37.178],[13.145,3.259],[22.929,-17.637],[-18.992,-1.146]],"o":[[0,0],[-13.145,-3.259],[-22.929,17.637],[18.992,1.146]],"v":[[150.299,-76.148],[142.535,-95.333],[78.229,-72.118],[72.577,-31.619]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[-15.156,37.136],[13.126,2.879],[22.214,-18.009],[-18.861,-0.642]],"o":[[0,0],[-13.126,-2.879],[-22.214,18.009],[18.861,0.642]],"v":[[148.422,-79.743],[140.165,-98.488],[77.096,-73.905],[72.678,-33.765]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[-13.807,37.09],[13.106,2.462],[21.43,-18.416],[-18.716,-0.089]],"o":[[0,0],[-13.106,-2.462],[-21.43,18.416],[18.716,0.089]],"v":[[146.363,-83.687],[137.564,-101.949],[75.854,-75.864],[72.788,-36.119]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[-12.378,37.042],[13.084,2.021],[20.598,-18.847],[-18.563,0.497]],"o":[[0,0],[-13.084,-2.021],[-20.598,18.847],[18.563,-0.497]],"v":[[144.18,-87.867],[134.808,-105.618],[74.536,-77.942],[72.905,-38.615]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[31.58,26.707],[6.919,-11.821],[-10.667,-27.389],[-6.524,18.112]],"o":[[0,0],[-6.919,11.821],[10.667,27.389],[6.524,-18.112]],"v":[[32.756,-210.226],[11.843,-208.256],[16.168,-139.063],[54.043,-121.815]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[38.98,13.825],[2.296,-13.503],[-19.657,-21.853],[0.297,19.249]],"o":[[0,0],[-2.296,13.503],[19.657,21.853],[-0.297,-19.249]],"v":[[-20.94,-214.679],[-39.808,-205.447],[-11.312,-142.245],[30.213,-139.494]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[31.58,26.707],[6.919,-11.821],[-10.667,-27.389],[-6.524,18.112]],"o":[[0,0],[-6.919,11.821],[10.667,27.389],[6.524,-18.112]],"v":[[32.756,-210.226],[11.843,-208.256],[16.168,-139.063],[54.043,-121.815]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[26.129,32.06],[8.975,-10.346],[-5.448,-28.884],[-9.744,16.603]],"o":[[0,0],[-8.975,10.346],[5.448,28.884],[9.744,-16.603]],"v":[[62.066,-196.554],[41.147,-198.464],[32.672,-129.656],[66.728,-105.737]],"c":true}]},{"t":77,"s":[{"i":[[31.58,26.707],[6.919,-11.821],[-10.667,-27.389],[-6.524,18.112]],"o":[[0,0],[-6.919,11.821],[10.667,27.389],[6.524,-18.112]],"v":[[32.756,-210.226],[11.843,-208.256],[16.168,-139.063],[54.043,-121.815]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-5.561,22.48],[-21.796,12.03],[-5.566,0.135],[-3.46,-39.788],[19.369,-26.14],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-22.051,20.742],[-0.673,-4.675],[-9.283,-1.816],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[8.947,-36.136],[2.825,-1.558],[0,0],[2.572,29.578],[-15.654,21.126],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[-1.233,4.989],[1.301,8.936],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[-13.254,-133.197],[-1.414,-214.618],[14.726,-218.092],[-1.098,-178.304],[-12.088,-106.356],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[42.169,-90.511],[38.893,-67.047],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-13.163,17.34],[-24.246,3.31],[-5.136,-1.65],[11.136,-34.912],[27.973,-19.523],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.157,34.964],[-17.512,17.753],[0.854,-3.204],[-9.283,-1.816],[0,0],[-9.377,-6.445],[-22.869,-2.02],[-9.466,-18.224]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[21.165,-27.875],[3.143,-0.429],[0,0],[-8.278,25.953],[-29.257,15.467],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[13.236,-22.277],[0.408,1.592],[-1.621,6.124],[0,0.011],[0,0],[13.19,6.83],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[9.789,-127.258],[49.872,-192.704],[65.876,-190.539],[37.111,-161.741],[2.02,-102.439],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.004,-3.668],[40.162,-70.024],[42.673,-55.901],[54.258,-47.489],[55.279,-47.389],[57.976,-38.923],[138.518,-27.147],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-17.599,14.34],[-25.676,-1.777],[-4.886,-2.691],[19.652,-32.068],[32.993,-15.662],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-19.795,35.166],[-14.864,16.009],[1.744,-2.346],[-9.284,-1.816],[0,0],[-7.613,-4.992],[-22.869,-2.02],[-8.264,-19.385]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[28.294,-23.055],[3.328,0.23],[0,0],[-14.609,23.839],[-37.194,12.165],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[10.866,-18.458],[1.366,-0.39],[-3.326,4.484],[0,0.011],[0,0],[13.658,5.595],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[23.233,-123.793],[79.797,-179.917],[95.72,-174.462],[59.405,-152.076],[10.252,-100.154],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[26.486,-2.943],[38.991,-58.07],[44.879,-49.397],[53.312,-44.254],[54.93,-44.102],[57.976,-40.282],[137.526,-26.421],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-20.292,7.491],[-21.507,-9.696],[-3.253,-3.983],[28.384,-22.951],[32.748,-7.238],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-19.214,35.491],[-10.61,13.207],[3.181,-1.385],[-9.303,1.11],[0,0],[-5.197,0.638],[-29.774,-3.569],[-6.333,-21.25]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[32.622,-12.043],[2.788,1.257],[0,0],[-21.101,17.062],[-40.578,5.135],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[7.058,-12.323],[2.905,-3.574],[-6.077,2.647],[0.001,0.001],[0,0],[14.328,-1.63],[8.311,0.996],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[44.304,-110.713],[113.098,-143.905],[124.882,-133.938],[85.583,-125.027],[26.217,-92.321],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[25.653,-1.777],[37.109,-38.865],[48.487,-35.061],[51.96,-33.452],[54.512,-33.794],[59.935,-34.376],[137.236,-27.841],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.117,2.848],[-18.681,-15.064],[-2.146,-4.858],[34.303,-16.772],[32.583,-1.529],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.821,35.711],[-7.726,11.308],[4.155,-0.734],[-9.403,0.34],[0,0],[-3.011,0.327],[-25.375,-2.582],[-5.024,-22.515]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[35.555,-4.579],[2.421,1.952],[0,0],[-25.501,12.468],[-42.872,0.371],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[4.477,-8.164],[3.948,-5.732],[-7.941,1.402],[0.002,0.007],[0,0],[37.323,-15.998],[8.329,0.831],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[58.586,-101.847],[135.669,-119.495],[144.649,-106.47],[103.327,-106.693],[37.038,-87.012],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[25.089,-0.987],[35.834,-25.848],[50.932,-25.344],[50.91,-24.635],[54.124,-24.973],[58.732,-25.646],[141.81,-34.889],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.381,2.176],[-18.272,-15.84],[-1.986,-4.985],[35.159,-15.878],[32.559,-0.703],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.764,35.742],[-7.309,11.033],[4.296,-0.639],[-9.417,0.229],[0,0],[-2.695,0.282],[-31.729,-11.516],[-4.835,-22.697]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[35.979,-3.499],[2.368,2.053],[0,0],[-26.137,11.804],[-43.204,-0.319],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[4.104,-7.562],[4.098,-6.044],[-8.211,1.222],[0.002,0.008],[0,0],[14.984,-1.382],[7.868,2.856],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[60.652,-100.564],[138.934,-115.965],[147.508,-102.497],[105.893,-104.041],[38.603,-86.244],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[25.007,-0.873],[35.65,-23.965],[51.286,-23.938],[50.758,-23.36],[54.068,-23.697],[58.558,-24.383],[142.472,-35.909],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.63,1.543],[-17.886,-16.572],[-1.835,-5.104],[35.967,-15.035],[32.536,0.076],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.71,35.772],[-6.916,10.774],[4.429,-0.55],[-9.43,0.124],[0,0],[-2.397,0.239],[-24.139,-2.305],[-4.656,-22.87]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[36.379,-2.481],[2.318,2.148],[0,0],[-26.738,11.177],[-43.517,-0.969],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.752,-6.995],[4.241,-6.339],[-8.465,1.052],[0.002,0.009],[0,0],[15.062,-1.353],[8.334,0.784],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[62.6,-99.355],[142.014,-112.635],[150.204,-98.749],[108.314,-101.539],[40.08,-85.52],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.93,-0.765],[35.476,-22.189],[51.62,-22.613],[50.614,-22.157],[54.016,-22.493],[58.394,-23.192],[139.033,-37.652],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.857,0.966],[-17.535,-17.24],[-1.698,-5.213],[36.703,-14.267],[32.515,0.786],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.661,35.8],[-6.557,10.538],[4.55,-0.469],[-9.443,0.028],[0,0],[-2.125,0.201],[-23.592,-2.182],[-4.493,-23.027]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[36.744,-1.552],[2.273,2.234],[0,0],[-27.285,10.606],[-43.802,-1.561],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.431,-6.478],[4.37,-6.607],[-8.697,0.897],[0.002,0.01],[0,0],[15.133,-1.326],[8.336,0.764],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[64.377,-98.252],[144.821,-109.599],[152.663,-95.333],[110.521,-99.259],[41.426,-84.859],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.86,-0.667],[35.317,-20.57],[51.924,-21.404],[50.484,-21.061],[53.967,-21.396],[58.244,-22.106],[142.237,-39.477],[171.115,1.278]],"c":true}]},{"t":29,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-23.048,0.48],[-17.239,-17.801],[-1.582,-5.305],[37.323,-13.62],[32.498,1.383],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.62,35.823],[-6.255,10.339],[4.652,-0.401],[-9.453,-0.052],[0,0],[-1.896,0.168],[-23.131,-2.079],[-4.356,-23.159]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[37.051,-0.771],[2.234,2.307],[0,0],[-27.745,10.125],[-44.042,-2.06],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.161,-6.042],[4.48,-6.833],[-8.892,0.767],[0.002,0.011],[0,0],[15.193,-1.303],[8.337,0.746],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[65.871,-97.324],[147.183,-107.044],[154.731,-92.459],[112.378,-97.34],[42.558,-84.304],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.801,-0.584],[35.184,-19.208],[52.18,-20.387],[50.374,-20.138],[53.927,-20.473],[58.119,-21.193],[144.703,-35.937],[171.115,1.278]],"c":true}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-23.157,0.203],[-17.071,-18.121],[-1.516,-5.357],[37.675,-13.252],[32.488,1.724],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.596,35.836],[-6.083,10.226],[4.71,-0.362],[-9.459,-0.098],[0,0],[-1.766,0.15],[-22.869,-2.02],[-4.278,-23.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[37.226,-0.326],[2.213,2.349],[0,0],[-28.007,9.851],[-44.179,-2.344],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.007,-5.794],[4.542,-6.962],[-9.003,0.693],[0.002,0.011],[0,0],[15.228,-1.29],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[66.722,-96.796],[148.528,-105.589],[155.91,-90.821],[113.435,-96.247],[43.203,-83.987],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.767,-0.537],[35.108,-18.432],[52.325,-19.808],[50.311,-19.612],[53.904,-19.947],[58.047,-20.672],[144.416,-38.905],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-23.157,0.203],[-17.071,-18.121],[-1.516,-5.357],[37.675,-13.252],[32.488,1.724],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.596,35.836],[-6.083,10.226],[4.71,-0.362],[-9.459,-0.098],[0,0],[-1.766,0.15],[-22.869,-2.02],[-4.278,-23.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[37.226,-0.326],[2.213,2.349],[0,0],[-28.007,9.851],[-44.179,-2.344],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.007,-5.794],[4.542,-6.962],[-9.003,0.693],[0.002,0.011],[0,0],[15.228,-1.29],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[66.722,-96.796],[148.528,-105.589],[155.91,-90.821],[113.435,-96.247],[43.203,-83.987],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.767,-0.537],[35.108,-18.432],[52.325,-19.808],[50.311,-19.612],[53.904,-19.947],[58.047,-20.672],[144.416,-38.905],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-23.048,0.48],[-17.239,-17.801],[-1.582,-5.305],[37.323,-13.62],[32.498,1.383],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.62,35.823],[-6.255,10.339],[4.652,-0.401],[-9.453,-0.052],[0,0],[-1.896,0.168],[-23.131,-2.079],[-4.356,-23.159]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[37.051,-0.771],[2.234,2.307],[0,0],[-27.745,10.125],[-44.042,-2.06],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.161,-6.042],[4.48,-6.833],[-8.892,0.767],[0.002,0.011],[0,0],[15.193,-1.303],[8.337,0.746],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[65.871,-97.324],[147.183,-107.044],[154.731,-92.459],[112.378,-97.34],[42.558,-84.304],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.801,-0.584],[35.184,-19.208],[52.18,-20.387],[50.374,-20.138],[53.927,-20.473],[58.119,-21.193],[144.703,-35.937],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.857,0.966],[-17.535,-17.24],[-1.698,-5.213],[36.703,-14.267],[32.515,0.786],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.661,35.8],[-6.557,10.538],[4.55,-0.469],[-9.443,0.028],[0,0],[-2.125,0.201],[-23.592,-2.182],[-4.493,-23.027]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[36.744,-1.552],[2.273,2.234],[0,0],[-27.285,10.606],[-43.802,-1.561],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.431,-6.478],[4.37,-6.607],[-8.697,0.897],[0.002,0.01],[0,0],[15.133,-1.326],[8.336,0.764],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[64.377,-98.252],[144.821,-109.599],[152.663,-95.333],[110.521,-99.259],[41.426,-84.859],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.86,-0.667],[35.317,-20.57],[51.924,-21.404],[50.484,-21.061],[53.967,-21.396],[58.244,-22.106],[142.237,-39.477],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.63,1.543],[-17.886,-16.572],[-1.835,-5.104],[35.967,-15.035],[32.536,0.076],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.71,35.772],[-6.916,10.774],[4.429,-0.55],[-9.43,0.124],[0,0],[-2.397,0.239],[-24.139,-2.305],[-4.656,-22.87]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[36.379,-2.481],[2.318,2.148],[0,0],[-26.738,11.177],[-43.517,-0.969],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[3.752,-6.995],[4.241,-6.339],[-8.465,1.052],[0.002,0.009],[0,0],[15.062,-1.353],[8.334,0.784],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[62.6,-99.355],[142.014,-112.635],[150.204,-98.749],[108.314,-101.539],[40.08,-85.52],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[24.93,-0.765],[35.476,-22.189],[51.62,-22.613],[50.614,-22.157],[54.016,-22.493],[58.394,-23.192],[139.033,-37.652],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.381,2.176],[-18.272,-15.84],[-1.986,-4.985],[35.159,-15.878],[32.559,-0.703],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.764,35.742],[-7.309,11.033],[4.296,-0.639],[-9.417,0.229],[0,0],[-2.695,0.282],[-31.729,-11.516],[-4.835,-22.697]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[35.979,-3.499],[2.368,2.053],[0,0],[-26.137,11.804],[-43.204,-0.319],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[4.104,-7.562],[4.098,-6.044],[-8.211,1.222],[0.002,0.008],[0,0],[14.984,-1.382],[7.868,2.856],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[60.652,-100.564],[138.934,-115.965],[147.508,-102.497],[105.893,-104.041],[38.603,-86.244],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[25.007,-0.873],[35.65,-23.965],[51.286,-23.938],[50.758,-23.36],[54.068,-23.697],[58.558,-24.383],[142.472,-35.909],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-22.117,2.848],[-18.681,-15.064],[-2.146,-4.858],[34.303,-16.772],[32.583,-1.529],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-18.821,35.711],[-7.726,11.308],[4.155,-0.734],[-9.403,0.34],[0,0],[-3.011,0.327],[-25.375,-2.582],[-5.024,-22.515]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[35.555,-4.579],[2.421,1.952],[0,0],[-25.501,12.468],[-42.872,0.371],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[4.477,-8.164],[3.948,-5.732],[-7.941,1.402],[0.002,0.007],[0,0],[37.323,-15.998],[8.329,0.831],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[58.586,-101.847],[135.669,-119.495],[144.649,-106.47],[103.327,-106.693],[37.038,-87.012],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[25.089,-0.987],[35.834,-25.848],[50.932,-25.344],[50.91,-24.635],[54.124,-24.973],[58.732,-25.646],[141.81,-34.889],[171.115,1.278]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-5.561,22.48],[-21.796,12.03],[-5.566,0.135],[-3.46,-39.788],[19.369,-26.14],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-22.051,20.742],[-0.673,-4.675],[-9.283,-1.816],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[8.947,-36.136],[2.825,-1.558],[0,0],[2.572,29.578],[-15.654,21.126],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[-1.233,4.989],[1.301,8.936],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[-13.254,-133.197],[-1.414,-214.618],[14.726,-218.092],[-1.098,-178.304],[-12.088,-106.356],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[42.169,-90.511],[38.893,-67.047],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[2.737,22.995],[-16.144,18.952],[-5.159,2.093],[-17.296,-35.998],[8.883,-31.298],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-13.299,27.196],[-0.673,-4.675],[-11.542,0.893],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[-4.399,-36.966],[2.092,-2.456],[0,0],[12.858,26.761],[-7.179,25.295],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[0.609,5.103],[1.301,8.936],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[-36.763,-126.362],[-54.458,-206.714],[-40.587,-215.667],[-41.331,-172.854],[-26.188,-101.664],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[27.668,-106.638],[31.08,-67.359],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-5.561,22.48],[-21.796,12.03],[-5.566,0.135],[-3.46,-39.788],[19.369,-26.14],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-22.051,20.742],[-0.673,-4.675],[-9.283,-1.816],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[8.947,-36.136],[2.825,-1.558],[0,0],[2.572,29.578],[-15.654,21.126],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[-1.233,4.989],[1.301,8.936],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[-13.254,-133.197],[-1.414,-214.618],[14.726,-218.092],[-1.098,-178.304],[-12.088,-106.356],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[42.169,-90.511],[38.893,-67.047],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-9.605,21.072],[-23.639,7.81],[-5.495,-0.891],[3.917,-39.745],[23.847,-22.131],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-25.49,16.332],[0.191,-4.72],[-9.283,-1.816],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[15.441,-33.874],[3.064,-1.012],[0,0],[-2.912,29.546],[-19.273,17.886],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[-2.13,4.677],[-0.365,9.023],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[2.673,-129.302],[29.286,-207.156],[45.79,-207.602],[22.917,-171.404],[-1.117,-102.704],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[49.299,-77.15],[46.295,-66.564],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]},{"t":77,"s":[{"i":[[1.256,-14.508],[71.173,-6.66],[31.965,24.924],[0,0],[-35.34,52.999],[-5.561,22.48],[-21.796,12.03],[-5.566,0.135],[-3.46,-39.788],[19.369,-26.14],[16.912,-48.623],[-9.18,-14.639],[-23.837,-21.729],[-2.949,6.862],[-4.901,27.091],[17.681,4.227],[-28.801,37.93],[-20.776,34.618],[-22.051,20.742],[-0.673,-4.675],[-9.283,-1.816],[0,0],[-12.4,-8.936],[-22.869,-2.02],[-11.526,-16.235]],"o":[[-6.66,76.813],[-71.184,6.66],[0,0],[0,0],[35.329,-53.01],[8.947,-36.136],[2.825,-1.558],[0,0],[2.572,29.578],[-15.654,21.126],[-12.906,37.104],[7.395,11.792],[23.837,21.729],[2.938,-6.85],[2.972,-16.425],[-17.681,-4.227],[10.21,-13.447],[17.298,-28.823],[-1.233,4.989],[1.301,8.936],[0,0.011],[0,0],[12.389,8.947],[8.339,0.736],[0.886,9.967]],"v":[[170.61,37.762],[67.337,182.418],[-85.178,158.537],[-105.472,55.32],[-86.804,-47.157],[-13.254,-133.197],[-1.414,-214.618],[14.726,-218.092],[-1.098,-178.304],[-12.088,-106.356],[-88.934,-10.259],[-85.503,74.313],[-71.668,119.822],[4.192,133.803],[0.311,92.736],[-51.677,88.922],[6.918,46.599],[27.892,-4.912],[42.169,-90.511],[38.893,-67.047],[55.879,-52.225],[55.879,-52.214],[57.976,-33.579],[138.791,-26.718],[171.115,1.278]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.233,2.363],[16.807,3.963],[0,0],[0,0],[-0.011,0],[-1.176,-0.058],[-6.634,-0.085],[-4.732,-0.098],[-1.425,-0.07],[-0.707,-0.035],[-0.011,0],[-1.437,-0.126]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-17.744,-3.047],[-14.266,-3.775],[0,0],[0.011,0],[1.13,0.099],[5.879,0.34],[4.628,0.06],[1.424,0.036],[0.707,0.024],[0.011,0],[1.447,0.069],[30.283,2.665]],"v":[[170.316,-4.467],[164.074,-16.548],[127.09,-31.548],[74.115,-40.73],[64.885,-48.356],[64.896,-48.356],[64.918,-48.356],[68.378,-48.126],[87.314,-49.445],[101.492,-50.044],[105.754,-49.903],[107.874,-49.798],[107.896,-49.798],[112.216,-49.501]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.276,2.055],[16.821,3.646],[0,0],[0,0],[-0.011,-0.001],[-1.175,-0.073],[-6.633,-0.155],[-4.732,-0.064],[-1.425,-0.058],[-0.707,-0.029],[-0.011,0],[-1.438,-0.114]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-17.172,-2.594],[-11.319,-2.955],[0,0],[0.011,0],[1.129,0.11],[5.874,0.402],[4.627,0.108],[1.424,0.024],[0.707,0.018],[0.011,0],[1.448,0.057],[30.302,2.414]],"v":[[170.472,-2.86],[164.074,-16.548],[125.605,-29.785],[74.452,-41.312],[64.54,-44.676],[64.552,-44.676],[64.574,-44.675],[68.031,-44.409],[87.155,-46.117],[101.382,-47.916],[105.645,-47.809],[107.766,-47.723],[107.788,-47.723],[112.11,-47.461]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.344,1.559],[16.743,-1.852],[0,0],[0,0],[-0.011,0.001],[-1.165,0.141],[-6.577,0.83],[-4.733,-0.009],[-1.426,-0.039],[-0.707,-0.02],[-0.011,0],[-1.439,-0.095]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-16.254,-1.866],[-6.55,0.681],[0,0],[0.011,-0.001],[1.12,-0.132],[5.825,-0.707],[4.589,-0.579],[1.425,0.005],[0.707,0.008],[0.011,0],[1.448,0.038],[30.333,2.011]],"v":[[170.722,-0.279],[164.074,-16.548],[126.009,-29.462],[74.924,-36.269],[63.407,-34.958],[63.418,-34.959],[63.44,-34.962],[66.867,-35.375],[85.804,-37.662],[104.378,-39.648],[108.642,-39.599],[110.764,-39.54],[110.786,-39.541],[115.112,-39.337]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.39,1.222],[15.408,-4.982],[0,0],[0,0],[-0.011,0],[-1.169,-0.026],[-6.609,0.056],[-4.733,0.029],[-1.426,-0.026],[-0.708,-0.013],[-0.011,0],[-1.44,-0.082]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-50.39,-2.149],[-3.361,0.096],[0,0],[0.011,0],[1.123,0.047],[5.847,0.128],[4.61,-0.039],[1.425,-0.008],[0.707,0.002],[0.011,-0.001],[1.449,0.025],[30.354,1.738]],"v":[[170.891,1.471],[164.074,-16.548],[123.789,-37.151],[75.335,-32.287],[63.939,-30.349],[63.95,-30.349],[63.972,-30.349],[67.412,-30.253],[87.734,-34.949],[95.251,-40.031],[99.516,-40.02],[101.638,-39.98],[101.661,-39.981],[105.989,-39.816]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.397,1.174],[16.832,1.39],[0,0],[0,0],[-0.011,-0.001],[-1.17,-0.05],[-6.613,-0.056],[-4.209,2.001],[-1.426,-0.024],[-0.708,-0.012],[-0.011,0],[-1.44,-0.08]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-25.525,-6.755],[-2.9,0.011],[0,0],[0.011,0],[1.124,0.073],[5.85,0.249],[4.613,0.039],[1.287,-0.612],[0.707,0.001],[0.011,-0.001],[1.449,0.023],[30.357,1.699]],"v":[[170.915,1.724],[164.074,-16.548],[129.549,-36.295],[75.394,-28.849],[64.016,-29.682],[64.027,-29.682],[64.049,-29.682],[67.491,-29.512],[86.404,-29.191],[101.436,-36.926],[104.295,-37.467],[104.23,-37.587],[104.252,-37.588],[108.581,-39.303]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.403,1.128],[16.843,1.777],[0,0],[0,0],[-0.011,-0.001],[-1.17,-0.073],[-6.617,-0.161],[-4.377,1.375],[-1.426,-0.022],[-0.708,-0.011],[-0.011,0],[-1.44,-0.079]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.456,-1.235],[-2.465,-0.069],[0,0],[0.011,0],[1.124,0.098],[5.853,0.363],[4.616,0.112],[1.331,-0.42],[0.707,0],[0.011,-0.001],[1.449,0.021],[30.36,1.661]],"v":[[170.939,1.962],[164.074,-16.548],[129.971,-32.422],[75.45,-27.965],[64.088,-29.053],[64.099,-29.053],[64.122,-29.052],[67.565,-28.814],[86.476,-28.182],[107.259,-30.829],[108.147,-38.075],[108.785,-38.146],[108.807,-38.148],[113.136,-39.266]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.409,1.086],[16.852,2.129],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.093],[-6.621,-0.257],[-4.531,0.804],[-1.427,-0.021],[-0.708,-0.011],[-0.011,0],[-1.44,-0.077]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.379,-1.173],[-2.068,-0.142],[0,0],[0.011,0],[1.125,0.12],[5.856,0.467],[4.619,0.18],[1.372,-0.246],[0.707,-0.001],[0.011,-0.001],[1.449,0.02],[30.363,1.627]],"v":[[170.96,2.18],[164.074,-16.548],[132.074,-30.654],[75.501,-27.158],[64.154,-28.48],[64.166,-28.479],[64.188,-28.478],[67.633,-28.177],[86.541,-27.261],[105.445,-25.27],[112.324,-29.398],[113.601,-29.427],[113.624,-29.428],[114.828,-39.612]],"c":true}]},{"t":29,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.414,1.051],[16.86,2.425],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.111],[-6.625,-0.338],[-4.66,0.323],[-1.427,-0.019],[-0.708,-0.01],[-0.011,0],[-1.44,-0.076]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.314,-1.122],[-1.735,-0.203],[0,0],[0.011,0.001],[1.125,0.139],[5.859,0.555],[4.621,0.236],[1.406,-0.099],[0.707,-0.001],[0.011,-0.001],[1.449,0.018],[30.365,1.599]],"v":[[170.977,2.363],[164.074,-16.548],[128.021,-39.146],[75.544,-26.48],[64.21,-27.998],[64.221,-27.997],[64.244,-27.996],[67.69,-27.641],[86.596,-26.487],[100.17,-32.938],[107.571,-32.724],[109.387,-32.716],[109.409,-32.717],[118.779,-38.794]],"c":true}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.416,1.031],[16.865,2.594],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.121],[-6.626,-0.384],[-4.734,0.05],[-1.427,-0.019],[-0.708,-0.01],[-0.011,0],[-1.441,-0.075]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.277,-1.092],[-1.545,-0.238],[0,0],[0.011,0.001],[1.125,0.149],[5.86,0.604],[4.623,0.268],[1.425,-0.015],[0.707,-0.002],[0.011,-0.001],[1.449,0.018],[30.366,1.582]],"v":[[170.987,2.467],[164.074,-16.548],[130.863,-38.833],[75.569,-26.094],[64.242,-27.723],[64.253,-27.722],[64.275,-27.721],[67.723,-27.336],[86.627,-26.046],[103.05,-17.93],[107.316,-17.941],[109.439,-17.912],[109.461,-17.913],[113.79,-17.77]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.416,1.031],[16.865,2.594],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.121],[-6.626,-0.384],[-4.734,0.05],[-1.427,-0.019],[-0.708,-0.01],[-0.011,0],[-1.441,-0.075]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.277,-1.092],[-1.545,-0.238],[0,0],[0.011,0.001],[1.125,0.149],[5.86,0.604],[4.623,0.268],[1.425,-0.015],[0.707,-0.002],[0.011,-0.001],[1.449,0.018],[30.366,1.582]],"v":[[170.987,2.467],[164.074,-16.548],[130.863,-38.833],[75.569,-26.094],[64.242,-27.723],[64.253,-27.722],[64.275,-27.721],[67.723,-27.336],[86.627,-26.046],[103.05,-17.93],[107.316,-17.941],[109.439,-17.912],[109.461,-17.913],[113.79,-17.77]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.414,1.051],[16.86,2.425],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.111],[-6.625,-0.338],[-4.66,0.323],[-1.427,-0.019],[-0.708,-0.01],[-0.011,0],[-1.44,-0.076]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.314,-1.122],[-1.735,-0.203],[0,0],[0.011,0.001],[1.125,0.139],[5.859,0.555],[4.621,0.236],[1.406,-0.099],[0.707,-0.001],[0.011,-0.001],[1.449,0.018],[30.365,1.599]],"v":[[170.977,2.363],[164.074,-16.548],[128.021,-39.146],[75.544,-26.48],[64.21,-27.998],[64.221,-27.997],[64.244,-27.996],[67.69,-27.641],[86.596,-26.487],[100.17,-32.938],[107.571,-32.724],[109.387,-32.716],[109.409,-32.717],[118.779,-38.794]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.409,1.086],[16.852,2.129],[0,0],[0,0],[-0.011,-0.001],[-1.171,-0.093],[-6.621,-0.257],[-4.531,0.804],[-1.427,-0.021],[-0.708,-0.011],[-0.011,0],[-1.44,-0.077]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.379,-1.173],[-2.068,-0.142],[0,0],[0.011,0],[1.125,0.12],[5.856,0.467],[4.619,0.18],[1.372,-0.246],[0.707,-0.001],[0.011,-0.001],[1.449,0.02],[30.363,1.627]],"v":[[170.96,2.18],[164.074,-16.548],[132.074,-30.654],[75.501,-27.158],[64.154,-28.48],[64.166,-28.479],[64.188,-28.478],[67.633,-28.177],[86.541,-27.261],[105.445,-25.27],[112.324,-29.398],[113.601,-29.427],[113.624,-29.428],[114.828,-39.612]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.403,1.128],[16.843,1.777],[0,0],[0,0],[-0.011,-0.001],[-1.17,-0.073],[-6.617,-0.161],[-4.377,1.375],[-1.426,-0.022],[-0.708,-0.011],[-0.011,0],[-1.44,-0.079]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-15.456,-1.235],[-2.465,-0.069],[0,0],[0.011,0],[1.124,0.098],[5.853,0.363],[4.616,0.112],[1.331,-0.42],[0.707,0],[0.011,-0.001],[1.449,0.021],[30.36,1.661]],"v":[[170.939,1.962],[164.074,-16.548],[129.971,-32.422],[75.45,-27.965],[64.088,-29.053],[64.099,-29.053],[64.122,-29.052],[67.565,-28.814],[86.476,-28.182],[107.259,-30.829],[108.147,-38.075],[108.785,-38.146],[108.807,-38.148],[113.136,-39.266]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.397,1.174],[16.832,1.39],[0,0],[0,0],[-0.011,-0.001],[-1.17,-0.05],[-6.613,-0.056],[-4.209,2.001],[-1.426,-0.024],[-0.708,-0.012],[-0.011,0],[-1.44,-0.08]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-25.525,-6.755],[-2.9,0.011],[0,0],[0.011,0],[1.124,0.073],[5.85,0.249],[4.613,0.039],[1.287,-0.612],[0.707,0.001],[0.011,-0.001],[1.449,0.023],[30.357,1.699]],"v":[[170.915,1.724],[164.074,-16.548],[129.549,-36.295],[75.394,-28.849],[64.016,-29.682],[64.027,-29.682],[64.049,-29.682],[67.491,-29.512],[86.404,-29.191],[101.436,-36.926],[104.295,-37.467],[104.23,-37.587],[104.252,-37.588],[108.581,-39.303]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.39,1.222],[15.408,-4.982],[0,0],[0,0],[-0.011,0],[-1.169,-0.026],[-6.609,0.056],[-4.733,0.029],[-1.426,-0.026],[-0.708,-0.013],[-0.011,0],[-1.44,-0.082]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-50.39,-2.149],[-3.361,0.096],[0,0],[0.011,0],[1.123,0.047],[5.847,0.128],[4.61,-0.039],[1.425,-0.008],[0.707,0.002],[0.011,-0.001],[1.449,0.025],[30.354,1.738]],"v":[[170.891,1.471],[164.074,-16.548],[123.789,-37.151],[75.335,-32.287],[63.939,-30.349],[63.95,-30.349],[63.972,-30.349],[67.412,-30.253],[87.734,-34.949],[95.251,-40.031],[99.516,-40.02],[101.638,-39.98],[101.661,-39.981],[105.989,-39.816]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]},{"t":77,"s":[{"i":[[-5.897,-35.026],[2.399,3.24],[14.161,2.893],[16.784,4.507],[0,0],[0,0],[-0.011,0],[-1.177,-0.034],[-6.637,0.034],[-4.731,-0.157],[-1.424,-0.09],[-0.706,-0.045],[-0.011,0],[-1.435,-0.146]],"o":[[-1.603,-2.982],[-8.33,-11.223],[-18.724,-3.823],[-19.318,-5.18],[0,0],[0.011,0],[1.132,0.078],[5.886,0.235],[4.63,-0.022],[1.424,0.056],[0.706,0.034],[0.011,0],[1.446,0.09],[30.25,3.094]],"v":[[170.05,-7.22],[164.074,-16.548],[128.207,-32.895],[73.538,-36.719],[65.14,-51.092],[65.151,-51.092],[65.174,-51.092],[68.638,-50.924],[87.586,-50.823],[101.68,-50.678],[105.94,-50.476],[108.059,-50.341],[108.082,-50.341],[112.398,-49.982]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-67.048],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-35.335,53.002],[-13.167,17.34],[-24.248,3.318],[11.988,-36.978],[4.187,-15.792],[-32.894,-2.889],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[21.17,-27.879],[27.32,-3.739],[-12.152,37.484],[-4.187,15.792],[40.158,3.527],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[9.789,-127.255],[49.868,-192.704],[83.798,-126.069],[42.674,-55.901],[112.216,-49.497],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-35.335,53.002],[-17.602,14.342],[-25.679,-1.767],[21.013,-33.924],[8.581,-11.56],[-32.915,-2.617],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[28.3,-23.058],[28.933,1.991],[-21.301,34.389],[-8.581,11.56],[40.184,3.194],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[23.233,-123.789],[79.793,-179.918],[98.949,-107.254],[44.88,-49.397],[112.11,-47.457],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-35.335,53.002],[-20.294,7.491],[-21.512,-9.687],[30.22,-24.21],[15.673,-6.821],[-32.949,-2.179],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[32.627,-12.044],[24.238,10.914],[-30.634,24.542],[-15.673,6.821],[40.225,2.66],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[44.302,-110.709],[113.095,-143.907],[103.692,-71.858],[48.488,-35.06],[115.111,-39.332],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-35.335,53.002],[-22.118,2.847],[-18.688,-15.055],[36.461,-17.625],[20.479,-3.608],[-22.042,7.074],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.56,-4.578],[21.056,16.963],[-36.961,17.867],[-20.48,3.608],[40.312,0.73],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[58.584,-101.844],[135.667,-119.498],[106.907,-47.866],[50.933,-25.342],[105.988,-39.812],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-35.335,53.002],[-22.382,2.176],[-18.279,-15.832],[37.364,-16.673],[21.376,-1.156],[-31.431,12.03],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.985,-3.498],[20.595,17.838],[-37.876,16.901],[-7.732,0.418],[40.301,1.076],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[60.649,-100.562],[138.932,-115.968],[107.372,-44.396],[51.287,-23.937],[108.58,-39.299],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-35.335,53.002],[-22.631,1.542],[-17.894,-16.564],[38.215,-15.775],[21.967,-1.356],[-31.455,13.087],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.385,-2.48],[20.161,18.663],[-38.739,15.991],[-12.702,0.855],[40.29,1.402],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[62.598,-99.352],[142.011,-112.638],[107.811,-41.123],[51.621,-22.611],[113.135,-39.262],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[0,0],[-35.335,53.002],[-22.858,0.965],[-17.543,-17.232],[38.991,-14.956],[22.506,-1.538],[-34.396,16.245],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.75,-1.551],[19.765,19.415],[-39.526,15.161],[-17.234,1.253],[40.281,1.699],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[64.374,-98.249],[144.819,-109.602],[108.21,-38.139],[51.925,-21.402],[114.827,-39.608],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"t":29,"s":[{"i":[[0,0],[-35.335,53.002],[-23.049,0.479],[-17.247,-17.793],[39.644,-14.267],[22.96,-1.691],[-31.16,19.021],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.057,-0.77],[19.432,20.048],[-40.188,14.462],[-21.046,1.587],[40.273,1.949],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[65.868,-97.322],[147.181,-107.048],[108.547,-35.628],[52.181,-20.386],[118.778,-38.79],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[{"i":[[0,0],[-35.335,53.002],[-23.157,0.202],[-17.079,-18.113],[40.016,-13.874],[23.218,-1.778],[-32.985,-1.713],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.231,-0.325],[19.243,20.408],[-40.565,14.064],[-23.218,1.778],[40.269,2.092],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[66.72,-96.793],[148.526,-105.593],[108.739,-34.198],[52.327,-19.806],[113.79,-17.766],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":35.398,"s":[{"i":[[0,0],[-35.335,53.002],[-23.157,0.202],[-17.079,-18.113],[40.016,-13.874],[23.218,-1.778],[-32.985,-1.713],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.231,-0.325],[19.243,20.408],[-40.565,14.064],[-23.218,1.778],[40.269,2.092],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[66.72,-96.793],[148.526,-105.593],[108.739,-34.198],[52.327,-19.806],[113.79,-17.766],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":36.266,"s":[{"i":[[0,0],[-35.335,53.002],[-23.049,0.479],[-17.247,-17.793],[39.644,-14.267],[22.96,-1.691],[-31.16,19.021],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[37.057,-0.77],[19.432,20.048],[-40.188,14.462],[-21.046,1.587],[40.273,1.949],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[65.868,-97.322],[147.181,-107.048],[108.547,-35.628],[52.181,-20.386],[118.778,-38.79],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.808},"o":{"x":0.167,"y":0.192},"t":37.133,"s":[{"i":[[0,0],[-35.335,53.002],[-22.858,0.965],[-17.543,-17.232],[38.991,-14.956],[22.506,-1.538],[-34.396,16.245],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.75,-1.551],[19.765,19.415],[-39.526,15.161],[-17.234,1.253],[40.281,1.699],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[64.374,-98.249],[144.819,-109.602],[108.21,-38.139],[51.925,-21.402],[114.827,-39.608],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.192},"t":38,"s":[{"i":[[0,0],[-35.335,53.002],[-22.631,1.542],[-17.894,-16.564],[38.215,-15.775],[21.967,-1.356],[-31.455,13.087],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[36.385,-2.48],[20.161,18.663],[-38.739,15.991],[-12.702,0.855],[40.29,1.402],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[62.598,-99.352],[142.011,-112.638],[107.811,-41.123],[51.621,-22.611],[113.135,-39.262],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38.869,"s":[{"i":[[0,0],[-35.335,53.002],[-22.382,2.176],[-18.279,-15.832],[37.364,-16.673],[21.376,-1.156],[-31.431,12.03],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.985,-3.498],[20.595,17.838],[-37.876,16.901],[-7.732,0.418],[40.301,1.076],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[60.649,-100.562],[138.932,-115.968],[107.372,-44.396],[51.287,-23.937],[108.58,-39.299],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.736,"s":[{"i":[[0,0],[-35.335,53.002],[-22.118,2.847],[-18.688,-15.055],[36.461,-17.625],[20.479,-3.608],[-22.042,7.074],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[35.56,-4.578],[21.056,16.963],[-36.961,17.867],[-20.48,3.608],[40.312,0.73],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[58.584,-101.844],[135.667,-119.498],[106.907,-47.866],[50.933,-25.342],[105.988,-39.812],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":46.676,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-67.048],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":51.881,"s":[{"i":[[0,0],[-35.335,53.002],[2.736,22.996],[-16.135,18.959],[-18.171,-38.257],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[-4.398,-36.972],[18.179,-21.361],[18.42,38.781],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-36.76,-126.359],[-54.462,-206.711],[20.859,-174.977],[31.082,-67.361],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":55.775,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-67.048],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":60.393,"s":[{"i":[[0,0],[-35.335,53.002],[-9.606,21.072],[-23.635,7.821],[4.343,-42.13],[0.95,-23.267],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[15.444,-33.878],[26.63,-8.811],[-4.402,42.707],[-0.95,23.267],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[2.674,-129.298],[29.282,-207.156],[77.165,-140.917],[46.297,-66.565],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]},{"t":77,"s":[{"i":[[0,0],[-35.335,53.002],[-5.567,22.479],[-21.793,12.034],[-3.48,-42.21],[-3.346,-23.044],[-32.858,-3.356],[6.657,-76.814],[71.181,-6.657],[31.957,24.914]],"o":[[0,0],[35.335,-53.002],[8.95,-36.141],[24.555,-13.559],[3.528,42.788],[3.346,23.044],[40.114,4.097],[-6.657,76.814],[-71.181,6.657],[0,0]],"v":[[-105.471,55.314],[-86.808,-47.162],[-13.252,-133.194],[-1.418,-214.617],[57.831,-158.315],[38.895,-67.048],[112.397,-49.978],[170.605,37.761],[67.333,182.416],[-85.175,158.542]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":3,"parent":7,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":21,"s":[17.203]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.67],"y":[0]},"t":45,"s":[-20]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":58,"s":[5]},{"t":81,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-287.188,148.438,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":21,"s":[-287.188,179.688,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.67,"y":0},"t":45,"s":[-309.688,117.188,0],"to":[0,0,0],"ti":[0,0,0]},{"t":69,"s":[-287.188,148.438,0]}]},"s":{"a":0,"k":[125,125,100]}},"ao":0,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":3,"parent":8,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[100,-91,0]},"s":{"a":0,"k":[80,80,100]}},"ao":0,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[198,332,0]}},"ao":0,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":6,"sr":1,"ks":{"p":{"a":0,"k":[26.816,0.469,0]},"a":{"a":0,"k":[-162.347,76.575,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[6.631,3.364],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[2.165,18.654]],"o":[[-3.331,-1.69],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-3.748,-32.294]],"v":[[-122.732,-5.303],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-121.643,44.592]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[7.227,1.747],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[6.4,17.655]],"o":[[-3.63,-0.878],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-11.081,-30.564]],"v":[[-143.994,-3.752],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-131.449,44.553]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[{"i":[[6.069,4.296],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[-0.582,18.77]],"o":[[-3.049,-2.158],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[1.007,-32.495]],"v":[[-111.926,-4.259],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-118.134,45.26]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":47.266,"s":[{"i":[[7.227,1.747],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[6.4,17.655]],"o":[[-3.63,-0.878],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-11.081,-30.564]],"v":[[-143.994,-3.752],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-131.449,44.553]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[6.631,3.364],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[2.165,18.654]],"o":[[-3.331,-1.69],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-3.748,-32.294]],"v":[[-122.732,-5.303],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-121.643,44.592]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":86,"s":[{"i":[[6.631,3.364],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[2.165,18.654]],"o":[[-3.331,-1.69],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-3.748,-32.294]],"v":[[-122.732,-5.303],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-121.643,44.592]],"c":true}]},{"t":180,"s":[{"i":[[6.631,3.364],[7.496,-10.379],[3.171,-19.028],[-7.348,-7.961],[-6.631,7.208],[2.165,18.654]],"o":[[-3.331,-1.69],[-7.496,10.379],[-3.171,19.028],[6.919,7.496],[6.631,-7.208],[-3.748,-32.294]],"v":[[-122.732,-5.303],[-150.761,0.478],[-168.06,42.859],[-164.889,92.447],[-117.606,92.447],[-121.643,44.592]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-57.506,156.96]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-63.434,-30.637],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":47.266,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-57.506,156.96]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-69.3,-31.227],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":86,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-84.838,-37.381],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"t":180,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-57.506,156.96]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-63.434,-30.637],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":47.266,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-57.506,156.96]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":58,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-69.3,-31.227],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.67,"y":0},"t":86,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-84.838,-37.381],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]},{"t":180,"s":[{"i":[[95.277,-43.87],[39.46,3.414],[-16.728,-58.72],[-21.773,5.469],[-8.406,-1.418]],"o":[[0,0],[-32.154,-2.782],[12.203,42.836],[12.25,-3.077],[65.95,11.123]],"v":[[-92.414,-38.03],[-145.147,-21.773],[-182.985,111.844],[-123.485,163.981],[-85.175,158.542]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":120,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_sync.tgs b/TMessagesProj/src/main/res/raw/wallet_sync.tgs deleted file mode 100644 index 5998bbb02..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_sync.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"02","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,256,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":131,"s":[100,100,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"t":144,"s":[88,88,100]},{"t":160,"s":[100,100,100]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"parent":4,"sr":1,"ks":{"r":{"a":0,"k":180},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[0,-0.75,0],"to":[0,0,0],"ti":[0,0,0]},{"t":160,"s":[0,0,0]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[43]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[43]},{"t":160,"s":[90]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[43]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[43]},{"t":160,"s":[92]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":139,"s":[0]},{"t":160,"s":[6]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[43]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[43]},{"t":160,"s":[95.8]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[43]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[43]},{"t":160,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":139,"s":[0]},{"t":160,"s":[6]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":130,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":139,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[13.5,-10.5],[-1.25,-80.25]],"o":[[0,0],[-16.25,-11.5],[-17.952,13.963],[1.254,80.49]],"v":[[101.5,169.5],[29.25,31],[-29.25,32.25],[-98.5,169.5]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":142,"s":[0]},{"t":160,"s":[65]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0]},{"t":160,"s":[67.3]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":40},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":139,"s":[0]},{"t":160,"s":[35]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":130,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[13.5,-10.5],[-1.25,-80.25]],"o":[[0,0],[-16.25,-11.5],[-17.952,13.963],[1.254,80.49]],"v":[[101.5,169.5],[29.25,31],[-29.25,32.25],[-98.5,169.5]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":134,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":156,"s":[79]},{"t":160,"s":[79]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":130,"s":[26.3]},{"t":160,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":40},"w":{"a":0,"k":35},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[1.562,96.412]},"a":{"a":0,"k":[1.562,96.412]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":160,"s":[0,0.75,0]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[90]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[43]},{"t":160,"s":[43]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[92]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[43]},{"t":160,"s":[43]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":147,"s":[0]},{"t":160,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[79.026,55.926],[15.003,-8.209],[17,-61]],"o":[[0,0],[-16.25,-11.5],[-13.25,7.25],[-21.611,77.545]],"v":[[101.5,169.5],[37.25,20.75],[-29,20.5],[-108.75,118.25]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[95.8]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[43]},{"t":160,"s":[43]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[43]},{"t":160,"s":[43]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":147,"s":[0]},{"t":160,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[13.5,-10.5],[-1.25,-80.25]],"o":[[0,0],[-16.25,-11.5],[-17.952,13.963],[1.254,80.49]],"v":[[101.5,169.5],[29.25,31],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":147,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.33],"y":[0]},"t":130,"s":[65]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":141,"s":[0]},{"t":160,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":130,"s":[67.3]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[0]},{"t":160,"s":[0]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":40},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[35]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":147,"s":[0]},{"t":160,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[0,0],[79.026,55.926],[13.5,-10.5],[-1.25,-80.25]],"o":[[0,0],[-16.25,-11.5],[-17.952,13.963],[1.254,80.49]],"v":[[101.5,169.5],[29.25,31],[-29.25,32.25],[-98.5,169.5]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[38.25,39.75],[42.75,-14.75],[-1.25,-80.25]],"o":[[0,0],[-13.804,-14.345],[-21.499,7.418],[1.254,80.49]],"v":[[95.5,150.75],[58.625,62.625],[-29.25,32.25],[-98.5,169.5]],"c":false}]}]},"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[79]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":135,"s":[79]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":157,"s":[0]},{"t":160,"s":[0]}]},"e":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":130,"s":[100]},{"t":160,"s":[26.3]}]},"o":{"a":0,"k":0},"m":1,"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":40},"w":{"a":0,"k":35},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[1.562,96.412]},"a":{"a":0,"k":[1.562,96.412]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"parent":1,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":130,"s":[0]},{"t":160,"s":[180]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"parent":4,"sr":1,"ks":{"r":{"a":1,"k":[{"t":144,"s":[0],"h":1},{"t":145,"s":[180],"h":1}]},"p":{"a":1,"k":[{"t":144,"s":[1.854,-214.82,0],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[1.854,209.68,0],"to":[0,0,0],"ti":[0,0,0]},{"t":160,"s":[-2.146,214.93,0]}]},"a":{"a":0,"k":[1.854,-214.82,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,-5.56],[-91.81,0],[-27.64,1.24],[28.46,0],[0,4.52],[-91.81,0],[-30.4,-1.93],[67.49,0]],"o":[[0,5.57],[37.06,0],[-23.42,0.63],[-91.81,0],[0,-4.53],[53.45,0],[-26.04,-3.5],[-91.81,0]],"v":[[-164.376,-231.753],[1.854,-221.673],[100.764,-223.653],[22.084,-222.673],[-144.146,-230.863],[22.084,-239.053],[153.484,-235.883],[1.854,-241.823]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0.001],[-91.81,0],[-27.64,0],[28.46,0],[0,0],[-91.81,0],[-30.4,0],[67.49,0]],"o":[[0,-0.001],[37.06,0],[-23.42,0],[-91.81,0],[0,0],[53.45,0],[-26.04,0],[-91.81,0]],"v":[[-164.376,-231.749],[1.854,-231.75],[100.764,-231.75],[22.084,-231.75],[-144.146,-231.749],[22.084,-231.748],[153.484,-231.749],[1.854,-231.748]],"c":true}]},{"t":160,"s":[{"i":[[0,-5.56],[-91.81,0],[-27.64,1.24],[28.46,0],[0,4.52],[-91.81,0],[-30.4,-1.93],[67.49,0]],"o":[[0,5.57],[37.06,0],[-23.42,0.63],[-91.81,0],[0,-4.53],[53.45,0],[-26.04,-3.5],[-91.81,0]],"v":[[-164.376,-231.753],[1.854,-221.673],[100.764,-223.653],[22.084,-222.673],[-144.146,-230.863],[22.084,-239.053],[153.484,-235.883],[1.854,-241.823]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215695858,0.603921592236,0.298039227724,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[-9.9,-0.36],[0,0],[0,0],[11.74,-0.08],[0,0]],"o":[[0,0],[0,0],[-10.86,0.22],[0,0],[11.1,0.24]],"v":[[87.42,-240.386],[55.16,-222.206],[55.15,-222.206],[21.18,-221.746],[55.86,-241.286]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[-9.9,0],[0,0],[0,0],[11.74,0],[0,0]],"o":[[0,0],[0,0],[-10.86,0],[0,0],[11.1,0]],"v":[[87.42,-231.748],[55.16,-231.75],[55.15,-231.75],[21.18,-231.75],[55.86,-231.748]],"c":true}]},{"t":160,"s":[{"i":[[-9.9,-0.36],[0,0],[0,0],[11.74,-0.08],[0,0]],"o":[[0,0],[0,0],[-10.86,0.22],[0,0],[11.1,0.24]],"v":[[87.42,-240.386],[55.16,-222.206],[55.15,-222.206],[21.18,-221.746],[55.86,-241.286]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":15},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[-8.19,-0.08],[0,0],[23.83,0.97],[0,0],[-21.71,0]],"o":[[0,0],[-30.44,-0.11],[0,0],[19.01,-0.46],[8.54,0]],"v":[[26.96,-241.706],[-8.56,-221.696],[-91.06,-223.396],[-59.61,-241.116],[1.85,-241.826]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[-8.19,0],[0,0],[23.83,0],[0,0],[-21.71,0]],"o":[[0,0],[-30.44,0],[0,0],[19.01,0],[8.54,0]],"v":[[26.96,-231.748],[-8.56,-231.75],[-91.06,-231.75],[-59.61,-231.748],[1.85,-231.748]],"c":true}]},{"t":160,"s":[{"i":[[-8.19,-0.08],[0,0],[23.83,0.97],[0,0],[-21.71,0]],"o":[[0,0],[-30.44,-0.11],[0,0],[19.01,-0.46],[8.54,0]],"v":[[26.96,-241.706],[-8.56,-221.696],[-91.06,-223.396],[-59.61,-241.116],[1.85,-241.826]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":15},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,-5.566],[91.806,0],[0,5.566],[-91.806,0]],"o":[[0,5.566],[-91.806,0],[0,-5.566],[91.806,0]],"v":[[168.083,-231.749],[1.853,-221.671],[-164.376,-231.749],[1.853,-241.827]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0.001],[91.806,0],[0,-0.001],[-91.806,0]],"o":[[0,-0.001],[-91.806,0],[0,0.001],[91.806,0]],"v":[[168.083,-231.749],[1.853,-231.75],[-164.376,-231.749],[1.853,-231.748]],"c":true}]},{"t":160,"s":[{"i":[[0,-5.566],[91.806,0],[0,5.566],[-91.806,0]],"o":[[0,5.566],[-91.806,0],[0,-5.566],[91.806,0]],"v":[[168.083,-231.749],[1.853,-221.671],[-164.376,-231.749],[1.853,-241.827]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.627451002598,0.396078437567,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-91.806,0],[0,5.566]],"o":[[0,5.566],[91.806,0],[0,0]],"v":[[-164.376,-213.833],[1.853,-203.755],[168.083,-213.833]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[-91.806,0],[0,0.184]],"o":[[0,0.184],[91.806,0],[0,0]],"v":[[-164.376,-214.833],[1.853,-214.5],[168.083,-214.833]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[-91.806,0],[0,5.566]],"o":[[0,5.566],[91.806,0],[0,0]],"v":[[-164.376,-213.833],[1.853,-203.755],[168.083,-213.833]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.156862750649,0.090196080506,0.04705882445,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[5.12,-0.97],[0,0]],"o":[[0,0],[0,1.08],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[160.194,-194.813],[160.194,-231.753]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[5.12,-0.002],[0,0]],"o":[[0,0],[0,0.002],[0,0],[0,0]],"v":[[168.084,-231.749],[168.084,-197.893],[160.194,-197.887],[160.194,-231.749]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[5.12,-0.97],[0,0]],"o":[[0,0],[0,1.08],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[160.194,-194.813],[160.194,-231.753]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[0,1.08],[0,0]],"o":[[0,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[-156.486,-231.753],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0.002],[0,0]],"o":[[0,0],[-5.12,-0.002],[0,0],[0,0]],"v":[[-156.486,-231.749],[-156.486,-197.887],[-164.376,-197.893],[-164.376,-231.749]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[0,1.08],[0,0]],"o":[[0,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[-156.486,-231.753],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[91.81,0],[21.45,4.06],[0,1.08],[0,0]],"o":[[0,0],[0,5.57],[-74.11,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[1.854,-187.813],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[91.81,0],[21.45,0.007],[0,0.002],[0,0]],"o":[[0,0],[0,0.01],[-74.11,0],[-5.12,-0.002],[0,0],[0,0]],"v":[[168.084,-231.749],[168.084,-197.893],[1.854,-197.875],[-156.486,-197.887],[-164.376,-197.893],[-164.376,-231.749]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[91.81,0],[21.45,4.06],[0,1.08],[0,0]],"o":[[0,0],[0,5.57],[-74.11,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[1.854,-187.813],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.337254911661,0.211764708161,0.1254902035,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[5.12,-0.97],[0,0]],"o":[[0,0],[0,1.08],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[160.194,-194.813],[160.194,-231.753]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[5.12,-0.002],[0,0]],"o":[[0,0],[0,0.002],[0,0],[0,0]],"v":[[168.084,-231.749],[168.084,-197.893],[160.194,-197.887],[160.194,-231.749]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[5.12,-0.97],[0,0]],"o":[[0,0],[0,1.08],[0,0],[0,0]],"v":[[168.084,-231.753],[168.084,-197.893],[160.194,-194.813],[160.194,-231.753]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[0,1.08],[0,0]],"o":[[0,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[-156.486,-231.753],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,0.002],[0,0]],"o":[[0,0],[-5.12,-0.002],[0,0],[0,0]],"v":[[-156.486,-231.749],[-156.486,-197.887],[-164.376,-197.893],[-164.376,-231.749]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[0,1.08],[0,0]],"o":[[0,0],[-5.12,-0.97],[0,0],[0,0]],"v":[[-156.486,-231.753],[-156.486,-194.813],[-164.376,-197.893],[-164.376,-231.753]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"parent":46,"sr":1,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[1.509,-7.643,0]},"a":{"a":0,"k":[1.509,-7.643,0]},"s":{"a":1,"k":[{"t":145,"s":[100,100,100],"h":1},{"t":146,"s":[-100,100,100],"h":1}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-15.79,19.015],[11.3,-11.31],[0.76,-0.73],[1.55,-1.37],[1.57,-1.28],[0.79,-0.63],[3.26,-2.15],[1.65,-0.99],[1.65,-0.91],[7.44,-2.44],[-3.77,-1.23],[-14.72,-12.41],[87.737,-65.216],[-19.02,6.22],[-0.44,0.44],[-0.1,0.13],[0.97,1.34],[0.15,0.14],[0.17,0.12],[0.21,0.1],[0.24,0.08],[21.56,41.53],[-76.181,1.161]],"o":[[-8.53,16.36],[-0.75,0.75],[-1.52,1.46],[-1.55,1.38],[-0.79,0.64],[-3.18,2.49],[-1.62,1.07],[-1.64,0.99],[-7.45,4.09],[-3.77,1.23],[15.54,5.08],[-1.31,-0.64],[17.28,-17.29],[0.7,-0.23],[0.11,-0.11],[1.02,-1.31],[-0.12,-0.17],[-0.15,-0.16],[-0.18,-0.13],[-0.2,-0.1],[-31.54,-10.32],[1.29,1.69],[76.031,-1.159]],"v":[[120.594,-80.773],[90.454,-39.333],[88.184,-37.103],[83.584,-32.853],[78.894,-28.863],[76.514,-26.963],[66.844,-20.003],[61.934,-16.903],[56.994,-14.053],[34.574,-4.283],[34.574,3.057],[80.734,29.177],[-87.426,38.097],[-31.556,3.057],[-29.836,2.027],[-29.516,1.667],[-29.436,-2.793],[-29.836,-3.253],[-30.316,-3.663],[-30.896,-4.013],[-31.556,-4.283],[-117.716,-81.053],[3.024,-19.666]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.447058826685,0.286274522543,0.486274510622,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":20},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.33,-14.02],[134.08,-0.49],[-2.198,-47.428],[-0.032,-0.42],[0,18.71],[-1.2,8.18],[0,0],[0,-8.88]],"o":[[2.171,-31.46],[-119.044,0.43],[0,0],[-3.07,-15.78],[0,-8.88],[0,0],[1.2,8.18],[0,16.23]],"v":[[141.124,-143.763],[5.064,-184.193],[-136.978,-137.823],[-136.946,-137.403],[-141.696,-189.123],[-139.876,-214.723],[142.914,-214.723],[144.724,-189.123]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.447058826685,0.286274522543,0.486274510622,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":20},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-40.9],[0.03,-1.29],[0,-0.01],[0,-0.13],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[-0.01,0.13],[0,0],[0,1.31],[-3.07,15.81],[-0.3,1.41],[-0.69,2.73],[-0.37,1.34],[-0.39,1.32],[-0.41,1.3],[-0.42,1.27],[-0.44,1.25],[-0.71,1.82],[-0.49,1.19],[-2.24,4.39],[-2.53,4.1],[0,0],[-9.223,-25.509],[-67.029,-0.289],[3.29,22.37]],"o":[[0,1.31],[0,0],[0,0.14],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.01,-0.12],[0,0],[-0.04,-1.29],[0,-18.75],[0.28,-1.43],[0.6,-2.83],[0.35,-1.36],[0.37,-1.34],[0.39,-1.32],[0.41,-1.29],[0.43,-1.27],[0.67,-1.87],[0.48,-1.21],[1.97,-4.75],[2.28,-4.48],[0,0],[0,0],[9.612,26.584],[132.619,0.571],[12.85,27.17]],"v":[[144.714,187.897],[144.674,191.797],[144.674,191.807],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.656,191.817],[-141.656,191.807],[-141.706,187.897],[-136.946,136.087],[-136.076,131.817],[-134.136,123.477],[-133.066,119.417],[-131.936,115.427],[-130.746,111.507],[-129.496,107.657],[-128.186,103.877],[-126.116,98.347],[-124.666,94.737],[-118.346,81.017],[-111.116,68.157],[-111.096,68.147],[-113.948,118.65],[-3.081,172.377],[123.824,86.037]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.447058826685,0.286274522543,0.486274510622,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":20},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":3,"parent":4,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":144,"s":[0,-22,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":156,"s":[0,-67,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[0,-21,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":3,"parent":7,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":139,"s":[53,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-91,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":3,"parent":8,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[0]},{"t":180,"s":[-239]}]},"p":{"a":0,"k":[3,130,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":17,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[0]},{"t":180,"s":[-9.549]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":0,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":13,"s":[81.494,-120.634,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[81.494,-120.634,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.139,"y":0.139},"o":{"x":0.347,"y":0.347},"t":36,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.66,"y":1},"o":{"x":0.326,"y":0},"t":124,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":128,"s":[80.322,-124.199,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":133,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":143,"s":[76.612,-136.136,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[76.866,-136.08,0]}]},"a":{"a":0,"k":[76.612,-136.136,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-0.148,-1.599],[3.298,-0.348],[0.148,1.599],[-3.298,0.348]],"o":[[0.148,1.599],[-3.298,0.348],[-0.148,-1.599],[3.298,-0.348]],"v":[[82.584,-136.765],[76.879,-133.24],[70.64,-135.506],[76.344,-139.031]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":14,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[0]},{"t":180,"s":[7.038]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":0,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":49,"s":[50.967,-82.18,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[50.967,-82.18,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.137,"y":0.137},"o":{"x":0.187,"y":0.187},"t":69,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.653,"y":1},"o":{"x":0.319,"y":0},"t":124,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.334,"y":0},"t":128,"s":[41.341,-71.498,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.671,"y":0.671},"o":{"x":0.337,"y":0.337},"t":133,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.352,"y":0},"t":143,"s":[33.643,-90.043,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[33.847,-89.918,0]}]},"a":{"a":0,"k":[33.643,-90.043,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.431,-0.495],[1.022,-3.369],[1.431,0.495],[-1.022,3.369]],"o":[[1.431,0.495],[-1.022,3.369],[-1.431,-0.495],[1.022,-3.369]],"v":[[35.493,-96.144],[36.233,-89.147],[31.794,-83.943],[31.053,-90.94]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-234,-130,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":6,"s":[-234,-100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[-234,-110,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":24,"s":[-234,-91,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":47,"s":[-234,-74,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":63,"s":[-234,106,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":68,"s":[-234,122,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.263,"y":0},"t":76,"s":[-234,109,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.688,"y":1},"o":{"x":0.333,"y":0},"t":88,"s":[-234,100.983,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.327,"y":0},"t":105,"s":[-234,113.638,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":115,"s":[-234,40.782,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-234,76,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":3,"parent":12,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[-320,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[-160,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45.143,"s":[-268,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":52,"s":[-228,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.19,"y":0},"t":64,"s":[-228,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.324,"y":0},"t":100,"s":[-619.221,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":115,"s":[-266.86,20.81,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-360,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"parent":13,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[72.705]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.315],"y":[0]},"t":36,"s":[-26.332]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.307],"y":[0]},"t":49,"s":[-48.451]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.307],"y":[0]},"t":64,"s":[-19.775]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.297],"y":[0]},"t":81,"s":[104.607]},{"i":{"x":[0.19],"y":[0.856]},"o":{"x":[0.382],"y":[0]},"t":100,"s":[-25.273]},{"i":{"x":[0.649],"y":[0.993]},"o":{"x":[0.31],"y":[0.014]},"t":124,"s":[31.83]},{"i":{"x":[0.667],"y":[1.035]},"o":{"x":[0.327],"y":[-0.009]},"t":128,"s":[69.813]},{"i":{"x":[0.381],"y":[1]},"o":{"x":[0.164],"y":[0.292]},"t":133,"s":[34.803]},{"t":180,"s":[54.392]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[1158.646,-302.98,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":143,"s":[1158.646,-302.98,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[1125.183,-335.372,0]}]},"a":{"a":0,"k":[58.661,-75.745,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[7.369,-12.615],[0,0]],"o":[[0,0],[-5.469,9.363],[0,0]],"v":[[63.376,-92.91],[43.274,-84.127],[43.673,-65.037]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[7.369,-12.615],[0,0]],"o":[[0,0],[-5.469,9.363],[0,0]],"v":[[63.376,-92.91],[43.274,-84.127],[43.673,-65.037]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[{"i":[[0,0],[3.729,-11.138],[0,0]],"o":[[0,0],[-2.767,8.266],[0,0]],"v":[[60.01,-84.812],[55.369,-71.01],[51.493,-59.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[0,0],[3.729,-11.138],[0,0]],"o":[[0,0],[-2.767,8.266],[0,0]],"v":[[60.01,-84.812],[55.369,-71.01],[51.493,-59.389]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":69,"s":[{"i":[[0,0],[7.369,-12.615],[0,0]],"o":[[0,0],[-5.469,9.363],[0,0]],"v":[[63.376,-92.91],[43.274,-84.127],[43.673,-65.037]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[0,0],[7.369,-12.615],[0,0]],"o":[[0,0],[-5.469,9.363],[0,0]],"v":[[63.376,-92.91],[43.274,-84.127],[43.673,-65.037]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":128,"s":[{"i":[[0,0],[3.729,-11.138],[0,0]],"o":[[0,0],[-2.767,8.266],[0,0]],"v":[[60.01,-84.812],[55.369,-71.01],[51.493,-59.389]],"c":false}]},{"t":133,"s":[{"i":[[0,0],[7.369,-12.615],[0,0]],"o":[[0,0],[-5.469,9.363],[0,0]],"v":[[63.376,-92.91],[43.274,-84.127],[43.673,-65.037]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.613,-74.65],[50.634,-77.052]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.613,-74.65],[50.634,-77.052]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53.815,-66.348],[54.691,-68.964]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53.815,-66.348],[54.691,-68.964]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":69,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.613,-74.65],[50.634,-77.052]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.613,-74.65],[50.634,-77.052]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":128,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53.815,-66.348],[54.691,-68.964]],"c":false}]},{"t":133,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.613,-74.65],[50.634,-77.052]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[60.5,-77]},"a":{"a":0,"k":[60.5,-77]},"s":{"a":0,"k":[100,100]},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[-72.705]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.315],"y":[0]},"t":36,"s":[26.332]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.307],"y":[0]},"t":46,"s":[48.451]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":66,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.307],"y":[0]},"t":69,"s":[19.775]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.297],"y":[0]},"t":81,"s":[-104.607]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":100,"s":[25.273]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":124,"s":[-33]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":128,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":133,"s":[-33]},{"t":156,"s":[0]}]},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[2.931,-5.671],[6.198,3.029],[-5.342,10.147],[-5.488,-4.321]],"o":[[-5.443,4.277],[-7.142,-3.506],[7.134,-5.686],[8.175,6.437]],"v":[[74.073,-67.905],[54.328,-65.446],[47.641,-89.296],[70.791,-89.735]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[2.931,-5.671],[6.198,3.029],[-5.342,10.147],[-5.488,-4.321]],"o":[[-5.443,4.277],[-7.142,-3.506],[7.134,-5.686],[8.175,6.437]],"v":[[74.073,-67.905],[54.328,-65.446],[47.641,-89.296],[70.791,-89.735]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[{"i":[[1.623,-4.83],[0.218,-0.603],[-2.921,8.686],[0.249,-0.81]],"o":[[-1.699,5.057],[-0.354,0.982],[2.277,-6.77],[-0.1,0.326]],"v":[[55.831,-72.252],[52.986,-63.773],[57.108,-76.192],[60.083,-84.988]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[1.623,-4.83],[0.218,-0.603],[-2.921,8.686],[0.249,-0.81]],"o":[[-1.699,5.057],[-0.354,0.982],[2.277,-6.77],[-0.1,0.326]],"v":[[55.831,-72.252],[52.986,-63.773],[57.108,-76.192],[60.083,-84.988]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":69,"s":[{"i":[[2.931,-5.671],[6.198,3.029],[-5.342,10.147],[-5.488,-4.321]],"o":[[-5.443,4.277],[-7.142,-3.506],[7.134,-5.686],[8.175,6.437]],"v":[[74.073,-67.905],[54.328,-65.446],[47.641,-89.296],[70.791,-89.735]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[2.931,-5.671],[6.198,3.029],[-5.342,10.147],[-5.488,-4.321]],"o":[[-5.443,4.277],[-7.142,-3.506],[7.134,-5.686],[8.175,6.437]],"v":[[74.073,-67.905],[54.328,-65.446],[47.641,-89.296],[70.791,-89.735]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":128,"s":[{"i":[[1.623,-4.83],[0.218,-0.603],[-2.921,8.686],[0.249,-0.81]],"o":[[-1.699,5.057],[-0.354,0.982],[2.277,-6.77],[-0.1,0.326]],"v":[[55.831,-72.252],[52.986,-63.773],[57.108,-76.192],[60.083,-84.988]],"c":true}]},{"t":133,"s":[{"i":[[2.931,-5.671],[6.198,3.029],[-5.342,10.147],[-5.488,-4.321]],"o":[[-5.443,4.277],[-7.142,-3.506],[7.134,-5.686],[8.175,6.437]],"v":[[74.073,-67.905],[54.328,-65.446],[47.641,-89.296],[70.791,-89.735]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[9.676,7.612],[6.25,-11.098],[-7.274,-3.562],[-4.995,6.645]],"o":[[-6.785,-5.337],[-5.82,10.334],[7.488,3.666],[3.516,-4.678]],"v":[[70.793,-89.734],[43.274,-84.127],[49.656,-59.717],[72.426,-65.23]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[9.676,7.612],[6.25,-11.098],[-7.274,-3.562],[-4.995,6.645]],"o":[[-6.785,-5.337],[-5.82,10.334],[7.488,3.666],[3.516,-4.678]],"v":[[70.793,-89.734],[43.274,-84.127],[49.656,-59.717],[72.426,-65.23]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":49,"s":[{"i":[[-0.062,0.206],[3.244,-9.692],[-0.41,1.148],[-2.138,6.378]],"o":[[0.237,-0.79],[-3.021,9.025],[0.422,-1.182],[1.505,-4.49]],"v":[[60.083,-84.988],[55.369,-71.01],[51.085,-58.106],[55.027,-69.851]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":64,"s":[{"i":[[-0.062,0.206],[3.244,-9.692],[-0.41,1.148],[-2.138,6.378]],"o":[[0.237,-0.79],[-3.021,9.025],[0.422,-1.182],[1.505,-4.49]],"v":[[60.083,-84.988],[55.369,-71.01],[51.085,-58.106],[55.027,-69.851]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":69,"s":[{"i":[[9.676,7.612],[6.25,-11.098],[-7.274,-3.562],[-4.995,6.645]],"o":[[-6.785,-5.337],[-5.82,10.334],[7.488,3.666],[3.516,-4.678]],"v":[[70.793,-89.734],[43.274,-84.127],[49.656,-59.717],[72.426,-65.23]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[9.676,7.612],[6.25,-11.098],[-7.274,-3.562],[-4.995,6.645]],"o":[[-6.785,-5.337],[-5.82,10.334],[7.488,3.666],[3.516,-4.678]],"v":[[70.793,-89.734],[43.274,-84.127],[49.656,-59.717],[72.426,-65.23]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":128,"s":[{"i":[[-0.062,0.206],[3.244,-9.692],[-0.41,1.148],[-2.138,6.378]],"o":[[0.237,-0.79],[-3.021,9.025],[0.422,-1.182],[1.505,-4.49]],"v":[[60.083,-84.988],[55.369,-71.01],[51.085,-58.106],[55.027,-69.851]],"c":true}]},{"t":133,"s":[{"i":[[9.676,7.612],[6.25,-11.098],[-7.274,-3.562],[-4.995,6.645]],"o":[[-6.785,-5.337],[-5.82,10.334],[7.488,3.666],[3.516,-4.678]],"v":[[70.793,-89.734],[43.274,-84.127],[49.656,-59.717],[72.426,-65.23]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[182,-130,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":12,"s":[182,-40,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.401},"o":{"x":0.333,"y":0},"t":30,"s":[182,158,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.176},"t":37,"s":[182,163.005,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":44,"s":[182,146,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[182,156,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":88,"s":[182,146,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[182,136,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":108,"s":[182,145,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[182,76,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[182,110,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":3,"parent":15,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":15,"s":[-320,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":28,"s":[-320,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[40,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":74,"s":[-120,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[80,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":115,"s":[-248,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-224,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"parent":16,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":13,"s":[-73.4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":25,"s":[-86.195]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":55,"s":[116.158]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":100,"s":[-38.757]},{"i":{"x":[0.286],"y":[0.738]},"o":{"x":[0.438],"y":[0]},"t":114,"s":[70.61]},{"i":{"x":[0.583],"y":[1]},"o":{"x":[0.258],"y":[0.097]},"t":124,"s":[32.218]},{"i":{"x":[0.686],"y":[0.966]},"o":{"x":[0.354],"y":[0]},"t":128,"s":[17.268]},{"i":{"x":[0.343],"y":[1]},"o":{"x":[0.295],"y":[0.113]},"t":133,"s":[29.08]},{"t":180,"s":[60.129]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[-375.957,-445.278,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":143,"s":[-375.957,-445.278,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-489.14,-435.602,0]}]},"a":{"a":0,"k":[91.011,-111.319,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[0,0],[-6.582,6.906],[-5.457,-0.945]],"o":[[0,0],[5.632,-5.909],[0,0]],"v":[[75.269,-105.603],[79.358,-121.503],[97.803,-126.436]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[-8.296,2.987],[-4.337,1.547]],"o":[[0,0],[7.098,-2.556],[0,0]],"v":[[74.818,-106.053],[84.395,-109.527],[102.15,-115.889]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[0,0],[-8.296,2.987],[-4.337,1.547]],"o":[[0,0],[7.098,-2.556],[0,0]],"v":[[74.818,-106.053],[84.395,-109.527],[102.15,-115.889]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":36,"s":[{"i":[[0,0],[-6.582,6.906],[-5.457,-0.945]],"o":[[0,0],[5.632,-5.909],[0,0]],"v":[[75.269,-105.603],[79.358,-121.503],[97.803,-126.436]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[0,0],[-6.582,6.906],[-5.457,-0.945]],"o":[[0,0],[5.632,-5.909],[0,0]],"v":[[75.269,-105.603],[79.358,-121.503],[97.803,-126.436]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":128,"s":[{"i":[[0,0],[-8.296,2.987],[-4.337,1.547]],"o":[[0,0],[7.098,-2.556],[0,0]],"v":[[74.818,-106.053],[84.395,-109.527],[102.15,-115.889]],"c":false}]},{"t":133,"s":[{"i":[[0,0],[-6.582,6.906],[-5.457,-0.945]],"o":[[0,0],[5.632,-5.909],[0,0]],"v":[[75.269,-105.603],[79.358,-121.503],[97.803,-126.436]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[79.468,-106.909],[83.489,-109.312]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[78.931,-107.527],[83.306,-109.098]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[78.931,-107.527],[83.306,-109.098]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":36,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[79.468,-106.909],[83.489,-109.312]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[79.468,-106.909],[83.489,-109.312]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":128,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[78.931,-107.527],[83.306,-109.098]],"c":false}]},{"t":133,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[79.468,-106.909],[83.489,-109.312]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[91.5,-112]},"a":{"a":0,"k":[91.5,-112]},"s":{"a":0,"k":[100,100]},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.565]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[-0.272]},"t":8,"s":[49.179]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":13,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":32,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":36,"s":[31]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":55,"s":[-77.158]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":100,"s":[77.757]},{"i":{"x":[0.667],"y":[0.702]},"o":{"x":[0.333],"y":[0]},"t":114,"s":[-31.61]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[-0.163]},"t":123,"s":[49.179]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":126,"s":[0]},{"i":{"x":[0.667],"y":[1.012]},"o":{"x":[0.333],"y":[0]},"t":128,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.109]},"t":133,"s":[10.175]},{"t":179,"s":[0]}]},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[3.88,-7.632],[5.07,1.17],[-5.016,10.03],[-3.29,-2.014]],"o":[[-5.275,5.882],[-6.356,-1.482],[7.314,-8.068],[7.808,4.781]],"v":[[103.029,-101.271],[85.219,-96.287],[75.981,-116.825],[97.012,-121.372]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[6.249,-2.251],[3.911,-1.394],[-8.142,2.933],[-2.064,0.731]],"o":[[-6.782,2.443],[-4.906,1.749],[9.369,-3.374],[4.899,-1.735]],"v":[[97.061,-113.988],[79.833,-107.815],[79.706,-107.836],[99.541,-114.94]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[6.249,-2.251],[3.911,-1.394],[-8.142,2.933],[-2.064,0.731]],"o":[[-6.782,2.443],[-4.906,1.749],[9.369,-3.374],[4.899,-1.735]],"v":[[97.061,-113.988],[79.833,-107.815],[79.706,-107.836],[99.541,-114.94]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":36,"s":[{"i":[[3.88,-7.632],[5.07,1.17],[-5.016,10.03],[-3.29,-2.014]],"o":[[-5.275,5.882],[-6.356,-1.482],[7.314,-8.068],[7.808,4.781]],"v":[[103.029,-101.271],[85.219,-96.287],[75.981,-116.825],[97.012,-121.372]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[3.88,-7.632],[5.07,1.17],[-5.016,10.03],[-3.29,-2.014]],"o":[[-5.275,5.882],[-6.356,-1.482],[7.314,-8.068],[7.808,4.781]],"v":[[103.029,-101.271],[85.219,-96.287],[75.981,-116.825],[97.012,-121.372]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":128,"s":[{"i":[[6.249,-2.251],[3.911,-1.394],[-8.142,2.933],[-2.064,0.731]],"o":[[-6.782,2.443],[-4.906,1.749],[9.369,-3.374],[4.899,-1.735]],"v":[[97.061,-113.988],[79.833,-107.815],[79.706,-107.836],[99.541,-114.94]],"c":true}]},{"t":133,"s":[{"i":[[3.88,-7.632],[5.07,1.17],[-5.016,10.03],[-3.29,-2.014]],"o":[[-5.275,5.882],[-6.356,-1.482],[7.314,-8.068],[7.808,4.781]],"v":[[103.029,-101.271],[85.219,-96.287],[75.981,-116.825],[97.012,-121.372]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8,"s":[{"i":[[7.664,3.131],[7.045,-10.734],[-6.736,-1.563],[-5.161,9.121]],"o":[[-2.281,-0.932],[-7.045,10.734],[5.916,1.373],[4.374,-7.731]],"v":[[99.795,-125.421],[77.044,-118.659],[85.216,-96.291],[105.449,-104.645]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":13,"s":[{"i":[[5.404,-1.921],[10.153,-3.664],[-5.202,1.854],[-7.917,2.859]],"o":[[-1.608,0.572],[-10.153,3.664],[4.569,-1.628],[6.71,-2.423]],"v":[[103.478,-116.36],[81.32,-108.419],[79.832,-107.814],[100.429,-115.203]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[5.404,-1.921],[10.153,-3.664],[-5.202,1.854],[-7.917,2.859]],"o":[[-1.608,0.572],[-10.153,3.664],[4.569,-1.628],[6.71,-2.423]],"v":[[103.478,-116.36],[81.32,-108.419],[79.832,-107.814],[100.429,-115.203]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":36,"s":[{"i":[[7.664,3.131],[7.045,-10.734],[-6.736,-1.563],[-5.161,9.121]],"o":[[-2.281,-0.932],[-7.045,10.734],[5.916,1.373],[4.374,-7.731]],"v":[[99.795,-125.421],[77.044,-118.659],[85.216,-96.291],[105.449,-104.645]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":124,"s":[{"i":[[7.664,3.131],[7.045,-10.734],[-6.736,-1.563],[-5.161,9.121]],"o":[[-2.281,-0.932],[-7.045,10.734],[5.916,1.373],[4.374,-7.731]],"v":[[99.795,-125.421],[77.044,-118.659],[85.216,-96.291],[105.449,-104.645]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":128,"s":[{"i":[[5.404,-1.921],[10.153,-3.664],[-5.202,1.854],[-7.917,2.859]],"o":[[-1.608,0.572],[-10.153,3.664],[4.569,-1.628],[6.71,-2.423]],"v":[[103.478,-116.36],[81.32,-108.419],[79.832,-107.814],[100.429,-115.203]],"c":true}]},{"t":133,"s":[{"i":[[7.664,3.131],[7.045,-10.734],[-6.736,-1.563],[-5.161,9.121]],"o":[[-2.281,-0.932],[-7.045,10.734],[5.916,1.373],[4.374,-7.731]],"v":[[99.795,-125.421],[77.044,-118.659],[85.216,-96.291],[105.449,-104.645]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[71,-147,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":11,"s":[71,-17,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[71,123,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.221,"y":0},"t":33,"s":[71,113,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.327,"y":0.327},"t":55,"s":[71,118.127,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.331,"y":0},"t":61,"s":[71,118.127,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.668,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[71,126.156,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.328,"y":0},"t":76,"s":[71,99.592,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.328,"y":0},"t":89,"s":[71,108.679,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.327,"y":0},"t":100,"s":[71,112.36,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":117,"s":[71,57.812,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[71,72,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":3,"parent":18,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":0.34},"o":{"x":0.17,"y":0.17},"t":14,"s":[-320,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.17,"y":0},"t":20,"s":[-320,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":30,"s":[80,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.33,"y":0},"t":72,"s":[-220,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[-60,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.33,"y":0},"t":117,"s":[-296,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-332,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"parent":19,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[115.093]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[-162.907]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[186.093]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":99,"s":[-105.907]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":130,"s":[52]},{"t":180,"s":[58.101]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[49.095,-275.576,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":143,"s":[49.095,-275.576,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-34.665,-247.997,0]}]},"a":{"a":0,"k":[86.274,-85.894,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[84.489,-86.907],[89.5,-82.895]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[85.93,-88.893],[83.047,-84.921]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[-161,-147,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":5,"s":[-161,-87,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.806},"o":{"x":0.333,"y":0},"t":19,"s":[-161,96,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.369},"t":25,"s":[-161,84.846,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[-161,78,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":58,"s":[-161,75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":65,"s":[-161,85,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":78,"s":[-161,75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":102,"s":[-161,55,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":115,"s":[-161,15,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-161,36,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":3,"parent":21,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":5,"s":[-124,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[-124,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":34,"s":[-564,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[-284,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":65,"s":[-364,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.03,"y":1},"o":{"x":0.333,"y":0},"t":78,"s":[-284,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.03,"y":1},"o":{"x":0.33,"y":0},"t":102,"s":[-564,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.33,"y":0},"t":115,"s":[-284,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-400,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"parent":22,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":7,"s":[-76]},{"i":{"x":[0.03],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[-86]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":34,"s":[109]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":62,"s":[-24]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":65,"s":[31.002]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[13]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":102,"s":[65]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":115,"s":[0]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[29]},{"t":180,"s":[58.368]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[757.515,-133.946,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":143,"s":[757.515,-133.946,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[725.564,-216.245,0]}]},"a":{"a":0,"k":[31.379,-50.486,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[5.116,-9.22]],"o":[[0,0],[0,0]],"v":[[41.066,-51.598],[28.373,-40.536]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[6.976,-6.233]],"o":[[0,0],[0,0]],"v":[[38.395,-60.437],[21.691,-54.103]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.653,"y":0.617},"o":{"x":0.333,"y":0},"t":0,"s":[127,-147,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.418,"y":0.444},"t":6,"s":[127,-88.394,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":14,"s":[127,-7,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[127,180,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":44,"s":[127,165,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":60,"s":[127,179,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":83,"s":[127,166,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.665,"y":0},"o":{"x":0.331,"y":0},"t":102,"s":[127,148,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.356},"t":108,"s":[127,136.046,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0},"t":117,"s":[127,86,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[127,116,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":3,"parent":24,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":14,"s":[-400,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[-400,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[40,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":74,"s":[-40,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":102,"s":[68,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.33,"y":0},"t":115,"s":[-220,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":130,"s":[-132,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"parent":25,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[121.264]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":44,"s":[-226.736]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":92,"s":[92.264]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":115,"s":[71.264]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[74.264]},{"t":180,"s":[59.749]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[-99.378,-497.647,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":143,"s":[-99.378,-497.647,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-232.445,-472.524,0]}]},"a":{"a":0,"k":[105.156,-141.412,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-5.599,5.859]],"o":[[0,0],[0,0]],"v":[[106.836,-133.738],[112.209,-148.956]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-3.432,9.243]],"o":[[0,0],[0,0]],"v":[[98.901,-132.435],[99.96,-150.388]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":3,"parent":9,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.935,"y":0},"o":{"x":0.167,"y":0.167},"t":0,"s":[-234,-130,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.332,"y":0.277},"t":9,"s":[-234,-118.659,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.333,"y":0},"t":18,"s":[-234,90,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":27,"s":[-234,98,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":42,"s":[-234,80,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[-234,95,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":76,"s":[-234,-55,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[-234,85,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":117,"s":[-234,25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":139,"s":[-233.699,74.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.297,"y":0},"t":153,"s":[-233.699,3.999,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-233.699,-25.001,0]}]},"s":{"a":0,"k":[25,25,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":3,"parent":27,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":9,"s":[120,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[152,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[-240,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":51,"s":[-280,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":100,"s":[600,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":117,"s":[200,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":135,"s":[-119.994,1.925,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":0.633},"o":{"x":0.296,"y":0},"t":149,"s":[366.006,1.925,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.243,"y":1},"t":167,"s":[-236.462,1.925,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-353.994,1.925,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"parent":28,"sr":1,"ks":{"o":{"a":0,"k":60},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[146.237]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[208.564]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[241.577]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[324.041]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31,"s":[354.71]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[354.71]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[278.708]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":56,"s":[447.521]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":96,"s":[593.516]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":102,"s":[720.622]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":109,"s":[720.622]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":113,"s":[739.543]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":122,"s":[658.386]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":134,"s":[643.347]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":140,"s":[497.297]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":151,"s":[382.617]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":165,"s":[319.733]},{"t":179,"s":[200.903]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":155,"s":[799.6,-148.418,0],"to":[0,0,0],"ti":[0,0,0]},{"t":179,"s":[790.474,-167.436,0]}]},"a":{"a":0,"k":[-31.1,-37.104,0]},"s":{"a":0,"k":[400,400,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.214,-0.433],[0.433,0.214],[-0.214,0.433],[-0.433,-0.214]],"o":[[-0.214,0.433],[-0.433,-0.214],[0.214,-0.433],[0.433,0.214]],"v":[[-37.258,-41.349],[-38.429,-40.952],[-38.825,-42.122],[-37.655,-42.519]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137719,0.149019613862,0.20000000298,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.268,1.119],[-0.215,2.096],[2.224,1.098],[-0.975,1.975],[0,0]],"o":[[-1.646,-0.813],[-1.703,0.169],[-3.922,-1.936],[0,0],[-1.426,2.89]],"v":[[-27.086,-29.812],[-29.326,-34.639],[-35.488,-36.034],[-40.823,-43.107],[-24.5,-35.051]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.227450981736,0.027450980619,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":15},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0.422,-0.856],[1.287,-0.12],[2.224,1.098],[-0.975,1.975],[-3.922,-1.936],[-0.901,-1.455]],"o":[[-0.423,0.856],[-1.703,0.169],[-3.922,-1.936],[0.975,-1.975],[2.224,1.098],[0.684,1.102]],"v":[[-26.629,-36.102],[-29.326,-34.639],[-35.488,-36.034],[-40.823,-43.107],[-31.96,-43.182],[-27.105,-39.139]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.525490224361,0.152941182256,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.426,-2.89],[2.268,1.119],[-0.215,2.096],[-0.397,0.805],[-0.592,0.554],[-1.639,-0.809]],"o":[[-1.426,2.89],[-1.646,-0.813],[0.072,-0.81],[0.401,-0.812],[1.529,-1.438],[2.268,1.119]],"v":[[-24.5,-35.051],[-27.086,-29.812],[-29.326,-34.639],[-28.619,-37.084],[-27.105,-39.139],[-21.915,-40.289]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.768627464771,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[-95.5,0.5,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[-12,-66],[0,0]],"v":[[103.25,163.75],[47.625,153.375]],"c":false}},"hd":false},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[9,-65.75],[0,0]],"v":[[111,163],[201.875,156.375]],"c":false}},"hd":false},{"ind":2,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[-6.5,-140.5],[0,0]],"v":[[111,163],[126.875,162.875]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[6]},{"t":81,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":65.225,"s":[0]},{"t":79.71484375,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[0]},{"t":78.97265625,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":63,"op":81,"st":-30,"bm":0},{"ddd":0,"ind":31,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[-95.5,0.5,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[-55.25,-80.25],[0,0]],"v":[[103.25,163.75],[11.125,156.875]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[6]},{"t":77,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":64.73,"s":[0]},{"t":76,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[0]},{"t":75.423828125,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":63,"op":78,"st":-30,"bm":0},{"ddd":0,"ind":32,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[-84,13.5,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[14.75,-79.5],[0,0]],"v":[[101,150],[156.625,135.625]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[6]},{"t":77,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":64.73,"s":[0]},{"t":76,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[0]},{"t":75.423828125,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":63,"op":78,"st":-30,"bm":0},{"ddd":0,"ind":33,"ty":4,"parent":1,"sr":1,"ks":{},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[-41.5,-65],[0,0]],"v":[[104.25,148.5],[60.375,160.375]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":93,"s":[6]},{"t":107,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":94.73,"s":[0]},{"t":106,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":93,"s":[0]},{"t":105.423828125,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":93,"op":108,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":4,"parent":1,"sr":1,"ks":{},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[0,0]],"o":[[-6.5,-74],[0,0]],"v":[[104.25,148.5],[119.125,131.125]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":93,"s":[6]},{"t":107,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":94.73,"s":[0]},{"t":106,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":93,"s":[0]},{"t":105.423828125,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":93,"op":108,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":4,"parent":1,"sr":1,"ks":{},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.75,53.5],[-14.5,-13]],"o":[[68.75,-163],[31.228,18.737]],"v":[[-83.75,151],[53,56]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431372549,0.729411764706,0.956862804936,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[6]},{"t":76,"s":[0]}]},"lc":2,"lj":1,"ml":4,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":65,"s":[0]},{"t":88,"s":[100]}]},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[0]},{"t":87,"s":[100]}]},"o":{"a":0,"k":0},"m":1,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-3.117,1.495]],"o":[[0,0],[0,0]],"v":[[-40.351,185.225],[-32.258,185.88]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-2.944,0.687]],"o":[[0,0],[0,0]],"v":[[-86.64,188.032],[-78.546,189.207]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-2.829,0.149]],"o":[[0,0],[0,0]],"v":[[-69.832,188.499],[-61.738,190.02]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-2.742,-0.255]],"o":[[0,0],[0,0]],"v":[[-71.851,185.35],[-63.758,187.13]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-2.688,0.6]],"o":[[0,0],[0,0]],"v":[[-45.929,171.887],[-37.68,171.093]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[{"i":[[0,0],[-2.742,-0.065]],"o":[[0,0],[0,0]],"v":[[-47.851,157.1],[-39.758,157.552]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-2.742,-0.065]],"o":[[0,0],[0,0]],"v":[[-52.101,154.35],[-44.008,154.802]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-2.67,0.629]],"o":[[0,0],[0,0]],"v":[[-54.939,148.52],[-46.993,146.915]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-2.522,1.08]],"o":[[0,0],[0,0]],"v":[[-56.742,146.192],[-49.191,143.242]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-2.63,0.716]],"o":[[0,0],[0,0]],"v":[[-60.268,155.431],[-52.432,153.567]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-2.702,0.473]],"o":[[0,0],[0,0]],"v":[[-47.202,155.757],[-39.176,154.617]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-2.522,1.08]],"o":[[0,0],[0,0]],"v":[[-48.742,162.442],[-41.191,159.492]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-2.714,0.402]],"o":[[0,0],[0,0]],"v":[[-55.743,150.182],[-47.69,149.253]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-2.736,-0.195]],"o":[[0,0],[0,0]],"v":[[-52.978,150.596],[-44.915,151.434]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-2.705,-0.41]],"o":[[0,0],[0,0]],"v":[[-56.398,165.412],[-48.447,166.879]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[-2.679,-0.588]],"o":[[0,0],[0,0]],"v":[[-58.331,172.258],[-50.474,174.251]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[-2.383,-0.891]],"o":[[0,0],[0,0]],"v":[[-55.438,168.829],[-48.332,171.768]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[-2.156,-0.155]],"o":[[0,0],[0,0]],"v":[[-48.328,157.976],[-41.478,158.793]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[-1.32,2.016]],"o":[[0,0],[0,0]],"v":[[-31.731,133.584],[-26.43,127.734]],"c":false}]},{"i":{"x":0.29,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[{"i":[[0,0],[-0.584,2.338]],"o":[[0,0],[0,0]],"v":[[-25.403,96.291],[-22.318,89.024]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-1.953,1.412]],"o":[[0,0],[0,0]],"v":[[-62.786,99.383],[-55.746,95.811]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":138,"s":[{"i":[[0,0],[-0.42,2.373]],"o":[[0,0],[0,0]],"v":[[36.668,94.921],[40.187,88.271]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[-0.912,2.144]],"o":[[0,0],[0,0]],"v":[[14.886,112.498],[19.662,106.549]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[-1.545,1.85]],"o":[[0,0],[0,0]],"v":[[-15.517,129.91],[-9.125,124.862]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":141,"s":[{"i":[[0,0],[-0.912,2.144]],"o":[[0,0],[0,0]],"v":[[-35.818,150.188],[-32.252,145.36]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":142,"s":[{"i":[[0,0],[-0.42,2.373]],"o":[[0,0],[0,0]],"v":[[-53.759,167.952],[-50.24,161.303]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0.55,1.4]],"o":[[0,0],[0,0]],"v":[[-48.202,174.854],[-49.001,170.803]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[1.796,0.149]],"o":[[0,0],[0,0]],"v":[[-18.534,178.355],[-24.884,177.645]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":148,"s":[{"i":[[0,0],[2.389,0.313]],"o":[[0,0],[0,0]],"v":[[5.723,171.581],[-3.487,169.488]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":150,"s":[{"i":[[0,0],[2.367,0.453]],"o":[[0,0],[0,0]],"v":[[38.467,169.586],[29.397,166.953]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[2.294,0.719]],"o":[[0,0],[0,0]],"v":[[43.74,157.185],[35.051,153.54]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[2.266,0.758]],"o":[[0,0],[0,0]],"v":[[44.842,147.595],[36.275,143.809]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[2.388,0.234]],"o":[[0,0],[0,0]],"v":[[46.094,141.991],[36.86,140.208]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[2.393,0.185]],"o":[[0,0],[0,0]],"v":[[49.852,133.102],[40.582,131.507]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":160,"s":[{"i":[[0,0],[2.41,0.014]],"o":[[0,0],[0,0]],"v":[[48.074,129.44],[39.176,127.505]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0.164,-0.411]],"o":[[0,0],[0,0]],"v":[[52.713,123.742],[47.086,121.661]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[0.417,-0.232]],"o":[[0,0],[0,0]],"v":[[55.017,123.435],[49.198,121.324]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[3.219,1.754]],"o":[[0,0],[0,0]],"v":[[50.344,126.074],[42.406,123.621]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18,"s":[0]},{"t":40,"s":[4]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-0.513,0.161]],"o":[[0.571,-0.275],[0,0]],"v":[[-24.35,184.962],[-23.075,184.464]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-0.513,0.01]],"o":[[0.596,-0.099],[0,0]],"v":[[-62.382,188.521],[-61.082,188.405]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-0.512,-0.09]],"o":[[0.612,0.018],[0,0]],"v":[[-44.165,189.857],[-42.848,189.997]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-0.512,-0.165]],"o":[[0.625,0.106],[0,0]],"v":[[-51.502,187.797],[-50.173,188.129]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-0.515,0.155]],"o":[[0.575,-0.268],[0,0]],"v":[[-29.728,169.454],[-28.447,168.972]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[-0.512,-0.042]],"o":[[0.625,0.027],[0,0]],"v":[[-28.002,157.535],[-26.673,157.619]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-0.512,-0.042]],"o":[[0.625,0.027],[0,0]],"v":[[-35.752,154.535],[-34.423,154.619]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-0.506,0.088]],"o":[[0.611,-0.132],[0,0]],"v":[[-39.072,144.574],[-37.766,144.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-0.506,0.088]],"o":[[0.611,-0.132],[0,0]],"v":[[-41.322,140.824],[-40.016,140.57]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-0.506,-0.014]],"o":[[0.617,-0.006],[0,0]],"v":[[-42.032,150.38],[-40.719,150.393]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-0.507,-0.083]],"o":[[0.621,0.077],[0,0]],"v":[[-26.672,153.834],[-25.354,154.025]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-0.506,0.088]],"o":[[0.611,-0.132],[0,0]],"v":[[-28.822,152.574],[-27.516,152.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-0.239,-0.455]],"o":[[0.312,0.542],[0,0]],"v":[[-29.443,150.438],[-28.802,151.605]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-0.134,-0.496]],"o":[[0.187,0.597],[0,0]],"v":[[-37.857,154.543],[-37.485,155.821]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-0.233,-0.447]],"o":[[0.304,0.533],[0,0]],"v":[[-40.785,168.84],[-40.161,169.987]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[-0.314,-0.406]],"o":[[0.402,0.479],[0,0]],"v":[[-42.309,175.254],[-41.474,176.292]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[-0.241,-0.374]],"o":[[0.311,0.444],[0,0]],"v":[[-41.408,173.915],[-40.766,174.873]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[-0.285,-0.16]],"o":[[0.354,0.181],[0,0]],"v":[[-36.213,159.354],[-35.467,159.755]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[-0.328,0.395]],"o":[[0.381,-0.496],[0,0]],"v":[[-25.239,123.79],[-24.407,122.751]],"c":false}]},{"i":{"x":0.29,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[{"i":[[0,0],[-0.181,0.481]],"o":[[0.197,-0.594],[0,0]],"v":[[-22.487,84.908],[-22.043,83.653]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-0.502,0.108]],"o":[[0.606,-0.156],[0,0]],"v":[[-50.006,94.559],[-48.711,94.253]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":138,"s":[{"i":[[0,0],[-0.285,0.427]],"o":[[0.327,-0.533],[0,0]],"v":[[43.393,82.63],[44.111,81.509]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[-0.362,0.34]],"o":[[0.424,-0.431],[0,0]],"v":[[23.91,101.932],[24.83,101.033]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[-0.46,0.229]],"o":[[0.549,-0.3],[0,0]],"v":[[-3.537,121.563],[-2.357,120.948]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":142,"s":[{"i":[[0,0],[-0.285,0.427]],"o":[[0.327,-0.533],[0,0]],"v":[[-47.034,155.661],[-46.315,154.54]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[-0.013,0.32]],"o":[[0,-0.39],[0,0]],"v":[[-49.132,166.755],[-49.115,165.924]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0.338,0.183]],"o":[[-0.42,-0.207],[0,0]],"v":[[-29.307,175.646],[-30.192,175.189]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":148,"s":[{"i":[[0,0],[0.44,0.266]],"o":[[-0.547,-0.302],[0,0]],"v":[[-9.267,166.54],[-10.419,165.873]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":150,"s":[{"i":[[0,0],[0.423,0.291]],"o":[[-0.529,-0.334],[0,0]],"v":[[23.801,163.669],[22.69,162.935]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0.386,0.337]],"o":[[-0.486,-0.392],[0,0]],"v":[[29.879,149.646],[28.862,148.792]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[0.441,0.254]],"o":[[-0.549,-0.289],[0,0]],"v":[[30.246,140.707],[29.09,140.07]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0.446,0.25]],"o":[[-0.555,-0.283],[0,0]],"v":[[31.011,137.461],[29.843,136.834]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0.451,0.241]],"o":[[-0.56,-0.272],[0,0]],"v":[[34.676,128.881],[33.495,128.278]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":160,"s":[{"i":[[0,0],[0.469,0.209]],"o":[[-0.581,-0.232],[0,0]],"v":[[31.575,126.296],[30.349,125.777]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0.504,-0.073]],"o":[[-0.61,0.113],[0,0]],"v":[[37.663,120.666],[36.359,120.88]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[0.396,0.327]],"o":[[-0.498,-0.379],[0,0]],"v":[[36.983,121.075],[35.94,120.248]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18,"s":[0]},{"t":40,"s":[4]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[1.583,191.136],[4.726,191.856]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5.565,177.197],[-3.396,175.025]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5.244,175.549],[-2.448,173.942]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-9.488,164.883],[-7.203,162.608]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.378,160.248],[-3.314,159.243]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.501,156.581],[2.308,153.91]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.994,162.35],[5.314,159.141]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":66,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[3.409,160.456],[4.81,158.66]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-14.856,161.361],[-12.735,160.506]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.621,156.765],[-5.779,156.852]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.031,148.731],[-8.161,147.26]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-14.674,155.168],[-11.517,155.824]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-22.674,158.668],[-19.517,159.324]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-27.743,172.918],[-24.586,173.574]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26.924,177.918],[-23.767,178.574]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-27.261,178.231],[-24.4,179.217]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-22.896,159.06],[-20.234,159.102]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-18.128,143.366],[-16.017,142.004]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-16.456,109.859],[-14.736,107.132]],"c":false}]},{"i":{"x":0.29,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-16.244,65.851],[-15.948,62.64]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-27.851,90.324],[-24.841,89.167]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":138,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[50.808,63.757],[51.892,60.72]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[37.859,85.173],[40.828,79.255]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[13.937,108.138],[21.263,102.154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":142,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-35.949,141.572],[-33.623,139.339]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-41.841,150.101],[-39.734,149.806]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-47.583,162.006],[-45.758,164.204]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":148,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-28.387,156.172],[-25.301,157.107]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":150,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.326,152.191],[8.351,153.307]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[12.598,136.37],[15.469,137.821]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[10.895,128.514],[13.997,129.344]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[14.077,122.995],[17.196,123.762]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":160,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.817,119.88],[12.995,120.425]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":166,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[13.504,118.355],[16.476,118.169]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[25.106,100.503],[26.706,103.302]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.20000000298,0.850980401039,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[12]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":56,"s":[12]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":71,"s":[0]},{"t":73,"s":[12]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-15.411,20.813]],"o":[[0,0],[0,0]],"v":[[-47.451,185.962],[-8.089,175.437]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-22.892,11.668]],"o":[[0,0],[0,0]],"v":[[-102.662,185.789],[-8.858,186.082]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[0,0],[-26.582,19.947]],"o":[[0,0],[0,0]],"v":[[-82.506,187.174],[-12.168,182.303]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[-35.911,20.813]],"o":[[0,0],[0,0]],"v":[[-93.951,177.462],[-14.089,181.437]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[-23.411,8.313]],"o":[[0,0],[0,0]],"v":[[-90.201,168.712],[-26.339,172.187]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[-23.411,2.112]],"o":[[0,0],[0,0]],"v":[[-89.701,159.755],[-25.839,160.638]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-23.411,2.112]],"o":[[0,0],[0,0]],"v":[[-89.701,159.755],[-35.339,156.888]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[0,0],[-18.921,9.754]],"o":[[0,0],[0,0]],"v":[[-84.951,162.755],[-38.079,146.746]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-18.921,9.754]],"o":[[0,0],[0,0]],"v":[[-84.951,162.755],[-40.329,142.996]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[-11.874,2.199]],"o":[[0,0],[0,0]],"v":[[-89.876,165.43],[-41.501,152.676]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[-7.176,-2.838]],"o":[[0,0],[0,0]],"v":[[-83.826,167.13],[-26.449,156.213]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75,"s":[{"i":[[0,0],[-6.171,13.254]],"o":[[0,0],[0,0]],"v":[[-78.951,171.005],[-27.829,154.746]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":83,"s":[{"i":[[0,0],[-14.505,-1.833]],"o":[[0,0],[0,0]],"v":[[-85.701,158.505],[-31.208,152.047]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":89,"s":[{"i":[[0,0],[-13.764,-4.931]],"o":[[0,0],[0,0]],"v":[[-92.777,154.484],[-39.93,155.731]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[0,0],[-11.702,-2.322]],"o":[[0,0],[0,0]],"v":[[-90.257,156.809],[-42.522,170.413]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[0,0],[-9.984,-0.148]],"o":[[0,0],[0,0]],"v":[[-88.157,158.747],[-43.766,177.148]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":101,"s":[{"i":[[0,0],[-9.473,-0.154]],"o":[[0,0],[0,0]],"v":[[-83.871,157.695],[-42.522,175.358]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[0,0],[-8.063,4.994]],"o":[[0,0],[0,0]],"v":[[-75.3,155.592],[-35.799,160.428]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[-6.752,4.842]],"o":[[0,0],[0,0]],"v":[[-70.452,155.103],[-32.248,151.158]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[0,0],[-0.906,17.155]],"o":[[0,0],[0,0]],"v":[[-55.909,153.635],[-21.594,123.345]],"c":false}]},{"i":{"x":0.29,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[{"i":[[0,0],[-3.059,16.959]],"o":[[0,0],[0,0]],"v":[[-44.008,137.863],[-19.191,83.291]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-28.387,11.544]],"o":[[0,0],[0,0]],"v":[[-92.758,122.613],[-46.113,96.456]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":138,"s":[{"i":[[0,0],[-17.269,42.897]],"o":[[0,0],[0,0]],"v":[[2.279,127.477],[46.02,81.684]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":139,"s":[{"i":[[0,0],[-27.156,22.195]],"o":[[0,0],[0,0]],"v":[[-27.106,146.032],[29.095,103.815]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[-36.446,20.416]],"o":[[0,0],[0,0]],"v":[[-64.887,169.888],[-0.788,122.049]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":142,"s":[{"i":[[0,0],[-25.652,28.785]],"o":[[0,0],[0,0]],"v":[[-31.463,176.85],[-44.407,154.715]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[{"i":[[0,0],[-7.608,17.753]],"o":[[0,0],[0,0]],"v":[[19.662,178.559],[-48.042,165.395]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":146,"s":[{"i":[[0,0],[15.591,3.569]],"o":[[0,0],[0,0]],"v":[[40.861,179.812],[-30.193,173.755]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":148,"s":[{"i":[[0,0],[28.233,10.177]],"o":[[0,0],[0,0]],"v":[[57.561,177.42],[-10.33,163.958]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":150,"s":[{"i":[[0,0],[27.583,11.825]],"o":[[0,0],[0,0]],"v":[[73.845,175.044],[22.892,161.029]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[{"i":[[0,0],[25.989,14.869]],"o":[[0,0],[0,0]],"v":[[75.328,167.356],[29.279,146.926]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[26.837,14.174]],"o":[[0,0],[0,0]],"v":[[74.063,165.934],[29.209,142.548]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":154,"s":[{"i":[[0,0],[27.685,13.48]],"o":[[0,0],[0,0]],"v":[[74.404,160.714],[29.139,138.17]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":155,"s":[{"i":[[0,0],[28.43,9.211]],"o":[[0,0],[0,0]],"v":[[78.35,151.699],[29.869,134.926]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[0,0],[28.619,8.628]],"o":[[0,0],[0,0]],"v":[[82.893,140.403],[33.482,126.369]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":157,"s":[{"i":[[0,0],[34.347,9.541]],"o":[[0,0],[0,0]],"v":[[81.898,138.807],[32.562,125.667]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":160,"s":[{"i":[[0,0],[49.051,11.884]],"o":[[0,0],[0,0]],"v":[[84.854,128.605],[30.199,123.866]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[17.239,-4.759],[17.15,4.305]],"o":[[-15.921,4.395],[0,0]],"v":[[89.921,135.105],[31.1,121.695]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[18.057,-10.166]],"o":[[0,0],[0,0]],"v":[[88.853,135.861],[31.943,119.666]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":173,"s":[{"i":[[0,0],[29.314,11.417]],"o":[[0,0],[0,0]],"v":[[94.748,134.346],[33.831,115.116]],"c":false}]},{"t":179,"s":[{"i":[[0,0],[29.051,21.884]],"o":[[0,0],[0,0]],"v":[[95.854,109.855],[35.824,113.991]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.20000000298,0.850980401039,1,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18,"s":[0]},{"t":40,"s":[12]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0.509,-20.612]},"a":{"a":0,"k":[0.509,-20.612]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.833,-1.381]],"o":[[0,0],[0,0]],"v":[[-49.959,-126.215],[-42.836,-124.008]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-2.739,-1.558]],"o":[[0,0],[0,0]],"v":[[-42.726,-94.4],[-35.758,-90.995]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-2.739,-1.558]],"o":[[0,0],[0,0]],"v":[[-51.976,-70.65],[-45.008,-67.245]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-2.293,0.09]],"o":[[0,0],[0,0]],"v":[[-48.397,-57.072],[-40.451,-57.246]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-1.8,0.877]],"o":[[0,0],[0,0]],"v":[[-43.16,-53.101],[-34.45,-53.877]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-3.203,-0.057]],"o":[[0,0],[0,0]],"v":[[-36.127,-47.326],[-28.797,-47.193]],"c":false}]},{"t":45,"s":[{"i":[[0,0],[-1.981,0.18]],"o":[[0,0],[0,0]],"v":[[-9.74,-22.907],[-5.207,-23.316]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-0.424,-0.331]],"o":[[0.551,0.314],[0,0]],"v":[[-37.416,-121.558],[-36.281,-120.792]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-0.402,-0.357]],"o":[[0.53,0.348],[0,0]],"v":[[-30.504,-88.206],[-29.421,-87.368]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-0.402,-0.357]],"o":[[0.53,0.348],[0,0]],"v":[[-35.754,-63.956],[-34.671,-63.118]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-0.48,-0.131]],"o":[[0.576,0.072],[0,0]],"v":[[-31.804,-58.203],[-30.569,-57.953]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-0.492,-0.079]],"o":[[0.575,0.008],[0,0]],"v":[[-26.357,-55.814],[-25.107,-55.7]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-0.412,-0.248]],"o":[[0.507,0.21],[0,0]],"v":[[-18.999,-45.454],[-17.925,-44.906]],"c":false}]},{"t":45,"s":[{"i":[[0,0],[-0.283,-0.216]],"o":[[0.337,0.171],[0,0]],"v":[[1.038,-22.313],[1.765,-21.848]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":4},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26.429,-103.635],[-24.763,-100.874]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-13.417,-71.864],[-10.274,-71.144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-4.708,-62.239],[-1.484,-62.269]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-0.418,-40.612],[2.726,-39.897]],"c":false}]},{"t":45,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[13.066,-18.876],[15.089,-18.397]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.20000000298,0.850980401039,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-30.407,-20.795]],"o":[[0,0],[0,0]],"v":[[-95.897,-109.904],[-36.281,-114.223]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[-28.661,-28.687]],"o":[[0,0],[0,0]],"v":[[-89.076,-96.163],[-29.839,-80.813]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-22.483,-17.687]],"o":[[0,0],[0,0]],"v":[[-76.54,-88.127],[-30.267,-66.813]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-21.661,-4.937]],"o":[[0,0],[0,0]],"v":[[-72.826,-72.913],[-30.589,-56.313]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-19.522,1.878]],"o":[[0,0],[0,0]],"v":[[-63.345,-56.901],[-25.127,-53.608]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-17.398,1.331]],"o":[[0,0],[0,0]],"v":[[-54.365,-49.89],[-20.122,-51.933]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[-15.184,-0.403]],"o":[[0,0],[0,0]],"v":[[-44.01,-42.878],[-13.566,-41.597]],"c":false}]},{"t":45,"s":[{"i":[[0,0],[-9.406,0.721]],"o":[[0,0],[0,0]],"v":[[-14.07,-17.909],[4.845,-18.884]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.20000000298,0.850980401039,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0.509,-20.612]},"a":{"a":0,"k":[0.509,-20.612]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[100]},{"t":45,"s":[0]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[-1.334,-5.293]],"o":[[0.709,4.033],[0,0]],"v":[[-116.709,184.717],[-115.916,189.293]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":26,"s":[{"i":[[0,0],[-1.334,-5.293]],"o":[[1.709,10.783],[0,0]],"v":[[-117.959,168.717],[-115.916,182.793]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34,"s":[{"i":[[0,0],[-1.334,-5.793]],"o":[[-1.041,11.533],[0,0]],"v":[[-108.959,170.217],[-109.666,187.293]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[{"i":[[0,0],[-1.334,-5.793]],"o":[[-1.041,11.533],[0,0]],"v":[[-107.459,168.717],[-109.666,187.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[-0.084,-7.043]],"o":[[-0.041,9.783],[0,0]],"v":[[-110.959,159.717],[-110.666,186.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":65,"s":[{"i":[[0,0],[-0.084,-7.043]],"o":[[-0.041,9.783],[0,0]],"v":[[-110.709,165.967],[-110.666,186.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":74,"s":[{"i":[[0,0],[-0.084,-7.043]],"o":[[-0.041,9.783],[0,0]],"v":[[-110.668,153.717],[-110.666,186.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[{"i":[[0,0],[-0.084,-7.043]],"o":[[-0.041,9.783],[0,0]],"v":[[-110.586,165.717],[-110.666,186.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":99,"s":[{"i":[[0,0],[-0.084,-7.043]],"o":[[-0.041,9.783],[0,0]],"v":[[-110.673,144.467],[-110.666,186.293]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":113,"s":[{"i":[[0,0],[-4.334,-3.043]],"o":[[-3.154,4.283],[0,0]],"v":[[-106.346,171.467],[-106.416,183.293]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":129,"s":[{"i":[[0,0],[-4.334,-3.043]],"o":[[-3.154,4.283],[0,0]],"v":[[-112.096,156.967],[-106.416,183.293]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[0,0],[-5.365,-2.326]],"o":[[-4.34,10.936],[0,0]],"v":[[-90.565,163.289],[-85.56,182.803]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[0,0],[-6.334,-1.652]],"o":[[-5.454,17.188],[0,0]],"v":[[-71.105,166.511],[-37.238,183.513]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":140,"s":[{"i":[[0,0],[-9.368,0.46]],"o":[[12.777,6.571],[0,0]],"v":[[-57.255,173.103],[11.992,181.576]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":145,"s":[{"i":[[0,0],[-13.509,3.341]],"o":[[-3.154,4.283],[0,0]],"v":[[72.976,183.751],[124.337,176.489]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":150,"s":[{"i":[[0,0],[17.519,44.604]],"o":[[8.351,1.39],[0,0]],"v":[[100.209,181.918],[117.573,136.001]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":153,"s":[{"i":[[0,0],[14.795,34.623]],"o":[[-2.036,-8.679],[0,0]],"v":[[118.541,158.477],[105.86,109.139]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":158,"s":[{"i":[[0,0],[14.902,9.068]],"o":[[-6.101,-9.43],[0,0]],"v":[[97.193,81.015],[63.169,41.642]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":163,"s":[{"i":[[0,0],[14.759,2.319]],"o":[[-10.166,-10.182],[0,0]],"v":[[59.416,39.432],[16.991,17.181]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[0,0],[6.12,17.033]],"o":[[-3.978,-1.351],[0,0]],"v":[[28.228,24.101],[9.608,7.636]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[2.436,9.563]],"o":[[-2.609,-1.157],[0,0]],"v":[[20.859,19.032],[9.689,4.062]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0,0.607843160629,0.878431379795,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[0]},{"t":28,"s":[12]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-2.537,-9.519]],"o":[[2.421,0.609],[0,0]],"v":[[-21.209,-19.033],[-10.166,-5.307]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[0,0],[-1.834,-16.193]],"o":[[2.421,0.609],[0,0]],"v":[[-21.209,-19.033],[-10.166,1.943]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[0.166,-8.943]],"o":[[11.709,2.283],[0,0]],"v":[[-23.459,-18.033],[-8.666,7.193]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":27,"s":[{"i":[[0,0],[-0.834,-4.693]],"o":[[11.959,1.033],[0,0]],"v":[[-23.459,-18.033],[-9.666,4.443]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[0,0],[-3.834,-41.443]],"o":[[14.209,3.533],[0,0]],"v":[[-19.709,-18.033],[-0.916,62.443]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[-0.834,-47.193]],"o":[[11.584,10.658],[0,0]],"v":[[-9.584,-3.408],[0.209,55.693]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[-7.334,-41.193]],"o":[[10.709,13.033],[0,0]],"v":[[-6.209,1.467],[2.834,54.693]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0,0],[-0.168,-27.193]],"o":[[3.32,16.589],[0,0]],"v":[[-1.82,35.411],[6.39,102.527]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[0.332,-12.193]],"o":[[2.354,7.856],[0,0]],"v":[[2.246,105.444],[5.557,133.327]],"c":false}]},{"t":61,"s":[{"i":[[0,0],[0.666,-2.193]],"o":[[1.709,2.033],[0,0]],"v":[[-4.209,155.467],[-4.166,157.193]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0,0.607843160629,0.878431379795,1]},"o":{"a":0,"k":100},"w":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[12]},{"t":43,"s":[0]}]},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[11.17,-10.56],[3.891,4.699],[-11.17,10.56],[-3.891,-4.699]],"o":[[-11.17,10.56],[-3.891,-4.699],[11.17,-10.56],[3.891,4.699]],"v":[[64.702,-97.094],[37.432,-86.481],[50.611,-114.112],[77.882,-124.724]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[13.642,-6.593],[2.285,5.381],[-13.15,6.636],[-2.285,-5.381]],"o":[[-13.171,6.516],[-2.285,-5.381],[13.15,-6.636],[2.285,5.381]],"v":[[43.294,-72.359],[15.346,-70.087],[35.269,-86.346],[61.217,-93.244]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[16.113,-2.626],[0.679,6.063],[-15.131,2.712],[-0.679,-6.063]],"o":[[-15.172,2.472],[-0.679,-6.063],[15.131,-2.712],[0.679,6.063]],"v":[[21.887,-47.624],[-6.74,-53.692],[19.426,-69.581],[44.553,-61.763]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[12.51,-6.398],[0.183,3.913],[-18.158,-0.413],[-0.183,-3.913]],"o":[[-11.919,6.096],[-0.183,-3.913],[11.924,0.271],[0.183,3.913]],"v":[[-4.01,-52.602],[-29.212,-51.642],[-5.674,-68.021],[14.622,-64.467]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[11.947,0.471],[-0.033,3.692],[-11.254,-0.385],[0.384,-1.455]],"o":[[-11.249,-0.443],[0.013,-1.505],[11.254,0.385],[-0.384,1.455]],"v":[[16.215,-48.112],[-4.967,-58.942],[17.605,-53.381],[34.523,-49.878]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":103,"s":[{"i":[[11.947,0.471],[-0.384,1.455],[-11.254,-0.385],[0.384,-1.455]],"o":[[-11.249,-0.443],[0.384,-1.455],[11.254,0.385],[-0.384,1.455]],"v":[[3.715,156.888],[-15.967,153.558],[5.105,151.619],[22.023,155.122]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":106,"s":[{"i":[[9.761,0.471],[-0.313,1.455],[-9.194,-0.385],[0.313,-1.455]],"o":[[-9.19,-0.443],[0.313,-1.455],[9.194,0.385],[-0.313,1.455]],"v":[[3.202,109.634],[-12.684,107.852],[4.337,104.364],[13.853,108.667]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":114,"s":[{"i":[[6.302,0.471],[-0.202,1.455],[-5.937,-0.385],[0.202,-1.455]],"o":[[-5.934,-0.443],[0.202,-1.455],[5.937,0.385],[-0.202,1.455]],"v":[[2.891,30.888],[-6.992,31.558],[3.623,25.619],[13.048,33.122]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":116,"s":[{"i":[[7.886,0.477],[-0.272,2.262],[-7.584,-0.406],[0.272,-2.262]],"o":[[-7.582,-0.455],[0.272,-2.262],[7.584,0.406],[-0.272,2.262]],"v":[[2.069,38.67],[-10.758,37.14],[3.055,30.479],[15.503,38.753]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":119,"s":[{"i":[[11.111,0.491],[-0.415,3.905],[-10.939,-0.451],[0.415,-3.905]],"o":[[-10.938,-0.478],[0.415,-3.905],[10.939,0.451],[-0.415,3.905]],"v":[[3.432,71.217],[-15.39,65.208],[4.934,57.076],[23.54,66.921]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[13.401,0.501],[-0.516,5.072],[-13.322,-0.482],[0.516,-5.072]],"o":[[-13.322,-0.495],[0.516,-5.072],[13.322,0.482],[-0.516,5.072]],"v":[[-1.363,93.643],[-24.442,84.453],[0.505,75.277],[23.486,86.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":129,"s":[{"i":[[15.363,0.509],[-0.602,6.071],[-15.363,-0.509],[0.602,-6.071]],"o":[[-15.363,-0.509],[0.602,-6.071],[15.363,0.509],[-0.602,6.071]],"v":[[-2.684,102.641],[-29.411,90.726],[-0.503,80.654],[26.224,92.569]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":132,"s":[{"i":[[13.628,-3.186],[0.522,5.595],[-13.184,2.243],[-0.717,-4.936]],"o":[[-13.407,2.498],[-0.522,-5.595],[13.263,-2.54],[0.823,4.933]],"v":[[-1.533,97.173],[-27.079,91.62],[-2.36,77.742],[21.368,83.328]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":134,"s":[{"i":[[11.789,-7.104],[1.714,5.089],[-10.874,5.161],[-2.116,-3.731]],"o":[[-11.332,5.685],[-1.714,-5.089],[11.035,-5.772],[2.334,3.725]],"v":[[14.118,91.221],[-10.176,92.412],[10.101,74.499],[30.649,73.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[{"i":[[10.675,-9.476],[2.436,4.783],[-9.476,6.927],[-2.963,-3.002]],"o":[[-10.076,7.615],[-2.436,-4.783],[9.687,-7.729],[3.249,2.994]],"v":[[23.1,92.329],[-0.435,97.604],[12.086,74.728],[30.71,69.542]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[8.448,-14.219],[3.88,4.171],[-6.678,10.46],[-4.656,-1.544]],"o":[[-7.564,11.475],[-3.88,-4.171],[6.99,-11.643],[5.079,1.532]],"v":[[41.064,94.546],[19.045,107.988],[31.253,82.745],[46.026,69.434]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":138,"s":[{"i":[[9.104,-15.058],[3.942,4.32],[-6.638,11.039],[-5.146,-1.453]],"o":[[-7.764,12.073],[-3.942,-4.32],[7.138,-12.334],[5.624,1.493]],"v":[[46.799,94.731],[26.742,108.475],[36.892,83.343],[46.972,66.317]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":140,"s":[{"i":[[10.195,-16.452],[4.046,4.567],[-6.572,12],[-5.961,-1.302]],"o":[[-8.097,13.066],[-4.046,-4.567],[7.383,-13.482],[6.531,1.427]],"v":[[44.571,89.318],[20.772,104.567],[34.507,78.62],[48.545,61.136]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":143,"s":[{"i":[[10.195,-16.452],[4.046,4.567],[-6.572,12],[-5.961,-1.302]],"o":[[-8.097,13.066],[-4.046,-4.567],[7.383,-13.482],[6.531,1.427]],"v":[[30.394,99.545],[6.596,114.794],[20.33,88.847],[34.369,71.363]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":149,"s":[{"i":[[-4.087,-14.286],[4.683,0.058],[3.428,9.929],[-4.795,1.893]],"o":[[3.246,11.345],[-4.683,-0.058],[-3.851,-11.155],[5.619,-2.394]],"v":[[-15.22,109.71],[-17.319,131.965],[-27.956,112.489],[-27.666,93.766]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":152,"s":[{"i":[[-16.182,-10.618],[4.67,-3.926],[11.826,6.881],[-3.149,5.226]],"o":[[12.852,8.433],[-4.67,3.926],[-13.286,-7.73],[3.81,-6.322]],"v":[[-11.168,95.272],[5.905,119.974],[-23.003,109.214],[-36.792,91.085]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":153,"s":[{"i":[[-16.182,-10.618],[4.67,-3.926],[11.826,6.881],[-3.149,5.226]],"o":[[12.852,8.433],[-4.67,3.926],[-13.286,-7.73],[3.81,-6.322]],"v":[[-10.492,90.949],[4.705,113.081],[-21.261,104.552],[-38.964,85.558]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":156,"s":[{"i":[[-19.275,-1.758],[2.275,-5.661],[13.673,0.509],[-0.321,6.093]],"o":[[15.308,1.396],[-2.275,5.661],[-15.361,-0.572],[0.388,-7.371]],"v":[[-20.863,100.745],[2.959,113.127],[-23.968,117.814],[-48.525,109.381]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":163,"s":[{"i":[[-18.58,5.424],[0.043,-6.101],[12.909,-4.534],[1.933,5.787]],"o":[[14.756,-4.308],[-0.043,6.101],[-14.503,5.094],[-2.339,-7.001]],"v":[[-33.911,107.966],[-7.21,110.762],[-30.548,124.986],[-56.487,126.133]],"c":true}]},{"t":179,"s":[{"i":[[-14.637,12.664],[-3.817,-4.76],[9.851,-9.495],[4.286,4.342]],"o":[[11.625,-10.057],[2.973,3.707],[-11.068,10.667],[-2.741,-2.776]],"v":[[-64.666,97.362],[-37.348,86.918],[-50.775,114.189],[-77.759,125.151]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.262745112181,0.843137264252,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":15,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":25,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":103,"s":[0]},{"t":114,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[4.906,19.457],[-7.669,-16.16],[-1.661,-5.522]],"o":[[-2.984,-11.832],[4.305,9.072],[2.508,8.337]],"v":[[14.388,19.718],[-0.283,26.029],[5.683,48.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[4.906,19.457],[-7.669,-16.16],[-1.661,-5.522]],"o":[[-2.984,-11.832],[4.305,9.072],[2.508,8.337]],"v":[[14.388,29.718],[2.967,42.779],[7.933,109.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[7.612,-0.468],[-10.558,-4.804],[-9.683,2.345]],"o":[[-12.18,0.749],[3.783,1.721],[8.462,-2.05]],"v":[[5.138,190.968],[2.967,175.029],[20.183,175.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[21.862,-0.368],[-9.614,-3.899],[-27.833,-3.855]],"o":[[-29.224,0.591],[16.458,-4.379],[8.5,-1.828]],"v":[[4.188,192.118],[-16.458,184.129],[36.083,189.355]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":16,"s":[{"i":[[36.112,-0.268],[-8.671,-2.994],[-45.983,-10.055]],"o":[[-46.268,0.434],[29.133,-10.479],[8.539,-1.606]],"v":[[3.238,193.268],[-34.883,187.729],[46.983,188.305]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[78.862,0.032],[-5.839,-0.279],[-97.433,10.595]],"o":[[-97.4,-0.039],[51.783,2.471],[8.655,-0.941]],"v":[[0.388,196.718],[-82.283,189.279],[82.183,186.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[78.862,0.032],[-5.773,0.921],[-83.433,-2.405]],"o":[[-97.4,-0.039],[55.033,-8.779],[8.703,0.251]],"v":[[0.138,194.968],[-82.283,189.279],[82.183,186.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":47,"s":[{"i":[[78.862,0.032],[-5.615,1.627],[-48.433,-15.155]],"o":[[-97.4,-0.039],[22.533,-6.529],[8.309,2.6]],"v":[[-0.612,190.718],[-100.283,182.529],[104.933,181.655]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[78.862,0.032],[-4.97,3.078],[-50.433,-34.155]],"o":[[-97.4,-0.039],[47.283,-29.279],[7.209,4.882]],"v":[[-0.612,190.718],[-100.283,182.529],[119.183,179.405]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[78.862,0.032],[-5.804,0.698],[-47.183,1.095]],"o":[[-97.4,-0.039],[54.283,-6.529],[8.704,-0.202]],"v":[[-0.612,190.718],[-100.283,182.529],[119.183,179.405]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":73,"s":[{"i":[[78.862,0.032],[-5.448,2.121],[-78.933,-21.905]],"o":[[-97.4,-0.039],[73.283,-28.529],[8.389,2.328]],"v":[[-0.612,190.718],[-100.283,182.529],[119.183,179.405]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":100,"s":[{"i":[[135.112,0.782],[-5.519,-1.927],[-61.183,36.595]],"o":[[-129.892,-0.752],[108.783,37.971],[7.472,-4.469]],"v":[[0.388,191.218],[-108.283,154.029],[116.683,144.905]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":111,"s":[{"i":[[59.25,-0.867],[-9.243,10.587],[-102.331,-17.572]],"o":[[-48.245,0.587],[93.116,-91.077],[6.922,3.695]],"v":[[-0.849,184.621],[-77.773,163.099],[94.831,160.572]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.333,"y":0},"t":115,"s":[{"i":[[43.112,-1.218],[-10.035,13.248],[-81.683,-20.905]],"o":[[-30.877,0.872],[89.783,-118.529],[8.435,2.159]],"v":[[-1.112,183.218],[-71.283,165.029],[90.183,163.905]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":129,"s":[{"i":[[47.112,-0.718],[-25.248,37.023],[-17.476,-45.609]],"o":[[-30.885,0.471],[63.783,-93.529],[7.317,19.095]],"v":[[-1.112,183.218],[-92.283,150.529],[102.183,152.405]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":137,"s":[{"i":[[47.112,-0.718],[-37.131,25.088],[-37.48,-83.434]],"o":[[-30.885,0.471],[92.549,-62.532],[16.502,35.372]],"v":[[67.199,181.034],[-35.56,154.99],[107.944,120.584]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":141,"s":[{"i":[[47.112,-0.718],[-25.248,37.023],[-40.116,-85.055]],"o":[[-30.885,0.471],[63.783,-93.529],[8.723,18.495]],"v":[[96.752,180.09],[-11.02,156.921],[110.436,106.818]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":148,"s":[{"i":[[47.112,-0.718],[-6.115,22.486],[-40.116,-85.056]],"o":[[-30.885,0.471],[10.512,-38.654],[8.723,18.495]],"v":[[70.334,154.899],[-0.114,133.186],[82.439,85.337]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":157,"s":[{"i":[[3.926,-29.468],[15.198,17.663],[-92.927,-14.429]],"o":[[-4.079,30.619],[-26.127,-30.365],[20.207,3.138]],"v":[[68.994,72.36],[33.633,115.113],[33.025,28.742]],"c":true}]},{"t":179,"s":[{"i":[[22.772,-8.83],[11.001,20.542],[-16.344,10.788]],"o":[[-20.994,8.14],[-21.883,-40.863],[36.725,-24.242]],"v":[[75.994,101.11],[30.633,77.613],[-7.475,32.742]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.686274528503,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[0]},{"t":22,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[4.049,-6.245],[-10.724,-2.379],[0.644,3.658]],"o":[[-3.965,6.116],[10.724,2.379],[-0.644,-3.658]],"v":[[-20.799,-80.481],[-10.5,-59.88],[-11.63,-75.266]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[-0.112,-7.441],[-10.234,3.992],[2.571,2.68]],"o":[[0.11,7.288],[10.234,-3.992],[-2.571,-2.68]],"v":[[-1.513,-65.068],[18.51,-53.685],[9.007,-65.838]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-3.803,6.728],[10.532,1.347],[-0.718,-3.641]],"o":[[3.724,-6.589],[-10.532,-1.347],[0.718,3.641]],"v":[[-6.642,98.967],[-17.201,79.119],[-15.724,94.593]],"c":true}]},{"t":179,"s":[{"i":[[-3.803,6.728],[10.532,1.347],[-0.718,-3.641]],"o":[[3.724,-6.589],[-10.532,-1.347],[0.718,3.641]],"v":[[21.358,79.467],[10.799,59.619],[12.276,75.093]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.686274528503,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[0]},{"t":179,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-0.369,7.884],[1.397,-9.224]],"o":[[0.294,-6.283],[-1.397,9.224]],"v":[[29.078,-28.49],[19.877,-23.472]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[-0.369,7.884],[1.397,-9.224]],"o":[[0.294,-6.283],[-1.397,9.224]],"v":[[19.078,-15.615],[9.877,-10.597]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-0.369,7.884],[1.397,-9.224]],"o":[[0.294,-6.283],[-1.397,9.224]],"v":[[-54.172,39.135],[-63.373,44.153]],"c":true}]},{"t":179,"s":[{"i":[[-0.369,7.884],[1.397,-9.224]],"o":[[0.294,-6.283],[-1.397,9.224]],"v":[[-19.672,22.385],[-28.873,27.403]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.686274528503,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[0]},{"t":179,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[18.098,9.757],[-14.904,9.892],[-13.962,-28.082],[-12.618,-11.596]],"o":[[-25.949,-13.99],[11.376,-7.551],[16.06,32.302],[6.638,6.1]],"v":[[-28.098,-33.757],[-77.167,-99.4],[-29.538,-79.418],[10.862,-38.6]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[15.047,6.399],[-5.833,13.9],[-18.462,-18.832],[-12.533,-11.688]],"o":[[-27.129,-11.537],[6.527,-15.555],[25.254,25.76],[15.388,14.35]],"v":[[-16.598,-25.007],[-80.167,-76.4],[-24.038,-60.668],[53.862,-44.35]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[16.331,-0.816],[-5.833,13.9],[-19.323,0.32],[-9.612,-6.4]],"o":[[-15.152,0.757],[6.527,-15.555],[20.038,-0.332],[9.208,6.131]],"v":[[-3.598,-14.007],[-50.917,-38.9],[-0.038,-35.918],[55.362,-39.1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[6.687,-0.412],[-2.388,7.015],[-7.913,0.162],[-3.936,-3.23]],"o":[[-6.205,0.382],[2.673,-7.85],[8.205,-0.168],[3.771,3.094]],"v":[[5.336,2.663],[-18.041,-18.9],[3.544,-27.145],[26.729,-22.251]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[4.127,-0.166],[-1.474,2.827],[-4.883,0.065],[-2.429,-1.302]],"o":[[-3.829,0.154],[1.649,-3.163],[5.064,-0.068],[2.327,1.247]],"v":[[2.971,0.579],[-11.455,-8.11],[1.865,-11.432],[16.173,-9.46]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[5.27,4.982],[-1.161,1.829],[-3.266,-3.293],[-5.472,-5.987]],"o":[[-1.793,-1.695],[1.3,-2.047],[3.851,3.882],[8.697,9.514]],"v":[[-10.044,38.182],[-12.275,27.059],[-4.89,21.228],[2.84,32.498]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":170,"s":[{"i":[[4.749,7.845],[-1.326,2.354],[-2.923,-5.148],[-4.853,-9.281]],"o":[[-1.615,-2.668],[1.484,-2.635],[3.447,6.07],[7.713,14.749]],"v":[[-11.76,9.812],[-11.159,2.917],[-3.282,-3.962],[4.055,11.323]],"c":true}]},{"t":179,"s":[{"i":[[4.279,10.421],[-1.474,2.827],[-2.615,-6.818],[-4.296,-12.245]],"o":[[-1.456,-3.545],[1.649,-3.163],[3.083,8.038],[6.827,19.46]],"v":[[-13.779,-21.421],[-13.955,-41.61],[-5.635,-49.432],[-0.077,-27.21]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.686274528503,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":43,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[0]},{"t":179,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[27.041,-0.07],[4.416,3.975],[17.07,-0.808],[-4.132,-60.946],[0.444,10.161],[31.556,0.012],[7.009,-3.359]],"o":[[-27.041,0.07],[-7.366,-6.631],[-27.952,1.323],[0.553,8.153],[-1.965,-44.935],[-19.195,-0.007],[-8.535,4.09]],"v":[[9.291,163.18],[-26.634,141.704],[-94.298,151.427],[-123.368,191.946],[131.965,189.435],[103.445,148.007],[44.741,139.582]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[27.041,-0.07],[12.884,10.046],[17.07,-0.808],[-4.882,-64.946],[0.677,10.148],[31.556,0.012],[7.009,-3.359]],"o":[[-27.041,0.07],[-7.816,-6.094],[-27.952,1.323],[0.613,8.149],[-3.465,-51.935],[-19.195,-0.007],[-8.535,4.09]],"v":[[9.041,172.93],[-35.384,135.454],[-93.548,156.427],[-123.368,191.946],[131.965,189.435],[103.445,157.007],[48.991,136.832]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[13.55,0],[12.884,-4.204],[15.578,14.107],[-4.132,-60.946],[0.444,10.161],[27.311,-15.807],[11.518,0.836]],"o":[[-22.791,0],[-9.792,3.196],[-20.742,-18.783],[0.553,8.153],[-1.965,-44.935],[-12.945,7.493],[-19.075,-1.384]],"v":[[10.416,135.61],[-47.384,155.704],[-97.096,153.177],[-123.368,191.946],[131.965,189.435],[106.945,147.257],[66.482,159.664]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":86,"s":[{"i":[[13.55,0],[15.96,-0.341],[10.822,-2.515],[-4.814,-34.355],[0.444,10.161],[27.302,6.889],[11.518,0.836]],"o":[[-22.791,0],[-19.297,0.239],[-19.834,5.538],[1.181,8.083],[-1.965,-44.935],[-12.036,-2.962],[-19.075,-1.384]],"v":[[9.589,154.11],[-52.278,141.386],[-106.187,149.313],[-123.368,191.946],[131.965,189.435],[106.945,151.348],[66.027,144.437]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":100,"s":[{"i":[[13.55,0],[18.001,10.458],[16.687,14.812],[-4.814,-34.355],[0.444,10.161],[22.359,-3.848],[10.245,-5.331]],"o":[[-22.791,0],[-25.194,-14.636],[-13.036,-11.571],[1.181,8.083],[-1.965,-44.935],[-13.63,2.346],[-14.055,7.313]],"v":[[4.179,173.61],[-64.306,161.136],[-110.687,129.688],[-123.368,191.946],[131.965,189.435],[109.641,126.598],[59.555,159.187]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[15.627,0.25],[10.212,-8.848],[21.935,-8.023],[-11.264,-28.041],[-9.089,16.088],[20.349,3.774],[15.341,11.247]],"o":[[-22.153,-0.304],[-14.289,12.38],[-20.174,5.095],[6.743,11.588],[7.464,-32.453],[-18.756,-3.479],[-16.082,-11.791]],"v":[[1.737,79.805],[-38.212,131.348],[-84.935,146.023],[-121.327,188.393],[126.201,184.96],[91.651,145.726],[35.48,134.779]],"c":true}]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[{"i":[[17.704,0.5],[6.354,-14.264],[16.183,-21.359],[-17.714,-21.728],[-18.622,22.015],[17.446,18.338],[4.594,17.13]],"o":[[-21.514,-0.608],[-8.883,19.941],[-21.089,27.833],[12.305,15.093],[16.894,-19.972],[-12.306,-12.934],[-4.25,-15.847]],"v":[[3.296,21],[-27.117,77.059],[-51.683,129.859],[-119.286,184.841],[120.437,180.485],[53.161,136.353],[33.406,79.37]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[12.795,0],[13.575,-5.413],[20.421,-11.415],[-17.714,-21.728],[-18.622,22.015],[17.446,12.865],[10.501,4.301]],"o":[[-21.522,0],[-13.48,5.375],[-27.311,15.267],[12.305,15.093],[16.894,-19.972],[-12.306,-9.074],[-15.684,-6.424]],"v":[[2.398,77.5],[-46.617,85.609],[-86.183,105.463],[-119.286,184.841],[120.437,180.485],[97.161,112.826],[60.406,91.791]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":138,"s":[{"i":[[16.637,10.055],[2.932,-14.318],[20.421,-11.415],[-17.714,-21.728],[-9.339,13.209],[8.365,25.978],[6.526,9.284]],"o":[[-18.419,-11.132],[-2.913,14.225],[-27.311,15.267],[12.305,15.093],[10.653,-15.069],[-4.686,-14.554],[-4.68,-6.658]],"v":[[77.77,42.722],[39.149,66.355],[6.326,114.418],[-77.253,182.724],[128.726,186.949],[121.028,109.602],[103.327,73.297]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":145,"s":[{"i":[[16.637,10.055],[2.932,-14.318],[17.292,-22.939],[-17.714,-21.728],[-9.339,13.209],[8.365,25.978],[6.526,9.284]],"o":[[-18.419,-11.132],[-2.913,14.225],[-18.834,24.985],[12.305,15.093],[10.653,-15.069],[-4.686,-14.554],[-4.68,-6.658]],"v":[[59.195,22.346],[22.579,20.226],[8.803,78.752],[-57.175,181.56],[128.726,186.949],[121.028,109.602],[103.27,70.797]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":153,"s":[{"i":[[16.637,10.055],[30.501,-15.832],[21.022,-32.348],[-20.696,-25.167],[-9.338,13.209],[8.365,25.978],[6.526,9.284]],"o":[[-18.419,-11.132],[-25.023,12.988],[-17.05,26.235],[26.695,32.463],[10.653,-15.069],[-4.686,-14.554],[-4.68,-6.658]],"v":[[59.195,22.346],[-32.885,11.269],[-97.334,62.893],[-4.797,124.386],[128.726,186.949],[121.028,109.602],[103.27,70.797]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":156,"s":[{"i":[[16.637,10.055],[30.501,-15.832],[12.023,-71.426],[-26.669,-4.818],[-30.657,-7.666],[8.365,25.978],[6.526,9.284]],"o":[[-18.419,-11.132],[-25.023,12.988],[-9.175,32.883],[42.852,3.74],[38.921,13.62],[-4.686,-14.554],[-4.68,-6.658]],"v":[[55.046,21.858],[-34.593,12.245],[-113.563,114.263],[-41.052,125.276],[82.077,149.232],[117.367,103.257],[98.633,64.941]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":160,"s":[{"i":[[16.637,10.055],[30.501,-15.832],[2.583,-112.413],[-29.811,13.154],[-15.712,-3.849],[8.365,25.978],[6.526,9.284]],"o":[[-18.419,-11.132],[-25.023,12.988],[-0.916,39.857],[59.798,-26.386],[53.274,13.051],[-4.686,-14.554],[-4.68,-6.658]],"v":[[50.695,21.346],[-36.385,13.269],[-130.584,168.143],[-87.298,148.386],[46.226,136.949],[113.528,96.602],[93.77,58.797]],"c":true}]},{"t":168,"s":[{"i":[[40.305,14.654],[15.885,-11.019],[0.084,-110.143],[-31.037,9.921],[-15.732,-3.769],[8.365,25.978],[6.526,9.284]],"o":[[-20.227,-7.354],[-24.61,17.071],[-0.005,6.857],[137.298,-43.886],[37.774,9.051],[-4.686,-14.554],[-4.68,-6.658]],"v":[[22.945,7.346],[-25.385,6.519],[-129.584,156.643],[-70.298,142.386],[100.726,153.949],[115.278,96.352],[95.02,58.798]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":61,"s":[0]},{"t":62,"s":[100]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":169,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":4,"parent":1,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":168,"s":[{"i":[[-6.908,81.814],[29.528,-9.074],[14.395,-4.187],[11.576,-2.407],[17.642,-0.165],[24.411,16.888],[-1.454,-8.006],[-69.241,-28.912],[-0.542,-0.299],[-2.798,-0.708],[-2.104,-0.302],[-4.465,0.815],[-3.473,2.992],[-17.547,8.833]],"o":[[2.288,-27.097],[-10.26,3.153],[-14.362,4.177],[-14.222,2.957],[-19.478,0.183],[-48.016,-33.217],[8.679,47.777],[0,0],[2.208,1.326],[1.771,0.448],[2.993,0.429],[5.553,-1.013],[3.905,-3.365],[19.187,-9.658]],"v":[[128.212,-136.153],[104.972,-154.426],[70.45,-142.648],[29.972,-131.457],[-23.892,-124.585],[-83.484,-143.283],[-122.679,-126.277],[-23.57,-8.268],[-18.583,-5.451],[-9.521,-1.448],[-3.368,-0.179],[10.465,-0.065],[22.848,-4.617],[47.813,-19.342]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,79.371],[22.146,-11.134],[14.395,-4.187],[14.344,-19.84],[16.056,18.55],[26.944,-6.311],[-3.604,-7.296],[-69.241,-28.912],[-0.583,-9.002],[-4.144,-12.005],[6.028,-16.171],[-7.296,15.246],[1.116,10.055],[-16.594,10.514]],"o":[[0,0],[-9.59,4.821],[-14.362,4.177],[-10.207,14.118],[-9.304,-10.749],[-26.944,6.311],[3.604,7.296],[0,0],[0.738,11.39],[2.262,6.552],[-3.827,10.266],[7.031,-14.692],[-1.842,-16.592],[19.138,-12.126]],"v":[[127.212,-137.403],[104.972,-136.676],[68.45,-129.898],[26.722,-93.457],[-20.892,-116.585],[-77.734,-132.033],[-113.179,-98.027],[-23.695,-7.518],[-18.708,3.299],[-5.021,29.677],[-2.868,70.696],[13.465,67.935],[22.973,6.508],[46.313,-19.342]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":168,"op":180,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":4,"parent":4,"sr":1,"ks":{"p":{"a":0,"k":[6.706,-31.468,0]},"a":{"a":0,"k":[6.706,-31.468,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-15.003,79.371],[22.146,-11.134],[14.395,-4.187],[14.344,-19.84],[16.056,18.55],[26.944,-6.311],[-3.604,-7.296],[-69.241,-28.912],[-0.583,-9.002],[-4.144,-12.005],[6.028,-16.171],[-7.296,15.246],[1.116,10.055],[-16.594,10.514]],"o":[[0,0],[-9.59,4.821],[-14.362,4.177],[-10.207,14.118],[-9.304,-10.749],[-26.944,6.311],[3.604,7.296],[0,0],[0.738,11.39],[2.262,6.552],[-3.827,10.266],[7.031,-14.692],[-1.842,-16.592],[19.138,-12.126]],"v":[[127.212,-137.403],[104.972,-136.676],[68.45,-129.898],[26.722,-93.457],[-20.892,-116.585],[-77.734,-132.033],[-113.179,-98.027],[-23.695,-7.518],[-18.708,3.299],[-5.021,29.677],[-2.868,70.696],[13.465,67.935],[22.973,6.508],[46.313,-19.342]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4,"s":[{"i":[[-15.886,67.183],[21.873,-9.39],[13.717,-5.29],[16.318,-13.735],[16.056,13.802],[32.06,-15.059],[-12.249,-17.898],[-46.917,-19.69],[-0.583,-9.002],[-2.165,-12.273],[7.364,-19.381],[-4.515,15.907],[-1.719,27.93],[-13.182,7.645]],"o":[[0,0],[-9.543,4.089],[-17.797,7.526],[-10.563,9.525],[-9.304,-7.998],[-19.382,6.067],[14.029,27.527],[2.644,1.153],[0.738,11.39],[0.765,13.26],[-3.878,10.247],[4.633,-29.189],[0.158,-21.533],[23.107,-12.094]],"v":[[121.612,-120.603],[101.972,-122.401],[69.05,-113.758],[25.522,-87.044],[-17.892,-103.552],[-87.734,-119.747],[-106.529,-83.777],[-22.995,-7.318],[-13.708,27.699],[-5.021,61.877],[-3.868,116.696],[12.465,113.935],[23.773,23.908],[38.613,-14.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[-17.212,48.903],[21.462,-6.775],[12.699,-6.944],[19.278,-4.576],[16.056,6.681],[39.734,-28.182],[-25.217,-33.803],[-13.43,-5.857],[-0.583,-9.002],[0.804,-12.675],[9.368,-24.196],[-0.343,16.899],[-5.973,54.743],[-8.063,3.342]],"o":[[0,0],[-9.472,2.99],[-22.95,12.549],[-11.096,2.634],[-9.304,-3.871],[-8.038,5.701],[28.929,38.777],[6.61,2.883],[0.738,11.391],[-1.479,23.323],[-3.956,10.217],[1.035,-50.935],[3.158,-28.946],[29.061,-12.044]],"v":[[113.212,-95.403],[97.472,-100.99],[69.95,-89.549],[23.722,-77.424],[-13.392,-84.004],[-102.734,-101.318],[-90.929,-61.777],[-21.945,-7.018],[-6.208,64.299],[-5.021,110.177],[-5.368,185.696],[10.965,182.935],[24.973,50.007],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[-16.562,45.953],[21.462,-6.775],[12.699,-6.944],[19.878,-3.376],[16.187,5.917],[37.184,-25.907],[-24.771,-32.297],[-13.43,-5.857],[-0.64,-8.997],[0.873,-12.668],[4.168,-4.221],[-0.965,4.865],[-10.973,121.843],[-8.063,3.342]],"o":[[0,0],[-9.472,2.99],[-22.95,12.549],[-11.08,2.049],[-11.084,-3.334],[-8.155,5.482],[28.779,37.377],[6.61,2.883],[1.485,16.622],[-2.054,95.673],[-3.832,7.779],[0.835,-47.585],[2.564,-28.949],[29.061,-12.044]],"v":[[110.912,-91.603],[97.622,-99.44],[69.65,-88.049],[21.572,-76.624],[-15.542,-81.854],[-101.334,-98.793],[-89.329,-59.777],[-21.945,-7.018],[-5.858,67.499],[-4.946,116.327],[-19.168,189.721],[20.965,190.635],[23.473,62.158],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":13,"s":[{"i":[[-15.262,40.053],[21.462,-6.775],[12.699,-6.944],[21.078,-0.976],[16.448,4.388],[32.084,-21.357],[-23.879,-29.286],[-13.43,-5.857],[-0.754,-8.986],[1.012,-12.656],[5.512,-14.488],[-0.428,9.196],[-6.473,140.543],[-8.063,3.342]],"o":[[0,0],[-9.472,2.99],[-22.95,12.549],[-11.049,0.88],[-14.645,-2.259],[-8.389,5.045],[28.479,34.577],[6.61,2.883],[2.979,27.084],[-3.704,85.373],[-3.251,8.457],[-2.465,-28.535],[1.375,-28.957],[29.061,-12.044]],"v":[[106.312,-84.003],[97.922,-96.34],[69.05,-85.049],[17.272,-75.024],[-19.842,-77.554],[-98.534,-93.743],[-86.129,-55.777],[-21.945,-7.018],[-5.158,73.899],[-4.796,128.627],[-43.018,189.021],[45.965,188.535],[11.473,101.457],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":15,"s":[{"i":[[-13.962,34.153],[21.462,-6.775],[12.699,-6.944],[22.278,1.424],[16.71,2.859],[26.984,-16.807],[-22.986,-26.276],[-13.43,-5.857],[-0.868,-8.975],[1.151,-12.643],[6.856,-24.755],[0.109,13.527],[-10.473,127.242],[-8.063,3.342]],"o":[[0,0],[-9.472,2.99],[-22.95,12.549],[-11.019,-0.29],[-18.206,-1.184],[-8.622,4.607],[28.179,31.777],[6.61,2.883],[4.473,37.546],[-5.354,75.073],[-2.669,9.136],[0.035,-34.185],[0.186,-28.965],[29.061,-12.044]],"v":[[101.712,-76.403],[98.222,-93.24],[68.45,-82.049],[12.972,-73.424],[-24.142,-73.254],[-95.734,-88.693],[-82.929,-51.777],[-21.945,-7.018],[-4.458,80.299],[-4.646,140.927],[-66.868,188.321],[70.965,186.435],[17.473,110.758],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-10.712,19.403],[21.462,-6.775],[12.699,-6.944],[25.278,7.424],[17.364,-0.963],[14.234,-5.432],[-20.755,-18.749],[-13.43,-5.857],[-1.153,-8.947],[1.498,-12.611],[4.345,-25.315],[0.562,10.156],[3.027,31.493],[-8.063,3.342]],"o":[[0,0],[-9.472,2.99],[-22.95,12.549],[-10.942,-3.214],[-27.108,1.504],[-9.207,3.514],[27.429,24.777],[6.61,2.883],[8.208,63.701],[-4.729,39.823],[-1.382,8.054],[-0.965,-17.435],[-2.786,-28.984],[29.061,-12.044]],"v":[[90.212,-57.403],[98.972,-85.49],[66.95,-74.549],[2.222,-69.424],[-34.892,-62.504],[-88.734,-76.068],[-74.929,-41.777],[-21.945,-7.018],[-2.708,96.299],[-4.271,171.677],[-128.368,190.946],[130.965,189.935],[9.973,171.507],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[-13.495,12.11],[22.028,-4.26],[14.439,-1.007],[25.278,7.424],[17.364,-0.963],[14.234,-5.432],[-24.009,-14.347],[-13.43,-5.857],[-1.153,-8.947],[10.441,-7.23],[-14.132,-84.946],[-0.916,10.13],[64.027,41.493],[-7.542,4.393]],"o":[[14.038,-12.597],[-9.752,1.886],[-22.2,1.549],[-10.942,-3.214],[-27.108,1.504],[-9.207,3.514],[12.179,7.277],[6.61,2.883],[8.208,63.701],[-77.729,53.823],[1.341,8.061],[10.035,-110.935],[-19.07,-12.358],[14.437,-8.408]],"v":[[68.962,-33.153],[80.722,-59.74],[48.7,-58.549],[-1.278,-62.924],[-34.892,-59.254],[-84.984,-59.068],[-46.429,-19.277],[-21.945,-7.018],[-2.708,96.299],[-11.271,177.177],[-123.368,191.946],[131.965,189.435],[13.973,179.507],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[-4.843,2.835],[17.275,-4.26],[11.323,-1.007],[19.823,7.424],[13.617,-0.963],[8.471,-10.682],[-5.071,-2.223],[-13.43,-5.857],[-1.153,-8.947],[12.161,-3.662],[-4.132,-60.946],[-0.733,10.144],[65.264,10.325],[-7.555,4.371]],"o":[[15.538,-9.097],[-7.648,1.886],[-17.409,1.549],[-8.58,-3.214],[-21.258,1.504],[-4.989,6.291],[12.994,5.695],[6.61,2.883],[8.208,63.701],[-49.229,14.823],[0.553,8.153],[3.535,-48.935],[-37.973,-6.007],[7.187,-4.158]],"v":[[40.712,-14.403],[68.726,-42.74],[43.614,-41.549],[4.421,-42.674],[-23.689,-48.754],[-65.971,-40.818],[-46.429,-19.277],[-21.945,-7.018],[-1.208,104.549],[-23.271,174.677],[-123.368,191.946],[131.965,189.435],[25.473,179.507],[27.063,-7.842]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[-4.843,2.835],[7.274,2.74],[8.511,1.799],[10.079,0.549],[9.689,-0.621],[5.221,-5.432],[-5.071,-2.223],[-1.43,-0.732],[-1.153,-8.947],[12.161,-3.662],[-4.132,-60.946],[-0.733,10.144],[65.264,10.325],[-7.196,4.939]],"o":[[15.538,-9.097],[-8.357,-3.148],[-10.649,-2.251],[-9.149,-0.498],[-21.267,1.363],[-5.564,5.789],[12.994,5.695],[9.259,4.74],[8.208,63.701],[-49.229,14.823],[0.553,8.153],[3.535,-48.935],[-37.973,-6.007],[1.687,-1.158]],"v":[[32.962,-11.278],[55.726,-28.74],[31.489,-35.549],[8.796,-37.299],[-16.189,-36.629],[-48.471,-25.568],[-27.429,-9.527],[-21.945,-7.018],[-5.208,87.549],[-23.771,163.677],[-123.368,191.946],[131.965,189.435],[24.973,168.507],[24.188,-5.967]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[-1.337,0.747],[7.189,2.957],[8.539,1.664],[10.086,0.383],[6.189,-0.871],[5.534,-5.113],[-4.447,-3.298],[-1.805,-18.357],[-1.666,-58.526],[12.161,-3.662],[-4.132,-60.946],[-0.733,10.144],[65.264,10.325],[-3.406,9.998]],"o":[[5.413,-3.722],[-3.976,-1.635],[-4.239,-0.826],[-5.296,-0.201],[-5.331,0.75],[-2.779,2.568],[1.554,1.152],[1.464,14.886],[1.209,42.451],[-49.229,14.823],[0.553,8.153],[3.535,-48.935],[-37.973,-6.007],[2.286,-6.708]],"v":[[24.462,-6.028],[31.726,-16.74],[18.614,-19.799],[0.796,-21.174],[-13.189,-20.254],[-26.846,-12.943],[-20.429,-4.652],[-5.945,18.357],[-1.209,111.299],[-22.771,156.677],[-123.368,191.946],[131.965,189.435],[25.973,161.507],[12.906,13.002]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[-0.434,7.757],[2.348,4.574],[3.041,2.483],[3.807,0.346],[2.389,-3.098],[1.668,-6.588],[-2.017,-4.013],[-1.805,-18.357],[-0.605,-41.934],[13.799,-2.674],[-4.132,-60.946],[-0.733,10.144],[65.506,8.009],[-2.156,8.998]],"o":[[2.31,-7.472],[-1.307,-3.113],[-1.712,-2.166],[-1.999,-0.182],[-2,2.308],[-0.865,2.504],[0.973,3.736],[1.464,14.886],[0.375,30.784],[-49.943,10.582],[0.553,8.153],[3.535,-48.935],[-35.13,-4.507],[1.408,-6.832]],"v":[[14.94,16.639],[15.152,-0.637],[10.587,-7.573],[3.759,-10.651],[-2.006,-6.735],[-6.317,3.134],[-6.386,14.723],[-3.112,48.69],[0.042,122.716],[-30.697,155.427],[-123.368,191.946],[131.965,189.435],[35.463,159.507],[11.74,57.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[0.538,21.778],[0.242,7.809],[1.86,4.122],[3.536,0.274],[2.496,-7.553],[-0.681,-9.537],[-1.026,-5.441],[-1.805,-18.357],[1.517,-8.751],[17.075,-0.698],[-4.132,-60.946],[-0.733,10.144],[65.989,3.378],[0.344,6.998]],"o":[[0.538,-14.972],[-0.188,-6.068],[-2.187,-4.845],[-1.857,-0.144],[-1.792,5.422],[0.17,2.376],[1.679,8.902],[1.464,14.886],[-1.292,7.451],[-51.369,2.099],[0.553,8.153],[3.535,-48.935],[-29.445,-1.507],[-0.348,-7.078]],"v":[[13.712,88.972],[14.258,58.568],[12.051,43.878],[5.167,37.394],[-2.764,47.303],[-2.295,62.287],[-1.429,80.473],[2.555,109.357],[2.542,145.549],[-46.548,152.927],[-123.368,191.946],[131.965,189.435],[54.445,155.507],[9.406,145.752]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[{"i":[[-0.184,18.167],[0.207,6.513],[1.595,3.438],[3.031,0.229],[2.14,-6.299],[-0.584,-7.954],[0.403,-5.813],[-0.008,-14.011],[5.931,-3.938],[17.074,-0.722],[-4.132,-60.946],[-0.471,10.148],[58.337,2.57],[5.776,3.217]],"o":[[-0.184,-13.333],[-0.161,-5.061],[-1.874,-4.041],[-1.592,-0.12],[-1.536,4.523],[0.145,1.982],[0.623,7.916],[-0.152,11.332],[-5.819,2.062],[-46.166,1.926],[0.553,8.153],[2.313,-48.046],[-29.454,-1.119],[-14.462,-1.474]],"v":[[12.768,104.417],[13.043,76.003],[11.151,63.751],[5.25,58.342],[-1.548,66.607],[-1.146,79.104],[-0.04,98.167],[2.61,128.496],[-7.931,151.938],[-57.159,152.594],[-123.368,191.946],[131.965,189.435],[65.334,153.841],[17.212,150.224]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[-0.545,16.361],[0.19,5.865],[1.462,3.096],[2.779,0.206],[1.961,-5.673],[-0.535,-7.163],[1.118,-5.999],[0.891,-11.839],[6.755,-2.069],[17.073,-0.734],[-4.132,-60.946],[-0.34,10.15],[54.511,2.166],[8.492,1.326]],"o":[[-0.545,-12.514],[-0.147,-4.558],[-1.718,-3.639],[-1.459,-0.108],[-1.408,4.073],[0.133,1.785],[0.095,7.423],[-0.959,9.555],[-5.208,2.118],[-43.564,1.84],[0.553,8.153],[1.702,-47.602],[-29.458,-0.925],[-14.24,-2.835]],"v":[[12.295,112.139],[12.435,84.72],[10.701,73.687],[5.292,68.816],[-0.94,76.259],[-0.571,87.513],[0.655,107.014],[2.638,138.065],[-12.792,149.132],[-62.465,152.427],[-123.368,191.946],[131.965,189.435],[70.779,153.007],[19.99,150.585]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[3.371,12.695],[0.138,3.922],[1.063,2.07],[2.021,0.138],[1.426,-3.793],[-0.389,-4.789],[3.262,-6.556],[3.586,-5.32],[11.994,4.614],[17.071,-0.771],[-4.132,-60.946],[0.052,10.156],[43.033,0.954],[16.639,-4.347]],"o":[[-1.629,-10.055],[-0.107,-3.047],[-1.25,-2.433],[-1.061,-0.072],[-1.024,2.723],[0.097,1.193],[-1.488,5.944],[-3.382,4.224],[-9.125,-3.216],[-35.758,1.582],[0.553,8.153],[-0.132,-46.268],[-29.47,-0.342],[-13.72,3.139]],"v":[[10.879,135.305],[10.612,110.872],[9.351,103.495],[5.417,100.239],[0.885,105.215],[1.153,112.74],[2.738,133.556],[-3.779,149.274],[-28.125,152.716],[-78.382,151.927],[-123.368,191.946],[131.965,189.435],[87.112,150.507],[30.573,155.419]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[3.592,2.221],[4.433,1.601],[0.888,0.621],[0.531,-0.142],[0.494,-0.452],[0.584,-0.341],[3.635,-1.246],[3.409,-0.261],[6.942,4.188],[17.07,-0.796],[-4.132,-60.946],[0.314,10.159],[35.382,0.326],[10.219,-3.688]],"o":[[-2.732,-1.569],[-0.516,-0.186],[-0.451,-0.315],[-0.647,0.173],[-0.499,0.456],[-3.458,2.018],[-2.603,1.204],[-3.804,-0.421],[-7.952,-5.493],[-30.554,1.409],[0.553,8.153],[-1.354,-45.38],[-22.62,-0.119],[-10.263,3.773]],"v":[[24.421,147.956],[12.55,144.543],[9.58,142.598],[7.98,142.2],[6.406,143.446],[5.009,144.917],[-5.637,150.474],[-13.653,152.82],[-27.798,148.041],[-88.993,151.594],[-123.368,191.946],[131.965,189.435],[98.001,148.841],[42.352,146.361]],"c":true}]},{"t":62,"s":[{"i":[[3.703,-3.016],[1.604,-0.871],[2.128,-0.697],[3.709,-0.142],[3.327,0.601],[2.434,0.746],[3.822,1.41],[3.32,2.268],[4.416,3.975],[17.07,-0.808],[-4.132,-60.946],[0.444,10.161],[31.556,0.012],[7.009,-3.359]],"o":[[-3.283,2.674],[-2.671,1.451],[-1.965,0.644],[-1.819,0.07],[-3.834,-0.693],[-2.959,-0.907],[-3.161,-1.166],[-4.015,-2.743],[-7.366,-6.631],[-27.952,1.323],[0.553,8.153],[-1.965,-44.935],[-19.195,-0.007],[-8.535,4.09]],"v":[[31.193,154.282],[23.134,159.082],[15.56,162.149],[9.291,163.18],[3.459,162.562],[-3.863,161.005],[-9.825,158.933],[-18.59,154.593],[-27.634,145.704],[-94.298,151.427],[-123.368,191.946],[131.965,189.435],[103.445,148.007],[48.241,141.832]],"c":true}],"h":1},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[-15.003,79.371],[22.146,-11.134],[14.395,-4.187],[14.344,-19.84],[16.056,18.55],[26.944,-6.311],[-3.604,-7.296],[-69.241,-28.912],[-0.583,-9.002],[-4.144,-12.005],[6.028,-16.171],[-7.296,15.246],[1.116,10.055],[-16.594,10.514]],"o":[[0,0],[-9.59,4.821],[-14.362,4.177],[-10.207,14.118],[-9.304,-10.749],[-26.944,6.311],[3.604,7.296],[0,0],[0.738,11.39],[2.262,6.552],[-3.827,10.266],[7.031,-14.692],[-1.842,-16.592],[19.138,-12.126]],"v":[[127.212,-137.403],[104.972,-136.676],[68.45,-129.898],[26.722,-93.457],[-20.892,-116.585],[-77.734,-132.033],[-113.179,-98.027],[-23.695,-7.518],[-18.708,3.299],[-5.021,29.677],[-2.868,70.696],[13.465,67.935],[22.973,6.508],[46.313,-19.342]],"c":true}]},{"t":180,"s":[{"i":[[-15.003,79.371],[22.146,-11.134],[14.395,-4.187],[14.344,-19.84],[16.056,18.55],[26.944,-6.311],[-3.604,-7.296],[-69.241,-28.912],[-0.583,-9.002],[-4.144,-12.005],[6.028,-16.171],[-7.296,15.246],[1.116,10.055],[-16.594,10.514]],"o":[[0,0],[-9.59,4.821],[-14.362,4.177],[-10.207,14.118],[-9.304,-10.749],[-26.944,6.311],[3.604,7.296],[0,0],[0.738,11.39],[2.262,6.552],[-3.827,10.266],[7.031,-14.692],[-1.842,-16.592],[19.138,-12.126]],"v":[[127.212,-137.403],[104.972,-136.676],[68.45,-129.898],[26.722,-93.457],[-20.892,-116.585],[-77.734,-132.033],[-113.179,-98.027],[-23.695,-7.518],[-18.708,3.299],[-5.021,29.677],[-2.868,70.696],[13.465,67.935],[22.973,6.508],[46.313,-19.342]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":61,"s":[100]},{"t":62,"s":[0]}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":63,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":4,"parent":42,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":142,"s":[-49.621]},{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.225],"y":[0]},"t":157,"s":[-186.045]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.36],"y":[0]},"t":168,"s":[-178.266]},{"t":180,"s":[-182.123]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[-97.088,-133.923,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[-34.088,-62.423,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[12.912,-31.423,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.36,"y":0},"t":55,"s":[12.912,23.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[15.912,145.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":86,"s":[-14.088,145.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":99,"s":[-60.088,155.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[-40.088,125.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.714},"o":{"x":0.333,"y":0},"t":130,"s":[-65.088,70.577,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.194,"y":1},"t":137,"s":[-41.742,117.246,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":142,"s":[-47.282,120.029,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.33,"y":1},"o":{"x":0.245,"y":0},"t":157,"s":[86.126,116.128,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.36,"y":0},"t":168,"s":[102.176,152.379,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[97.126,131.628,0]}]},"a":{"a":0,"k":[-97.088,-133.923,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[11.946,-8.553]],"o":[[0,0],[0,0]],"v":[[-83.286,-161.367],[-103.632,-162.065]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[6.1,-14.308]],"o":[[0,0],[0,0]],"v":[[-98.565,-162.472],[-116.479,-153.278]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-1.089,-21.385]],"o":[[0,0],[0,0]],"v":[[-118.917,-164.34],[-133.84,-142.98]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[-7.021,-10.145]],"o":[[0,0],[0,0]],"v":[[-155.36,-152.133],[-146.723,-135.432]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[-7.021,-10.145]],"o":[[0,0],[0,0]],"v":[[-166.381,-150.57],[-158.785,-137.307]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[-8.103,-9.303]],"o":[[0,0],[0,0]],"v":[[-165.165,-140.644],[-157.246,-130.873]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[-7.021,-10.145]],"o":[[0,0],[0,0]],"v":[[-159.61,-139.383],[-153.473,-130.932]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[-8.556,-7.864]],"o":[[0,0],[0,0]],"v":[[-146.714,-153.186],[-133.944,-143.636]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[-6.571,-9.637]],"o":[[0,0],[0,0]],"v":[[-140.266,-160.087],[-127.929,-148.113]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[0,0],[-1.683,-12.267]],"o":[[0,0],[0,0]],"v":[[-127.37,-173.89],[-116.317,-156.233]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0.137,-12.381]],"o":[[0,0],[0,0]],"v":[[-107.401,-178.515],[-107.062,-157.426]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0.137,-2.163]],"o":[[0,0],[0,0]],"v":[[-102.401,-103.563],[-102.062,-99.879]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[-2.534,-29.502]],"o":[[0,0],[0,0]],"v":[[-121.311,-188.321],[-124.466,-142.998]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":94,"s":[{"i":[[0,0],[24.424,-16.742]],"o":[[0,0],[0,0]],"v":[[-55.201,-145.215],[-91.845,-146.227]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[{"i":[[0,0],[-5.207,-19.993]],"o":[[0,0],[0,0]],"v":[[-131.896,-174.4],[-124.466,-142.998]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[24.424,-16.742]],"o":[[0,0],[0,0]],"v":[[-55.201,-145.215],[-91.845,-146.227]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":142,"s":[{"i":[[0,0],[-17.43,-8.553]],"o":[[0,0],[0,0]],"v":[[-160.62,-161.367],[-130.932,-162.065]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[-7.777,-8.553]],"o":[[0,0],[0,0]],"v":[[-146.351,-185.965],[-133.104,-186.663]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":157,"s":[{"i":[[0,0],[0.123,-8.553]],"o":[[0,0],[0,0]],"v":[[-123.992,-174.736],[-124.202,-175.434]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[0.955,-8.553]],"o":[[0,0],[0,0]],"v":[[-116.463,-161.593],[-118.09,-162.291]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[11.946,-8.553]],"o":[[0,0],[0,0]],"v":[[-83.286,-161.367],[-103.632,-162.065]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.20000000298,0.850980401039,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-6.939,10.399],[-1.661,-13.361]],"o":[[-10.597,-21.496],[7.961,-11.931],[0,0]],"v":[[-103.986,-102.152],[-107.795,-155.25],[-81.625,-154.514]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9,"s":[{"i":[[0,0],[-4.913,9.789],[-0.484,-9.632]],"o":[[-11.402,-18.864],[4.949,-14.425],[0,0]],"v":[[-112.236,-107.058],[-115.052,-150.377],[-93.581,-156.334]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[0,0],[-4.238,9.585],[-0.092,-8.388]],"o":[[-11.67,-17.986],[3.945,-15.256],[0,0]],"v":[[-112.986,-104.527],[-117.471,-148.752],[-97.567,-156.941]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[{"i":[[0,0],[-3.5,9.362],[0.337,-7.029]],"o":[[-11.963,-17.027],[2.847,-16.165],[0,0]],"v":[[-112.403,-103.083],[-120.463,-147.09],[-102.27,-157.717]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17,"s":[{"i":[[0,0],[-2.393,9.029],[0.98,-4.991]],"o":[[-12.403,-15.588],[1.2,-17.528],[0,0]],"v":[[-114.496,-103.205],[-124.95,-144.595],[-109.326,-158.881]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[0,0],[-1.655,8.806],[1.409,-3.632]],"o":[[-12.697,-14.629],[0.102,-18.437],[0,0]],"v":[[-114.641,-102.454],[-127.942,-142.932],[-114.03,-159.657]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[0,0],[-0.916,8.583],[1.838,-2.273]],"o":[[-16.763,-14.806],[-0.995,-19.346],[0,0]],"v":[[-112.236,-100.152],[-130.933,-141.269],[-118.734,-160.434]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[0.945,8.022],[-1.199,1.579]],"o":[[-11.634,-11.495],[-2.441,-16.015],[0,0]],"v":[[-114.611,-99.652],[-134.16,-137.316],[-128.484,-157.433]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27,"s":[{"i":[[0,0],[1.876,7.742],[-2.718,3.506]],"o":[[-14.1,-10.041],[-3.164,-14.349],[0,0]],"v":[[-112.424,-99.777],[-135.773,-135.34],[-133.359,-155.932]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":29,"s":[{"i":[[0,0],[2.807,7.461],[-4.236,5.432]],"o":[[-14.469,-8.832],[-3.886,-12.683],[0,0]],"v":[[-110.736,-99.402],[-137.387,-133.363],[-138.234,-154.432]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[3.272,7.321],[-2.789,6.167]],"o":[[-14.654,-8.227],[-4.248,-11.851],[0,0]],"v":[[-110.45,-100.259],[-137.752,-132.794],[-140.899,-154.804]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36,"s":[{"i":[[0,0],[6.065,6.479],[5.894,10.579]],"o":[[-15.764,-4.598],[-6.416,-6.854],[0,0]],"v":[[-103.986,-102.152],[-139.94,-129.382],[-156.89,-157.039]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[0,0],[6.56,4.993],[5.894,10.579]],"o":[[-11.181,-4.077],[-7.372,-5.456],[0,0]],"v":[[-105.549,-101.631],[-142.107,-126.466],[-166.14,-153.289]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43,"s":[{"i":[[0,0],[6.714,4.531],[6.349,10.291]],"o":[[-9.755,-3.915],[-7.67,-5.022],[0,0]],"v":[[-115.035,-108.219],[-138.848,-122.808],[-165.152,-148.708]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46,"s":[{"i":[[0,0],[6.945,3.838],[7.032,9.859]],"o":[[-4.053,-8.914],[-8.116,-4.369],[0,0]],"v":[[-106.764,-101.226],[-131.459,-119.197],[-163.67,-141.835]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[5.732,5.314],[5.894,10.579]],"o":[[-4.764,-3.348],[-6.06,-5.618],[0,0]],"v":[[-107.736,-100.902],[-122.94,-113.382],[-156.89,-139.039]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[0,0],[3.604,7.16],[13.384,8.951]],"o":[[-2.164,-4.348],[-2.827,-9.568],[0,0]],"v":[[-107.736,-100.902],[-114.673,-123.682],[-144.384,-154.701]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[{"i":[[0,0],[2.54,8.083],[9.932,7.798]],"o":[[-0.864,-4.848],[-5.771,-6.871],[0,0]],"v":[[-107.736,-100.902],[-110.54,-128.832],[-138.13,-162.532]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[0,0],[3.014,7.212],[12.624,5.944]],"o":[[1.736,-5.848],[-3.81,-9.118],[0,0]],"v":[[-107.736,-100.902],[-107.69,-139.132],[-125.624,-178.194]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":62,"s":[{"i":[[0,0],[0.291,9.243],[-0.708,11.015]],"o":[[1.736,-5.848],[-0.311,-9.877],[0,0]],"v":[[-107.736,-100.902],[-105.041,-138.743],[-104.042,-181.015]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[0,0],[0.291,1.615],[-0.708,1.924]],"o":[[1.736,-5.848],[-0.311,-1.726],[0,0]],"v":[[-107.736,-100.902],[-100.041,-96.615],[-99.042,-104]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":80,"s":[{"i":[[0,0],[2.247,15.746],[-9.483,0.802]],"o":[[-1.346,-5.95],[-2.685,-18.809],[0,0]],"v":[[-99.908,-105.117],[-121.565,-143.191],[-116.767,-188.302]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":94,"s":[{"i":[[0,0],[-12.594,9.714],[-5.371,-7.857]],"o":[[-1.346,-5.95],[15.045,-11.604],[0,0]],"v":[[-99.908,-105.117],[-90.248,-143.798],[-52.979,-141.251]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[{"i":[[0,0],[4.133,15.359],[-0.183,9.515]],"o":[[-1.346,-5.95],[-4.857,-18.05],[0,0]],"v":[[-99.908,-105.117],[-121.565,-143.191],[-128.157,-179.167]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-12.594,9.714],[-5.371,-7.857]],"o":[[-1.346,-5.95],[15.045,-11.604],[0,0]],"v":[[-99.908,-105.117],[-90.248,-143.798],[-52.979,-141.251]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":142,"s":[{"i":[[0,0],[10.125,10.399],[2.423,-13.361]],"o":[[-10.597,-21.496],[-11.616,-11.931],[0,0]],"v":[[-103.986,-102.152],[-124.859,-155.25],[-163.043,-154.514]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":150,"s":[{"i":[[0,0],[4.517,10.399],[1.081,-13.361]],"o":[[-7.539,-23.238],[-5.183,-11.931],[0,0]],"v":[[-106.563,-99.441],[-130.395,-179.849],[-147.432,-179.113]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"t":157,"s":[{"i":[[0,0],[-0.072,10.399],[-0.017,-13.361]],"o":[[-12.891,-20.643],[0.082,-11.931],[0,0]],"v":[[-108.672,-97.223],[-124.245,-168.619],[-123.975,-167.883]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":160,"s":[{"i":[[0,0],[-0.671,10.399],[-0.161,-13.361]],"o":[[-10.207,-25.459],[0.77,-11.931],[0,0]],"v":[[-106.802,-95.789],[-118.307,-155.476],[-115.774,-154.74]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":164,"s":[{"i":[[0,0],[-1.739,10.399],[-0.416,-13.361]],"o":[[-6.386,-23.895],[1.995,-11.931],[0,0]],"v":[[-103.476,-93.237],[-112.995,-155.25],[-106.437,-154.514]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":167,"s":[{"i":[[0,0],[-2.589,10.399],[-0.62,-13.361]],"o":[[-7.074,-23.503],[2.97,-11.931],[0,0]],"v":[[-105.477,-99.823],[-112.146,-155.25],[-102.383,-154.514]],"c":false}]},{"t":180,"s":[{"i":[[0,0],[-6.939,10.399],[-1.661,-13.361]],"o":[[-10.597,-21.496],[7.961,-11.931],[0,0]],"v":[[-103.986,-102.152],[-107.795,-155.25],[-81.625,-154.514]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":20},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":4,"parent":9,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":108,"s":[0]},{"t":109,"s":[100]}]},"r":{"a":1,"k":[{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":0,"s":[-7.025]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[45.069]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[106.671]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":117,"s":[106.671]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[61.473]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":140,"s":[4.076]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[7.919]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":147,"s":[77.37]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":152,"s":[54.326]},{"t":180,"s":[46.81]}]},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.33,"y":0},"t":0,"s":[49.858,-247.126,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":13,"s":[36.358,-192.126,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[6.358,-144.126,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":109,"s":[21.858,17.374,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[26.858,-67.626,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.69,"y":0.785},"o":{"x":0.298,"y":0},"t":130,"s":[28.358,-50.126,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.43,"y":0.259},"t":137,"s":[12.908,-69.416,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[13.156,-57.209,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[44.176,-49.607,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[36.959,-38.936,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":146,"s":[34.177,-39.991,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[31.294,-46.684,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[32.76,-62.825,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":151,"s":[36.358,-59.485,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[41.402,-51.051,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":153,"s":[43.014,-46.941,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.649,"y":0.765},"o":{"x":0.311,"y":0},"t":158,"s":[24.774,-69.878,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.712,"y":0.712},"o":{"x":0.336,"y":0.185},"t":162,"s":[20.475,-63.271,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.428,"y":0.775},"t":175,"s":[-0.927,-40.768,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-5.774,-36.291,0]}]},"a":{"a":0,"k":[56.597,-119.152,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[7.613,8.5],[6.353,-0.894],[-3.067,-11.565]],"o":[[-2.854,-3.187],[-6.353,0.894],[3.067,11.565]],"v":[[65.204,-123.731],[47.596,-131.831],[55.953,-110.368]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":45,"ty":4,"parent":9,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":108,"s":[0]},{"t":109,"s":[100]}]},"r":{"a":1,"k":[{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":0,"s":[-5.045]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[62.769]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-2.42]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":117,"s":[-2.42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[37.862]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":140,"s":[42.619]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[88.803]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":147,"s":[107.04]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":152,"s":[44.157]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":166,"s":[98.056]},{"t":180,"s":[53.656]}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.433,"y":0},"t":0,"s":[27.929,-229.556,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.33,"y":1},"o":{"x":0.167,"y":0.167},"t":6,"s":[3.599,-206.02,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":13,"s":[-43.071,-190.056,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[-10.071,-144.556,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":109,"s":[-37.571,8.444,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.333,"y":0},"t":116,"s":[-27.571,-66.556,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.648,"y":0.126},"o":{"x":0.303,"y":0},"t":130,"s":[-48.571,-44.556,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.694,"y":0.893},"o":{"x":0.342,"y":0.256},"t":133,"s":[-43.771,-47.355,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.43,"y":0.278},"t":137,"s":[-30.211,-26.822,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":140,"s":[-35.016,-35.527,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":143,"s":[-11.086,-54.297,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":147,"s":[-2.37,-81.135,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":149,"s":[-7.151,-80.479,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":152,"s":[-18.815,-49.766,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.57,"y":0.673},"o":{"x":0.167,"y":0.167},"t":153,"s":[-18.89,-46.537,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.328,"y":0.705},"t":155,"s":[-27.94,-65.754,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":158,"s":[-35.453,-74.134,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.653,"y":0.602},"o":{"x":0.298,"y":0},"t":166,"s":[-19.133,-82.824,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.68,"y":0.792},"o":{"x":0.34,"y":0.227},"t":172,"s":[-24.646,-67.626,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.438,"y":0.629},"t":175,"s":[-32.871,-56.411,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[-35.957,-46.393,0]}]},"a":{"a":0,"k":[37.782,-99.883,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[9.843,6.627],[6.298,-2.656],[-5.918,-11.015]],"o":[[-3.69,-2.485],[-6.298,2.656],[5.918,11.015]],"v":[[46.52,-107.386],[26.527,-110.865],[40.243,-91.154]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.078431375325,0.729411780834,0.956862747669,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":46,"ty":4,"parent":4,"sr":1,"ks":{"o":{"a":0,"k":50},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":130,"s":[1.509,-7.643,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":144,"s":[1.509,-7.643,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":145,"s":[0.843,2.335,0],"to":[0,0,0],"ti":[0,0,0]},{"t":160,"s":[-1.491,7.607,0]}]},"a":{"a":0,"k":[1.509,-7.643,0]},"s":{"a":1,"k":[{"t":144,"s":[100,100,100],"h":1},{"t":145,"s":[100,-100,100],"h":1}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[52.94,17.31],[-3.77,1.23],[-7.45,4.09],[-1.64,0.99],[-1.62,1.07],[-3.18,2.49],[-0.79,0.64],[-1.55,1.37],[-1.52,1.46],[-0.75,0.75],[0,69.89],[1.2,8.18],[0,0],[0,-8.88],[-52.94,-17.32],[-0.2,-0.1],[-0.18,-0.13],[-0.15,-0.16],[-0.12,-0.16],[1.02,-1.31],[0.12,-0.11],[0.7,-0.23],[17.28,-17.29],[2.17,-2.46],[7,-13.72],[1.97,-4.75],[0.48,-1.21],[0.67,-1.87],[0.43,-1.27],[0.41,-1.29],[0.39,-1.32],[0.37,-1.34],[0.35,-1.36],[0.6,-2.83],[0.28,-1.43],[0,-18.75],[-0.04,-1.29],[-0.01,-0.01],[-0.01,-0.12],[-8.9,-0.94],[0.13,2.2],[0,3.27],[-58.4,25.42],[6.68,2.63],[0,90.06],[-1.06,7.27],[0,0],[0,-7.89],[64.29,-31.01],[-6.63,-2.72],[0,-90.06],[0.19,-3.16],[0.22,-2.15],[-0.62,1.11],[0,0.14],[0,0],[0,1.31]],"o":[[-3.77,-1.23],[7.44,-2.44],[1.65,-0.91],[1.65,-0.99],[3.26,-2.16],[0.79,-0.63],[1.57,-1.29],[1.55,-1.38],[0.76,-0.73],[30.79,-30.81],[0,-8.88],[0,0],[-1.2,8.18],[0,109.09],[0.24,0.08],[0.21,0.1],[0.17,0.12],[0.15,0.15],[0.97,1.34],[-0.1,0.13],[-0.44,0.44],[-19.02,6.22],[-2.26,2.25],[-9.04,10.21],[-2.24,4.39],[-0.49,1.19],[-0.71,1.82],[-0.44,1.25],[-0.42,1.27],[-0.41,1.3],[-0.39,1.32],[-0.37,1.34],[-0.69,2.73],[-0.3,1.41],[-3.07,15.81],[0,1.31],[0,0],[-0.01,0.13],[0.56,1.11],[-0.22,-2.15],[-0.19,-3.16],[0,-90.06],[6.57,-2.86],[-57.87,-22.72],[0,-7.89],[0,0],[1.07,7.27],[0,90.06],[-6.44,3.1],[59.65,24.45],[0,3.26],[-0.12,2.21],[8.85,-0.93],[0,-0.13],[0,-0.01],[0.03,-1.29],[0,-109.09]],"v":[[34.574,3.057],[34.574,-4.283],[56.994,-14.053],[61.934,-16.903],[66.844,-20.003],[76.514,-26.963],[78.894,-28.863],[83.584,-32.853],[88.184,-37.103],[90.454,-39.333],[144.724,-189.123],[142.914,-214.723],[-139.876,-214.723],[-141.696,-189.123],[-31.556,-4.283],[-30.896,-4.013],[-30.316,-3.663],[-29.836,-3.253],[-29.436,-2.793],[-29.516,1.667],[-29.836,2.027],[-31.556,3.057],[-87.426,38.097],[-94.066,45.157],[-118.346,81.017],[-124.666,94.737],[-126.116,98.347],[-128.186,103.877],[-129.496,107.657],[-130.746,111.507],[-131.936,115.427],[-133.066,119.417],[-134.136,123.477],[-136.076,131.817],[-136.946,136.087],[-141.706,187.897],[-141.656,191.807],[-141.656,191.817],[-141.646,192.197],[-126.956,195.287],[-127.476,188.767],[-127.756,179.127],[-23.676,6.437],[-23.676,-7.673],[-127.746,-181.303],[-126.146,-204.043],[129.174,-204.043],[130.784,-181.303],[26.704,-7.673],[26.704,6.437],[130.774,179.127],[130.494,188.757],[129.974,195.297],[144.664,192.217],[144.674,191.807],[144.674,191.797],[144.714,187.897]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[52.94,17.31],[-3.77,1.23],[-7.45,4.09],[-1.64,0.99],[-1.62,1.07],[-3.18,2.49],[-0.79,0.64],[-1.55,1.37],[-1.52,1.46],[-0.75,0.75],[0,69.89],[1.2,8.18],[0,0],[0,-8.88],[-52.94,-17.32],[-0.2,-0.1],[-0.18,-0.13],[-0.15,-0.16],[-0.12,-0.16],[1.02,-1.31],[0.12,-0.11],[0.7,-0.23],[17.28,-17.29],[2.17,-2.46],[7,-13.72],[1.97,-4.75],[0.48,-1.21],[0.67,-1.87],[0.43,-1.27],[0.41,-1.29],[0.39,-1.32],[0.37,-1.34],[0.35,-1.36],[0.6,-2.83],[0.28,-1.43],[0,-18.75],[-0.04,-0.06],[-0.01,0],[-0.01,-0.006],[-8.9,-0.044],[0.13,2.2],[0,3.27],[-58.4,25.42],[6.68,2.63],[0,90.06],[-1.06,7.27],[0,0],[0,-7.89],[64.29,-31.01],[-6.63,-2.72],[0,-90.06],[0.19,-3.16],[0.22,-0.101],[-0.62,0.052],[0,0.007],[0,0],[0,1.31]],"o":[[-3.77,-1.23],[7.44,-2.44],[1.65,-0.91],[1.65,-0.99],[3.26,-2.16],[0.79,-0.63],[1.57,-1.29],[1.55,-1.38],[0.76,-0.73],[30.79,-30.81],[0,-8.88],[0,0],[-1.2,8.18],[0,109.09],[0.24,0.08],[0.21,0.1],[0.17,0.12],[0.15,0.15],[0.97,1.34],[-0.1,0.13],[-0.44,0.44],[-19.02,6.22],[-2.26,2.25],[-9.04,10.21],[-2.24,4.39],[-0.49,1.19],[-0.71,1.82],[-0.44,1.25],[-0.42,1.27],[-0.41,1.3],[-0.39,1.32],[-0.37,1.34],[-0.69,2.73],[-0.3,1.41],[-3.07,15.81],[0,1.31],[0,0],[-0.01,0.006],[0.56,0.052],[-0.22,-0.101],[-0.19,-3.16],[0,-90.06],[6.57,-2.86],[-57.87,-22.72],[0,-7.89],[0,0],[1.07,7.27],[0,90.06],[-6.44,3.1],[59.65,24.45],[0,3.26],[-0.12,2.21],[8.85,-0.044],[0,-0.006],[0,0],[0.03,-0.061],[0,-109.09]],"v":[[34.574,3.057],[34.574,-4.283],[56.994,-14.053],[61.934,-16.903],[66.844,-20.003],[76.514,-26.963],[78.894,-28.863],[83.584,-32.853],[88.184,-37.103],[90.454,-39.333],[144.724,-189.123],[144.33,-198.335],[-141.156,-198.548],[-141.696,-189.123],[-31.556,-4.283],[-30.896,-4.013],[-30.316,-3.663],[-29.836,-3.253],[-29.436,-2.793],[-29.516,1.667],[-29.836,2.027],[-31.556,3.057],[-87.426,38.097],[-94.066,45.157],[-118.346,81.017],[-124.666,94.737],[-126.116,98.347],[-128.186,103.877],[-129.496,107.657],[-130.746,111.507],[-131.936,115.427],[-133.066,119.417],[-134.136,123.477],[-136.076,131.817],[-136.946,136.087],[-141.706,187.897],[-141.656,190.568],[-141.656,190.569],[-141.646,190.587],[-126.956,190.732],[-127.476,188.767],[-127.756,179.127],[-23.676,6.437],[-23.676,-7.673],[-127.746,-181.303],[-125.893,-198.458],[129.768,-198.362],[130.784,-181.303],[26.704,-7.673],[26.704,6.437],[130.774,179.127],[130.494,188.757],[129.974,190.732],[144.664,190.588],[144.674,190.568],[144.674,190.568],[144.714,187.897]],"c":true}]},{"t":160,"s":[{"i":[[52.94,17.31],[-3.77,1.23],[-7.45,4.09],[-1.64,0.99],[-1.62,1.07],[-3.18,2.49],[-0.79,0.64],[-1.55,1.37],[-1.52,1.46],[-0.75,0.75],[0,69.89],[1.2,8.18],[0,0],[0,-8.88],[-52.94,-17.32],[-0.2,-0.1],[-0.18,-0.13],[-0.15,-0.16],[-0.12,-0.16],[1.02,-1.31],[0.12,-0.11],[0.7,-0.23],[17.28,-17.29],[2.17,-2.46],[7,-13.72],[1.97,-4.75],[0.48,-1.21],[0.67,-1.87],[0.43,-1.27],[0.41,-1.29],[0.39,-1.32],[0.37,-1.34],[0.35,-1.36],[0.6,-2.83],[0.28,-1.43],[0,-18.75],[-0.04,-1.29],[-0.01,-0.01],[-0.01,-0.12],[-8.9,-0.94],[0.13,2.2],[0,3.27],[-58.4,25.42],[6.68,2.63],[0,90.06],[-1.06,7.27],[0,0],[0,-7.89],[64.29,-31.01],[-6.63,-2.72],[0,-90.06],[0.19,-3.16],[0.22,-2.15],[-0.62,1.11],[0,0.14],[0,0],[0,1.31]],"o":[[-3.77,-1.23],[7.44,-2.44],[1.65,-0.91],[1.65,-0.99],[3.26,-2.16],[0.79,-0.63],[1.57,-1.29],[1.55,-1.38],[0.76,-0.73],[30.79,-30.81],[0,-8.88],[0,0],[-1.2,8.18],[0,109.09],[0.24,0.08],[0.21,0.1],[0.17,0.12],[0.15,0.15],[0.97,1.34],[-0.1,0.13],[-0.44,0.44],[-19.02,6.22],[-2.26,2.25],[-9.04,10.21],[-2.24,4.39],[-0.49,1.19],[-0.71,1.82],[-0.44,1.25],[-0.42,1.27],[-0.41,1.3],[-0.39,1.32],[-0.37,1.34],[-0.69,2.73],[-0.3,1.41],[-3.07,15.81],[0,1.31],[0,0],[-0.01,0.13],[0.56,1.11],[-0.22,-2.15],[-0.19,-3.16],[0,-90.06],[6.57,-2.86],[-57.87,-22.72],[0,-7.89],[0,0],[1.07,7.27],[0,90.06],[-6.44,3.1],[59.65,24.45],[0,3.26],[-0.12,2.21],[8.85,-0.93],[0,-0.13],[0,-0.01],[0.03,-1.29],[0,-109.09]],"v":[[34.574,3.057],[34.574,-4.283],[56.994,-14.053],[61.934,-16.903],[66.844,-20.003],[76.514,-26.963],[78.894,-28.863],[83.584,-32.853],[88.184,-37.103],[90.454,-39.333],[144.724,-189.123],[142.914,-214.723],[-139.876,-214.723],[-141.696,-189.123],[-31.556,-4.283],[-30.896,-4.013],[-30.316,-3.663],[-29.836,-3.253],[-29.436,-2.793],[-29.516,1.667],[-29.836,2.027],[-31.556,3.057],[-87.426,38.097],[-94.066,45.157],[-118.346,81.017],[-124.666,94.737],[-126.116,98.347],[-128.186,103.877],[-129.496,107.657],[-130.746,111.507],[-131.936,115.427],[-133.066,119.417],[-134.136,123.477],[-136.076,131.817],[-136.946,136.087],[-141.706,187.897],[-141.656,191.807],[-141.656,191.817],[-141.646,192.197],[-126.956,195.287],[-127.476,188.767],[-127.756,179.127],[-23.676,6.437],[-23.676,-7.673],[-127.746,-181.303],[-126.146,-204.043],[129.174,-204.043],[130.784,-181.303],[26.704,-7.673],[26.704,6.437],[130.774,179.127],[130.494,188.757],[129.974,195.297],[144.664,192.217],[144.674,191.807],[144.674,191.797],[144.714,187.897]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.776470601559,0.690196096897,0.800000011921,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":40},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"t":130,"s":[{"i":[[0,-109.09],[0.03,-1.29],[0,-0.01],[0,-0.13],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[-0.01,0.13],[0,0],[0,1.31],[-3.07,15.81],[-0.3,1.41],[-0.69,2.73],[-0.37,1.34],[-0.39,1.32],[-0.41,1.3],[-0.42,1.27],[-0.44,1.25],[-0.71,1.82],[-0.49,1.19],[-2.24,4.39],[-9.03,10.21],[-2.25,2.25],[-19.02,6.22],[-0.44,0.44],[-0.1,0.13],[0.97,1.34],[0.15,0.14],[0.17,0.12],[0.21,0.1],[0.24,0.08],[0,109.09],[-1.2,8.18],[0,0],[0,-8.88],[30.79,-30.81],[0.76,-0.73],[1.55,-1.37],[1.57,-1.28],[0.79,-0.63],[3.26,-2.15],[1.65,-0.99],[1.65,-0.91],[7.44,-2.44],[-3.77,-1.23]],"o":[[0,1.31],[0,0],[0,0.14],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.01,-0.12],[-0.01,-0.01],[-0.04,-1.29],[0,-18.75],[0.28,-1.43],[0.6,-2.83],[0.35,-1.36],[0.37,-1.34],[0.39,-1.32],[0.41,-1.29],[0.43,-1.27],[0.67,-1.87],[0.48,-1.21],[1.97,-4.75],[7,-13.72],[2.17,-2.45],[17.28,-17.29],[0.7,-0.23],[0.11,-0.11],[1.02,-1.31],[-0.12,-0.17],[-0.15,-0.16],[-0.18,-0.13],[-0.2,-0.1],[-52.94,-17.32],[0,-8.88],[0,0],[1.2,8.18],[0,69.89],[-0.75,0.75],[-1.52,1.46],[-1.55,1.38],[-0.79,0.64],[-3.18,2.49],[-1.62,1.07],[-1.64,0.99],[-7.45,4.09],[-3.77,1.23],[52.94,17.31]],"v":[[144.714,187.897],[144.674,191.797],[144.674,191.807],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.656,191.817],[-141.656,191.807],[-141.706,187.897],[-136.946,136.087],[-136.076,131.817],[-134.136,123.477],[-133.066,119.417],[-131.936,115.427],[-130.746,111.507],[-129.496,107.657],[-128.186,103.877],[-126.116,98.347],[-124.666,94.737],[-118.346,81.017],[-94.066,45.157],[-87.426,38.097],[-31.556,3.057],[-29.836,2.027],[-29.516,1.667],[-29.436,-2.793],[-29.836,-3.253],[-30.316,-3.663],[-30.896,-4.013],[-31.556,-4.283],[-141.696,-189.123],[-139.876,-214.723],[142.914,-214.723],[144.724,-189.123],[90.454,-39.333],[88.184,-37.103],[83.584,-32.853],[78.894,-28.863],[76.514,-26.963],[66.844,-20.003],[61.934,-16.903],[56.994,-14.053],[34.574,-4.283],[34.574,3.057]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,-109.09],[0.03,-0.061],[0,0],[0,-0.006],[8.85,-0.044],[56.18,0],[23.48,0.116],[0.56,0.052],[-0.01,0.006],[0,0],[0,1.31],[-3.07,15.81],[-0.3,1.41],[-0.69,2.73],[-0.37,1.34],[-0.39,1.32],[-0.41,1.3],[-0.42,1.27],[-0.44,1.25],[-0.71,1.82],[-0.49,1.19],[-2.24,4.39],[-9.03,10.21],[-2.25,2.25],[-19.02,6.22],[-0.44,0.44],[-0.1,0.13],[0.97,1.34],[0.15,0.14],[0.17,0.12],[0.21,0.1],[0.24,0.08],[0,109.09],[-1.2,8.18],[0,0],[0,-8.88],[30.79,-30.81],[0.76,-0.73],[1.55,-1.37],[1.57,-1.28],[0.79,-0.63],[3.26,-2.15],[1.65,-0.99],[1.65,-0.91],[7.44,-2.44],[-3.77,-1.23]],"o":[[0,1.31],[0,0],[0,0.007],[-0.62,0.052],[-23.34,0.115],[-56.29,0],[-8.9,-0.044],[-0.01,-0.006],[-0.01,0],[-0.04,-0.06],[0,-18.75],[0.28,-1.43],[0.6,-2.83],[0.35,-1.36],[0.37,-1.34],[0.39,-1.32],[0.41,-1.29],[0.43,-1.27],[0.67,-1.87],[0.48,-1.21],[1.97,-4.75],[7,-13.72],[2.17,-2.45],[17.28,-17.29],[0.7,-0.23],[0.11,-0.11],[1.02,-1.31],[-0.12,-0.17],[-0.15,-0.16],[-0.18,-0.13],[-0.2,-0.1],[-52.94,-17.32],[0,-8.88],[0,0],[1.2,8.18],[0,69.89],[-0.75,0.75],[-1.52,1.46],[-1.55,1.38],[-0.79,0.64],[-3.18,2.49],[-1.62,1.07],[-1.64,0.99],[-7.45,4.09],[-3.77,1.23],[52.94,17.31]],"v":[[144.714,187.897],[144.674,190.568],[144.674,190.568],[144.664,190.587],[129.974,190.732],[1.854,190.926],[-126.956,190.731],[-141.646,190.587],[-141.656,190.569],[-141.656,190.568],[-141.706,187.897],[-136.946,136.087],[-136.076,131.817],[-134.136,123.477],[-133.066,119.417],[-131.936,115.427],[-130.746,111.507],[-129.496,107.657],[-128.186,103.877],[-126.116,98.347],[-124.666,94.737],[-118.346,81.017],[-94.066,45.157],[-87.426,38.097],[-31.556,3.057],[-29.836,2.027],[-29.516,1.667],[-29.436,-2.793],[-29.836,-3.253],[-30.316,-3.663],[-30.896,-4.013],[-31.556,-4.283],[-141.696,-189.123],[-141.156,-198.548],[144.33,-198.335],[144.724,-189.123],[90.454,-39.333],[88.184,-37.103],[83.584,-32.853],[78.894,-28.863],[76.514,-26.963],[66.844,-20.003],[61.934,-16.903],[56.994,-14.053],[34.574,-4.283],[34.574,3.057]],"c":true}]},{"t":160,"s":[{"i":[[0,-109.09],[0.03,-1.29],[0,-0.01],[0,-0.13],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[-0.01,0.13],[0,0],[0,1.31],[-3.07,15.81],[-0.3,1.41],[-0.69,2.73],[-0.37,1.34],[-0.39,1.32],[-0.41,1.3],[-0.42,1.27],[-0.44,1.25],[-0.71,1.82],[-0.49,1.19],[-2.24,4.39],[-9.03,10.21],[-2.25,2.25],[-19.02,6.22],[-0.44,0.44],[-0.1,0.13],[0.97,1.34],[0.15,0.14],[0.17,0.12],[0.21,0.1],[0.24,0.08],[0,109.09],[-1.2,8.18],[0,0],[0,-8.88],[30.79,-30.81],[0.76,-0.73],[1.55,-1.37],[1.57,-1.28],[0.79,-0.63],[3.26,-2.15],[1.65,-0.99],[1.65,-0.91],[7.44,-2.44],[-3.77,-1.23]],"o":[[0,1.31],[0,0],[0,0.14],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.01,-0.12],[-0.01,-0.01],[-0.04,-1.29],[0,-18.75],[0.28,-1.43],[0.6,-2.83],[0.35,-1.36],[0.37,-1.34],[0.39,-1.32],[0.41,-1.29],[0.43,-1.27],[0.67,-1.87],[0.48,-1.21],[1.97,-4.75],[7,-13.72],[2.17,-2.45],[17.28,-17.29],[0.7,-0.23],[0.11,-0.11],[1.02,-1.31],[-0.12,-0.17],[-0.15,-0.16],[-0.18,-0.13],[-0.2,-0.1],[-52.94,-17.32],[0,-8.88],[0,0],[1.2,8.18],[0,69.89],[-0.75,0.75],[-1.52,1.46],[-1.55,1.38],[-0.79,0.64],[-3.18,2.49],[-1.62,1.07],[-1.64,0.99],[-7.45,4.09],[-3.77,1.23],[52.94,17.31]],"v":[[144.714,187.897],[144.674,191.797],[144.674,191.807],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.656,191.817],[-141.656,191.807],[-141.706,187.897],[-136.946,136.087],[-136.076,131.817],[-134.136,123.477],[-133.066,119.417],[-131.936,115.427],[-130.746,111.507],[-129.496,107.657],[-128.186,103.877],[-126.116,98.347],[-124.666,94.737],[-118.346,81.017],[-94.066,45.157],[-87.426,38.097],[-31.556,3.057],[-29.836,2.027],[-29.516,1.667],[-29.436,-2.793],[-29.836,-3.253],[-30.316,-3.663],[-30.896,-4.013],[-31.556,-4.283],[-141.696,-189.123],[-139.876,-214.723],[142.914,-214.723],[144.724,-189.123],[90.454,-39.333],[88.184,-37.103],[83.584,-32.853],[78.894,-28.863],[76.514,-26.963],[66.844,-20.003],[61.934,-16.903],[56.994,-14.053],[34.574,-4.283],[34.574,3.057]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.886274516582,0.839215695858,0.898039221764,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":47,"ty":4,"parent":4,"sr":1,"ks":{"r":{"a":1,"k":[{"t":144,"s":[0],"h":1},{"t":145,"s":[180],"h":1}]},"p":{"a":1,"k":[{"t":144,"s":[1.854,208.928,0],"h":1},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[1.854,-213.572,0],"to":[0,0,0],"ti":[0,0,0]},{"t":160,"s":[-2.146,-208.947,0]}]},"a":{"a":0,"k":[1.854,208.928,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,-0.06],[0.04,-0.07],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[0,0.07],[-0.04,0.06],[0,0],[-8.61,0.92],[-56.71,0],[-23.13,-2.49],[-0.56,-1.09],[0,-0.01]],"o":[[0,0.07],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.04,-0.07],[0,-0.06],[-0.01,-0.01],[0.53,-1.09],[23.28,-2.49],[56.6,0],[8.59,0.92],[0,0],[0.03,0.06]],"v":[[144.724,191.997],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.706,191.997],[-141.656,191.817],[-141.656,191.807],[-127.476,188.767],[1.854,184.557],[130.494,188.757],[144.674,191.797],[144.674,191.807]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0.04,0],[8.85,0],[56.18,0],[23.48,0],[0.56,0],[0,0],[-0.04,0],[0,0],[-8.61,0],[-56.71,0],[-23.13,0],[-0.56,0],[0,0]],"o":[[0,0],[-0.62,0],[-23.34,0],[-56.29,0],[-8.9,0],[-0.04,0],[0,0],[-0.01,0],[0.53,0],[23.28,0],[56.6,0],[8.59,0],[0,0],[0.03,0]],"v":[[144.724,191.998],[144.664,191.998],[129.974,191.999],[1.854,191.999],[-126.956,191.999],[-141.646,191.998],[-141.706,191.998],[-141.656,191.998],[-141.656,191.998],[-127.476,191.998],[1.854,191.997],[130.494,191.998],[144.674,191.998],[144.674,191.998]],"c":true}]},{"t":160,"s":[{"i":[[0,-0.06],[0.04,-0.07],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[0,0.07],[-0.04,0.06],[0,0],[-8.61,0.92],[-56.71,0],[-23.13,-2.49],[-0.56,-1.09],[0,-0.01]],"o":[[0,0.07],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.04,-0.07],[0,-0.06],[-0.01,-0.01],[0.53,-1.09],[23.28,-2.49],[56.6,0],[8.59,0.92],[0,0],[0.03,0.06]],"v":[[144.724,191.997],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.706,191.997],[-141.656,191.817],[-141.656,191.807],[-127.476,188.767],[1.854,184.557],[130.494,188.757],[144.674,191.797],[144.674,191.807]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.211764708161,0.101960785687,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,-0.06],[0.04,-0.07],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[0,0.07],[-0.04,0.06],[0,0],[-8.61,0.92],[-56.71,0],[-23.13,-2.49],[-0.56,-1.09],[0,-0.01]],"o":[[0,0.07],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.04,-0.07],[0,-0.06],[-0.01,-0.01],[0.53,-1.09],[23.28,-2.49],[56.6,0],[8.59,0.92],[0,0],[0.03,0.06]],"v":[[144.724,191.997],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.706,191.997],[-141.656,191.817],[-141.656,191.807],[-127.476,188.767],[1.854,184.557],[130.494,188.757],[144.674,191.797],[144.674,191.807]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0.04,0],[8.85,0],[56.18,0],[23.48,0],[0.56,0],[0,0],[-0.04,0],[0,0],[-8.61,0],[-56.71,0],[-23.13,0],[-0.56,0],[0,0]],"o":[[0,0],[-0.62,0],[-23.34,0],[-56.29,0],[-8.9,0],[-0.04,0],[0,0],[-0.01,0],[0.53,0],[23.28,0],[56.6,0],[8.59,0],[0,0],[0.03,0]],"v":[[144.724,191.998],[144.664,191.998],[129.974,191.999],[1.854,191.999],[-126.956,191.999],[-141.646,191.998],[-141.706,191.998],[-141.656,191.998],[-141.656,191.998],[-127.476,191.998],[1.854,191.997],[130.494,191.998],[144.674,191.998],[144.674,191.998]],"c":true}]},{"t":160,"s":[{"i":[[0,-0.06],[0.04,-0.07],[8.85,-0.93],[56.18,0],[23.48,2.46],[0.56,1.11],[0,0.07],[-0.04,0.06],[0,0],[-8.61,0.92],[-56.71,0],[-23.13,-2.49],[-0.56,-1.09],[0,-0.01]],"o":[[0,0.07],[-0.62,1.11],[-23.34,2.45],[-56.29,0],[-8.9,-0.94],[-0.04,-0.07],[0,-0.06],[-0.01,-0.01],[0.53,-1.09],[23.28,-2.49],[56.6,0],[8.59,0.92],[0,0],[0.03,0.06]],"v":[[144.724,191.997],[144.664,192.217],[129.974,195.297],[1.854,199.437],[-126.956,195.287],[-141.646,192.197],[-141.706,191.997],[-141.656,191.817],[-141.656,191.807],[-127.476,188.767],[1.854,184.557],[130.494,188.757],[144.674,191.797],[144.674,191.807]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.352941185236,0.815686285496,1,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,-7.558],[91.806,0],[0,7.558],[-91.806,0]],"o":[[0,7.558],[-91.806,0],[0,-7.558],[91.806,0]],"v":[[168.083,191.998],[1.853,205.683],[-164.376,191.998],[1.853,178.314]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,-0.001],[91.806,0],[0,0.001],[-91.806,0]],"o":[[0,0.001],[-91.806,0],[0,-0.001],[91.806,0]],"v":[[168.083,191.998],[1.853,192],[-164.376,191.998],[1.853,191.996]],"c":true}]},{"t":160,"s":[{"i":[[0,-7.558],[91.806,0],[0,7.558],[-91.806,0]],"o":[[0,7.558],[-91.806,0],[0,-7.558],[91.806,0]],"v":[[168.083,191.998],[1.853,205.683],[-164.376,191.998],[1.853,178.314]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.627451002598,0.396078437567,0.239215686917,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[-91.806,0],[0,7.558]],"o":[[0,7.558],[91.806,0],[0,0]],"v":[[-164.376,209.524],[1.853,223.209],[168.083,209.524]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[-91.806,0],[0,-0.152]],"o":[[0,-0.152],[91.806,0],[0,0]],"v":[[-164.376,209.524],[1.853,209.25],[168.083,209.524]],"c":false}]},{"t":160,"s":[{"i":[[0,0],[-91.806,0],[0,7.558]],"o":[[0,7.558],[91.806,0],[0,0]],"v":[[-164.376,209.524],[1.853,223.209],[168.083,209.524]],"c":false}]}]},"hd":false},{"ty":"st","c":{"a":0,"k":[0.156862750649,0.090196080506,0.04705882445,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[5.12,-1.32],[0,0]],"o":[[0,0],[0,1.46],[0,0],[0,0]],"v":[[168.084,191.997],[168.084,225.857],[160.194,230.037],[160.194,191.997]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[5.12,0.01],[0,0]],"o":[[0,0],[0,-0.011],[0,0],[0,0]],"v":[[168.084,191.998],[168.084,225.857],[160.194,225.824],[160.194,191.998]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[5.12,-1.32],[0,0]],"o":[[0,0],[0,1.46],[0,0],[0,0]],"v":[[168.084,191.997],[168.084,225.857],[160.194,230.037],[160.194,191.997]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[0,1.46],[0,0]],"o":[[0,0],[-5.12,-1.32],[0,0],[0,0]],"v":[[-156.486,191.997],[-156.486,230.037],[-164.376,225.857],[-164.376,191.997]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[0,-0.011],[0,0]],"o":[[0,0],[-5.12,0.01],[0,0],[0,0]],"v":[[-156.486,191.998],[-156.486,225.824],[-164.376,225.857],[-164.376,191.998]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[0,1.46],[0,0]],"o":[[0,0],[-5.12,-1.32],[0,0],[0,0]],"v":[[-156.486,191.997],[-156.486,230.037],[-164.376,225.857],[-164.376,191.997]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.509803950787,0.301960796118,0.164705887437,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[-91.806,0],[0,7.558],[0,0]],"o":[[0,0],[0,7.558],[91.806,0],[0,0],[0,0]],"v":[[-164.376,191.998],[-164.376,225.857],[1.853,239.541],[168.083,225.857],[168.083,191.998]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":145,"s":[{"i":[[0,0],[0,0],[-91.806,0],[0,-0.059],[0,0]],"o":[[0,0],[0,-0.059],[91.806,0],[0,0],[0,0]],"v":[[-164.376,191.998],[-164.376,225.857],[1.853,225.75],[168.083,225.857],[168.083,191.998]],"c":true}]},{"t":160,"s":[{"i":[[0,0],[0,0],[-91.806,0],[0,7.558],[0,0]],"o":[[0,0],[0,7.558],[91.806,0],[0,0],[0,0]],"v":[[-164.376,191.998],[-164.376,225.857],[1.853,239.541],[168.083,225.857],[168.083,191.998]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.337254911661,0.211764708161,0.1254902035,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/raw/wallet_toobad.tgs b/TMessagesProj/src/main/res/raw/wallet_toobad.tgs deleted file mode 100644 index 0a1a9d3b0..000000000 --- a/TMessagesProj/src/main/res/raw/wallet_toobad.tgs +++ /dev/null @@ -1 +0,0 @@ -{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"sad 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[256,270,0]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"parent":1,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.68,"y":0},"t":31,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[9.1,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89,"s":[-9.1,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[9.1,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":138,"s":[-9.1,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[0,0,0]}]},"s":{"a":0,"k":[70,70,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"parent":2,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":38,"s":[0,-47.143,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":87,"s":[0,11.429,0],"to":[0,0,0],"ti":[0,0,0]},{"t":132,"s":[0,0,0]}]},"s":{"a":0,"k":[142.857,142.857,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"parent":11,"sr":1,"ks":{"o":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.68,"y":0},"t":31,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":64,"s":[13,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":89,"s":[-23.922,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":114,"s":[18.452,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":138,"s":[-15.857,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[0,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"parent":4,"sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.68],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":58,"s":[1.98]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":83,"s":[-1.98]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":108,"s":[1.98]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":132,"s":[-1.98]},{"t":180,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.33,"y":0},"t":31,"s":[0,-44.429,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.167,"y":0},"t":80,"s":[0,16.415,0],"to":[0,0,0],"ti":[0,0,0]},{"t":131,"s":[0,0,0]}]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"parent":5,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":27,"s":[-5]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[15]},{"t":128,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[-151.228,-17.702,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[-151.228,-31.307,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":72,"s":[-151.457,9.213,0],"to":[0,0,0],"ti":[0,0,0]},{"t":169,"s":[-151.228,-17.702,0]}]},"a":{"a":0,"k":[150.026,-17.702,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.34,-3.09],[1.77,0.58],[8.21,1.91],[5.46,4.74],[0.8,-1.89],[-2.91,-2.52],[-30.66,-7.12],[-4.46,-1.45]],"o":[[-0.82,-0.81],[-4.46,-1.46],[-30.66,-7.12],[-1.77,-1.53],[-1.54,-6.35],[5.46,4.74],[8.21,1.91],[5.22,1.71]],"v":[[147.929,-27.763],[144.049,-29.873],[125.359,-33.693],[70.889,-65.853],[66.52,-65.203],[70.889,-71.453],[125.359,-39.293],[144.049,-35.483]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.1254902035,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.56,-3.497],[3.119,-0.626],[17.394,16.448],[-5.468,-4.742],[-30.656,-7.126],[-4.455,-1.458]],"o":[[-1.297,1.274],[-13.514,2.714],[-24.77,-23.422],[5.468,4.742],[8.214,1.91],[5.885,1.926]],"v":[[146.899,-26.593],[138.886,-23.028],[84.381,-40.026],[70.886,-71.453],[125.358,-39.292],[144.045,-35.479]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.525490224361,0.247058823705,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[5.01,-4.415],[3.119,-0.626],[17.394,16.448],[-5.468,-4.742],[-30.656,-7.126],[-4.455,-1.458]],"o":[[-1.364,1.202],[-13.514,2.714],[-24.77,-23.422],[5.468,4.742],[8.214,1.91],[5.885,1.926]],"v":[[146.501,-21.659],[138.141,-18.42],[81.355,-36.883],[70.886,-71.453],[125.465,-36.332],[145.344,-34.99]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.933333337307,0.741176486015,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"parent":5,"sr":1,"ks":{"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":27,"s":[5]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[-15]},{"t":128,"s":[0]}]},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[150.026,-17.702,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[150.025,-31.307,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":72,"s":[149.796,9.213,0],"to":[0,0,0],"ti":[0,0,0]},{"t":169,"s":[150.026,-17.702,0]}]},"a":{"a":0,"k":[150.026,-17.702,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[2.34,-3.09],[1.77,0.58],[8.21,1.91],[5.46,4.74],[0.8,-1.89],[-2.91,-2.52],[-30.66,-7.12],[-4.46,-1.45]],"o":[[-0.82,-0.81],[-4.46,-1.46],[-30.66,-7.12],[-1.77,-1.53],[-1.54,-6.35],[5.46,4.74],[8.21,1.91],[5.22,1.71]],"v":[[147.929,-27.763],[144.049,-29.873],[125.359,-33.693],[70.889,-65.853],[66.52,-65.203],[70.889,-71.453],[125.359,-39.293],[144.049,-35.483]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.1254902035,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[3.56,-3.497],[3.119,-0.626],[17.394,16.448],[-5.468,-4.742],[-30.656,-7.126],[-4.455,-1.458]],"o":[[-1.297,1.274],[-13.514,2.714],[-24.77,-23.422],[5.468,4.742],[8.214,1.91],[5.885,1.926]],"v":[[146.899,-26.593],[138.886,-23.028],[84.381,-40.026],[70.886,-71.453],[125.358,-39.292],[144.045,-35.479]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.525490224361,0.247058823705,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[5.01,-4.415],[3.119,-0.626],[17.394,16.448],[-5.468,-4.742],[-30.656,-7.126],[-4.455,-1.458]],"o":[[-1.364,1.202],[-13.514,2.714],[-24.77,-23.422],[5.468,4.742],[8.214,1.91],[5.885,1.926]],"v":[[146.501,-21.659],[138.141,-18.42],[81.355,-36.883],[70.886,-71.453],[125.465,-36.332],[145.344,-34.99]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.933333337307,0.741176486015,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[0.67,118.273,0]},"a":{"a":0,"k":[0.67,118.273,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.17,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,-5.7],[0.36,-1.04],[4.53,0],[0,0],[1.87,-1.88],[0.51,-1.53],[0,1.16],[-1.88,1.88],[-2.85,0],[0,0]],"o":[[0,1.16],[-1.39,-4.09],[0,0],[-2.85,0],[-1.12,1.12],[-0.36,-1.04],[0,-2.85],[1.87,-1.87],[0,0],[5.69,0]],"v":[[41.716,117.517],[41.166,120.837],[31.366,113.787],[-30.024,113.787],[-37.334,116.827],[-39.824,120.837],[-40.374,117.517],[-37.334,110.197],[-30.024,107.157],[31.366,107.157]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[0,-8.459],[0.639,-1.579],[8.125,1.619],[17.891,-4.409],[3.128,-3.607],[0.949,-2.323],[0,1.595],[-2.913,3.024],[-7.882,2.807],[-18.714,-6.414]],"o":[[0,1.595],[-2.469,-6.209],[-18.159,-3.619],[-7.016,1.729],[-1.621,1.869],[-0.67,-1.579],[0,-3.919],[3.537,-3.672],[12.922,-4.603],[9.21,3.156]],"v":[[49.377,130.297],[48.412,134.099],[31.008,119.804],[-29.301,119.212],[-43.013,127.135],[-47.539,134.084],[-48.563,129.859],[-43.748,117.864],[-30.93,108.938],[31.216,109.142]],"c":true}]},{"t":79,"s":[{"i":[[0,-5.7],[0.36,-1.04],[4.53,0],[0,0],[1.87,-1.88],[0.51,-1.53],[0,1.16],[-1.88,1.88],[-2.85,0],[0,0]],"o":[[0,1.16],[-1.39,-4.09],[0,0],[-2.85,0],[-1.12,1.12],[-0.36,-1.04],[0,-2.85],[1.87,-1.87],[0,0],[5.69,0]],"v":[[41.716,117.517],[41.166,120.837],[31.366,113.787],[-30.024,113.787],[-37.334,116.827],[-39.824,120.837],[-40.374,117.517],[-37.334,110.197],[-30.024,107.157],[31.366,107.157]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.1254902035,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.17,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[31.364,127.868],[-30.025,127.868],[-40.379,117.514],[-40.379,117.514],[-30.025,107.159],[31.364,107.159],[41.719,117.514],[41.719,117.514]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[8.259,-1.741],[18.211,3.802],[0,7.832],[0,0],[-10.598,0],[0,0],[0,-7.832],[0,0]],"o":[[-18.202,3.836],[-8.471,-1.769],[0,0],[0,-7.832],[0,0],[10.114,0],[0,0],[0,7.832]],"v":[[31.005,146.051],[-29.302,146.036],[-48.572,129.854],[-48.572,129.854],[-29.302,110.097],[28.068,113.701],[49.394,129.868],[49.394,129.868]],"c":true}]},{"t":79,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[31.364,127.868],[-30.025,127.868],[-40.379,117.514],[-40.379,117.514],[-30.025,107.159],[31.364,107.159],[41.719,117.514],[41.719,117.514]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.525490224361,0.247058823705,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.17,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[32.73,133.705],[-31.391,133.705],[-41.745,123.351],[-41.745,119.195],[-31.391,108.841],[32.73,108.841],[43.085,119.195],[43.085,123.351]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[8.285,-1.637],[19.885,3.895],[0,8.646],[0,0],[-9.768,2.33],[-19.507,-4.712],[0,-8.646],[0,0]],"o":[[-19.877,3.928],[-8.498,-1.665],[0,0],[0,-8.646],[19.527,-4.657],[9.583,2.315],[0,0],[0,8.646]],"v":[[33.431,154.914],[-31.844,154.899],[-51.114,137.901],[-51.114,131.592],[-31.845,112.41],[33.431,113.002],[51.82,131.607],[51.82,137.916]],"c":true}]},{"t":79,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[32.73,133.705],[-31.391,133.705],[-41.745,123.351],[-41.745,119.195],[-31.391,108.841],[32.73,108.841],[43.085,119.195],[43.085,123.351]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.886274516582,0.65098041296,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.17,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[32.73,127.705],[-31.391,127.705],[-41.745,117.351],[-41.745,113.195],[-31.391,102.841],[32.73,102.841],[43.085,113.195],[43.085,117.351]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[8.285,-1.637],[19.885,3.895],[0,7.832],[0,0],[-9.278,3.397],[-21.775,-6.806],[0,-7.832],[0,0]],"o":[[-19.877,3.928],[-8.498,-1.665],[0,0],[0,-7.832],[18.922,-6.928],[9.329,2.916],[0,0],[0,7.832]],"v":[[33.431,145.804],[-31.844,145.79],[-51.114,129.631],[-51.114,123.916],[-31.845,104.159],[33.431,104.751],[51.82,123.929],[51.82,129.644]],"c":true}]},{"t":79,"s":[{"i":[[5.695,0],[0,0],[0,5.695],[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0]],"o":[[0,0],[-5.695,0],[0,0],[0,-5.695],[0,0],[5.695,0],[0,0],[0,5.695]],"v":[[32.73,127.705],[-31.391,127.705],[-41.745,117.351],[-41.745,113.195],[-31.391,102.841],[32.73,102.841],[43.085,113.195],[43.085,117.351]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":60},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[77.527,43.941,0]},"a":{"a":0,"k":[-76.473,43.941,0]},"s":{"a":0,"k":[-100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-3.02,-6.13],[-4.15,-2.39],[-10.29,0],[-17.63,10.34],[-1.47,-1.27],[8.15,-4.79],[10.28,0],[15.57,8.97]],"o":[[1.46,-1.25],[15.57,8.97],[10.28,0],[4.15,-2.43],[2.99,-6.13],[-17.63,10.34],[-10.29,0],[-8.2,-4.73]],"v":[[-125.77,30.857],[-117.26,32.127],[-76.4,42.727],[-35.55,32.127],[-27.03,30.837],[-35.55,25.357],[-76.4,35.957],[-117.26,25.357]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-3.02,-6.13],[-4.175,-1.648],[-11.22,0],[-17.743,7.131],[-1.47,-1.27],[8.203,-3.305],[11.209,0],[15.665,6.188]],"o":[[1.46,-1.25],[15.665,6.187],[11.209,0],[4.176,-1.676],[2.99,-6.13],[-17.742,7.133],[-11.22,0],[-8.251,-3.264]],"v":[[-125.77,30.857],[-117.402,30.782],[-76.403,37.659],[-35.548,30.299],[-27.03,30.837],[-35.064,24.257],[-76.403,31.472],[-117.879,24.735]],"c":true}]},{"t":83,"s":[{"i":[[-3.02,-6.13],[-4.15,-2.39],[-10.29,0],[-17.63,10.34],[-1.47,-1.27],[8.15,-4.79],[10.28,0],[15.57,8.97]],"o":[[1.46,-1.25],[15.57,8.97],[10.28,0],[4.15,-2.43],[2.99,-6.13],[-17.63,10.34],[-10.29,0],[-8.2,-4.73]],"v":[[-125.77,30.857],[-117.26,32.127],[-76.4,42.727],[-35.55,32.127],[-27.03,30.837],[-35.55,25.357],[-76.4,35.957],[-117.26,25.357]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.1254902035,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.262,25.355],[-76.405,35.955],[-35.548,25.355],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-9.037,-3.569],[-11.216,0],[-17.741,7.136],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.667,6.188],[11.216,0],[8.998,-3.619],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.881,24.734],[-76.408,31.471],[-35.061,24.256],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]},{"t":83,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.262,25.355],[-76.405,35.955],[-35.548,25.355],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.525490224361,0.247058823705,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-119.605,24.898],[-76.405,40.955],[-33.59,25.027],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-9.037,-3.569],[-11.216,0],[-17.741,7.136],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.667,6.188],[11.216,0],[8.998,-3.619],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-120.175,24.6],[-76.408,36.04],[-33.15,24.195],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]},{"t":83,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-119.605,24.898],[-76.405,40.955],[-33.59,25.027],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.886274516582,0.65098041296,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"parent":5,"sr":1,"ks":{"p":{"a":0,"k":[-76.473,43.941,0]},"a":{"a":0,"k":[-76.473,43.941,0]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-3.02,-6.13],[-4.15,-2.39],[-10.29,0],[-17.63,10.34],[-1.47,-1.27],[8.15,-4.79],[10.28,0],[15.57,8.97]],"o":[[1.46,-1.25],[15.57,8.97],[10.28,0],[4.15,-2.43],[2.99,-6.13],[-17.63,10.34],[-10.29,0],[-8.2,-4.73]],"v":[[-125.77,30.857],[-117.26,32.127],[-76.4,42.727],[-35.55,32.127],[-27.03,30.837],[-35.55,25.357],[-76.4,35.957],[-117.26,25.357]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-3.02,-6.13],[-4.142,-1.636],[-10.29,0],[-17.608,7.13],[-1.47,-1.27],[8.14,-3.304],[10.28,0],[15.538,6.143]],"o":[[1.46,-1.25],[15.539,6.142],[10.28,0],[4.144,-1.675],[2.99,-6.13],[-17.607,7.132],[-10.29,0],[-8.184,-3.24]],"v":[[-125.77,30.857],[-117.149,30.365],[-76.319,37.687],[-35.498,30.286],[-27.03,30.837],[-35.234,24.469],[-76.319,31.806],[-117.416,24.55]],"c":true}]},{"t":83,"s":[{"i":[[-3.02,-6.13],[-4.15,-2.39],[-10.29,0],[-17.63,10.34],[-1.47,-1.27],[8.15,-4.79],[10.28,0],[15.57,8.97]],"o":[[1.46,-1.25],[15.57,8.97],[10.28,0],[4.15,-2.43],[2.99,-6.13],[-17.63,10.34],[-10.29,0],[-8.2,-4.73]],"v":[[-125.77,30.857],[-117.26,32.127],[-76.4,42.727],[-35.55,32.127],[-27.03,30.837],[-35.55,25.357],[-76.4,35.957],[-117.26,25.357]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.419607847929,0.1254902035,0,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.262,25.355],[-76.405,35.955],[-35.548,25.355],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-8.964,-3.543],[-10.286,0],[-17.606,7.134],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.54,6.143],[10.286,0],[8.929,-3.618],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.417,24.548],[-76.323,31.805],[-35.231,24.468],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]},{"t":83,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-117.262,25.355],[-76.405,35.955],[-35.548,25.355],[-28.062,32.656],[-76.405,59.613],[-124.748,32.656]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[0.525490224361,0.247058823705,0.078431375325,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.432,"y":0},"t":0,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-119.605,24.898],[-76.405,40.955],[-33.59,25.027],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]},{"i":{"x":0.34,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[{"i":[[-8.964,-3.543],[-10.286,0],[-17.606,7.134],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.54,6.143],[10.286,0],[8.929,-3.618],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-119.72,24.391],[-76.323,36.148],[-33.309,24.38],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]},{"t":83,"s":[{"i":[[-8.982,-5.175],[-10.286,0],[-17.628,10.343],[4.629,-7.072],[28.886,0],[4.629,7.071]],"o":[[15.571,8.971],[10.286,0],[8.941,-5.246],[-4.629,7.071],[-28.886,0],[-4.629,-7.072]],"v":[[-119.605,24.898],[-76.405,40.955],[-33.59,25.027],[-28.062,37.656],[-76.405,64.613],[-124.748,37.656]],"c":true}]}]},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.886274516582,0.65098041296,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"parent":3,"sr":1,"ks":{"p":{"a":0,"k":[0.67,9.056,0]},"a":{"a":0,"k":[0.67,9.056,0]},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.33,0.33,0.33],"y":[0,0,0]},"t":32,"s":[95,105,100]},{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.33,0.33,0.33],"y":[0,0,0]},"t":85,"s":[105,95,100]},{"t":132,"s":[100,100,100]}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.723,-1.278]],"o":[[0,0],[0,0]],"v":[[15.688,-174.979],[28.278,-173.441]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-1.644,-0.406]],"o":[[1.538,0.335],[0,0]],"v":[[37.043,-171.76],[41.82,-170.649]],"c":false}},"hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":2,"lj":2,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-72.643],[82.438,0],[0,72.643],[-82.438,0]],"o":[[0,72.643],[-82.438,0],[0,-72.643],[82.438,0]],"v":[[149.937,-44.447],[0.67,-29.268],[-148.597,-44.447],[0.67,-175.979]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.874509811401,0.474509805441,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":90},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[1.457,-95.029],[92.978,1.425],[-1.457,95.029],[-92.978,-1.425]],"o":[[-1.457,95.029],[-92.978,-1.425],[1.457,-95.029],[92.978,1.425]],"v":[[169.077,-1.306],[-1.912,168.178],[-167.626,-6.466],[3.363,-175.95]],"c":true}},"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.819607853889,0.250980407,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,-104.313],[104.313,0],[0,104.313],[-104.313,0]],"o":[[0,104.313],[-104.313,0],[0,-104.313],[104.313,0]],"v":[[189.545,-2.018],[0.67,186.857],[-188.205,-2.018],[0.67,-190.894]],"c":true}},"hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745285,0.494117647409,0.254901975393,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":8},"lc":1,"lj":1,"ml":10,"bm":0,"hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.694117665291,0.223529413342,1]},"o":{"a":0,"k":100},"r":1,"bm":0,"hd":false},{"ty":"tr","p":{"a":0,"k":[0,0]},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"r":{"a":0,"k":0},"o":{"a":0,"k":100},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"bm":0,"hd":false}],"ip":0,"op":180,"st":0,"bm":0}]} \ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-ar/strings.xml b/TMessagesProj/src/main/res/values-ar/strings.xml index 58b96c04e..e440837aa 100644 --- a/TMessagesProj/src/main/res/values-ar/strings.xml +++ b/TMessagesProj/src/main/res/values-ar/strings.xml @@ -366,7 +366,7 @@ المعذرة، لا يمكنك إضافة هذا المستخدم للقنوات. المعذرة، يوجد الكثير من المشرفين في هذه القناة. عذرًا، يوجد الكثير من البوتات في هذه القناة. - المعذرة، يمكنك إضافة أول 200 عضو للقناة فقط. يمكن لعدد غير محدود من الناس الانضمامُ للقناة عبرَ رابطها. + المعذرة، يمكنك إضافة أول 200 عضو فقط إلى القناة. يمكن لعدد غير محدود من الناس الانضمام عبر رابط القناة. الكثير من المُجتمعات المعذرة، أنت عضو في الكثير من المجموعات والقنوات. الرجاء مغادرة بعض منها قبل إنشاء واحدة جديدة. المعذرة، أنت عضو في الكثير من المجموعات والقنوات. الرجاء مغادرة بعض منها قبل الانضمام لواحدة جديدة. @@ -403,7 +403,7 @@ إضافة أسماء المشرفين للمنشورات التي ينشرونها. صلاحيات المشرف لقب مخصص - قم باختيار لقب مخصص كي يظهر لجميع الأعضاء بدلًا من \'%1$s\'. + لقب مخصص سيكون مرئيًّا لجميع الأعضاء بدل من «%1$s». ما هي صلاحيات هذا المشرف؟ تغيير معلومات القناة تغيير معلومات المجموعة @@ -412,7 +412,7 @@ حذف رسائل الآخرين حذف الرسائل إضافة مشرفين جدد - إزالة المشرف + إزالة الإشراف نقل ملكية المجموعة نقل ملكية القناة تأكيد أمني @@ -613,10 +613,10 @@ غادر un1 المجموعة غادر un1 القناة un1 أضاف un2 - un1 انضم للمجموعة + انضم un1 للمجموعة حظر %1$s ألغى حظر %1$s - un1 انضم للقناة + انضم un1 للقناة عيّن un1 صورة جديدة للمجموعة عيّن un1 صورة جديدة للقناة أزال un1 صورة المجموعة @@ -722,7 +722,7 @@ بطاقة التخزين الخارجية مجلد الملفات الأخيرة - Files A-Z + الملفات أ-ي لم يتم العثور على نتائج ما من ملفات باسم **%1$s** في هذا المجلد. هذا المجلد فارغ. @@ -731,7 +731,7 @@ استعراض مجلد التطبيق استعراض جميع المجلدات استعراض ذاكرة التخزين الخارجية - Search music + بحث الصوتيات ملصقات المجموعة اختر من ملصقاتك @@ -909,6 +909,7 @@ حذف من عند %1$s حذف من عند كافة الأعضاء تم نسخ النص للحافظة + Hold to record audio. اضغط مطولًا لتسجيل الصوت، انقر للتحويل للمرئي. اضغط مطولًا لتسجيل مرئي، انقر للتحويل للصوتي. تجاهل الرسالة الصوتية @@ -935,7 +936,7 @@ "تثبيت ملفات APK محظور لهذا التطبيق، يمكنك السماح بهذا من إعدادات النظام. " الرسائل غير المقروءة بحث عن حزم الملصقات - بحث عن حزم الملصقات الشائعة + البحث عن الملصقات الشائعة بحث الرموز التعبيرية الرابط مزود معاينة الخرائط @@ -976,7 +977,18 @@ أرسل الرمز التعبيري **🎲** لرمي حجر النرد. أرسل الرمز التعبيري **🎯** لتجربة حظك. أرسل الرمز %1$s لتجربة حظك. - إرسالSend a dart emoji + إرسال + كوفيد-19 + PSA + تزودك هذه الرسالة بإعلان عام لمبادرة تتعلق بالجائحة الحالية كوفيد-19. تعرف على المزيد حول هذه المبادرة على https://telegram.org/blog/coronavirus + PSA info test + إشعار كوفيد-19 + تزودك هذه الرسالة بإعلان عام لمبادرة تتعلق بالجائحة الحالية كوفيد-19. تعرف على المزيد حول هذه المبادرة على https://telegram.org/blog/coronavirus + إشعار مهم + هذا إشعار مهم. + إخفاء المحادثة + هل أنت متأكد أنك تريد إخفاء هذه المحادثة؟ + إخفاء عيّن %1$s عداد التدمير الذاتي ليصبح %2$s قمت بتعيين عداد التدمير الذاتي ليصبح %1$s @@ -1029,7 +1041,7 @@ أرسل %1$s ملصقًا لمجموعة %2$s أرسل %1$s ملصق %3$s لمجموعة %2$s أضافك %1$s لمجموعة %2$s - %1$s انضم للمجموعة %2$s + انضم %1$s للمجموعة %2$s غيّرَ %1$s صورة مجموعة %2$s %1$s أضاف %3$s للمجموعة %2$s عاد %1$s لمجموعة %2$s @@ -1297,6 +1309,7 @@ الأقنعة يمكنك إضافة أقنعة للصور التي ترسلها، لعمل ذلك قم بفتح محرر الصور قبل إرسال الصورة. الملصقات الشائعة + الصور المتحركة الشائعة اقتراح ملصقات عبر الرموز جميع الحزم حزمي @@ -1443,7 +1456,7 @@ حجم خط الرسائل اسأل سؤالًا إضافة شرح - Users will see this text after choosing the wrong answer, good for educational purposes. + سيرى المستخدمون هذا النص بعد اختيار الإجابة الخاطئة وهذا جيد للأغراض التعليمية. تفعيل المؤثرات البصرية إعدادات المحادثات الأجهزة @@ -1657,6 +1670,7 @@ تشغيل الوسائط تلقائيًا الرفع للتحدث حفظ في المعرض + Sound muted تعديل الاسم تخصيص مخصص @@ -1819,6 +1833,7 @@ افتح تيليجرام على سطح المكتب للحصول على رمز QR. امسح رمز الـ QR لربط حسابك. يمكن استخدام هذا الرمز للسماح لشخص ما بتسجيل الدخول إلى حسابك في تيليجرام.\n\nلتأكيد عملية تسجيل الدخول؛ يرجى الذهاب إلى الإعدادات > الأجهزة > مسح QR وامسح الرمز. + يحتاج تيليجرام الوصول إلى الكاميرا لتتمكن من مسح رمز QR. قاعدة البيانات على الجهاز مسح قاعدة البيانات المحلية @@ -2126,11 +2141,23 @@ هل أنت متأكد أنك تريد إزالة «%1$s» من قائمة المستثناة دائمًا؟ هل أنت متأكد أنك تريد إزالة «%1$s» من قائمة المضمّنة دائمًا؟ هل أنت متأكد أنك تريد إزالة «%1$s» من قائمة المضمّنة دائمًا؟ - هل أنت متأكد أنك تريد إزالة «%1$s» من قائمة المستثناة دائمًا؟ + هل أنت متأكد أنك تريد إزالة «%1$s» من قائمة المُضمّنة دائمًا؟ مجلدات المحادثات افتح *الإعدادات > المجلدات* لتنظيم محادثاتك في مجلدات. غير المكتومة غير المقروءة + إضافة إلى مجلد + إزالة من المجلد + اختر مجلّدا + تمت إضافة **%1$s** إلى **%2$s** + تمت إضافة **%1$s** إلى **%2$s** + تمت إضافة **%1$s** إلى **%2$s** + تمت إزالة **%1$s** من **%2$s** + تمت إزالة **%1$s** من **%2$s** + تمت إزالة **%1$s** من **%2$s** + وصلت الحد الأقصى + عذرًا، لايمكنك إضافة أكثر من 100 محادثة إلى مجلد. + عذرًا، لايمكنك استثناء أكثر من 100 محادثة من مجلد. رمز القفل تغيير رمز القفل @@ -2260,6 +2287,7 @@ عرض في لائحة عرض كمصفوفة عرض كافة الوسائط + إظهار الملصقات عرض جميع الملفات عرض كل الصور المتحركة انقر للتحميل @@ -2332,8 +2360,9 @@ حذف تعديل تكرار - مرسوم + حدود عادي + بإطار إعادة تعيين الأصلي مربع @@ -2344,15 +2373,24 @@ التحقق بخطوتين التحقق بخطوتين + تم تعيين كلمة المرور! + سيتم طلب كلمة المرور هذه عندما تسجل الدخول في جهاز جديد بالإضافة إلى الرمز الذي نرسله برسالة نصية SMS. + العودة للإعدادات + Return to Passport + تعيين كلمة المرور تعيين كلمة مرور إضافية يمكنك تعيين كلمة مرور إضافية يتم طلبها عند تسجيل الدخول من جهاز غير معروف، إضافةً إلى الرمز الذي يصلك في رسالة SMS قصيرة. كلمة مرورك + On + Off قم بإدخال كلمة مرورك يرجى إدخال كلمة مرورك لإتمام عملية النقل. قم بإدخال كلمة مرور + أدخل كلمة مرور جديدة قم بإدخال كلمة مرورك الجديدة قم بإعادة إدخال كلمة مرورك بريد الاسترداد + بريد الاسترداد بريدك الإلكتروني رمز بريدك الإلكتروني يرجى تأكيد بريدك الإلكتروني عبر إدخال الرمز الذي تلقيته للتوِّ على %1$s. @@ -2364,7 +2402,9 @@ يرجى تفقُّد بريدك الإلكتروني والضغطُ على رابط التأكيد لإتمام تفعيل التحقق بخطوتين. قم بتفقُّد مجلدِ الرسائل غير المرغوب بها أيضًا. نجح الأمر! تم تفعيل كلمة المرور الخاصة بالتحقق بخطوتين. + تم تغيير كلمة مرور التحقق بخطوتين. تم تفعيل بريد الاسترداد الإلكتروني لعملية التحقق بخطوتين. + Your recovery email for Two-Step Verification is changed. تغيير كلمة المرور إيقاف كلمة المرور تعيين بريد استرداد @@ -2376,9 +2416,11 @@ إلغاء عملية الإعداد تحذير! سيتم فقدان جميع البيانات المحفوظة في جواز تيليجرام! تلميح كلمة المرور + التلميح قم بإنشاء تلميحٍ لكلمة مرورك كلمتا المرور غير متطابقتين إلغاء عملية إعداد التحقق بخطوتين + "مقاطعة الإعدادات " إلغاء عملية إعداد بريد الاسترداد إلغاء تعطيل @@ -2406,6 +2448,8 @@ الرمز تم تعطيل كلمة المرور إعادة إرسال الرمز + رمز التحقق + أدخل الرمز تم إرسال رمز التحقق إلى بريدك الإلكتروني. لقد قمت بتفعيل التحقق بخطوتين.\nلتسجيل الدخول إلى حسابك هذا من أجهزة جديدةٍ ستحتاج إلى كلمة المرور التي قمت بتعيينها. @@ -2577,8 +2621,8 @@ التالي انضممت للمجموعة عبر رابط دعوة - un1 انضم للمجموعة عبر رابط دعوة - un1 أزال un2 + انضم un1 للمجموعة عبر رابط دعوة + أزالun1 un2 غادر un1 المجموعة un1 أضاف un2 أزال un1 صورة المجموعة @@ -2648,6 +2692,7 @@ المعذرة، هذا المستخدم عضو في الكثير من المجموعات والقنوات. دعه يغادر بعض منها أولًا. تحذير! سيؤدي هذا لحذف **جميع رسائل** هذه المحادثة من **كلا** الطرفين. + تحذير! سيؤدي هذا **لحذف جميع الرسائل** في هذه المحادثة. حذف الكل إيقاف التحميل؟ تحديث تيليجرام @@ -2692,7 +2737,7 @@ هل ترغب حقًا في حذف ومغادرة مجموعة **%1$s**؟ هل ترغب حقًا في حذف هذه المحادثة؟ هل ترغب حقًا في حذف المحادثة مع **%1$s**؟ - Are you sure you want to delete the chat with **%1$s** and block them? + هل أنت متأكد أنك تريد حذف المحادثة مع **%1$s** وحظره؟ هل ترغب حقًا في حذف **الرسائل المحفوظة**؟ هل ترغب حقًا في حذف المحادثة السرية مع **%1$s**؟ هل ترغب حقًا في حذف المحادثة **%1$s**؟ diff --git a/TMessagesProj/src/main/res/values-de/strings.xml b/TMessagesProj/src/main/res/values-de/strings.xml index 5cdd16f82..2d84ac43b 100644 --- a/TMessagesProj/src/main/res/values-de/strings.xml +++ b/TMessagesProj/src/main/res/values-de/strings.xml @@ -722,7 +722,7 @@ SD-Karte Ordner Letzte Dateien - Files A-Z + Dateien von A-Z Nichts gefunden **%1$s** konnte in diesem Verzeichnis leider nicht gefunden werden. Dieser Ordner ist leer. @@ -731,7 +731,7 @@ App-Ordner durchsuchen Dateisystem durchsuchen SD-Karte durchsuchen - Search music + Musik suchen Gruppen-Sticker Sticker-Paket auswählen @@ -909,6 +909,7 @@ Bei %1$s löschen Bei allen Mitgliedern löschen Text in die Zwischenablage kopiert + Hold to record audio. Halten für Audioaufnahme. Tippen für Video. Halten für Videoaufnahme. Tippen für Audio. Sprachnachricht verwerfen @@ -976,7 +977,18 @@ **:würfel:**-Emoji senden, um zu würfeln Sende einen **:dart:** Emoji, um dein Glück zu versuchen. Sende ein %1$s Emoji, um dein Glück zu versuchen. - SENDENSend a dart emoji + SENDEN + COVID-19 + PSA + Diese Nachricht enthält eine öffentliche Bekanntmachung hinsichtlich der aktuellen COVID-19 Pandemie. Erfahre mehr über diese Initiative unter https://telegram.org/blog/coronavirus + PSA info test + COVID-19 Benachrichtigung + Diese Nachricht enthält eine öffentliche Bekanntmachung hinsichtlich der aktuellen COVID-19 Pandemie. Erfahre mehr über diese Initiative unter https://telegram.org/blog/coronavirus + Wichtige Benachrichtigung + Das ist eine wichtige Benachrichtigung. + Chat verstecken + Wirklich diesen Chat verstecken? + Verstecken %1$s hat den Selbstzerstörungs-Timer auf %2$s gesetzt Du hast den Selbstzerstörungs-Timer auf %1$s gesetzt @@ -1297,6 +1309,7 @@ Masken Masken lassen sich Bildern hinzufügen. Öffne dazu vor dem Versand einfach den Editor. Angesagte Sticker + Angesagte GIFs Sticker für Emoji vorschlagen Alle Pakete Meine Pakete @@ -1443,7 +1456,7 @@ Textgröße für Nachrichten Eine Frage stellen Eine Erklärung hinzufügen - Nutzer sehen diesen Text, nachdem sie die falsche Antwort gewählt haben. Gut für Lehrzwecke. + Nutzer sehen diesen Text, nachdem sie eine falsche Antwort gewählt haben. Gut für Lehrzwecke. Animationen aktivieren Chat-Einstellungen Geräte @@ -1657,6 +1670,7 @@ Automatische Medienwiedergabe Zum Sprechen ans Ohr In der Galerie speichern + Ton stumm Name bearbeiten Anpassen Eigene @@ -1819,6 +1833,7 @@ Starte das Programm auf dem Computer, um deinen QR-Code zu erhalten. Scanne den QR-Code mit deinem Handy, um dich mit deinem Konto zu verbinden. Mit diesem Code kann man sich bei deinem Telegram Konto anmelden.\n\nUm die Anmeldung zu bestätigen, in die Einstellungen von Telegram wechseln > Geräte > QR-Code scannen und den Code mit der Kamera scannen. + Telegram benötigt zum Scannen von QR-Codes Zugriff auf deine Kamera. Lokale Datenbank Lokale Datenbank leeren @@ -2127,10 +2142,22 @@ Wirklich \"%1$s\" aus der \'immer enthalten\' Liste entfernen? Wirklich \"%1$s\" aus den \'immer enthaltenen\' Chats entfernen? Wirklich \"%1$s\" aus der Liste \'immer enthalten\' entfernen? - Chat-Ordner + Ordner *Einstellungen > Ordner* öffnen, um Chats in Ordnern zu sortieren. Nicht stumm Ungelesen + Zu Ordner hinzufügen + Aus Ordner entfernen + Wähle einen Ordner + **%1$s** wurde **%2$s** hinzugefügt + **%1$s** wurde **%2$s** hinzugefügt + **%1$s** wurde **%2$s** hinzugefügt + **%1$s** wurde aus **%2$s** entfernt + **%1$s** wurde aus **%2$s** entfernt + **%1$s** wurde aus **%2$s** entfernt + Limt erreicht + Mehr als 100 Chats kann man leider nicht einem Ordner hinzufügen. + Mehr als 100 Chats kann man leider nicht aus einem Ordner ausschließen. Pincode-Sperre Pincode ändern @@ -2260,6 +2287,7 @@ Als Liste Als Gitter Zeige alle Medien + Sticker zeigen Zeige alle Dateien Alle GIFs zeigen Antippen zum Herunterladen @@ -2334,6 +2362,7 @@ Klonen Kontur Normal + Gerahmt Zurücksetzen Original Quadrat @@ -2344,27 +2373,38 @@ Zweistufige Bestätigung Zweistufige Bestätigung + Passwort festgelegt! + Du benötigt dieses Passwort neben dem Code, der dir per SMS geschickt wird, sobald du dich mit einem neuen Gerät anmeldest. + Zurück zu Einstellungen + Zurück zu Passport + Passwort festlegen Zusätzliches Passwort festlegen - Du kannst ein eigenes Passwort festlegen, um dich an einem neuen Gerät anzumelden, zusätzlich zum SMS-Code. + Hier kannst du ein eigenes Passwort festlegen, um dich an einem neuen Gerät anzumelden, zusätzlich zum Code, der per SMS kommt. Dein Passwort + Ein + Aus Dein Passwort eingeben Um die Übertragung abzuschliessen, bitte dein Passwort eingeben. Passwort eingeben + Neues Passwort festlegen Neues Passwort eingeben Passwort erneut eingeben Wiederherstellung + E-Mail-Adresse\nfür Wiederherstellung Deine E-Mail Dein E-Mail Code Bestätige bitte deine E-Mail-Adresse, indem du den Code eingibst, den du gerade bei %1$s erhalten hast. Falls du dein Passwort vergisst, benötigen wir deine richtige E-Mail Adresse. Überspringen Warnung - Keine gute Idee.\n\nWenn du dein Passwort vergisst, verlierst du den Zugang zu deinem Telegram Konto. Für immer, ohne Ausnahme. + Das ist keine gute Idee.\n\nWenn du dein Passwort vergisst, verlierst du den Zugang zu deinem Telegram-Konto. Für immer, ohne Ausnahme. Fast geschafft! Bitte überprüfe deine Mails (auch den Spam-Ordner) um die zweistufige Bestätigung abzuschließen. Geschafft! Dein Passwort für die zweistufige Bestätigung ist jetzt aktiv. + Dein Passwort für die zweistufige Bestätigung wurde geändert. Deine Wiederherstellungs-E-Mail für die zweistufige Bestätigung ist jetzt aktiv. + Your recovery email for Two-Step Verification is changed. Passwort ändern Passwort deaktivieren E-Mail festlegen @@ -2376,9 +2416,11 @@ Einrichtung abbrechen Warnung! Alle Daten in deinem Telegram Passport gehen verloren! Passwort-Erinnerung + Hinweis Hinweis auf dein Passwort eingeben Kennwörter stimmen nicht überein Einrichtung abbrechen + Einrichtung abbrechen E-Mail-Einrichtung abbrechen Abbrechen Deaktivieren @@ -2406,6 +2448,8 @@ Code Passwort deaktiviert Code erneut senden + Verifizierungscode + Code eingeben Der Bestätigungscode wurde an deine E-Mail gesendet. Du hast die zweistufige Bestätigung aktiviert.\nWenn du dich bei Telegram anmeldest, brauchst du dein Passwort. @@ -2648,6 +2692,7 @@ Der Nutzer ist leider Mitglied in zu vielen Gruppen und Kanälen. Bitte die Person, erst einige zu verlassen. Warnung! Das wird **alle Nachrichten** in diesem Chat **für beide Teilnehmer löschen**. + Warnung! Das wird in diesem Chat **alle Nachrichten löschen**. Alles löschen Ladevorgang stoppen? Aktualisiere Telegram diff --git a/TMessagesProj/src/main/res/values-es/strings.xml b/TMessagesProj/src/main/res/values-es/strings.xml index 45dd33c51..ceb9ef61e 100644 --- a/TMessagesProj/src/main/res/values-es/strings.xml +++ b/TMessagesProj/src/main/res/values-es/strings.xml @@ -41,7 +41,7 @@ Restablecer la cuenta Como la cuenta **%1$s** está activa y protegida con una contraseña, la eliminaremos en 1 semana, por motivos de seguridad.\n\nPuedes cancelar el proceso en cualquier momento. Podrás restablecer tu cuenta en: - Tus intentos para restablecer la cuenta fueron cancelados por su usuario activo. Por favor, reinténtalo en 7 días. + Tus intentos recientes de restablecer esta cuenta fueron cancelados por su usuario activo. Por favor, reinténtalo en 7 días. RESTABLECER CUENTA El enlace no es válido o expiró. El proceso de eliminación de la cuenta %1$s fue cancelado. Puedes cerrar esta ventana. @@ -144,7 +144,7 @@ Te uniste al chat secreto. Vaciar chat Vaciar chat - Historial borrado. + Historial eliminado. Silenciar Notificar Chat eliminado @@ -169,7 +169,7 @@ Chats archivados Eliminar chat Cuenta eliminada - Elige el chat + Elige un chat Reenviar a... Foto secreta Video secreto @@ -190,7 +190,7 @@ ¿Eliminar a %1$s de las sugerencias? Vista previa del enlace Borrador - Historial borrado + El historial fue eliminado por %1$s %1$s por %2$s ¿Diseño incorrecto? @@ -239,7 +239,7 @@ ¿Quieres salir de **%1$s**? Lo sentimos, no puedes añadir a este usuario a grupos. Lo sentimos, el grupo está lleno. - Lo sentimos, si una persona ya no forma parte de un grupo, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que se puede unir usando el enlace de invitación del grupo si no está en la lista de usuarios eliminados. + Lo sentimos, si una persona ya no forma parte de un grupo, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que puede unirse usando el enlace de invitación del grupo si no está en la lista de usuarios eliminados. Hay demasiados administradores en el grupo. El usuario objetivo tiene demasiados grupos o canales públicos. Por favor, pídele que haga privado uno de sus grupos o canales existentes primero. El usuario objetivo tiene demasiados grupos por ubicación. Por favor, pídele eliminar o transferir uno de los existentes primero. @@ -362,11 +362,11 @@ Lamentablemente, tienes prohibido participar en grupos públicos. Lo sentimos, este chat ya no es accesible. ¿Añadir a %1$s al canal? - Lo sentimos, si una persona ya no forma parte de un canal, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que se puede unir usando el enlace de invitación del canal si no está en la lista de usuarios eliminados. + Lo sentimos, si una persona ya no forma parte de un canal, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que puede unirse usando el enlace de invitación del canal si no está en la lista de usuarios eliminados. Lo sentimos, no puedes añadir a este usuario a canales. Hay demasiados administradores en el canal. Hay demasiados bots en este canal. - Lo sentimos, sólo puedes añadir a los primeros 200 miembros a un canal. Sin embargo, una cantidad ilimitada de personas pueden unirse por el enlace del canal. + Lo sentimos, sólo puedes añadir a los primeros 200 suscriptores a un canal. Sin embargo, una cantidad ilimitada de personas pueden unirse usando el enlace de invitación del canal. Demasiadas comunidades Eres miembro de demasiados grupos y canales. Por favor, sal de algunos antes de crear uno nuevo. Eres miembro de demasiados grupos y canales. Por favor, sal de algunos antes de unirte. @@ -462,10 +462,10 @@ ¿Aplicar cambios? Cambiaste los permisos de este usuario en **%1$s**. ¿Aplicar cambios? Personalizada - Administrar grupo - Administrar canal - Administrar grupo - Administrar canal + Gestionar grupo + Gestionar canal + Gestionar grupo + Gestionar canal Historial para nuevos miembros Visible Los nuevos miembros verán mensajes que fueron enviados antes de unirse. @@ -512,7 +512,7 @@ ¿Quieres convertir a **%1$s** en el grupo de conversación de **%2$s**? ¿Quieres convertir a **%1$s** en el grupo de conversación de **%2$s**?\n\nCualquier miembro de este grupo podrá ver los mensajes del canal. ¿Quieres convertir a **%1$s** en el grupo de conversación de **%2$s**?\n\nCualquier miembro de este canal podrá ver los mensajes del grupo. - El “Historial para nuevos miembros” cambiará a Visible. + El “historial para nuevos miembros” cambiará a “visible”. ¿Quieres desvincular a **%1$s** de este grupo? ¿Quieres desvincular a **%1$s** de este canal? CONVERSAR @@ -708,7 +708,7 @@ Aleatorio Invertir orden - Elegir archivo + Elige un archivo Buscar archivos recientes %1$s de %2$s libres Error desconocido @@ -739,7 +739,7 @@ ELIGE UN PACK DE STICKERS stickerset Puedes crear tus packs de stickers personalizados usando el bot @stickers. - El pack no ha sido encontrado + No se encontró el pack de stickers Reinténtalo o elige uno de la lista de abajo invisible @@ -753,7 +753,7 @@ %1$s está grabando un videomensaje... %1$s está enviando un audio... %1$s está enviando una foto... - INSTANT VIEW + VISTA RÁPIDA VER GRUPO VER FONDO VER TEMA @@ -909,6 +909,7 @@ Eliminar para %1$s Eliminar para todos Texto copiado al portapapeles + Mantén para grabar audio. Mantén para grabar audio. Toca para video. Mantén para grabar video. Toca para audio. Descartar mensaje de voz @@ -970,13 +971,24 @@ 📅 Recordatorio 1 resultado La calidad del video es demasiado baja para cambiar los ajustes de compresión. - Mantén en la **palabra**, luego mueve el cursor para seleccionar más texto para copiar. + Mantén pulsada una **palabra**, luego mueve el cursor para seleccionar más texto para copiar. Número de tarjeta copiado al portapapeles Copiar - Envía el emoji **:dado:** en cualquier chat para tirar un dado. + Puedes tirar un :dado: enviando su emoji en cualquier chat. Envía el emoji **:dardo:** para probar suerte. Envía el emoji %1$s para probar suerte. - ENVIARSend a dart emoji + ENVIAR + COVID-19 + PSA + Este mensaje es un anuncio de servicio público en relación a la actual pandemia de COVID-19. Más sobre esta iniciativa en https://telegram.org/blog/coronavirus + Prueba de información PSA + Notificación sobre COVID-19 + Este mensaje es un anuncio de servicio público en relación a la actual pandemia de COVID-19. Más sobre esta iniciativa en https://telegram.org/blog/coronavirus + Notificación importante + Esta es una notificación importante. + Ocultar chat + ¿Quieres ocultar este chat? + Ocultar %1$s activó la autodestrucción en %2$s Activaste la autodestrucción en %1$s @@ -1093,8 +1105,8 @@ %1$s ancló un audio Telegram - Elegir contacto - Elegir contactos + Elige un contacto + Elige los contactos COMPARTIR CONTACTO Compartir contacto Añadir contacto @@ -1297,6 +1309,7 @@ Máscaras Puedes añadir máscaras a las fotos que envías. Para hacerlo, abre el editor de fotos antes de enviar una foto. Stickers destacados + GIF destacados Sugerir stickers por emoji Todos los packs Mis packs @@ -1461,14 +1474,14 @@ Notificaciones en la app Sonidos en la app Vibración en la app - Vibraciones + Vibración Vista previa en la app Restablecer Restablecer todas las notificaciones Deshace todos los ajustes personalizados de notificaciones para todos tus contactos, grupos y canales. Notificaciones y sonidos Notificaciones personalizadas - Pop-ups + Notificación pop-up Los mensajes nuevos de este contacto aparecerán en tu pantalla cuando no estés usando Telegram. Led Color @@ -1486,7 +1499,7 @@ Violeta Naranja El led es una pequeña luz que parpadea en algunos dispositivos para señalar los mensajes nuevos. - Las notificaciones con prioridad alta funcionarán aunque tu teléfono esté en modo no molestar. + Las notificaciones de mayor prioridad funcionarán aunque tu teléfono esté en modo No molestar. General Silenciado Notificaciones activadas @@ -1569,7 +1582,7 @@ Ese idioma no está. Ya estás usando este pack de idioma (**%1$s**). Puedes cambiar el idioma cuando quieras en Ajustes. Lamentablemente, este pack de idioma personalizado (**%1$s**) no contiene datos para Telegram Android. - Ten en cuenta que el soporte de Telegram está hecho por voluntarios. Respondemos lo antes posible, pero puede tomar tiempo.\n\nPor favor, mira las Preguntas frecuentes de Telegram]]>: tienen respuestas para la mayoría de las preguntas y soluciones a problemas]]>. + Ten en cuenta que el soporte de Telegram está hecho por voluntarios. Respondemos lo antes posible, pero puede tomar tiempo.\n\nPor favor, mira las Preguntas frecuentes de Telegram]]>: tienen respuestas para la mayoría de las preguntas y soluciones a problemas]]>. Preguntar Preguntas frecuentes Preguntas frecuentes @@ -1578,7 +1591,7 @@ https://telegram.org/faq/es Política de privacidad Términos de servicio - Al inscribirte,\naceptas los *términos de servicio*. + Al registrarte,\naceptas los *términos de servicio*. https://telegram.org/privacy Eliminar pack de idioma ¿Quieres eliminar el pack de idioma **%1$s**? @@ -1592,8 +1605,8 @@ Nombre Apellidos Color del led - Pop-ups - Desactivadas + Notificación pop-up + Nunca mostrar Con pantalla encendida Con pantalla apagada "Mostrar siempre " @@ -1601,8 +1614,8 @@ Activado Incluir chats silenciados Contar mensajes sin leer - Cortas - Largas + Corta + Larga Autodescarga de multimedia Autodescargar multimedia Activada en todos los chats @@ -1657,6 +1670,7 @@ Reproducción automática Elevar para hablar Guardar en galería + Sonido silenciado Editar nombre Personalizar Personalizadas @@ -1670,16 +1684,16 @@ Nunca Repetir notificaciones Puedes cambiar tu número de Telegram aquí. Tu cuenta y todos tus datos de la nube, mensajes, archivos, grupos, contactos, etc., se moverán al nuevo número. - Los usuarios verán tu nuevo número si lo tienen en sus agendas de contactos o si tus ajustes de privacidad lo permiten. Puedes modificar esto en Ajustes > Privacidad y seguridad > Número de teléfono. + Los usuarios verán tu nuevo número si lo tienen en sus agendas o si tus ajustes de privacidad lo permiten. Puedes modificar esto en Ajustes > Privacidad y seguridad > Número de teléfono. Cambiar número Cambiar número Nuevo número Enviaremos un SMS con el código de confirmación a tu nuevo número. El número %1$s ya está vinculado a una cuenta de Telegram. Por favor, elimina esa cuenta antes de migrar al nuevo número. Otros - Desactivadas - Activadas - Desactivadas + Desactivada + Activada + Desactivada Desactivado No repetir Sonidos en el chat @@ -1819,6 +1833,7 @@ Inicia Telegram Desktop para obtener el código QR. Escanea el código QR para conectar tu cuenta. Este código se puede utilizar para permitir que alguien inicie sesión en tu cuenta de Telegram.\n\nPara confirmar el inicio de sesión, ve a Ajustes > Dispositivos > Escanear QR y escanea el código. + Telegram necesita acceso a tu cámara para que puedas escanear códigos QR. Base de datos local Borrar base de datos local @@ -1947,7 +1962,7 @@ Sube una foto del reverso del documento Página principal Sube una foto de la página principal del documento - Elegir fecha de vencimiento + Elige la fecha de vencimiento No vence No vence Elegir fecha de nacimiento @@ -2088,7 +2103,7 @@ Incluir chats Excluir chats Añadir chats - Eliminar chats + Quitar chats Tipos de chat Chats Chats incluidos @@ -2122,15 +2137,27 @@ Eliminar excepción Eliminar excepción ¿Quieres eliminar los “%1$s” de la lista de siempre excluidos? - ¿Quieres eliminar el chat “%1$s” de la lista de siempre excluidos? - ¿Quieres eliminar el chat con “%1$s” de la lista de siempre excluidos? + ¿Quieres eliminar “%1$s” de la lista de siempre excluidos? + ¿Quieres eliminar a “%1$s” de la lista de siempre excluidos? ¿Quieres eliminar los “%1$s” de la lista de siempre incluidos? - ¿Quieres eliminar el chat “%1$s” de la lista de siempre incluidos? - ¿Quieres eliminar el chat con “%1$s” de la lista de siempre incluidos? + ¿Quieres eliminar “%1$s” de la lista de siempre incluidos? + ¿Quieres eliminar a “%1$s” de la lista de siempre incluidos? Carpetas Abre *Ajustes > Carpetas* para organizar tus chats en carpetas. Importantes No leídos + Añadir a carpeta + Quitar de la carpeta + Elige una carpeta + Añadiste a **%1$s** a **%2$s** + Añadiste **%1$s** a **%2$s** + Añadiste **%1$s** a **%2$s** + Quitaste a **%1$s** de **%2$s** + Quitaste **%1$s** de **%2$s** + Quitaste **%1$s** de **%2$s** + Límite alcanzado + No puedes añadir más de 100 chats a una carpeta. + No puedes excluir más de 100 chats de una carpeta. Código de bloqueo Cambiar código @@ -2260,6 +2287,7 @@ Mostrar como lista Mostrar como cuadrícula Mostrar toda la multimedia + Mostrar stickers Mostrar todos los archivos Mostrar todos los GIF Toca para descargar @@ -2320,8 +2348,8 @@ ¿Quieres borrar tu historial de búsqueda? Historial de búsqueda Historial de búsqueda - ¿Quieres borrar el chat con “%1$s” de tu historial de búsqueda? - ¿Quieres borrar el chat “%1$s” de tu historial de búsqueda? + ¿Quieres borrar a “%1$s” de tu historial de búsqueda? + ¿Quieres borrar “%1$s” de tu historial de búsqueda? Borrar Borrar Añadir un comentario... @@ -2334,6 +2362,7 @@ Duplicar Contorno Normal + Enmarcado Restablecer Original Cuadrada @@ -2343,28 +2372,39 @@ Enviar sin compresión Verificación en dos pasos - Verificación + Verificación en dos pasos + ¡Contraseña establecida! + Esta contraseña será requerida cuando inicies sesión en un nuevo dispositivo, además del código recibido vía SMS. + Volver a Ajustes + Volver a Passport + Crear contraseña Poner contraseña adicional Puedes poner una contraseña, que será requerida cuando inicies sesión en un nuevo dispositivo, además del código que recibes vía SMS. Tu contraseña + Activada + Desactivada Pon tu contraseña Pon tu contraseña para hacer la transferencia. Pon una contraseña + Pon una nueva contraseña Pon tu nueva contraseña Repite tu contraseña Correo de recuperación + Correo de recuperación Tu correo Tu código de correo Por favor, confirma tu correo poniendo el código que acabas de recibir en %1$s. Por favor, añade un correo válido. Es la única forma de recuperar una contraseña olvidada. Omitir Advertencia - En serio.\n\nSi olvidas tu contraseña, perderás el acceso a tu cuenta de Telegram. No habrá manera de recuperarla. + No, en serio.\n\nSi olvidas tu contraseña, perderás el acceso a tu cuenta de Telegram. No habrá manera de recuperarla. ¡Ya casi! Por favor, revisa tu correo (no olvides la carpeta de spam) para completar la configuración de la verificación en dos pasos. ¡Listo! Tu contraseña para la verificación en dos pasos está activada. + Tu contraseña de la verificación en dos pasos ha sido cambiada. Tu correo de recuperación para la verificación en dos pasos ahora está activo. + Tu correo de recuperación para la verificación en dos pasos fue cambiado. Cambiar contraseña Desactivar contraseña Poner correo de recuperación @@ -2376,9 +2416,11 @@ Cancelar configuración ¡Advertencia! ¡Todos los datos guardados en tu Telegram Passport se perderán! Pista para la contraseña + Pista Crea una pista para tu contraseña Las contraseñas no coinciden Cancelar la configuración de la verificación + Cancelar configuración Cancelar la configuración del correo de recuperación Cancelar Desactivar @@ -2406,6 +2448,8 @@ Código Contraseña desactivada Reenviar el código + Código de verificación + Pon el código El código de verificación fue enviado a tu correo. Tienes activada la verificación en dos pasos.\nNecesitarás la contraseña que configuraste para iniciar tu sesión en Telegram. @@ -2454,7 +2498,7 @@ Puedes añadir usuarios o grupos como excepciones que anularán los ajustes de arriba. Reinhardt, necesitamos encontrarte algunas nuevas canciones 🎶. Peer-to-peer - Peer-to-peer en llamadas + Peer-to-peer Usar peer-to-peer con Bots y sitios web Eliminar información de pago y envío @@ -2486,7 +2530,7 @@ Avanzados Eliminar mi cuenta si estoy fuera Si no estás en línea al menos una vez durante este período, tu cuenta se eliminará junto con todos tus mensajes y contactos. - ¿Quién puede ver mi última vez? + ¿Quién puede ver mi últ. vez y estado en línea? Añadir excepciones Añadir a excepciones No verás el estado de última vez ni el de en línea de las personas con las que no compartas el tuyo. En su lugar, se mostrarán conexiones indeterminadas (recientemente, hace unos días, hace unas semanas). @@ -2642,12 +2686,13 @@ %1$s, %2$s inactivo Salir de %1$s Demasiadas comunidades - Eres miembro de demasiados grupos y canales. Por favor, sal de algunos antes de unirte. + Eres miembro de demasiados grupos y canales. Por favor, sal de algunos antes de unirte a uno nuevo. Eres miembro de demasiados grupos y canales. Por favor, sal de algunos antes de crear uno nuevo. Eres miembro de demasiados grupos y canales. Por razones técnicas, necesitas salir de algunos antes de cambiar este ajuste en tus grupos. El usuario objetivo es miembro de demasiados grupos y canales. Por favor, pídele que salga de algunos primero. ¡Advertencia! Esto **eliminará todos los mensajes** en este chat para **ambos** participantes. + ¡Advertencia! Esto **eliminará todos los mensajes** en este chat. Eliminar todo ¿Detener la carga? Actualizar Telegram @@ -2659,7 +2704,7 @@ Demasiados intentos. Por favor, reinténtalo más tarde. Demasiados intentos. Por favor, reinténtalo en %1$s Código inválido - Has eliminado y vuelto a crear tu cuenta muchas veces recientemente. Por favor, espera algunos días antes de inscribirte de nuevo. + Has eliminado y vuelto a crear tu cuenta muchas veces recientemente. Por favor, espera algunos días antes de registrarte de nuevo. Nombre inválido Lo sentimos, este apellido no se puede usar Cargando... @@ -2759,7 +2804,7 @@ No está permitido enviar stickers en este grupo. No está permitido enviar multimedia en este grupo. No está permitido enviar encuestas en este grupo. - Lo sentimos mucho, pero esto significa que no puedes inscribirte en Telegram.\n\nA diferencia de otros, nosotros no usamos los datos para la publicidad dirigida u otros propósitos comerciales. Telegram sólo almacena la información que necesita para funcionar como un servicio en la nube. Puedes ajustar cómo usamos tus datos (por ejemplo, eliminar contactos sincronizados) en los ajustes de privacidad y seguridad.\n\nPero si no estás de acuerdo con los modestos requisitos de Telegram, no podremos brindarte este servicio. + Lo sentimos mucho, pero esto significa que no puedes registrarte en Telegram.\n\nA diferencia de otros, nosotros no usamos los datos para la publicidad dirigida u otros propósitos comerciales. Telegram sólo almacena la información que necesita para funcionar como un servicio en la nube. Puedes ajustar cómo usamos tus datos (por ejemplo, eliminar contactos sincronizados) en los ajustes de privacidad y seguridad.\n\nPero si no estás de acuerdo con los modestos requisitos de Telegram, no podremos brindarte este servicio. Verificación de edad Política de privacidad y términos de servicio Toca Aceptar para confirmar que tienes %1$s o más. @@ -2784,7 +2829,7 @@ Nuevos seguidores por fuente Idiomas Posts recientes - Alejar zoom + Alejar Interacciones de IV Cargando estadísticas… Espera un momento mientras generamos los gráficos. diff --git a/TMessagesProj/src/main/res/values-it/strings.xml b/TMessagesProj/src/main/res/values-it/strings.xml index fe4bc76d6..e4f1a2a25 100644 --- a/TMessagesProj/src/main/res/values-it/strings.xml +++ b/TMessagesProj/src/main/res/values-it/strings.xml @@ -10,7 +10,7 @@ Il tuo numero Conferma il prefisso internazionale e inserisci il tuo numero di telefono. - Scegli un paese + Scegli un Paese Prefisso internazionale non valido Questo account è già collegato in questa app. Cambia @@ -408,8 +408,8 @@ Cambiare le info del canale Cambiare le info del gruppo Pubblicare messaggi - Modificare messaggi di altri - Eliminare messaggi di altri + Modificare messaggi altrui + Eliminare messaggi altrui Eliminare messaggi Aggiungere amministratori Rimuovi amministratore @@ -501,7 +501,7 @@ Canale collegato Seleziona una chat di gruppo per la discussione che sarà mostrata nel tuo canale. Tutto ciò che pubblichi nel canale verrà inoltrato in questo gruppo. - A tutti gli iscritti viene mostrato un collegamento a **%1$s** nel pannello inferiore. + A tutti gli iscritti viene mostrato un link a **%1$s** nel pannello inferiore. Il gruppo è collegato come chat di discussione di **%1$s**. Tutti i nuovi messaggi pubblicati in questo canale sono inoltrati nel gruppo. Crea un nuovo gruppo @@ -764,7 +764,7 @@ %1$s sta giocando a un gioco... %1$s sta inviando un video... %1$s sta inviando un file... - sta registrando un audio... + sta registrando un vocale... sta registrando un videomessaggio... sta inviando un audio... sta inviando una foto... @@ -801,9 +801,9 @@ Hai lasciato il gruppo Elimina questo gruppo Elimina questa chat - Elimina questa chat + Elimina questa chat per entrambi Elimina chat - ANNULLA + SCORRI PER ANNULLARE Salva nei download Salva nelle GIF Eliminare la GIF? @@ -909,6 +909,7 @@ Elimina per %1$s Elimina per tutti i membri Testo copiato negli appunti + Hold to record audio. Tieni premuto per l\'audio. Tocca per il video. Tieni premuto per il video. Tocca per l\'audio. Scarta messaggio vocale @@ -973,10 +974,21 @@ Premi la **parola**, quindi muovi il cursore per selezionare altro testo da copiare. Numero carta copiato negli appunti Copia - Invia l\'emoji **:dice:** in qualsiasi chat per lanciare un dado. - L\'invia l\'emoji **:darts:** per tentare la fortuna. + Invia l\'emoji **:dado:** in qualsiasi chat per lanciare un dado. + Invia l\'emoji **:freccetta:** per tentare la fortuna. Invia l\'emoji %1$s per tentare la fortuna. - INVIASend a dart emoji + INVIA + COVID-19 + PSA + Questo messaggio ti fornisce un annuncio di servizio pubblico in relazione alla pandemia COVID-19 in corso. Scopri di più su questa iniziativa su https://telegram.org/blog/coronavirus + Test info PSA + Notifica COVID-19 + Questo messaggio ti fornisce un annuncio di servizio pubblico in relazione alla pandemia COVID-19 in corso. Scopri di più su questa iniziativa su https://telegram.org/blog/coronavirus + Notifica importante + Questa è una notifica importante. + Nascondi chat + Sei sicuro di voler nascondere questa chat? + Nascondi %1$s ha impostato il timer di autodistruzione a %2$s Hai impostato il timer di autodistruzione a %1$s @@ -1297,6 +1309,7 @@ Maschere Puoi aggiungere maschere alle foto che invii. Per farlo, apri l\'editor fotografico prima di inviare una foto. Sticker in primo piano + GIF in primo piano Suggerisci da emoji Tutti i set I miei set @@ -1443,7 +1456,7 @@ Dimensione testo messaggio Fai una domanda Aggiungi una spiegazione - Gli utenti vedranno questo testo dopo aver scelto l\'opzione sbagliata, utile per scopi educativi. + Gli utenti vedranno questo testo dopo aver scelto l\'opzione sbagliata, utile per scopi didattici. Attiva animazioni Impostazioni chat Dispositivi @@ -1657,6 +1670,7 @@ Autoriproduzione media Alza per registrare Salva nella galleria + Suono silenziato Modifica nome Personalizza Personalizzate @@ -1670,7 +1684,7 @@ Mai Ripeti notifiche Puoi cambiare il tuo numero di telefono qui. Il tuo account e tutti i tuoi dati cloud — messaggi, media, contatti, etc. saranno trasferiti sul nuovo numero - Gli utenti vedranno il tuo nuovo numero se lo hanno nella loro rubrica o se le tue impostazioni sulla privacy lo consentono. Puoi modificarle in Impostazioni > Privacy e sicurezza > Numero di telefono. + Gli utenti vedranno il tuo nuovo numero se lo hanno in rubrica o se le tue impostazioni sulla privacy lo consentono. Puoi modificarle in Impostazioni > Privacy e sicurezza > Numero di telefono. Cambia numero Cambia numero Nuovo numero @@ -1819,6 +1833,7 @@ Avvia Telegram Desktop per ottenere il codice QR. Scansiona il codice QR per connettere il tuo account. Questo codice può essere usato per consentire a qualcuno di accedere al tuo account Telegram.\n\nPer confermare l\'accesso a Telegram, vai in Impostazioni > Dispositivi > Scansiona QR e scansiona il codice. + Telegram deve accedere alla tua fotocamera affinché tu possa scansionare i codici QR . Database locale Cancella database locale @@ -1899,7 +1914,7 @@ Per favore inserisci il codice di conferma che abbiamo appena inviato a %1$s. Per favore inserisci la tua password per accedere ai tuoi dati personali. %1$s richiede l\'accesso ai tuoi dati personali per l\'iscrizione ai suoi servizi. - Per favore inserisci la tua password di Telegram per decriptare i tuoi dati. + Per favore inserisci la tua password di Telegram per decifrare i tuoi dati. Accetti l\'*Informativa sulla privacy di %1$s* e consenti a @%2$s di inviarti messaggi. Stai inviando i tuoi documenti direttamente a %1$s e autorizzi il loro @%2$s a inviarti messaggi. AUTORIZZA @@ -1952,7 +1967,7 @@ Nessuna Seleziona data di nascita Eliminare il selfie? - Il documento deve contenere la tua foto, il nome, il cognome, la data di nascita, il numero del documento, il paese di emissione e la data di scadenza. + Il documento deve contenere la tua foto, il nome, il cognome, la data di nascita, il numero del documento, il Paese di emissione e la data di scadenza. "Sei sicuro di voler scartare tutte le informazione che hai inserito? " Scarta Scansioni @@ -2131,6 +2146,18 @@ Apri *Impostazioni > Cartelle* per organizzare le tue chat in cartelle. Importanti Non lette + Aggiungi a una cartella + Rimuovi dalla cartella + Scegli una cartella + **%1$s** aggiunto a **%2$s** + **%1$s** aggiunta a **%2$s** + **%1$s** aggiunte a **%2$s** + **%1$s** rimosso da **%2$s** + **%1$s** rimossa da **%2$s** + **%1$s** rimosse da **%2$s** + Limite raggiunto + Spiacenti, non puoi aggiungere più di 100 chat a una cartella. + Spiacenti, non puoi escludere più di 100 chat da una cartella. Codice di blocco Cambia codice @@ -2260,6 +2287,7 @@ Mostra come lista Mostra come griglia Mostra tutti i media + Mostra sticker Mostra tutti i file Mostra tutte le GIF Tocca per scaricare @@ -2334,6 +2362,7 @@ Duplica Contornato Normale + Incorniciato Ripristina Originale Quadrato @@ -2344,15 +2373,24 @@ Verifica in due passaggi Verifica in due passaggi + Password impostata! + Questa password sarà richiesta quando accedi su un nuovo dispositivo in aggiunta al codice che ricevi via SMS. + Ritorna alle Impostazioni + Ritorna al Passport + Imposta password Imposta password aggiuntiva Puoi impostare una password che ti verrà richiesta quando ti connetti da un nuovo dispositivo in aggiunta al codice che riceverai via SMS. La tua password + + No Inserisci la tua password Per favore inserisci la password per completare il trasferimento. Inserisci una password + Inserisci una nuova password Inserisci la tua nuova password Ripeti la tua password Email di recupero + Email di recupero La tua email Il tuo codice email Per favore conferma il tuo indirizzo email inserendo il codice che hai appena ricevuto su %1$s. @@ -2364,23 +2402,27 @@ Controlla la tua email (non dimenticare lo spam) per completare la configurazione della verifica in due passaggi. Fatto! La password per la verifica in due passaggi è ora attiva. + La tua password per la verifica in due passaggi è stata cambiata. La tua email di recupero per la verifica in due passaggi è ora attiva. + Your recovery email for Two-Step Verification is changed. Cambia password Disattiva password Imposta email di recupero Cambia email di recupero Disattiva password Sei sicuro di voler disattivare la tua password? - Sei sicuro di voler annullare la configurazione della verifica in due passaggi? - Sei sicuro di voler annullare la configurazione dell\'email di recupero? - Annulla configurazione + Sei sicuro di voler interrompere la configurazione della verifica in due passaggi? + Sei sicuro di voler interrompere la configurazione dell\'email di recupero? + Interrompi configurazione Attenzione! Tutti i dati salvati nel tuo Telegram Passport andranno persi! Suggerimento password + Suggerimento Crea un suggerimento per la tua password Le password non corrispondono - Annulla configurazione verifica in due passaggi - Annulla impostazione email di recupero - Annulla + Interrompi configurazione verifica in due passaggi + Interrompi configurazione + Interrompi configurazione email di recupero + Interrompi Disattiva Per completare la configurazione della verifica in due passaggi, controlla la tua email (non dimenticare lo spam) e inserisci il codice che ti abbiamo appena inviato. Per completare l\'impostazione dell\'email di recupero, controlla %1$s (non dimenticare lo spam) e inserisci il codice che ti abbiamo appena inviato. @@ -2406,6 +2448,8 @@ Codice Password disattivata Reinvia codice + Codice di verifica + Inserisci codice Il codice di verifica è stato inviato alla tua email. Hai attivato la verifica in due passaggi.\nAvrai bisogno della password che hai impostato per accedere al tuo account Telegram. @@ -2446,11 +2490,11 @@ Gli utenti che aggiungono il tuo numero ai loro contatti lo vedranno su Telegram solo se sono tuoi contatti. Puoi aggiungere utenti o interi gruppi come eccezioni che annulleranno le impostazioni precedenti. Messaggi inoltrati - Collegato al tuo account - Collegato se permesso dalle impostazioni - Non collegato al tuo account - Chi può aggiungere un collegamento al mio account quando inoltra i miei messaggi? - I messaggi che invii non saranno ricollegati al tuo account quando inoltrati da altri utenti. + Collega al tuo account + Collega se permesso dalle impostazioni + Non collega al tuo account + Chi può aggiungere un link al mio account quando inoltra i miei messaggi? + I messaggi che invii non rimanderanno al tuo account quando inoltrati da altri utenti. Puoi aggiungere utenti o interi gruppi come eccezioni che annulleranno le impostazioni precedenti. Reinhardt, dobbiamo trovarti qualche nuova canzone 🎶. Peer-to-peer @@ -2648,6 +2692,7 @@ Spiacenti, l\'utente selezionato è membro di troppi gruppi e canali. Per favore chiedigli di lasciarne qualcuno prima. Attenzione! Questo **eliminerà tutti i messaggi** in questa chat per **entrambi** i partecipanti. + Attenzione! Questo **eliminerà tutti i messaggi** in questa chat. Elimina tutto Arrestare il caricamento? Aggiorna Telegram @@ -2656,7 +2701,7 @@ Per favore accedi al tuo account Telegram per usare Telegram Passport. Questo numero è stato bloccato. Codice scaduto, per favore riprova l\'accesso - Troppi tentativi, riprova più tardi + Troppi tentativi, per favore riprova più tardi Troppi tentativi, per favore riprova tra %1$s Codice non valido Spiacenti, hai eliminato e ricreato il tuo account troppe volte di recente. Per favore attendi alcuni giorni prima di iscriverti di nuovo. @@ -2686,7 +2731,7 @@ Svuota %1$s Svuota cache per %1$s Sei sicuro di voler eliminare le chat selezionate? - Sei sicuro di voler eliminare la cronologia nelle chat selezionate? + Sei sicuro di voler cancellare la cronologia nelle chat selezionate? Eliminare tutti i testi e i media dalle chat selezionate? Sei sicuro di voler uscire ed eliminare il gruppo? Sei sicuro di voler eliminare e lasciare il gruppo **%1$s**? @@ -2739,7 +2784,7 @@ Vuoi inviare questo contatto a **%1$s**? Non esiste alcun account Telegram con questo username. Questo bot non può unirsi ai gruppi. - Vuoi attivare le anteprime estese per i link nelle Chat Segrete? Nota che le anteprime dei link sono generate sui server di Telegram. + Vuoi attivare le anteprime estese per i link nelle Chat segrete? Ricorda che le anteprime dei link sono generate sui server di Telegram. Per favore nota che i bot inline sono forniti da sviluppatori di terze parti. Per far funzionare il bot, i simboli che digiti dopo l\'username del bot sono inviati al rispettivo sviluppatore. Spiacenti, non puoi modificare questo messaggio. Per favore consenti a Telegram di ricevere chiamate così potremo inserire in automatico il codice per te. @@ -2784,7 +2829,7 @@ Nuovi follower per origine Lingue Post recenti - Rimpicciolisci + Riduci Interazioni AR Carico le statistiche... Per favore attendi qualche momento mentre generiamo i grafici. @@ -2819,7 +2864,7 @@ Inizia a messaggiare Impostazioni account - Utilizza meno dati per le chiamate + Usa meno dati per le chiamate Chiamata in entrata Connetto Scambio chiavi di crittografia @@ -3352,7 +3397,7 @@ %2$s di %1$s Altre opzioni Play - Pausa + Sospendi Download Annulla download Apri file diff --git a/TMessagesProj/src/main/res/values-ko/strings.xml b/TMessagesProj/src/main/res/values-ko/strings.xml index 245bb1e49..e8c2ab035 100644 --- a/TMessagesProj/src/main/res/values-ko/strings.xml +++ b/TMessagesProj/src/main/res/values-ko/strings.xml @@ -217,11 +217,11 @@ 계속 텔레그램에 있는 회원님의 연락처 회원님의 보관함입니다 - 알림이 켜진 대화방은 새로운 메시지가 도착했을 때 보관이 해제됩니다. + 알림이 켜진 대화방은 새로운 메시지가 도착하면 보관이 해제됩니다. 알림이 꺼진 대화방 알림이 꺼진 대화방은 새로운 메시지가 도착해도 계속 보관됩니다. 고정된 대화방 - 보관한 대화방을 무제한으로 맨 위에 고정하실 수 있습니다. + 보관한 대화방들은 개수 제한 없이 맨 위에 고정하실 수 있습니다. 이 버튼을 길게 눌러 메시지를 예약하거나 메시지를 소리 없이 보내세요. 관리자로 승격 @@ -291,7 +291,7 @@ 영구 링크 초대 링크 참가자 추가 - Add Subscribers + 구독자 추가 채널 나가기 채널 나가기 설정 @@ -531,9 +531,9 @@ 새로운 설문 새로운 퀴즈 설문 - Poll question + 설문지 질문 질문을 작성하세요 - Answer options + 답변 선택지 퀴즈 답 설문 결과 익명 투표 @@ -583,12 +583,12 @@ 답변자 %1$d명 답변자 %1$d명 답변자 %1$d명 - 더 보기 (%1$d) - 더 보기 (%1$d) - 더 보기 (%1$d) - 더 보기 (%1$d) - 더 보기 (%1$d) - 더 보기 (%1$d) + 더 보기 (%1$d명) + 더 보기 (%1$d명) + 더 보기 (%1$d명) + 더 보기 (%1$d명) + 더 보기 (%1$d명) + 더 보기 (%1$d명) 선택지를 %1$d개 더 선택지를 %1$d개 더 선택지를 %1$d개 더 @@ -722,7 +722,7 @@ SD 카드 폴더 최근 파일 - Files A-Z + 파일 A-Z 검색 결과가 없습니다 현재 디렉토리에 **%1$s**와 같은 것이 없습니다. 폴더가 비었습니다. @@ -731,7 +731,7 @@ 앱 폴더 탐색 파일 시스템 탐색 외부 저장 공간 탐색 - Search music + 음악 검색 그룹 스티커 내 스티커에서 선택 @@ -801,8 +801,8 @@ 그룹에서 나오셨습니다 이 그룹 삭제 대화방 삭제 - Delete this chat - Delete chats + 이 대화방 삭제 + 대화방 삭제 밀어서 취소 다운로드 폴더에 저장 GIF에 저장 @@ -909,6 +909,7 @@ %1$s 님에게서 삭제 모든 참가자에게서 삭제 텍스트를 클립보드에 복사했습니다 + Hold to record audio. 꾹 눌러 녹음하세요. 살짝 눌러 동영상으로 바꾸세요. 꾹 눌러 녹화하세요. 살짝 눌러 음성으로 바꾸세요. 음성 메시지 삭제 @@ -966,7 +967,7 @@ 죄송합니다. 메시지를 100개 이상 예약할 수 없습니다. 이 작업은 메시지가 공개된 뒤에 시행하실 수 있습니다. 투표는 메시지가 공개된 뒤에 이용할 수 있습니다. - 설문 결과는 메시지가 게시된 뒤 열람하실 수 있습니다. + 설문 결과는 메시지가 게시된 뒤에 열람하실 수 있습니다. 📅 알림 1건의 결과 압축 설정을 바꾸기엔 동영상 품질이 너무 낮습니다. @@ -976,7 +977,18 @@ 대화방에 **:dice:**를 보내어 주사위를 굴리세요. **:darts:** 이모지를 보내어 운수를 시험해 보세요. %1$s 이모지를 보내어 운수를 시험해 보세요. - 보내기Send a dart emoji + 보내기 + 코로나19 + 공공발표 + 이 메시지는 세계적 유행 중인 코로나19 감염 질환에 관한 공공 서비스 발표를 제공드립니다. 아래 링크에서 이 계획에 대해 더 알아보세요.\nhttps://telegram.org/blog/coronavirus + 공공서비스발표 정보 테스트 + 코로나바이러스감염증-19 알림 + 이 메시지는 세계적 유행 중인 코로나19 감염 질환에 관한 공공 서비스 발표를 제공드립니다. 아래 링크에서 이 계획에 대해 더 알아보세요.\nhttps://telegram.org/blog/coronavirus + 중요 알림 + 중요한 알림입니다. + 대화방 가리기 + 정말 이 대화방을 가리시겠습니까? + 가리기 %1$s 님이 자동 삭제 타이머를 %2$s(으)로 맞췄습니다 자동 삭제 타이머를 %1$s(으)로 맞추셨습니다 @@ -1212,11 +1224,11 @@ 오류가 발생했습니다. 암호화 키 자동 삭제 타이머 - 타이머를 맞추시면, 사진이 열람된 뒤 자동으로 삭제됩니다. - 타이머를 맞추시면, 동영상이 열람된 뒤 자동으로 삭제됩니다. + 타이머를 맞추시면, 사진이 열람된 뒤에 자동으로 삭제됩니다. + 타이머를 맞추시면, 동영상이 열람된 뒤에 자동으로 삭제됩니다. 이 이미지와 문자는 **%1$s** 님과의 비밀 대화에 사용된 암호화 키에서 파생되었습니다.\n\n이 이미지와 문자가 **%2$s** 님의 기기에서 똑같이 보인다면, 단대단 암호화가 보장됩니다.\n\ntelegram.org에서 자세히 알아보세요. - https://telegram.org/faq#secret-chats + https://telegram.org/faq/ko#1498786448 알 수 없음 알 수 없음 전화번호 숨김 @@ -1297,6 +1309,7 @@ 마스크 보내고자 하는 사진에 마스크를 추가하실 수 있습니다. 사진을 보내기 전에 사진 편집기를 열어 보세요. 인기 스티커 + Trending GIFs 이모지에 맞춰 스티커 추천 모든 스티커 내 스티커 @@ -1443,7 +1456,7 @@ 메시지 글자 크기 질문하기 설명 추가 - Users will see this text after choosing the wrong answer, good for educational purposes. + 사용자가 틀린 답을 선택하면 이 설명이 나타납니다. 교육용으로 활용하기 좋습니다. 화면 전환 효과 사용 대화방 설정 디바이스 @@ -1569,7 +1582,7 @@ 해당 언어가 없습니다. 이미 이 언어 묶음(**%1$s**)을 사용하고 계십니다. 언제든 설정에서 언어를 바꾸실 수 있습니다. 안타깝게도 이 맞춤 언어 묶음(**%1$s**)에는 Android 텔레그램용 데이터가 들어 있지 않습니다. - 텔레그램 지원 사항은 자원봉사자들이 처리합니다. 신속하게 응답해 드리고자 노력하지만, 다소 시간이 걸릴 수 있습니다.\n\n 자주 묻는 질문]]>을 확인해 보세요. 잦은 질문에 대한 답과 문제 해결]]>을 위한 중요한 조언이 있습니다. + 텔레그램 지원 사항은 자원봉사자들이 처리합니다. 신속하게 응답해 드리고자 노력하지만, 다소 시간이 걸릴 수 있습니다.\n\n 자주 묻는 질문]]>을 확인해 보세요. 잦은 질문에 대한 답과 문제 해결]]>을 위한 중요한 조언이 있습니다. 봉사자에게 질문하기 자주 묻는 질문 자주 묻는 질문 @@ -1657,6 +1670,7 @@ 미디어 자동 재생 기기 들어 말하기 갤러리에 저장 + Sound muted 이름 수정 맞춤 맞춤 @@ -1819,6 +1833,7 @@ QR 코드를 받으려면 텔레그램 데스크탑을 실행하세요. 회원님의 계정을 연결하려면 QR 코드를 스캔하세요. 이 코드는 누군가가 회원님의 텔레그램 계정에 로그인할 수 있도록 하는 데 사용될 수 있습니다.\n\n텔레그램 로그인을 인증하려면, 설정 > 디바이스 > QR 코드 스캔으로 이동하여 코드를 스캔해 주세요. + Telegram needs access to your camera so that you can scan QR codes. 로컬 데이터베이스 로컬 데이터베이스 비우기 @@ -1846,7 +1861,7 @@ 제공한 정보 텔레그램 패스포트가 무엇인가요? 텔레그램 패스포트와 함께라면, 신분 인증이 필요한 여러 웹 사이트와 서비스에 손쉽게 로그인하실 수 있습니다.\n\n회원님의 정보와 개인 데이터, 서류들은 단대단 암호화로 보호됩니다. 텔레그램을 포함하여, 그 누구도 회원님의 허가 없이 이들에 접근할 수 없습니다.\n\n*자주 묻는 질문*을 방문하여 자세히 알아보실 수 있습니다. - https://telegram.org/faq#passport + https://telegram.org/faq/ko#1660002760 단대단 암호화로 개인 데이터를 보호하려면 비밀번호를 만드셔야 합니다.\n\n새로운 기기로 텔레그램에 로그인할 때 이 비밀번호가 필요할 것입니다. 비밀번호 만들기 텔레그램 패스포트 삭제 @@ -2131,6 +2146,18 @@ *설정 > 폴더*를 열어 대화방을 폴더로 정리하세요. 알림 켜짐 읽지 않음 + Add to folder + Remove from folder + Choose a folder + **%1$s** added to **%2$s** + **%1$s** added to **%2$s** + **%1$s** added to **%2$s** + **%1$s** removed from **%2$s** + **%1$s** removed from **%2$s** + **%1$s** removed from **%2$s** + Limit reached + Sorry, you can\'t add more than 100 chats to a folder. + Sorry, you can\'t exclude more than 100 chats from a folder. 암호 잠금 암호 바꾸기 @@ -2260,6 +2287,7 @@ 목록으로 보기 그리드로 보기 모든 미디어 보기 + Show stickers 모든 파일 보기 GIF 모두 보기 다운로드하려면 누르세요 @@ -2334,6 +2362,7 @@ 복제 외곽선 일반 + Framed 초기화 원본 정방형 @@ -2344,15 +2373,24 @@ 2단계 인증 2단계 인증 + Password Set! + This password will be required when you log in on a new device in addition to the code you get in the SMS. + Return to Settings + Return to Passport + Set Password 추가 비밀번호 설정 새로운 기기에 로그인할 때 SMS로 받는 코드와 별개로 입력해야 하는 비밀번호를 설정하실 수 있습니다. 비밀번호 + On + Off 비밀번호를 입력하세요 이전 작업을 완료하려면 비밀번호를 입력해 주세요. 비밀번호 입력 + Enter a new password 새 비밀번호를 입력해 주세요 비밀번호를 다시 입력해 주세요 복구 이메일 + Recovery Email 이메일 이메일 코드 %1$s 편으로 받은 코드를 입력하여 이메일 주소를 인증해 주세요. @@ -2364,7 +2402,9 @@ 2단계 인증 설정을 완료하려면 이메일을 (스팸 메일함도 잊지 않고) 확인해 주세요. 성공! 2단계 인증 비밀번호가 활성화되었습니다. + Your password for Two-Step Verification has been changed. 2단계 인증용 복구 이메일이 이제 작동합니다. + Your recovery email for Two-Step Verification is changed. 비밀번호 바꾸기 비밀번호 끄기 복구 이메일 설정하기 @@ -2376,9 +2416,11 @@ 설치 중단 경고! 텔레그램 패스포트에 저장된 데이터가 모두 사라집니다! 비밀번호 힌트 + Hint 비밀번호 힌트를 만드세요 비밀번호가 맞지 않습니다 2단계 인증 설정 그만두기 + Abort setup 복구 이메일 설정 중단 중단 사용 안 함 @@ -2406,6 +2448,8 @@ 코드 비밀번호 비활성화 코드 다시 보내기 + Verification code + Enter code 인증 코드를 이메일로 보냈습니다. 2단계 인증이 활성화되었습니다.\n회원님의 텔레그램 계정에 로그인하려면 여기서 설정하신 비밀번호가 필요합니다. @@ -2648,6 +2692,7 @@ 죄송합니다. 해당 사용자가 너무 많은 그룹과 채널에 들어가 있습니다.\n먼저 몇 곳을 나가도록 요청해 주세요. 잠깐! **참가자 서로에게서** 이 대화방의 **모든 메시지가 삭제**됩니다. + Warning! This will **delete all messages** in this chat. 모두 삭제 불러오기를 중단할까요? 텔레그램을 업데이트하세요 @@ -2692,7 +2737,7 @@ 정말 **%1$s** 그룹을 삭제하고 나가시겠습니까? 정말 이 대화방을 삭제하시겠습니까? 정말 **%1$s** 님과의 대화방을 삭제하시겠습니까? - Are you sure you want to delete the chat with **%1$s** and block them? + 정말 **%1$s** 대화방을 삭제하고 차단하시겠습니까? 정말 **저장한 메시지**를 삭제하시겠습니까? 정말 **%1$s** 님과의 비밀 대화를 삭제하시겠습니까? 정말 **%1$s** 대화방을 삭제하시겠습니까? @@ -2763,8 +2808,8 @@ 나이 인증 개인 정보 정책 및 이용 약관 귀하가 %1$s세 이상임을 인증하려면 동의를 누르세요. - 매우 유감스럽지만, 이는 곧 우리가 여기서 헤어져야 한다는 뜻입니다. 다른 서비스와 달리, 저희는 회원님의 정보를 광고 타게팅이나 다른 상업적 목적으로 이용하지 않습니다. 텔레그램은 다양한 기능을 가진 클라우드 서비스로서 작동하는 데 필요한 정보만을 저장합니다. 개인 정보 및 보안 설정에서 정보가 사용되는 방식을 조정(동기화된 연락처를 삭제하는 등)하실 수 있습니다.\n\n하지만 텔레그램의 간소한 요청이 회원님에게 만족스럽지 못하다면, 저희는 이 서비스를 제공해 드리기가 어렵습니다. 지금 계정을 비활성화하실 수 있습니다. 아니면 조금 더 살펴보고 정보 사용 방식이 끝내 마음에 들지 않을 때 비활성화하셔도 좋습니다. - 주의! 텔레그램 클라우드에 저장하신 모든 데이터와 함께 회원님의 텔레그램 계정이 삭제되며, 돌이킬 수 없습니다.\n\n중요: 지금 취소하거나 계정을 삭제하기 전에 데이터를 내보내실 수 있습니다. (최신 텔레그램 데스크탑을 열고 \'설정\' > \'텔레그램 데이터 내보내기\'로 가서 이를 진행하실 수 있습니다.) + 유감스럽게도, 텔레그램에 가입하실 수 없습니다.\n\n다른 서비스와 달리 저희는 광고 타겟팅이나 다른 상업적 목적으로 귀하의 데이터를 사용하지 않습니다. 텔레그램이 안전하고 기능이 풍부한 클라우드 서비스로서 작동하는 데 필요한 정보만을 저장합니다. 개인 정보 및 보안 설정에서 데이터 사용 방식(동기화된 연락처 삭제 따위)을 설정하실 수 있습니다.\n\n하지만 텔레그램의 간소한 요구 사항에 두루 동의하실 수 없다면 저희로서 이 서비스를 제공해 드리기가 어렵습니다. + 주의! 텔레그램 클라우드에 저장하신 모든 데이터와 함께 회원님의 텔레그램 계정이 삭제되며, 되돌릴 수 없습니다.\n\n중요: 지금 취소하여 계정을 삭제하기 전에 데이터를 내보내실 수 있습니다. (최신 텔레그램 데스크톱을 열고 설정 > 고급 설정 > 텔레그램 데이터 내보내기에서 진행하실 수 있습니다.) 회원님이 모든 기기에서 친구들과 연락하실 수 있도록, 텔레그램의 단단히 암호화된 클라우드 서비스로 연락처가 계속 동기화됩니다. 사진, 동영상, 음악과 그 밖의 미디어를 보내고 저장하려면 텔레그램에게 저장 공간 접근 권한이 필요합니다. @@ -2863,7 +2908,7 @@ %1$s (%2$s) 전화를 걸거나 받으신 적이 없습니다. **%1$s** 님의 앱은 호환되지 않는 프로토콜을 사용하고 있습니다. 상대가 앱을 업데이트한 뒤에서야 전화하실 수 있습니다. - **%1$s** 님의 텔레그램은 전화를 지원하지 않습니다. 앱을 업데이트한 뒤 전화할 수 있습니다. + **%1$s** 님의 텔레그램은 전화를 지원하지 않습니다. 이 사용자의 앱을 업데이트한 뒤에 전화할 수 있습니다. 텔레그램 전화의 품질을 평가해주세요. 전화를 걸려면 텔레그램에게 마이크 접근 권한을 부여하셔야 합니다. 코멘트를 입력하실 수 있습니다 diff --git a/TMessagesProj/src/main/res/values-nl/strings.xml b/TMessagesProj/src/main/res/values-nl/strings.xml index decfae9be..b1756fc88 100644 --- a/TMessagesProj/src/main/res/values-nl/strings.xml +++ b/TMessagesProj/src/main/res/values-nl/strings.xml @@ -291,7 +291,7 @@ Permanente link Uitnodigingslink Leden toevoegen - Add Subscribers + Abonnees toevoegen Kanaal verlaten Kanaal verlaten Instellingen @@ -531,11 +531,11 @@ Nieuwe poll Nieuwe quiz Poll - Poll question + Pollvraag Stel een vraag - Answer options + Antwoordopties Quiz antwoorden - Poll resultaten + Pollresultaten Anoniem stemmen Quiz-modus Kies eerst een optie @@ -722,7 +722,7 @@ SD-kaart Map Recente bestanden - Files A-Z + Bestanden A-Z Geen resultaten Geen resultaten voor **%1$s** in de huidige map. Deze map is leeg. @@ -731,7 +731,7 @@ Blader door de map van de App Blader door je bestandssysteem Blader door je externe opslag - Search music + Zoek muziek Groepsstickers Kies uit je stickers @@ -801,8 +801,8 @@ Je hebt deze groep verlaten Deze groep verwijderen Chat verwijderen - Delete this chat - Delete chats + Deze chat verwijderen + Chats verwijderen SLEEP OM TE ANNULEREN Opslaan in Downloads GIF opslaan @@ -909,6 +909,7 @@ Verwijder voor %1$s Verwijder voor iedereen Tekst gekopieerd naar klembord. + Hold to record audio. Hou vast voor audio-opname. Tik voor video Hou vast voor video-opname. Tik voor audio Spraakbericht weggooien @@ -935,7 +936,7 @@ APK-installatie is beperkt voor deze app. Je kunt dit inschakelen via de systeeminstellingen. Ongelezen berichten Zoek stickerbundels - Search trending stickers + Zoek populaire stickers Emoji zoeken URL Kaartvoorvertoning @@ -974,9 +975,20 @@ Kaartnummer naar klembord gekopiëerd Kopiëren Stuur een **:dice:**-emoji om een dobbelsteen te gebruiken in een chat. - Send a **:darts:** emoji to try your luck. - Send a %1$s emoji to try your luck. - SturenSend a dart emoji + Stuur een **:darts:**-emoji om je geluk te beproeven + Stuur een %1$s-emoji om je geluk te beproeven. + Sturen + COVID-19 + PSA + Dit bericht geeft je een publieke dienstaankondiging betreft de huidige COVID-19-pandemie. Lees meer over dit initiatief op https://telegram.org/blog/coronavirus + PSA info test + Melding betreft COVID-19 + Dit bericht geeft je een publieke dienstaankondiging betreft de huidige COVID-19-pandemie. Lees meer over dit initiatief op https://telegram.org/blog/coronavirus + Belangrijke melding + Dit is een belangrijke melding. + Chat verbergen + Weet je zeker dat je deze chat wilt verbergen? + Verbergen %1$s heeft de zelfvernietigingstimer ingesteld op %2$s Je hebt de zelfvernietigingstimer ingesteld op %1$s @@ -1263,7 +1275,7 @@ Recent gebruikt Favorieten Groepsstickers - More Stickers + Meer stickers Verwijder uit favorieten Verwijder uit recente Maskers toevoegen @@ -1297,6 +1309,7 @@ Maskers Je kunt maskers toevoegen aan foto\'s , gebruik de fotobewerkingsoptie en verstuur ze. Populaire stickers + Populaire GIF\'s Stickersuggesties Alle bundels Mijn bundels @@ -1442,8 +1455,8 @@ Alle meldingsinstellingen herstellen naar de standaardwaarden? Tekstgrootte berichten Een vraag stellen - Add an explanation - Users will see this text after choosing the wrong answer, good for educational purposes. + Uitleg toevoegen + Gebruikers zien deze uitleg nadat ze een verkeerd antwoord hebben gekozen, goed voor educatieve doeleinden. Animaties Chatinstellingen Apparaten @@ -1657,6 +1670,7 @@ Autom. media afspelen Houd bij oor Opslaan in galerij + Geluid gedempt Naam wijzigen Aanpassen Aangepast @@ -1670,7 +1684,7 @@ Nooit Meldingen herhalen Je kan je telefoonnummer hier wijzigen. Al je clouddata — berichten, bestanden, groepen, contacten, etc. zullen worden verplaatst naar je nieuwe nummer. - Gebruikers zien je nieuwe nummer als ze deze in hun adresboek hebben of als je privacy-instellingen dat toestaat. Je kunt dit aanpassen via Instellingen > Privacy en Veiligheid > Telefoonnummer. + Gebruikers zien je nieuwe nummer als ze deze in hun adresboek hebben of als je privacy-instellingen dat toestaat. Je kunt dit aanpassen via Instellingen > Privacy en veiligheid > Telefoonnummer. Nummer wijzigen Nummer wijzigen Nieuw nummer @@ -1819,6 +1833,7 @@ Gebruik Telegram Desktop om de QR-code te krijgen. Scan de QR-Code om met je account te verbinden. Met deze code kun je iemand toestaan om in te loggen op je Telegram-account\n\nOm de login te bevestigen ga naar, Instellingen > Apparaten > Scan QR en scan de code. + Telegram heeft toegang tot je camera nodig om QR-codes te scannen. Lokale database Lokale database wissen @@ -2131,6 +2146,18 @@ Open *Instellingen> Mappen* om je chats in mappen in te delen. Niet gedempt Ongelezen + Toevoegen aan map + Verwijderen van map + Kies een map + **%1$s** toegevoegd aan **%2$s** + **%1$s** toegevoegd aan **%2$s** + **%1$s** toegevoegd aan **%2$s** + **%1$s** verwijderd van **%2$s** + **%1$s** verwijderd van **%2$s** + **%1$s** verwijderd van **%2$s** + Limiet bereikt + Sorry, je kunt niet meer dan 100 chats aan een map toevoegen. + Sorry, je kunt niet meer dan 100 chats uitsluiten van een map Toegangscode-vergrendeling Toegangscode wijzigen @@ -2260,6 +2287,7 @@ Weergeven als lijst Weergeven als rooster Alle media weergeven + Stickers weergeven Alle bestanden Alle GIF\'s tonen Tik om te downloaden @@ -2334,6 +2362,7 @@ Klonen Omlijnd Normaal + Omlijst Resetten Origineel Vierkant @@ -2344,15 +2373,24 @@ Twee-staps-verificatie Twee-staps-verificatie + Wachtwoord ingesteld! + Dit wachtwoord heb je nodig wanneer je inlogt op Telegram vanaf een nieuw apparaat, naast de code die je ontvangt per SMS. + Terug naar instellingen + Terug naar Passport + Wachtwoord instellen Extra wachtwoord instellen Naast de code die je per SMS ontvangt kun je een extra wachtwoord instellen voor als je inlogt op een nieuw apparaat. Je wachtwoord + Aan + Uit Voer je wachtwoord in Voer je wachtwoord in om de overdracht af te ronden Wachtwoord invoeren + Nieuw wachtwoord invoeren Nieuw wachtwoord invoeren Wachtwoord opnieuw invoeren Herstel-e-mailadres + Herstel-e-mailadres Je e-mailadres Je e-mailcode Bevestig je e-mailadres door de code in te geven die je hebt ontvangen op %1$s. @@ -2364,7 +2402,9 @@ Controleer je e-mail en klik op de bevestigingslink om de twee-staps-verificatie in te schakelen. Kijk voor de zekerheid ook in de ongewenste post. Gelukt! Je wachtwoord voor twee-staps-verificatie is nu actief. + Je tweestapsverificatiewachtwoord is aangepast. Je herstel-e-mailadres voor twee-staps-verificatie is nu actief. + Your recovery email for Two-Step Verification is changed. Wachtwoord wijzigen Wachtwoord uitschakelen Herstel-e-mailadres instellen @@ -2376,9 +2416,11 @@ Installatie annuleren Let op! Alle opgeslagen gegevens in je Telegram Passport gaan verloren! Wachtwoordhint + Hint Stel een hint voor je wachtwoord in Wachtwoorden komen niet overeen Twee-staps-verificatie annuleren + Installatie annuleren Instellen annuleren Annuleren Uitschakelen @@ -2406,6 +2448,8 @@ Code Wachtwoord uitgeschakeld Code opnieuw sturen + Verificatiecode + Code invoeren De verificatiecode is naar je e-mailadres gestuurd. Je hebt twee-staps-verificatie ingeschakeld.\nAls je inlogt op je Telegram-account heb je het ingestelde wachtwoord nodig. @@ -2434,7 +2478,7 @@ Privacy en veiligheid Privacy - Laatst gezien & online + Laatst gezien en online Profielfoto Wie kan mijn profielfoto zien Je kunt nauwkeurig beperken wie je profielfoto kan zien. @@ -2648,6 +2692,7 @@ Sorry, de doelgebruiker is lid van teveel groepen en kanalen, vraag eerst of ze uit enkele willen gaan. Let op! Hiermee verwijder je **alle berichten** in deze chat voor **beide** deelnemers. + Let op! Hiermee **verwijder je alle berichten** uit deze chat. Alles verwijderen Stopped met laden? Telegram bijwerken @@ -2692,7 +2737,7 @@ Groep **%1$s** echt verwijderen en verlaten? Chat echt verwijderen? Chat met **%1$s** echt wissen? - Are you sure you want to delete the chat with **%1$s** and block them? + Echt **%1$s** blokkeren en de chat verwijderen? " **Bewaarde berichten** echt verwijderen?" Geheime chat met **%1$s** echt wissen? Chat **%1$s** echt wissen? @@ -2791,18 +2836,18 @@ Aantal keer bekeken per uur (UTC) Veeg omhoog om opnemen vast te zetten Meldingen - Device storage - %s Free - Clear Telegram Cache - Overview - Views Per Post - Shares Per Post - Enabled Notifications - Clear Local Database + Apparaatopslag + %s vrij + Telegram-cache wissen + Overzicht + Aantal keer bekeken per post + Aantal keer gedeeld per post + Meldingen ingeschakeld + Lokale database wissen %s Telegram Cache - %s Telegram Local Database - %s freed on your device! - %s Other Data + %s Telegram Lokale Database + %s vrijgemaakt op je apparaat! + %s Andere Data Telegram Snel diff --git a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml index b2ac32856..6732aaac2 100644 --- a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml +++ b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml @@ -13,7 +13,7 @@ Escolha um país Código do país inválido Esta conta já está conectada a partir deste aplicativo. - Alternar + Trocar Sincronizar Contatos Contatos deste dispositivo serão adicionados à sua conta. Contatos deste dispositivo não serão adicionados à sua conta. @@ -28,7 +28,7 @@ Inserir código Estamos ligando para o seu telefone **%1$s**.\n\nNão atenda, o Telegram processará tudo automaticamente. Te ligaremos no **%1$s** para ditar o código. - Telegram irá te ligar em %1$d:%2$02d + O Telegram te ligará em %1$d:%2$02d Vamos te enviar um SMS em %1$d:%2$02d Estamos te ligando... Enviando SMS... @@ -39,9 +39,9 @@ Cancelar Exclusão da Conta Alguém com acesso ao seu número de telefone **%1$s** solicitou a exclusão de sua conta do Telegram e a redefinição de sua senha de Verificação em Duas Etapas.\n\nSe não foi você, por favor insira o código que te enviamos via SMS. Apagar conta - Uma vez que a conta **%1$s** está ativa e protegida por senha, iremos desativá-la em 1 semana por questões de segurança.\n\nVocê pode cancelar esse processo a qualquer momento. - Você poderá restaurar sua conta em: - As suas tentativas recentes de redefinir essa conta foram canceladas pelo seu utilizador ativo. Tente novamente em 7 dias. + Como a conta %1$s está ativa e protegida por uma senha, iremos apagá-la em 1 semana por questões de segurança.\n\nVocê pode cancelar esse processo a qualquer momento. + Você poderá redefinir a sua conta em: + As suas tentativas recentes de redefinir esta conta foram canceladas pelo usuário ativo. Por favor, tente novamente em 7 dias. APAGAR CONTA O link expirou ou está inválido. O processo de exclusão da sua conta %1$s foi cancelado. Você pode fechar esta janela agora. @@ -356,7 +356,7 @@ Editar permissões Somente os administradores do canal podem ver esta lista. Qualquer pessoa que tenha o Telegram instalado poderá participar do seu canal seguindo esse link. - Você pode adicionar administradores para ajudar você a gerenciar seu canal. Aperte e segure para removê-los. + Você pode adicionar administradores para ajudar você a gerenciar o seu canal. Aperte e segure para removê-los. Deseja entrar no canal \'%1$s\'? Desculpe, este chat não está mais acessível. Infelizmente você foi banido de participar de grupos públicos. @@ -364,7 +364,7 @@ Adicionar %1$s ao canal? Desculpe, se uma pessoa não faz mais parte de um canal, você precisa estar nos contatos do Telegram dela para adicioná-la de volta ao canal.\n\nNote que ela ainda poderá entrar usando um link de convite do canal, desde que não esteja na lista de Usuários Removidos. Desculpe, você não pode adicionar esse usuário em canais. - Desculpe, muitos administradores neste canal. + Desculpe, há muitos administradores neste canal. Desculpe, há bots demais neste canal. Desculpe, você só pode adicionar os primeiros 200 membros ao canal. Note que um número ilimitado de pessoas podem entrar via link do canal. Muitos grupos e canais @@ -391,7 +391,7 @@ %1$s postou um álbum %1$s postou uma mensagem de voz %1$s postou uma mensagem de vídeo - %1$s postou uma música + %1$s postou um arquivo de áudio %1$s postou um sticker %1$s postou um %2$s sticker Quem pode adicionar membros? @@ -497,7 +497,7 @@ TORNAR ADMIN %1$s será removido dos admins se você restringir. Conversa - Adicione um grupo para comentários + Vincule um grupo para comentários Canal Vinculado Escolha um grupo para conversas que será exibido em seu canal. Tudo que você postar no canal será encaminhado para este grupo. @@ -888,7 +888,7 @@ Desça para ver os bots %1$s Desculpe, o tempo para editar expirou. - Adicionar à Home + Adicionar à tela inicial Buscar membros encaminhe aqui para salvar\n Mensagens Salvas @@ -909,6 +909,7 @@ Apagar para %1$s Apagar para todos os membros O texto foi copiado. + Segure para gravar áudio. Segure para gravar áudio. Toque para vídeo. Segure para gravar vídeo. Toque para áudio. Descartar Mensagem de Voz @@ -932,11 +933,11 @@ GIFs não são permitidos neste grupo. Não é permitido enviar mensagens neste grupo. admin - A instalação de APKs está restrita nesse aplicativo. Você pode ativar nas configurações do sistema. + A instalação de APKs está restrita neste aplicativo. Você pode ativar nas configurações do sistema. Mensagens não lidas Buscar pacotes de sticker Buscar stickers populares - Pesquisar emoji + Buscar emoji URL Provedor de Prévia de Mapas Provedor da prévia de mapas @@ -976,7 +977,18 @@ Envie o emoji do **:dado:** em qualquer chat para rolar um dado. Envie o emoji do **:dardo:** e tente a sorte. Envie um emoji de %1$s e tente a sorte. - ENVIARSend a dart emoji + ENVIAR + COVID-19 + A.U.P. + Esta mensagem fornece um aviso de utilidade pública em relação à pandemia atual de COVID-19. Saiba mais sobre esta iniciativa em https://telegram.org/blog/coronavirus. + Teste A.U.P. + Notificação – COVID-19 + Esta mensagem fornece um aviso de utilidade pública em relação à pandemia atual de COVID-19. Saiba mais sobre esta iniciativa em https://telegram.org/blog/coronavirus. + Notificação Importante + Esta é uma notificação importante. + Ocultar chat + Deseja realmente ocultar esse chat? + Ocultar "%1$s alterou o timer de autodestruição para %2$s " Você alterou o timer de autodestruição para %1$s @@ -1070,7 +1082,7 @@ %1$s fixou um mapa no grupo %2$s %1$s fixou uma localização em tempo real no grupo %2$s %1$s fixou um GIF no grupo %2$s - %1$s fixou uma música no grupo %2$s + %1$s fixou um arquivo de áudio no grupo %2$s %1$s fixou um recibo no grupo %2$s %1$s fixou \"%2$s\" %1$s fixou uma mensagem @@ -1133,7 +1145,7 @@ Digite o nome do grupo Nome do grupo até %1$s - Desculpe, esse grupo já está lotado. + Desculpe, esse grupo está lotado. Desculpe, parece que esse chat não existe. Link copiado. Link copiado.\nEle só funciona para membros deste chat. @@ -1145,7 +1157,7 @@ Tem certeza de que deseja desativar o link de convite? Se fizer isso, ninguém conseguirá usá-lo. O link de convite anterior foi desativado. Um novo link foi gerado. Desativar - Desativar Link + Revogar Link Tem certeza de que deseja desativar o link **%1$s**?\n\nO grupo \"**%2$s**\" se tornará privado. Tem certeza de que deseja desativar o link **%1$s**?\n\nO canal \"**%2$s**\" se tornará privado. Copiar Link @@ -1189,7 +1201,7 @@ Usuário bloqueado Usuário desbloqueado Editar contato - Apagar Contato + Apagar contato Casa Celular Trabalho @@ -1216,7 +1228,7 @@ Se você definir um timer, o vídeo irá se autodestruir após ser visto. Desativado Essa imagem e texto foram derivados da chave criptográfica para este chat secreto com **%1$s**.\n\nSe você vê o mesmo no dispositivo de **%2$s**, a criptografia de ponta a ponta está garantida. - https://telegram.org/faq/br#chats-secretos + https://telegram.org/faq/pt-br#chats-secretos Desconhecido Desconhecido Número oculto @@ -1269,7 +1281,7 @@ Adicionar Máscaras Stickers não encontrados Stickers removidos - %1$s não está mais nos seus stickers. + %1$s removido dos seus stickers. Máscaras removidas %1$s não está mais em suas máscaras. Stickers arquivados. @@ -1297,6 +1309,7 @@ Máscaras Você pode adicionar máscaras em fotos que você envia. Para isso, abra o editor de fotos antes de enviar uma foto. Stickers Populares + GIFs Populares Sugerir stickers por emoji Todos os Pacotes Meus Pacotes @@ -1443,7 +1456,7 @@ Tamanho do texto das mensagens Fazer uma Pergunta Adicionar uma explicação - Os participantes do quiz vão ler este texto se escolherem a opção incorreta (útil para fins educacionais). + Os participantes do quiz vão ler este texto se escolherem a opção incorreta. Útil para fins educacionais. Ativar Animações no App Configurações de Chats Dispositivos @@ -1569,13 +1582,13 @@ Esse idioma não existe. Você já está usando esse pacote de idiomas (**%1$s**). Você pode alterar seu idioma a qualquer momento em Configurações. Infelizmente esse pacote de idiomas personalizado (**%1$s**) não contém dados para o Telegram no Android. - Por favor, note que o Suporte do Telegram é feito por voluntários. Tentaremos responder o mais rápido possível, mas pode levar um tempo.\n\nDê uma olhada na página de Perguntas Frequentes]]>: há dicas e soluções para a maioria dos problemas]]>. + Por favor, note que o Suporte do Telegram é feito por voluntários. Tentaremos responder o mais rápido possível, mas pode levar um tempo.\n\nDê uma olhada na página de Perguntas Frequentes]]>: há dicas e soluções para a maioria dos problemas]]>. Perguntar Perguntas Frequentes Perguntas Frequentes Adicionar Conta Selecionar Conta - https://telegram.org/faq/br + https://telegram.org/faq/pt-br Política de Privacidade Termos de Serviço Ao se cadastrar,\nvocê concorda com os *Termos de Serviço*. @@ -1657,6 +1670,7 @@ Reproduzir automaticamente Levantar para Falar Salvar na Galeria + Silenciado Editar nome Personalizar Personalizado @@ -1670,7 +1684,7 @@ Nunca Repetir Notificações Você pode alterar o seu número do Telegram aqui. Sua conta e todos os seus dados — mensagens, mídia, contatos, etc. serão movidos para o novo número. - Os usuários irão ver o seu novo número se eles tiverem salvo na agenda deles ou se as suas configurações de privacidade permitirem. Você pode mudar isso em Configurações > Privacidade e Segurança > Número de Telefone. + As pessoas poderão ver o seu novo número se tiverem ele salvo na agenda ou se as suas configurações de privacidade permitirem. Você pode alterar isso em Configurações > Privacidade e Segurança > Número de Telefone. Alterar Número Alterar número Novo Número @@ -1781,9 +1795,9 @@ Por favor note que **%1$s** são listados como exceções e não serão afetados por essa alteração. Por favor note que **%1$s** está listado como uma exceção e não será afetado por essa alteração. Ver Exceções - Notificações para grupos - Notificações para chats privados - Notificações para canais + Notificações de grupos + Notificações de chats privados + Notificações de canais Toque para alterar Opções alternativas Adicionar outra conta @@ -1819,6 +1833,7 @@ Use o Telegram Desktop para obter o código QR. Escaneie o código QR para conectar à sua conta. Esse código pode ser usado para permitir que alguém faça login em sua conta do Telegram.\n\nPara confirmar o login no Telegram, acesse Configurações > Dispositivos > Ler Código QR e escaneie o código. + O Telegram precisa de acesso à sua câmera para que você possa escanear códigos QR. Base de Dados Local Limpar base de dados local @@ -1846,7 +1861,7 @@ Informação Fornecida O que é o Telegram Passport? Com o Telegram Passport, você pode se inscrever facilmente em sites e serviços que exigem verificação de identidade.\n\nSuas informações, dados pessoais e documentos são protegidos por criptografia de ponta a ponta. Ninguém, nem mesmo o Telegram, pode acessá-los sem sua permissão.\n\nVocê pode visitar nossas *Perguntas Frequentes* para saber mais. - https://telegram.org/faq#passport + https://telegram.org/faq/pt-br#passport Por favor, crie uma senha para proteger seus dados pessoais com criptografia de ponta a ponta.\n\nEssa senha também será necessária sempre que você fizer login no Telegram em um novo dispositivo. Criar uma senha Apagar Passport @@ -2033,17 +2048,17 @@ Nenhuma outra sessão ativa Você pode entrar no Telegram em outros celulares, tablets e computadores usando o mesmo número de telefone. Todos os seus dados serão sincronizados. Sessões ativas - Controle suas sessões em outros dispositivos. - Toque em uma sessão para terminá-la. - Encerrar essa sessão? - Deseja encerrar essa sessão? + Controle as suas sessões de outros dispositivos. + Toque em uma sessão para terminar. + Terminar essa sessão? + Deseja terminar essa sessão? Sai de todos os dispositivos, exceto este. - Encerrar sessões - Encerrar sessão - Encerrar + Terminar sessões + Terminar sessão + Terminar Tem certeza de que deseja terminar todas as outras sessões? Terminar todas as outras sessões - aplicativo não oficial + app não oficial Nenhum login ativo. Em sites compatíveis, você pode fazer o login com o Telegram. Sites conectados @@ -2066,7 +2081,7 @@ Criar Nova Pasta Crie pastas para diferentes grupos de chats e alterne rapidamente entre elas. Pastas Recomendadas - Todos os Chats + Todos Todos Reordenar Editar pasta @@ -2131,6 +2146,18 @@ Abra *Configurações > Pastas* para organizar os seus chats em pastas. Importante Não lido + Adicionar à pasta + Remover da pasta + Escolha a pasta + **%1$s** adicionado a **%2$s** + **%1$s** adicionado a **%2$s** + **%1$s** adicionado a **%2$s** + **%1$s** removido de **%2$s** + **%1$s** removido de **%2$s** + **%1$s** removido de **%2$s** + Limite alcançado + Desculpe, você não pode adicionar mais que 100 chats numa pasta. + Desculpe, você não pode ignorar mais que 100 chats numa pasta. Senha de Bloqueio Alterar Senha @@ -2260,6 +2287,7 @@ Exibir em lista Exibir em grade Mostrar todas as mídias + Mostrar stickers Mostrar todos os arquivos Mostrar todos os GIFs Toque para baixar @@ -2334,6 +2362,7 @@ Duplicar Delineado Regular + Fundo Reiniciar Original Quadrado @@ -2344,15 +2373,24 @@ Verificação em Duas Etapas Verificação em Duas Etapas + Senha Definida! + Essa senha será solicitada quando você entrar em um novo dispositivo, após o código SMS. + Voltar às Configurações + Voltar ao Passport + Configurar Senha Configurar senha adicional Você pode configurar uma senha que será solicitada quando você entrar em um novo dispositivo, após o código SMS. Sua senha + Ativada + Desativada Digite a sua senha Por favor, digite sua senha para finalizar a transferência. Insira uma senha + Insira uma nova senha Digite a sua nova senha Digite a sua senha novamente Email de recuperação + Email de Recuperação Seu email Ver Código do Email Por favor, confirme o seu endereço de email digitando o código que você acabou de receber em %1$s. @@ -2364,7 +2402,9 @@ Por favor, verifique o seu email para completar a configuração da Verificação em Duas Etapas (não esqueça da pasta spam). Tudo certo! A sua senha para a verificação em duas etapas está ativada. + A sua senha de Verificação em Duas Etapas foi alterada. Seu email de recuperação para a Verificação em Duas Etapas está ativo. + Seu email de recuperação da Verificação em Duas Etapas foi alterado. Alterar senha Desativar senha Definir Email de Recuperação @@ -2376,9 +2416,11 @@ Cancelar configuração Atenção! Todos os dados salvos no seu Telegram Passport serão perdidos! Dica da senha + Dica Crie uma dica para sua senha As senhas não são iguais Cancelar a configuração + Cancelar Desistir de config. o email de recuperação Cancelar Desativar @@ -2406,6 +2448,8 @@ Código Senha desativada Reenviar código + Código de verificação + Digite o código O código de verificação foi enviado para o seu email. Você ativou a Verificação em Duas Etapas.\nVocê precisará da senha que configurou aqui para fazer o login em sua conta do Telegram. @@ -2509,7 +2553,7 @@ Desculpe, você não pode adicionar esse usuário a grupos devido às configurações de privacidade dele. Desculpe, você não pode adicionar esse usuário a canais devido às configurações de privacidade dele. Desculpe, você não pode criar um grupo com esses usuários devido às configurações de privacidade deles. - Desativar a conexão de ponta a ponta irá transmitir as chamadas através dos servidores do Telegram para evitar que seu endereço de IP seja revelado, mas poderá diminuir a qualidade do áudio. + Desativar a conexão de ponta a ponta irá transmitir as chamadas através dos servidores do Telegram para evitar que seu endereço de IP seja revelado, mas irá diminuir a qualidade do áudio. Apagar Contatos Sincronizados Sugerir Contatos Frequentes Exibe as pessoas com quem você mais conversa no topo da seção de busca para acesso rápido. @@ -2601,7 +2645,7 @@ un1 retornou ao grupo un1 entrou no grupo Você retornou ao grupo - Você permitiu que o bot te envie mensagens ao logar em %1$s. + Você permitiu que o bot te envie mensagens ao fazer o login em %1$s. %1$s recebeu os seguintes documentos: %2$s Dados pessoais Endereço @@ -2648,15 +2692,16 @@ Desculpe, o usuário escolhido é membro de muitos grupos e canais. Por favor, peça que ele saia de algum primeiro. Aviso! Esta ação **apagará todas as mensagens** neste chat para **ambos** os participantes. + Atenção! Isso **apagará todas as mensagens** nesse chat. Apagar Tudo Parar de carregar? - Atualizar Telegram + Atualize o Telegram Desculpe, seu Telegram está desatualizado e não consegue atender a este pedido. Por favor, atualize o Telegram. Número de telefone inválido. Por favor, verifique o número e tente de novo. Por favor, entre com sua conta do Telegram para usar o Telegram Passport. Este número de telefone está banido. Código expirado. Por favor, tente entrar novamente. - Muitas tentativas. Por favor, tente novamente mais tarde. + Muitas tentativas. Por favor, tente depois. Muitas tentativas. Por favor, tente novamente em %1$s. Código inválido Desculpe, você apagou e recriou a sua conta muitas vezes recentemente. Aguarde alguns dias antes de tentar novamente. @@ -2669,7 +2714,7 @@ Esse usuário ainda não tem o Telegram, deseja enviar um convite? Tem certeza? Adicionar bot - Deseja adicionar **%2$s** ao grupo **%1$s**? + Deseja adicionar **%1$s** ao grupo **%2$s**? Número de mensagens antigas para encaminhar: Adicionar %1$s ao grupo? Adicionar %1$s @@ -2759,11 +2804,11 @@ Desculpe, o envio de stickers não é permitido neste grupo. Desculpe, o envio de mídia não é permitido neste grupo. Desculpe, o envio de enquetes não é permitido neste grupo. - Sentimos muito, mas isso significa que você não pode se cadastrar no Telegram.\n\nAo contrário de outros, não utilizamos seus dados para segmentação de anúncios ou outros fins comerciais. O Telegram armazena apenas as informações necessárias para funcionar como um serviço em nuvem, rico em recursos. Você pode ajustar como usamos seus dados nas configurações de Privacidade e Segurança.\n\nSe de forma geral você não concorda com os requisitos modestos do Telegram, não será possível te fornecer nosso serviço. + Sentimos muito, mas isso significa que você não pode se cadastrar no Telegram.\n\nAo contrário de outros, não utilizamos seus dados para segmentação de anúncios ou outros fins comerciais. O Telegram armazena apenas as informações necessárias para funcionar como um serviço em nuvem rico em recursos. Você pode ajustar como usamos seus dados (ex. apagar contatos sincronizados) nas configurações de Privacidade e Segurança.\n\nSe de forma geral você não concorda com os requisitos modestos do Telegram, não poderemos oferecer nosso serviço. Confirmação de Idade Política de Privacidade e Termos de Serviço Toque em Concordo para confirmar que você tem mais de %1$s anos. - Sentimos muito, mas isso significa que devemos nos separar aqui. Ao contrário de outros, não utilizamos seus dados para segmentação de anúncios ou outros fins comerciais. O Telegram armazena apenas as informações necessárias para funcionar como um serviço em nuvem rico em recursos. Você pode ajustar como usamos seus dados nas configurações de Privacidade e Segurança.\n\nSe de forma geral você não concorda com os requisitos modestos do Telegram, não será possível te fornecer nossos serviços. Você pode apagar sua conta agora ou dar uma olhada e apaga-lá mais tarde se achar que não está satisfeito com o modo como usamos seus dados. + Sentimos muito, mas isso significa que devemos nos separar aqui. Ao contrário de outros, não utilizamos seus dados para segmentação de anúncios ou outros fins comerciais. O Telegram armazena apenas as informações necessárias para funcionar como um serviço em nuvem rico em recursos. Você pode ajustar como usamos seus dados nas configurações de Privacidade e Segurança.\n\nSe de forma geral você não concorda com os requisitos modestos do Telegram, não será possível te fornecer nossos serviços. Você pode apagar sua conta agora ou dar uma olhada e apagá-la mais tarde se achar que não está satisfeito com o modo como usamos seus dados. Atenção, isso apagará irreversivelmente sua conta do Telegram, juntamente com todos os dados armazenados na nuvem do Telegram.\n\nImportante: em vez de perder tudo, você pode Cancelar agora e exportar seus dados antes de apagar a conta. (Para fazer isso, abra o Telegram Desktop atualizado e vá em Configurações > Exportar Dados do Telegram.) Para que você se conecte aos seus amigos em todos os dispositivos, seus contatos serão sincronizados continuamente com os servidores fortemente criptografados do Telegram. @@ -2792,24 +2837,24 @@ Deslize para cima e grave automaticamente Notificações Armazenamento - %s Livres + Livre • %s Limpar o Cache do Telegram Visão Geral Visualizações por Post Compartilhamentos por Post Notificações Ativadas Limpar Base de Dados Local - %s Cache do Telegram + Cache do Telegram • %s %s Base de Dados Local %s liberados no seu dispositivo! - %s Outros Dados + Outros Dados • %s Telegram Rápido Gratuito Seguro Poderoso - Baseado em nuvem + Baseado em Nuvem O aplicativo de mensagem mais **rápido** do mundo.\nÉ **gratuito** e **seguro**. O **Telegram** envia mensagens mais rápido que qualquer outro aplicativo. O **Telegram** será grátis para sempre.\nSem anúncios. Sem tarifas. @@ -3413,7 +3458,7 @@ Cabeçalho Minha localização Qualidade do vídeo - Proporção da tela + Proporção da imagem Tirar mais uma foto Lido Não lido diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml index 1be486fe9..1f0f2cc19 100644 --- a/TMessagesProj/src/main/res/values/strings.xml +++ b/TMessagesProj/src/main/res/values/strings.xml @@ -909,6 +909,7 @@ Delete for %1$s Delete for all members Text copied to clipboard + Hold to record audio. Hold to record audio. Tap to switch to video. Hold to record video. Tap to switch to audio. Discard Voice Message @@ -1308,6 +1309,7 @@ Masks You can add masks to photos you send. To do this, open the photo editor before sending a photo. Trending Stickers + Trending GIFs Suggest stickers by emoji All Sets My Sets @@ -1668,6 +1670,7 @@ Auto-play media Raise to Speak Save to Gallery + Sound muted Edit name Customize Custom @@ -1830,6 +1833,7 @@ Run Telegram Desktop to get the QR code. Scan the QR code to connect your account. This code can be used to allow someone to log in to your Telegram account.\n\nTo confirm Telegram login, please go to Settings > Devices > Scan QR and scan the code. + Telegram needs access to your camera so that you can scan QR codes. Local Database Clear local database @@ -2142,6 +2146,18 @@ Open *Settings / Folders* to organize your chats into folders. Not Muted Unread + Add to folder + Remove from folder + Choose a folder + **%1$s** added to **%2$s** + **%1$s** added to **%2$s** + **%1$s** added to **%2$s** + **%1$s** removed from **%2$s** + **%1$s** removed from **%2$s** + **%1$s** removed from **%2$s** + Limit reached + Sorry, you can\'t add more than 100 chats to a folder. + Sorry, you can\'t exlude more than 100 chats from a folder. Passcode Lock Change Passcode @@ -2271,6 +2287,7 @@ Show as list Show as grid Show all media + Show stickers Show all files Show all GIFs Tap to download @@ -2345,6 +2362,7 @@ Duplicate Outlined Regular + Framed Reset Original Square @@ -2355,15 +2373,24 @@ Two-Step Verification Two-Step Verification + Password Set! + This password will be required when you log in on a new device in addition to the code you get in the SMS. + Return to Settings + Return to Passport + Set Password Set Additional Password You can set a password that will be required when you log in on a new device in addition to the code you get in the SMS. Your Password + On + Off Enter your password Please enter your password to complete the transfer. Enter a password + Enter a new password Enter your new password Re-enter your password Recovery email + Recovery Email Your email Your Email Code Please confirm your email address by entering the code you just received on %1$s. @@ -2375,7 +2402,9 @@ Please check your email (don\'t forget the spam folder) to complete Two-Step Verification setup. Success! Your password for Two-Step Verification is now active. + Your password for Two-Step Verification has been changed. Your recovery email for Two-Step Verification is now active. + Your recovery email for Two-Step Verification is changed. Change Password Turn Password Off Set Recovery Email @@ -2387,9 +2416,11 @@ Abort setup Warning! All data saved in your Telegram Passport will be lost! Password Hint + Hint Create a hint for your password Passwords do not match Abort two-step verification setup + Abort setup Abort recovery email setup Abort Disable @@ -2417,6 +2448,8 @@ Code Password deactivated Resend code + Verification code + Enter code The verification code was sent to your email. You have enabled Two-Step verification.\nYou\'ll need the password you set up here to log in to your Telegram account. @@ -2659,6 +2692,7 @@ Sorry, the target user is a member of too many groups and channels. Please ask them to leave some first. Warning! This will **delete all messages** in this chat for **both** participants. + Warning! This will **delete all messages** in this chat. Delete All Stop loading? Update Telegram @@ -2912,164 +2946,6 @@ I couldn\'t hear the other side The other side couldn\'t hear me Call ended unexpectedly - - Wallet - Scan QR Code - QR Code - No wallet address found in the selected image. - No wallet address found - Gram Wallet - Create My Wallet - Import existing wallet - Congratulations - Your Gram wallet has just been created. Only you control it.\n\nTo be able to always have access to it, please write down secret words and set up a secure passcode. - Continue - CLOSE - 24 Secret Words - Secret Words - Write down these 24 words in the correct order and store them in a secret place.\n\nUse these secret words to restore access to your wallet if you lose your passcode or Telegram account. - Done - Sure done? - You didn’t have enough time to write these words down. - OK, SORRY - Test time! - Test Time! - Now let’s check that you wrote your secret words correctly.\n\nPlease enter the words **%d**, **%d** and **%d** below: - Incorrect words - The secret words you have entered do not match the ones in the list. - See words - Try again - Ready to go! - You are all set. Now you have a wallet that only you control — directly, without middlemen or bankers. - View My Wallet - You can restore access to your wallet by entering the 24 words you wrote down when creating the wallet. - I don’t have them - Incorrect words - Sorry, you have entered incorrect secret words. Please double check and try again. - Too Bad! - Without the secret words you can’t restore access to the wallet. - Enter 24 secret words - Create a new empty wallet instead - Perfect! - Now set up a passcode to secure your transactions. - Set a Passcode - Set a Passcode - Repeat the Passcode - Passcode options - Enter code - Choose code type - 4-Digit code - 6-Digit code - Custom numeric code - Passcodes do not match - Minimum passcode length is 4 - Done! - %1$s Grams have been sent to - Your balance - Receive - Send - Wallet Created - Your wallet address - from: - to: - Your Wallet Address - Copy wallet address - Create invoice - Share Wallet Address - updated a few seconds ago - updated %1$s ago - Swipe down to refresh - Release to refresh - updating - updating %d%% - Send Grams - Recipient wallet address - Enter wallet address - Copy the 48-letter wallet address of the recipient here or ask them to send you a ton:// link. - Amount - Comment (optional) - You can specify the amount and purpose of the payment to save the sender some time: - Share Invoice URL - Share this address with other Gram\nwallet owners to receive Grams from them. - Share this link to receive Test Grams.\nNote: this link won\'t work for real Grams. - Share this link with other Gram wallet owners to receive **%1$s Grams** from them. - Share this link to receive **%1$s Test Grams**.\nNote: this link won\'t work for real Grams. - Create Invoice - Your Invoice - Confirmation - Do you want to send **%1$s Grams** to: - Confirm - Enter passcode - Your passcode contains %1$s. - Sending Grams - Please wait a few seconds for your transaction to be processed... - Please confirm your credentials to send Grams. - Please confirm your credentials to continue. - Please confirm your credentials to export your wallet. - Export Wallet - Delete Wallet - Wallet Settings - Server Settings - Change Passcode - Delete wallet - Unfortunately, your wallet is no longer available because of a change in your device\'s lockscreen parameters. Please use your secret words to restore the wallet. - Telegram needs access to your camera so that you can scan QR codes. - Security - For better security, we recommend you to set up lockscreen biometric authentication. - For better security, we recommend you to set up a lockscreen password and biometric authentication. - For better security, we recommend you to set up a lockscreen password or pin. - Create anyway - Import anyway - Setup - Touch the fingerprint sensor - Fingerprint not recognized. Try again. - Too many attempts. Please try again later. - Warning - This address belongs to an empty wallet. Are you sure you want to transfer grams to it? - Send anyway - Balance: %1$s - Share QR - Transaction - Comment - Recipient - Sender - Send Grams to this Address - Address copied to clipboard - %1$s storage fee - %1$s transaction fee - %1$s blockchain fees - Insufficient Grams - Unfortunately, your transfer couldn\'t be completed. You don\'t have enough grams. - Sending Grams from a wallet to the same wallet doesn\'t make sense, you will simply waste a portion of the value on blockchain fees. - Proceed - This link can be used to send money on the TON Blockchain. To do this, you need to set up a Gram wallet first. - Create Wallet - Are you sure you want to log out?\n\nLogging out will cancel all your **secret chats** and **unlink your Gram wallet** from the app.\n\nYou will be able to restore your wallet using 24 secret words – or import another wallet. - Pending - Date - Blockchain fee: ~%1$s Grams - Please wait until the current transaction is completed. - Blockchain ID - Config source - Using a different configuration allows you to change Lite Server addresses. - Url - Json - Config json - Config url - Enter config json - Enter config url - Enter blockchain ID - This setting is for developers. Change it only if you are working on creating your own TON network. - Are you sure you want to change the blockchain ID? You don\'t need this unless you\'re testing your own TON network.\n\nIf you proceed, you will need to reconnect your wallet using 24 secret words. - Error - App was unable to load blockchain config from the given url. Please make sure that url is corrent and you have an active Internet connection. - Sorry, this config is invalid. - App was unable to load blockchain config. Please make sure that you have an active Internet connection. - Please wait while the wallet finishes syncing with the TON Blockchain. - The gram wallet allows you to make fast and secure blockchain-based payments without intermediaries. - This will disconnect the wallet from this app. You will be able to restore your wallet using 24 secret words – or import another wallet.\n\nWallets are located in the TON Blockchain, which is not controlled by Telegram. If you want a wallet to be deleted, simply transfer all the grams from it and leave it empty. - https://telegram.org/tos/wallet - By creating a wallet you accept the\n*Terms and Conditions*. Delete %1$d backgrounds Delete background @@ -3179,12 +3055,6 @@ %1$d items %1$d items %1$d items - %1$d digits - %1$d digit - %1$d digits - %1$d digits - %1$d digits - %1$d digits from %1$d chats from %1$d chat from %1$d chats