From adc7b9a661471b3adcd3f3e14d85a426aae6478f Mon Sep 17 00:00:00 2001 From: brandon_withrow Date: Mon, 28 Aug 2017 14:39:42 -0700 Subject: [PATCH] Added animated controls and switches --- Example/Podfile.lock | 2 +- .../Local Podspecs/lottie-ios.podspec.json | 6 +- Example/Pods/Manifest.lock | 2 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1486 +++++++++-------- .../lottie-ios-iOS/lottie-ios-iOS-umbrella.h | 2 + Example/Tests/Switch.json | 1 + Example/lottie-ios.xcodeproj/project.pbxproj | 10 + Example/lottie-ios/LAControlsViewController.h | 13 + Example/lottie-ios/LAControlsViewController.m | 62 + Example/lottie-ios/LottieRootViewController.m | 4 +- Lottie.xcodeproj/project.pbxproj | 26 +- lottie-ios.podspec | 6 +- .../LOTCompositionContainer.h | 3 + .../LOTCompositionContainer.m | 35 +- .../Classes/Private/LOTAnimatedControl.m | 119 ++ .../Classes/Private/LOTAnimatedSwitch.m | 101 ++ lottie-ios/Classes/Private/LOTAnimationView.m | 30 +- .../Private/LOTAnimationView_Internal.h | 3 + .../PublicHeaders/LOTAnimatedControl.h | 28 + .../Classes/PublicHeaders/LOTAnimatedSwitch.h | 50 + lottie-ios/Classes/PublicHeaders/Lottie.h | 2 + 21 files changed, 1228 insertions(+), 763 deletions(-) create mode 100755 Example/Tests/Switch.json create mode 100644 Example/lottie-ios/LAControlsViewController.h create mode 100644 Example/lottie-ios/LAControlsViewController.m create mode 100644 lottie-ios/Classes/Private/LOTAnimatedControl.m create mode 100644 lottie-ios/Classes/Private/LOTAnimatedSwitch.m create mode 100644 lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h create mode 100644 lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 459cbffca6..5ca62917af 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - lottie-ios: 601c75ad9b5f27857f6221c5e7f4a12d23f5e779 + lottie-ios: fdc7c231af7840661e673c31531ed4bae497d400 PODFILE CHECKSUM: fdbd59f361db8744871f0e9a0b3f94e0b7b8ca6b diff --git a/Example/Pods/Local Podspecs/lottie-ios.podspec.json b/Example/Pods/Local Podspecs/lottie-ios.podspec.json index e3dbe83901..6c98190e37 100644 --- a/Example/Pods/Local Podspecs/lottie-ios.podspec.json +++ b/Example/Pods/Local Podspecs/lottie-ios.podspec.json @@ -26,7 +26,11 @@ "lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h", "lottie-ios/Classes/Private/LOTAnimationTransitionController.m", "lottie-ios/Classes/PublicHeaders/LOTCacheProvider.h", - "lottie-ios/Classes/Private/LOTCacheProvider.m" + "lottie-ios/Classes/Private/LOTCacheProvider.m", + "lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h", + "lottie-ios/Classes/Private/LOTAnimatedSwitch.m", + "lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h", + "lottie-ios/Classes/Private/LOTAnimatedControl.m" ], "frameworks": [ "AppKit", diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 459cbffca6..5ca62917af 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - lottie-ios: 601c75ad9b5f27857f6221c5e7f4a12d23f5e779 + lottie-ios: fdc7c231af7840661e673c31531ed4bae497d400 PODFILE CHECKSUM: fdbd59f361db8744871f0e9a0b3f94e0b7b8ca6b diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 83b4262803..ffa9df6fa6 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,248 +7,252 @@ objects = { /* Begin PBXBuildFile section */ - 015BDB886F91B4C2D89D1AA9C6DAD5E6 /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 126C2F3B995B77F699801DCF8A582488 /* LOTRadialGradientLayer.m */; }; 01B90D54FAED1AE4FD2D90E5B97772B5 /* Pods-Lottie Viewer-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AE28354BEE8C3C41E6AFE2DFC2E018D /* Pods-Lottie Viewer-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 02B0FD2CD302B2EACB48F3A68FB6D944 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 47821B52143FB0931D882FB765FA4934 /* LOTColorInterpolator.m */; }; - 039B9195607CF9436EB16FC422C7C8F6 /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F9AFAC97CBC2F0401EAA05EB34BF2FF /* LOTValueInterpolator.m */; }; - 04D7AC4F3F89AB73BD97B33CA35EA372 /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 008874FA140BEC7F664FE0BA8C6C9070 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0504BFE5DFF02B0FC462708C7E2C047A /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C42F8F25AC35627F6A0257893A0811F /* UIColor+Expanded.m */; }; - 082A2C721B7FA7019D0168BC3CC17633 /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 697758DA87DCD4C0D150063838B5D6E2 /* LOTShapeGradientFill.m */; }; - 08E6A4E0F674A367F312F6D66EE953E0 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A663BB8E1FF63DB4B2D8631933134162 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08F6D82193AB77499BD8E58E0E3105D7 /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 023F91BBE446F589DC98963D77E1DCFE /* LOTNumberInterpolator.m */; }; - 09EC2FB3DC9FF040795E659488718844 /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62F5C2D0B3E0461DACB91D55DB80B601 /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0AA963C7A974BDCA1F55D16BCF14B4F6 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0391BD26E7325F14F4F2C84BF6585192 /* LOTRenderNode.m */; }; - 0BA283A9224B96C6CF9095CDB429C471 /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 29487A60C385901E13956E6E5B4C4294 /* LOTLayerContainer.m */; }; - 0CB08597BF9128ECFFE939D62C95F343 /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = C895DAD4426D53EF3B1373BA2ADC004E /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0DB4F05B1A2C6AF5EFE1B2E6260922F9 /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D34CF504611FFF2708640E5BEE36F120 /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 11579C82E29C1579B44C0A178D809E1A /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = E29B4AEAE085813AF93290DD273066F1 /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 12063EF3D1298FFA61A0927F94700304 /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7143C40521ED1AD67D30C82F07A44FF5 /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1553B9073E6F049EA9F7362A4B7756C4 /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 57662175745BBCE5C5A9CA643184BE24 /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 039B9195607CF9436EB16FC422C7C8F6 /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 40AB914034285EFBF52E103FB005E657 /* LOTValueInterpolator.m */; }; + 05D6165CEC602834F3CC154694226DAF /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 38EADF596ED162A0EE3D35E987685FD7 /* LOTPolygonAnimator.m */; }; + 05DCB2668AE71B8461C6B0038D7F0B84 /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 23FA32C327A312DAAA9ED200805F76B7 /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08C7E4B86DE6DB906CCB9A481A65C313 /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 428DD5AEB7E323676A510C146F1094C6 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08E6A4E0F674A367F312F6D66EE953E0 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A9B2C2F7B5FF9CBF0156C2A393E74EC7 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08F6D82193AB77499BD8E58E0E3105D7 /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE3A349FAA8F7B5DE1167968D29A4DE /* LOTNumberInterpolator.m */; }; + 09EC2FB3DC9FF040795E659488718844 /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = F33AD0B7CE0E660FB299E773A9F8F96D /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AA963C7A974BDCA1F55D16BCF14B4F6 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7236E29E9520E96B96DA447A0F73D04A /* LOTRenderNode.m */; }; + 0B453D5F7C054F621EF62F392CFE3706 /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8042D1984741739FE2632E3381091EB2 /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0BA283A9224B96C6CF9095CDB429C471 /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8DAA2C3DCE843D862FC6B4C6892802 /* LOTLayerContainer.m */; }; + 0DB4F05B1A2C6AF5EFE1B2E6260922F9 /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = EBF64DB27BB35CA09D041C9D2F9CEC4E /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EC98F47772B09070C279DD0F32C0D4B /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4693DA6769DE389ACDF653903848C95B /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F2B78A56E6DB35F129B56AAF595DDB3 /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D96D088283758BBDC60716E7A54335B7 /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F3426DBA3F18A3960BC1FD3EC944703 /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = A83C74E1BE1843229C1EAC13B0DA0245 /* LOTRenderGroup.m */; }; + 142217BC037E8E46E4D25DE2CE646163 /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 82941F8BBD825D99E98F170139381C57 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; 15FC70FD083E40FAD0F5944D41DD88BE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; - 1614629FE71A6B3389F1DC69319E5218 /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99DFF0DF8A6CC4A5A918A0E61B6B3405 /* LOTAnimationView.m */; }; - 189AA10449833F0096ADBB8649133D6F /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = D64ADB12FC72CD2F37B9D2828CFDE30A /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 18A05B41618F4C26B7ADDA8D4D80CF46 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BAA54146FABD5797675DB4DE91C94EF /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 18FC2EA928D3BCD59067040B7AFF10DF /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62F5C2D0B3E0461DACB91D55DB80B601 /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19A65FE2DF94AEF64B64A10C55751729 /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 84E3F648EAD959DA24F35FE9FD1566DF /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A83105DFCAECB5DF2FEB50CDD06DAD7 /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = F6C4C76F6CEB8A41472BA7932BEB5C75 /* LOTSizeInterpolator.m */; }; - 1FC6F1466FD6E20069CBB02BC9178201 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FC75F7A8DFC93400F41870AB709548B /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20519EF1676AE789152EC8E87B22877C /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FC75F7A8DFC93400F41870AB709548B /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 216924F5335BA83DA0728E373BEA2E40 /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 115BE27085FBAFC27ACC547472EF5EB8 /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 221529878309F69D2FA473E6E3B2A6AE /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A11DD4F5FEB7B63FDE06BFDCD6139E3 /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22B6EDA68BB5518455B984EEB7F34C62 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = FF9A4E42D0ACC80D5F96A443E909AA7B /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 232CDC8502D85D8119A3FBF8734BE502 /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF5FE1DD1D1D008BCE0A727BD79CCC8 /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 249DA30B28ABA907A996698BAF5CD67F /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = DC82687CE61981B8C2A4171558AFDC90 /* LOTShapeTransform.m */; }; - 26231B2A6CF768909EDCC588695A0DC9 /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D34CF504611FFF2708640E5BEE36F120 /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2AC874572D9A280EC2589C04BAFED354 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 515AFACE10161CBF7C172F3A7A05985C /* UIColor.m */; }; - 2C1091B35486BBCBDED991AB7567F110 /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = E4BC744E48E64CCBDE65C9705A125FC3 /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2CEF6276DDC731E6E120EEADEBFF5BC3 /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BCE6A238F6E52D85E377FBA2A61ECE1 /* LOTPointInterpolator.m */; }; - 2EDE30108B669C16B96A2949F58BC09A /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BA5F7F216E6C75F9C15C73D8960EFB3 /* LOTAnimationCache.m */; }; - 307950B0D6171AF493EA257EE753425D /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 29487A60C385901E13956E6E5B4C4294 /* LOTLayerContainer.m */; }; - 312CFC6DA49573C2A30B4014DECEB337 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; - 327263D905B61F326E0AE68A40639E5B /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 717F9314DB5F46E0F23AE766E4783B6B /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 335F5CB88BF7A6E6F9F77AA7A5C4A28D /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = ECCCB18543F3B749C4A6F06BADF30D02 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 33927987FB1D3574C1BF3356A7B3B75C /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = EBBD716C3FB05A7C8C930AA9A1619865 /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 340A9D013F5EC78D683F6B0ED56D5532 /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = B1802665ACA8BE5F34ACF6EFAF9BF63B /* LOTShapeStar.m */; }; - 348E07759A0C9BD55BB1C1CDD82193F2 /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 537CA80543E4BA9164842491919E58A3 /* LOTMask.m */; }; - 36233CD0C2416D63617E247F53D3F065 /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA50EA17E99BEF5C3056CB6E5A7E901 /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39D329BCFA65D5EB5E378735DF321FFF /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8153CCBF67A1AC789DDC1C97C698CCA0 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3AF620CCDF8D49FD4107E98DDAF67D4B /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2A3755A84F68B3A7E7FC77CB30E5 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3DE0AB32CE32304D9C60D9D0B3DB92C7 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B184C6DCA777E3A89CE7A74591B6C6E /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3EC25FB0AE9BB89BA3C53A9AF516877D /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 529B22102635B421DAA85FD6F2728C52 /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3ED234EAAA8C9BDC01834AC43932E235 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = DD83705DCD05309D1AD9944A6D1AF31C /* NSValue+Compat.m */; }; - 404F50053BC37C15F62557A7E634C881 /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = 462505E5E6C1EA020B8460238A06676F /* LOTShapeRepeater.m */; }; - 4104D2E5DC9985A96076E91FA23EE160 /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = C895DAD4426D53EF3B1373BA2ADC004E /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 42F09F9430AA878A11E2B0A1B0477782 /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = C18DA1163187CEB881A9C281BEBE7A7C /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4338C9C42331B0EB32D6DBE2C845CF47 /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B0E633FE982B3DEF63AF3A736799E5 /* LOTBezierPath.m */; }; - 43D48F3BB8489E7A75E5350717B13740 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 69BD16C16369A5BF0423321FFB6EA0BE /* LOTLayer.m */; }; - 45251126639B00012E9D005BC5B3F3A1 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 16BC93408725B88F913CF7E38AABD898 /* LOTAssetGroup.m */; }; - 46248A855F7D43E8284E97E121B48FBB /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = F2259486F232639DA0A5A6E9F6EB0F58 /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 46C517F2808125A9BFD0BED3E6212932 /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 15E5C9A49D76FB42D0B415287058BD8F /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 46F735BD2798346353EC7B877236ECF4 /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = D6A3608F20F1E9057387AFE4588F244C /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4961F1A12FC2CD4B00A02CBF7447F5AD /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = DBB38A8161DE421DC7030F5393E2082F /* LOTFillRenderer.m */; }; - 4A58782C4A619983EEB3B54C1B49196C /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D3DA488CA7B202441852FCC7DCCE9B2 /* LOTShapeGroup.m */; }; - 4AE0050B302C1A1FB7667B5A2E3C5E7F /* lottie-ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0508D1F4EB475E8EA9FD7082C7562045 /* lottie-ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4AE9E825285273B5940996E875602EBC /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = F1E484D9242A9D6075F933922D4E2377 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C7675328043BA3F923BD74A2368296C /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7143C40521ED1AD67D30C82F07A44FF5 /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4DDB39C7CFD7441BE89D4394B1BB819C /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = DBB38A8161DE421DC7030F5393E2082F /* LOTFillRenderer.m */; }; - 4DF0409283D2210FE43E9F20DD3EAFE6 /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 126C2F3B995B77F699801DCF8A582488 /* LOTRadialGradientLayer.m */; }; - 4E10BD29B7F2D247CFE49D73CD957A25 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 16BC93408725B88F913CF7E38AABD898 /* LOTAssetGroup.m */; }; - 4F08B370A2FB80CABB7F65EAC100C2D4 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BAA54146FABD5797675DB4DE91C94EF /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4F7E69D89E04BA63C9FDF75BCA104798 /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 847F3F677D0CDEF58B250E9E0FF3E6FA /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4FA93A7801C15F5BCFC852BB048283CD /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 3ABC365473629263C7C5B982FE5A890D /* LOTPolystarAnimator.m */; }; - 513273116B98486E2215B0FDFDDA7232 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = FA58F827C1B438DE85DB4529D4020913 /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5335683AD871479DFB823162E2D479AC /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 427824198D4B766B6D6C6C364D303AF9 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 53594627CE015253466AAFBA397EF35A /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C4B2E006CA217ACF77B4313634A8F3 /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54490E3D47D31DB8376AD527E54229EB /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = F2259486F232639DA0A5A6E9F6EB0F58 /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 58030D21644EAA48044E6933DD9C3304 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0162E16E07B8C5E015B6DF456FC1E305 /* CGGeometry+LOTAdditions.m */; }; - 5896996BCBDFBA74B408DB5AD3F571E4 /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = EF82F7842563D74DB6E7C84808EB8490 /* LOTLayerGroup.m */; }; - 5C510E744CA9D230BF928D82C168B1E5 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D8A829B057A8AE9902C2336F54D433 /* LOTBezierData.m */; }; - 5C97F2B33A75479BF2431CA8EC0BF543 /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D84E389C45720D5EFA8DD72D8005FC3 /* LOTShapeRectangle.m */; }; - 5E97B7131AE3A060F5AB247B1D6E8B49 /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B1C29EAFDD6ECF6F87C4EA63C0DE41E /* LOTAnimatorNode.m */; }; - 602ECC5DDE59E798B2FFC1207AC00015 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 992367A8C956857ADACD47DE7C7FD8C4 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 606BD7C84CECE574637AFBAAE9D3DC5A /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 519251186BAF0799F5C7196667237C52 /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 607BB99553882ABD5F914BD374C57502 /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 697758DA87DCD4C0D150063838B5D6E2 /* LOTShapeGradientFill.m */; }; - 61F671315535EE6D02570019383BCD94 /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F6C8F64B382A237A25E37D9E4793DE6 /* LOTPolygonAnimator.m */; }; - 6230DAD46388EEF9D6E37E75FADE7FCA /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = D104800AEBD69AD0DF6FE5937A805E6A /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62870B3A6FAF858C78F9EB434176AE30 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = C6AB5659DF459060DD9F649777FC388E /* CALayer+Compat.m */; }; - 6293061F5FA2F34AD8E28CF9916ED625 /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = B75592692BDAB77F8FB92FA7F075D3EE /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6369D380DFCECC74264682EA87FC928E /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 319D03BDF6585DD56DD97471F4463275 /* LOTShapeFill.m */; }; - 6436A9BF09F381197A4145B7559912FC /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E368EB2C02C4BCA34826642E183C6D1 /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 663DB103A15D98565CA4B58DB71011E3 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = FF9A4E42D0ACC80D5F96A443E909AA7B /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66D99639ABB799193854726D740E8274 /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 427824198D4B766B6D6C6C364D303AF9 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6763A9D79721492CC9797C6B3D616708 /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32A10671A14009ECF2AAF917A139B528 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 67BEED8F7D643E971473AE6FE34E9A8F /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F6C8F64B382A237A25E37D9E4793DE6 /* LOTPolygonAnimator.m */; }; - 686A90ACB0868082EAA1385487435FAF /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C42F8F25AC35627F6A0257893A0811F /* UIColor+Expanded.m */; }; + 1614629FE71A6B3389F1DC69319E5218 /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3EF8864151AD375897EEEE0049265B /* LOTAnimationView.m */; }; + 1746042C2014C2DFF10A9B5DFA581F06 /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 086A58805232A189CDBDA97740A7F97B /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 176B06845D3B01A0CBD5704441F35727 /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CA45971085CDBB78AAE42054A76E077 /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17FE8B4840FC738F17DDD059F0536734 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A9B2C2F7B5FF9CBF0156C2A393E74EC7 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 189AA10449833F0096ADBB8649133D6F /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF5C0DCDD5501651D216815D08406BA /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19A65FE2DF94AEF64B64A10C55751729 /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D96D088283758BBDC60716E7A54335B7 /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A9D251062D71F7D2EEF8DC916D56D32 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 40C41F2E48B907C6D99813DF7A9C2A31 /* UIColor+Expanded.m */; }; + 1BE1967989F1CBF4B1FEAC5930A98942 /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = C6794BE326B903E370B9B60F81621424 /* LOTAnimationCache.m */; }; + 1BF546B43291C580F1E52373F839CDC2 /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = C35369D2190E7D0E03D5F0C9B66E3840 /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DE1AFC96982EEB453EEB7600522593C /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DE70957692229A5521E1209B34FD6341 /* LOTRadialGradientLayer.m */; }; + 1DEADDEE877E816C3F7F13A9199BD2B4 /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3EF8864151AD375897EEEE0049265B /* LOTAnimationView.m */; }; + 1F1DEA86F6F5DD31791BC1BB08599902 /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A73292F17F72D91AD677901388AC371 /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 20519EF1676AE789152EC8E87B22877C /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF1D3E47D4044924E21C0FCAB9095D0 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 216924F5335BA83DA0728E373BEA2E40 /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 086A58805232A189CDBDA97740A7F97B /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22D9C89FF7B853E3903EEC9A46790F68 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA13E2F72B2A84E8D774F18DD936CA54 /* UIKit.framework */; }; + 28464475CBD4E279EC7C939A05244FA8 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7236E29E9520E96B96DA447A0F73D04A /* LOTRenderNode.m */; }; + 288A3F3C86FF65F66418279C19A856A7 /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AAE803FD23C4072276F802275CC75A2 /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 29E071D0746E2E313294D7E11331B3C7 /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = B54D672768B8B9D47FEC96B75323ABAB /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2C78D7F87D67367F046B493A0B52F8D0 /* LOTAnimatedSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = A503EF472B37FAEC8C7B7A02EB48EAD0 /* LOTAnimatedSwitch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2CEF6276DDC731E6E120EEADEBFF5BC3 /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = E04BB719CBA0390A9D86A94BDEA57CC1 /* LOTPointInterpolator.m */; }; + 2EDE30108B669C16B96A2949F58BC09A /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = C6794BE326B903E370B9B60F81621424 /* LOTAnimationCache.m */; }; + 31692C57AEC902D759ACC5DDEF9D7DED /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE3A349FAA8F7B5DE1167968D29A4DE /* LOTNumberInterpolator.m */; }; + 340A9D013F5EC78D683F6B0ED56D5532 /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = E75A43CAEC39661AAF5A0D8FE4EE6DCC /* LOTShapeStar.m */; }; + 36233CD0C2416D63617E247F53D3F065 /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CA45971085CDBB78AAE42054A76E077 /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3679C0D06A26B6DAC656388E01B399DA /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B6923575F8A5D34B244D82AEE41C3F6 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 370DDD919DC09EE5594D1CDDE74EC1B4 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = E755B311E223826B3558EEB629C0287D /* LOTComposition.m */; }; + 3838FECA6E248EAE12D6294EFEEEC236 /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = AF175CC26A097490ED6F811DB044BFD9 /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 39D329BCFA65D5EB5E378735DF321FFF /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 82941F8BBD825D99E98F170139381C57 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3AD32255965332DAC58DF1CFD81DE078 /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E38775E835996063AD3975DB0D0685F /* LOTShapeStroke.m */; }; + 3AF620CCDF8D49FD4107E98DDAF67D4B /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = DB7F41DB9747216ADF000810800EEB15 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C8AF7D35EAE318A864E02EC4CF720F3 /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 42CB682861D71E87DD35419F2BCF9D31 /* LOTShapeGroup.m */; }; + 3DE0AB32CE32304D9C60D9D0B3DB92C7 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = F20E4E1B4E2532FB0310955D634DA69E /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3EC25FB0AE9BB89BA3C53A9AF516877D /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = B087CA2D09A4887C49F464890E7A177E /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3ED234EAAA8C9BDC01834AC43932E235 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5619C860054C32A3C1A3F063CCAA986A /* NSValue+Compat.m */; }; + 4104D2E5DC9985A96076E91FA23EE160 /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = F57D6A49BAAF8072A4DC91D40E0D1EAF /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 42D51345DDBE7850866F30EA222512DE /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 659E43C54C18D4FD539A4E332F7790F5 /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 42F09F9430AA878A11E2B0A1B0477782 /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B7CB99752B9512D6263AF2DF763BAF2 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43D48F3BB8489E7A75E5350717B13740 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2984C6FFF4ACA3196271E2F1976ADA69 /* LOTLayer.m */; }; + 443B5953F6F057649E1A6EDA4161BF79 /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = C4099F44D1ECCF4DB09FC399C80EB167 /* LOTGradientFillRender.m */; }; + 45251126639B00012E9D005BC5B3F3A1 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F74EB15D58D3270AEB2060CFE7570CC /* LOTAssetGroup.m */; }; + 46C517F2808125A9BFD0BED3E6212932 /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = B54D672768B8B9D47FEC96B75323ABAB /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 489F2282D377E1D8CFD97D0725B8D7E3 /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 272D6A3046E0CACC4BF991956B10036C /* LOTShapeGradientFill.m */; }; + 4961F1A12FC2CD4B00A02CBF7447F5AD /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 46614A552F667CC55E45A19F9B0978D1 /* LOTFillRenderer.m */; }; + 49657576E8DE83877C20F78BB8BB7DA7 /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 3242711C4E767B6FF3AEC1BAA95BA71F /* LOTPolystarAnimator.m */; }; + 49CE298811DA943A0A712B164206D2CE /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = E977A18230CBF470460C58037A437B84 /* LOTTransformInterpolator.m */; }; + 4AE9E825285273B5940996E875602EBC /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 227843D236B655642C7E3C469ED005F1 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C7675328043BA3F923BD74A2368296C /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F3B72A8E2380FF41995F178E51B5B94 /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4CF69F568D6D5E3BF63CF2ED982194B6 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = EC357B89D82B770D72FCBA6E21488805 /* CALayer+Compat.m */; }; + 4D813C6B2C6D0CB9332A2EB4D10B46A4 /* LOTCacheProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7AAD90809A5BE65838A5AF376F98AA /* LOTCacheProvider.m */; }; + 4DF0409283D2210FE43E9F20DD3EAFE6 /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DE70957692229A5521E1209B34FD6341 /* LOTRadialGradientLayer.m */; }; + 4ED420CFB267149D4AD7A1F3117746D9 /* LOTCacheProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = E54B3DC1B45E6FFED2DE45ED43DBA4C5 /* LOTCacheProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F08B370A2FB80CABB7F65EAC100C2D4 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE123FFEA3FFA98D5492A4C7FBB5F2B /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4FC4954471EE3D5AD44F4712935D7A27 /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AEFD97349588D80E639AE803E87AB1E /* LOTShapeRectangle.m */; }; + 513273116B98486E2215B0FDFDDA7232 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6398418947AEE1FF891887426F2CB24F /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 53339B491D546570BAD86C545DF0A549 /* lottie-ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C415EA7F1183D8CBF4DD450C8E917A /* lottie-ios-iOS-dummy.m */; }; + 53594627CE015253466AAFBA397EF35A /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2CD43EDD5AB0839147E1B17C971EEA /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 54490E3D47D31DB8376AD527E54229EB /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = C437F32E715B1F2CAF96458B882481DF /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56621F549766F443CA6D42052F64F056 /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = A48CC90FA6A3CD3F89DB0144907532E2 /* LOTSizeInterpolator.m */; }; + 5896996BCBDFBA74B408DB5AD3F571E4 /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 2147F7AB75635C2E30C7748741753CEA /* LOTLayerGroup.m */; }; + 5BAC75E9E79DE097EDC1D92A7D46B1DA /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 5241AB8D3B3AF2F3825A93F0B32D9C5D /* LOTKeyframe.m */; }; + 5C97F2B33A75479BF2431CA8EC0BF543 /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AEFD97349588D80E639AE803E87AB1E /* LOTShapeRectangle.m */; }; + 5DDA09BAE2AB6CC139B4BBB1F055D1C7 /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 60363DC5D5E8F3C2C28A8715DA390170 /* LOTMask.m */; }; + 5F0AF8379F419BBBA67545B8E349B5C2 /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 96C32584B6FCC9133BDAC268ADA1C133 /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 602ECC5DDE59E798B2FFC1207AC00015 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA83154549FBF8250618D1CC7ED5B418 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 60627A06FAE6D353FC466F70BFE1712F /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2CD43EDD5AB0839147E1B17C971EEA /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 607BB99553882ABD5F914BD374C57502 /* LOTShapeGradientFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 272D6A3046E0CACC4BF991956B10036C /* LOTShapeGradientFill.m */; }; + 60D710EE0DE4F38CF088979CF35747F0 /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ABA14F23A54CFF8B2258DE667642BFD /* LOTMaskContainer.m */; }; + 61F671315535EE6D02570019383BCD94 /* LOTPolygonAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 38EADF596ED162A0EE3D35E987685FD7 /* LOTPolygonAnimator.m */; }; + 62870B3A6FAF858C78F9EB434176AE30 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = EC357B89D82B770D72FCBA6E21488805 /* CALayer+Compat.m */; }; + 63BCF9DA38A1BE48070968771932986A /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA83154549FBF8250618D1CC7ED5B418 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63D8DDB2B3A09388FCF92334B055DF23 /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A4BF06F98D77ADB3B462913C16217B /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 64C0EC04F4CB37F4FD01C1A5258BA47E /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 194F1B32D0624C138E12323981E4B3B3 /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6505EC7B7323A8E08A20DBE33ED2BF14 /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = B4A18DDFFFD13D69C09000FFD121ECDE /* LOTRoundedRectAnimator.m */; }; + 663DB103A15D98565CA4B58DB71011E3 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA786C9E19C1EC03BC9679E27A6F20F /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6643A93A7EF064E08642ED4CA3828AEC /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5619C860054C32A3C1A3F063CCAA986A /* NSValue+Compat.m */; }; + 66CCE1FE84B1834A596C56BD93D7B76D /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = E04BB719CBA0390A9D86A94BDEA57CC1 /* LOTPointInterpolator.m */; }; + 66D99639ABB799193854726D740E8274 /* LOTRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B6923575F8A5D34B244D82AEE41C3F6 /* LOTRenderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 675FEB51CD39377FA3AE0EA835B84C32 /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0468A1630D67266809023D1E0248D7B5 /* LOTRepeaterRenderer.m */; }; + 6780218BB2E9504FC7837E51154BB485 /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 55E650C85AEA6D05D50287F5D07A6EB0 /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 686A90ACB0868082EAA1385487435FAF /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 40C41F2E48B907C6D99813DF7A9C2A31 /* UIColor+Expanded.m */; }; 695E0CCAE6F585FBCDE5F397DA85EC93 /* Pods-lottie-ios_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 74883CF1E01724853AB546D683B3DEA1 /* Pods-lottie-ios_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A91ADA713788FD14709EFADCC873E8D /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 319D03BDF6585DD56DD97471F4463275 /* LOTShapeFill.m */; }; - 6CB4430906D6612E111E9C23DFE82E48 /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32A10671A14009ECF2AAF917A139B528 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E42A2413BF2BCD66A71F2D2DFA641FF /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = B1802665ACA8BE5F34ACF6EFAF9BF63B /* LOTShapeStar.m */; }; + 6A91ADA713788FD14709EFADCC873E8D /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A490E1B7F6AE8F98A80AE1B2E5D034C /* LOTShapeFill.m */; }; + 6CB4430906D6612E111E9C23DFE82E48 /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5218EC59B214FFDB753A1E532F1FD4 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6E546A07530D4E0B229B36F2BC7AFC89 /* Pods-Lottie-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 957779C8BD629DE80F8E678BC2E2E54A /* Pods-Lottie-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E6C819278602168F1EF518CEFFA662D /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = BB86856280968F970083C31F441F0BA5 /* LOTCircleAnimator.m */; }; - 6EC4BE69D5F1A9AE3FBD9944BB4D2A35 /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C1B0CB73918045CAF1DB6E87B26029B /* LOTGradientFillRender.m */; }; - 6ED14647B3D6BD22ECD2B833CA36A079 /* LOTPathInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8153CCBF67A1AC789DDC1C97C698CCA0 /* LOTPathInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6F5332E6FF0A42AA8F48B447E44511EF /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = D64ADB12FC72CD2F37B9D2828CFDE30A /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7169D42FBB7F021F214F53DE107FD839 /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 717F9314DB5F46E0F23AE766E4783B6B /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7241FA0C486D0C5BAFC7544625CBFBCC /* LOTPointInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BCE6A238F6E52D85E377FBA2A61ECE1 /* LOTPointInterpolator.m */; }; - 75523FD0992AF7AF07F31457B24AA8B6 /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CFB3C01170EB434BBE5383E9A90A8BF /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 756A75F5300BBE72C6AABF99B30CFE64 /* lottie-ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C415EA7F1183D8CBF4DD450C8E917A /* lottie-ios-iOS-dummy.m */; }; - 759C5A60DBBCC3584456215954FC70F7 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = ECCCB18543F3B749C4A6F06BADF30D02 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7612EC2B7F53F0B12EAAF3723B6D0AD0 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B58416F42653760D94D3F1389097F35 /* LOTComposition.m */; }; - 768AA43C551C14B33446FAD938D467D8 /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = DFD6171E872FA0897AFB298FE8DFA188 /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 768CAD11689E8551916D48353B48D464 /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = D104800AEBD69AD0DF6FE5937A805E6A /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76F6E4040B210D8ABB10812F66A5DF24 /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = B11FFDD95A96F81072FC1E06DAD4CCBA /* LOTStrokeRenderer.m */; }; - 77B70504FF1B8E85C2A8E52FD714F4ED /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = A2AAD124495AF72C0C76F94E437436AE /* LOTAsset.m */; }; - 79C4175A2556F99C6C262E713449D104 /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B1C4E6E84BF7F510DBE8920CB665541 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7A1427EA89D29A9E91AB7D4914ED7308 /* LOTCacheProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 892C5787B2282DFBD6CB6E3FFB38A2B5 /* LOTCacheProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A509A21B07AD04878007991161AE3A5 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 515AFACE10161CBF7C172F3A7A05985C /* UIColor.m */; }; - 7BCAFD229E63F0B71BFC5EE2511F99B0 /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 23DAF45D74698F7419010F9E5C252198 /* LOTShapeTrimPath.m */; }; - 7BD9CF0AB5103BC707DA89AD9D528B56 /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1F070F49A48ACCF6215546B3655976 /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7D04734F561A78B0B63C5933FBA971AB /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = B75592692BDAB77F8FB92FA7F075D3EE /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E6C819278602168F1EF518CEFFA662D /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DCDDA899EEFBA305F1468F251D2F617 /* LOTCircleAnimator.m */; }; + 6EC4BE69D5F1A9AE3FBD9944BB4D2A35 /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = C4099F44D1ECCF4DB09FC399C80EB167 /* LOTGradientFillRender.m */; }; + 70BBEF28602EC3CC686384685B8A2459 /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6DCE2446C4A632A3DEFF4E4D286993 /* LOTAnimatorNode.m */; }; + 7169D42FBB7F021F214F53DE107FD839 /* LOTTrimPathNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4693DA6769DE389ACDF653903848C95B /* LOTTrimPathNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7209E9AD97B88AFBC6953021833A4C0A /* LOTFillRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 46614A552F667CC55E45A19F9B0978D1 /* LOTFillRenderer.m */; }; + 72C55F5FC2798BA9C4BC25CC77AA8A47 /* LOTShapeStar.m in Sources */ = {isa = PBXBuildFile; fileRef = E75A43CAEC39661AAF5A0D8FE4EE6DCC /* LOTShapeStar.m */; }; + 75523FD0992AF7AF07F31457B24AA8B6 /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A4BF06F98D77ADB3B462913C16217B /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 759C5A60DBBCC3584456215954FC70F7 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = A13285A000D2951144B0BD24953D0E7E /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 760B302E95E75C575418939D2598E79B /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = F20E4E1B4E2532FB0310955D634DA69E /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7612EC2B7F53F0B12EAAF3723B6D0AD0 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = E755B311E223826B3558EEB629C0287D /* LOTComposition.m */; }; + 768CAD11689E8551916D48353B48D464 /* LOTFillRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AAE803FD23C4072276F802275CC75A2 /* LOTFillRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 783828FF1E1546EE1104CE1C6BFC2BCB /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = EF76A4F44D3EC0D867DD4DE52895BF18 /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7841900EC097E61F410BDA91AE910D59 /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA174E536B7A8FF5B4F181BCE1D2C56 /* LOTBezierPath.m */; }; + 79DBD83A12B2303D5BA2AA33E32D5AF9 /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B7CB99752B9512D6263AF2DF763BAF2 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79E4A857473280F5F26343CE5A5BDF24 /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = D95D8467E79916FBC12B8B32D2278D9F /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79F35A8D10BE733C0355FD3656C0F85C /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 876290A891B0E804E9010420CBFB2DF0 /* LOTArrayInterpolator.m */; }; + 7A2826DC237ED3AD81FD9AF9BCCF8D4D /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = E9C5D93102924F61B1666731B13299C8 /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7A509A21B07AD04878007991161AE3A5 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 28990FC90E08798A110AFD134EAD0190 /* UIColor.m */; }; + 7CCB11B87705FFE84A4CC24B94E40C6B /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = D8D4D2612BAB4E96A1EFC2C1A379B795 /* LOTShapeCircle.m */; }; + 7CD7BC6B5A5228313894C99C74C49B0A /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D9BFD66BC6F81E4A9602BC4EE57D8A /* LOTAsset.m */; }; + 7D04734F561A78B0B63C5933FBA971AB /* LOTTransformInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = E9C5D93102924F61B1666731B13299C8 /* LOTTransformInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7E5AE22174A1CFE5429B74AAAD6A27BE /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 2984C6FFF4ACA3196271E2F1976ADA69 /* LOTLayer.m */; }; 7F80A4DDB120F7AC6AAD2079037F5A28 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E8A32304416366E7C4FC7A2D6C3A08 /* AppKit.framework */; }; - 82031F30EAE949CAEB86C26E16B1746F /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B1C29EAFDD6ECF6F87C4EA63C0DE41E /* LOTAnimatorNode.m */; }; - 83D3596F839B0DDFF44B858EE13E2D68 /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2CB5824197A0A89CF387AC6A3A4E47 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 853B6289D633F828C5AF115C92D2001B /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D697FE6BFAFF38735C59F715FF4693AF /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 856CAC612783A5302E8E5685929BA416 /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = F6C4C76F6CEB8A41472BA7932BEB5C75 /* LOTSizeInterpolator.m */; }; + 7FA23FDECF0C2AF05F508F58039189DF /* LOTPointInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = F57D6A49BAAF8072A4DC91D40E0D1EAF /* LOTPointInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7FCA350AC5512378D3ABB51F6F82D159 /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = A70EA4E2038B16F19EF5A99D144B3273 /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 82031F30EAE949CAEB86C26E16B1746F /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6DCE2446C4A632A3DEFF4E4D286993 /* LOTAnimatorNode.m */; }; + 83D3596F839B0DDFF44B858EE13E2D68 /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 428DD5AEB7E323676A510C146F1094C6 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84208027617685F469AFADDC255A5EE3 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA786C9E19C1EC03BC9679E27A6F20F /* LOTComposition.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 844C91B4C01C3D2D3DED42D65D097777 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = A3076BBC1E5633342EB6DC328972318B /* LOTBezierData.m */; }; + 853B6289D633F828C5AF115C92D2001B /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 194F1B32D0624C138E12323981E4B3B3 /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 856CAC612783A5302E8E5685929BA416 /* LOTSizeInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = A48CC90FA6A3CD3F89DB0144907532E2 /* LOTSizeInterpolator.m */; }; 85F796CD33CB23088638090D7AA2DECA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */; }; - 86BCE962E022F2BD9FD24865DDA2E8DE /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BA5F7F216E6C75F9C15C73D8960EFB3 /* LOTAnimationCache.m */; }; - 87680037BD34C9F43581692985976048 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA13E2F72B2A84E8D774F18DD936CA54 /* UIKit.framework */; }; - 876A467886FE386602A0CCA5366394F4 /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = CFC07B846A03827120AD1E030B5655C5 /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 87947C28E139AA1936C8888F68E1B07F /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C20751A8915BD608966F72744B50D9 /* LOTKeyframe.m */; }; - 896791E741CE2A7741C20D1152BBF3DD /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 750C7C30226D661C3BE036263577C6B5 /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 89C5DB9F027A010909487B1883013647 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 47821B52143FB0931D882FB765FA4934 /* LOTColorInterpolator.m */; }; - 8D3D2D4402D2A7E6A86C5426D16B2BBD /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 51395FC9BBFBA3BAE0471045BBF7E112 /* LOTTrimPathNode.m */; }; - 8D589AF9B68962396D5917163D798B89 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E4D2DD72D35010DFE46709AF66950C4 /* LOTAnimationTransitionController.m */; }; - 8D84482A5F91273876710F786FBFF89C /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1F070F49A48ACCF6215546B3655976 /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8EE5D9D536FF1D00782BFB8ECB8EB877 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E9613AF75AB78A68DBBEFFFDBC4424 /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8FF223849446967A0E0D296E1D9AE8F3 /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B1C4E6E84BF7F510DBE8920CB665541 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93C46EDFB302291E12DC87A89CFD8CD5 /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA619F061950B53AEB65D8282C9AA92 /* LOTPathInterpolator.m */; }; - 93D5F465A508CCB1D732A2AAB02EEF0F /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2643ACAF22BB7065B0FCE3110B6B8B /* LOTCompositionContainer.m */; }; - 94C191471DD62DC9B9708CC3D91D2A52 /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 3ABC365473629263C7C5B982FE5A890D /* LOTPolystarAnimator.m */; }; - 94D93FD87E0A71761BC64B8D3DBA1C82 /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = B119322F12428601C55E85ECF7232D17 /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9528C0E50E65F160CEE00770B75A910F /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBADAC7171C2B27228DF88F601C848C /* LOTShapeCircle.m */; }; - 96220941F3AD3B8C36AE10CDD5985C3C /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C7A8C2AD89DF0A703BF942BBB1A9E /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9779EF7B57AEA9589B1DA018AF96590C /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 847F3F677D0CDEF58B250E9E0FF3E6FA /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 98ACA0EE9E068B21360F6CD04D183CA9 /* LOTRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 115BE27085FBAFC27ACC547472EF5EB8 /* LOTRadialGradientLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9A715FA639AB6F06FDA8BA13F6D498C4 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A663BB8E1FF63DB4B2D8631933134162 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9AF8194B50E49DDC9C1EBC0946F67D58 /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F9AFAC97CBC2F0401EAA05EB34BF2FF /* LOTValueInterpolator.m */; }; - 9B83263F9E0F082EBFC39A0749C30F19 /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C20751A8915BD608966F72744B50D9 /* LOTKeyframe.m */; }; - 9C044391EC5E54E1D663DF24128971B4 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 992367A8C956857ADACD47DE7C7FD8C4 /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9CE86081FC0EB0840BB6529EB4297EA1 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0162E16E07B8C5E015B6DF456FC1E305 /* CGGeometry+LOTAdditions.m */; }; + 876A467886FE386602A0CCA5366394F4 /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = A39BDC8A9726CAF24D70EE23BB5BD1FE /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 886BBBB6641F02227C03BA968C109266 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 51FC9391B6C5C85F1F7B1FDA2CC8FDFE /* CGGeometry+LOTAdditions.m */; }; + 89C5DB9F027A010909487B1883013647 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EA83D1C50D183A2FB07BBEB1B9D948F /* LOTColorInterpolator.m */; }; + 89E21ED032F6F9976A3B8F12F5521353 /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = B087CA2D09A4887C49F464890E7A177E /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AE917C6489CBB3002EC97FBE1A387B6 /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C79E6BF7DA299701FC84C9F393E47F3 /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B7610A943F48F4E2205C958ABCDA436 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CD964EAAA18892EF6258722B95F951B /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8D3D2D4402D2A7E6A86C5426D16B2BBD /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = AF55B5448A81359F1A814270B3666679 /* LOTTrimPathNode.m */; }; + 8D84482A5F91273876710F786FBFF89C /* LOTShapeStar.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C79E6BF7DA299701FC84C9F393E47F3 /* LOTShapeStar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8E6C305A474C510FB922CF7DE59678D7 /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = F4DDEC0BF4954778BB020C2A3C4A37A0 /* LOTShapePath.m */; }; + 8FF223849446967A0E0D296E1D9AE8F3 /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = B6041F9522F368C2926E52A7CBBBFD48 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9223968694A94B0C31015566F9163A8E /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = C388AA1307273BB39C929D94248DE0AF /* LOTShapeTrimPath.m */; }; + 92391609A7D27513E0CB57BBC7921C2E /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DCDDA899EEFBA305F1468F251D2F617 /* LOTCircleAnimator.m */; }; + 92C695B69B18B4DDF128C49D699FB56A /* LOTMaskContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = C437F32E715B1F2CAF96458B882481DF /* LOTMaskContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 941D25738ADDB44CB544E244BC39740D /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 405A59319C59F8B5A56AA4A3248319CB /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 94C191471DD62DC9B9708CC3D91D2A52 /* LOTPolystarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 3242711C4E767B6FF3AEC1BAA95BA71F /* LOTPolystarAnimator.m */; }; + 94C9F10C05731F76C54779ED4FAC0CFC /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE123FFEA3FFA98D5492A4C7FBB5F2B /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 94D93FD87E0A71761BC64B8D3DBA1C82 /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A308318BDA8CEC76246D104E31729F5 /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 95FE420F8346466F8DE580883A6EF578 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6398418947AEE1FF891887426F2CB24F /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 96220941F3AD3B8C36AE10CDD5985C3C /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = D687D64D0C9A938635B9C9D9F30AE281 /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96A1AB7D5ABA11DB98AB0A270330B009 /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = B6041F9522F368C2926E52A7CBBBFD48 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96E45CDF220E0A132F7A1FC36B4FBF56 /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 227843D236B655642C7E3C469ED005F1 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9779EF7B57AEA9589B1DA018AF96590C /* LOTCircleAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8042D1984741739FE2632E3381091EB2 /* LOTCircleAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B1827319A7793D8933B6981C1CB0870 /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0221FBCD051E76A64256E6E1279A59A0 /* LOTPathInterpolator.m */; }; + 9B83263F9E0F082EBFC39A0749C30F19 /* LOTKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 5241AB8D3B3AF2F3825A93F0B32D9C5D /* LOTKeyframe.m */; }; + 9C067191DDF83EB5606006CC79475701 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 28990FC90E08798A110AFD134EAD0190 /* UIColor.m */; }; + 9C72393C22D538DEE58282B8271F3AF5 /* LOTShapeRepeater.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F3B72A8E2380FF41995F178E51B5B94 /* LOTShapeRepeater.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9CE86081FC0EB0840BB6529EB4297EA1 /* CGGeometry+LOTAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 51FC9391B6C5C85F1F7B1FDA2CC8FDFE /* CGGeometry+LOTAdditions.m */; }; 9E52F4F7D4588D34FC4EAAF7B00E2724 /* Pods-lottie-ios_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 392AE6678DE5B261D36B7164386E03C8 /* Pods-lottie-ios_Tests-dummy.m */; }; - 9EFFD89E82B2F5882CA5C63CEC2D3673 /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = E9E9251140EA0AA8B0A7FA412C79ED90 /* LOTMaskContainer.m */; }; - 9F0EE2F589AD2E2AA844D81A3F4704E8 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B58416F42653760D94D3F1389097F35 /* LOTComposition.m */; }; - 9F84B7240D74991EF3EFEE6D57FFA8C9 /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2643ACAF22BB7065B0FCE3110B6B8B /* LOTCompositionContainer.m */; }; - A049C6A1686010FD991DF7744399C78C /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = C18DA1163187CEB881A9C281BEBE7A7C /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9EFFD89E82B2F5882CA5C63CEC2D3673 /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ABA14F23A54CFF8B2258DE667642BFD /* LOTMaskContainer.m */; }; + 9F84B7240D74991EF3EFEE6D57FFA8C9 /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCF27BA792F612421FF59C04FA59850 /* LOTCompositionContainer.m */; }; A053EF8D74FC9348579B5AADFD9D38E6 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFB9B48CA5FB64F65C9333F75A778DD2 /* CoreVideo.framework */; }; - A220AC5BD169ED7E96E42BCFB8FFC917 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = C6AB5659DF459060DD9F649777FC388E /* CALayer+Compat.m */; }; - A22261FA1FA3F3AB3F30F0EA205D6F6A /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C7A8C2AD89DF0A703BF942BBB1A9E /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A2484B28C2BAA196F53C222AF2C96910 /* LOTNumberInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 023F91BBE446F589DC98963D77E1DCFE /* LOTNumberInterpolator.m */; }; + A072967E29B764BE7087572312A6C808 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF1D3E47D4044924E21C0FCAB9095D0 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; A3F1908F279F394BDF70BFC74585F2C8 /* Pods-Lottie Viewer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E6CC126717DE752766A8C58E618A6BA1 /* Pods-Lottie Viewer-dummy.m */; }; - A44BE408F66FC90811F2D78CFEA3E79B /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 747D2CFE3AC306BFEF62C591C19D638E /* LOTRoundedRectAnimator.m */; }; - A4A2A6A3C1A75F74EA7CF6B35AC3AF23 /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = EBBD716C3FB05A7C8C930AA9A1619865 /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A7D6518E8D1314A31C2068956426F05B /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 537CA80543E4BA9164842491919E58A3 /* LOTMask.m */; }; - A866767202BC8CAC53517E9F83E8C4F5 /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA87CF2CF71BFE445CCC71BCAEFC9DB /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA01584FB3C6F0616D7AFE9D0DADCF2F /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D84E389C45720D5EFA8DD72D8005FC3 /* LOTShapeRectangle.m */; }; - AA49EAF95C68B7B1C7AB0C55B2C2BA2C /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 39DEDC4FE94E6D1CE3C9C93499DB3E9B /* LOTShapePath.m */; }; + A44BE408F66FC90811F2D78CFEA3E79B /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = B4A18DDFFFD13D69C09000FFD121ECDE /* LOTRoundedRectAnimator.m */; }; + A4A2A6A3C1A75F74EA7CF6B35AC3AF23 /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C87A40CDE5E282FACD344EEF9BCBE8 /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4D2BBF485F6FB659CD62F63B4A0A66F /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A5058F11E3F1D9871124199C1B3D9E4 /* LOTPathAnimator.m */; }; + A6D3FBC7036C7AE7E819A1186E356EAF /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 46D9F748EFA7C7149612B4AC164C2CAA /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A7D6518E8D1314A31C2068956426F05B /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 60363DC5D5E8F3C2C28A8715DA390170 /* LOTMask.m */; }; + A94B87370940B3B63B096538C2E458AF /* LOTPathAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5218EC59B214FFDB753A1E532F1FD4 /* LOTPathAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC342BBD83EFC640054FCE7A41092A58 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */; }; - AC6AB070726F2F6FD477E2F4E4F1EAD7 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 519251186BAF0799F5C7196667237C52 /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ADE433504AAD68322956F1A2DC14705C /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = D6A3608F20F1E9057387AFE4588F244C /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE71899163E79F1D0FC97FB7ACDD65CC /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD8D3B780C5AD62F3B47177596BD2F6 /* LOTArrayInterpolator.m */; }; - AE7C31AF5DC22B80C0933E254509C452 /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 52115E300BB0B75280D66ED18D7CC482 /* LOTRenderGroup.m */; }; - AEFE56A62E0F7E116A2C432C97BDE0C4 /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA87CF2CF71BFE445CCC71BCAEFC9DB /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC4FF6975E16E6D4AC2E2F207A8533E9 /* LOTBezierData.h in Headers */ = {isa = PBXBuildFile; fileRef = D687D64D0C9A938635B9C9D9F30AE281 /* LOTBezierData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC6AB070726F2F6FD477E2F4E4F1EAD7 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 659E43C54C18D4FD539A4E332F7790F5 /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD3DC697C0A4A56D1A3D99BB9499A84E /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DBF60E20E0F3964D13D808F657EC3D0 /* LOTStrokeRenderer.m */; }; + ADE286185EAECAA6785078A38F0BAC3E /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = A13285A000D2951144B0BD24953D0E7E /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ADE433504AAD68322956F1A2DC14705C /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = A70EA4E2038B16F19EF5A99D144B3273 /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AE71899163E79F1D0FC97FB7ACDD65CC /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 876290A891B0E804E9010420CBFB2DF0 /* LOTArrayInterpolator.m */; }; + AE7C31AF5DC22B80C0933E254509C452 /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = A83C74E1BE1843229C1EAC13B0DA0245 /* LOTRenderGroup.m */; }; + AEFE56A62E0F7E116A2C432C97BDE0C4 /* LOTShapeGradientFill.h in Headers */ = {isa = PBXBuildFile; fileRef = AF175CC26A097490ED6F811DB044BFD9 /* LOTShapeGradientFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF19FFEFC9E0F066DCDD6842CED77EE3 /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A308318BDA8CEC76246D104E31729F5 /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; AFE084E2925B8897B2565319EB9D6337 /* lottie-ios-OSX-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D00258E4C4D882665FA7673AF9DE81C /* lottie-ios-OSX-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0E7083D33E14461E7E5CAC71BE2741B /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 529B22102635B421DAA85FD6F2728C52 /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1CB788FCE83A0631BC0C8F4961ADC69 /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 23DAF45D74698F7419010F9E5C252198 /* LOTShapeTrimPath.m */; }; - B1DD15386C5235D4954D06458EAAC5B0 /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 83FD8156F8C923DA76EAFAEF8DF4AC35 /* LOTShapeStroke.m */; }; - B2A86FFFD9D52E81D028DC9867D0F7A0 /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 57662175745BBCE5C5A9CA643184BE24 /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B047D5A4E0C92C165A15F24464356261 /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 135B555C252D40EFA4CF36C8B6B91EBE /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B1CB788FCE83A0631BC0C8F4961ADC69 /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = C388AA1307273BB39C929D94248DE0AF /* LOTShapeTrimPath.m */; }; + B2A86FFFD9D52E81D028DC9867D0F7A0 /* LOTLayerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = C35369D2190E7D0E03D5F0C9B66E3840 /* LOTLayerContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B32EAC56F6E02F526EB6C99DE01C438D /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = AF55B5448A81359F1A814270B3666679 /* LOTTrimPathNode.m */; }; B3CFE17627AD96132E88A45FBD85C4E4 /* Pods-Lottie-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B2EA2A4719AB76E637979AE2E65E786 /* Pods-Lottie-Example-dummy.m */; }; B8BCA47B1A77DF95917998D9085EFAA9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; - B991FFE052E1DD46E72C4FF8E326A300 /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 52478B84A1C345E66A550C50F1694053 /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BAB460C2CB89C18F39880C16DF14A2CF /* LOTArrayInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD8D3B780C5AD62F3B47177596BD2F6 /* LOTArrayInterpolator.m */; }; - BB505B6625A3191ED62A370464964D87 /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBADAC7171C2B27228DF88F601C848C /* LOTShapeCircle.m */; }; - BBA49D2F013B52969ECFB84659DF04AE /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = D066A3740E0F9063F962A1FCD9147409 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCBCC1C69D47506C917977C12BD7A8B3 /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FF79055F8DC812BCB1CBA2F778FA771 /* LOTRepeaterRenderer.m */; }; - BF0A5DBE8C159C9C07E1A276D37D4EBD /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FF79055F8DC812BCB1CBA2F778FA771 /* LOTRepeaterRenderer.m */; }; - BF97243BE5E56133C8E010764F91E8B5 /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = B11FFDD95A96F81072FC1E06DAD4CCBA /* LOTStrokeRenderer.m */; }; - C30673BB9552799EB7D68E6931DD8DB5 /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = 462505E5E6C1EA020B8460238A06676F /* LOTShapeRepeater.m */; }; - C374969748F84D0C8A0404E7EC608995 /* LOTRenderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0391BD26E7325F14F4F2C84BF6585192 /* LOTRenderNode.m */; }; - C511F106CC1557B0849F25AE88914855 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B184C6DCA777E3A89CE7A74591B6C6E /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5C79F8FE3CB611637DF0CC14D5DC5E4 /* LOTRenderGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2CB5824197A0A89CF387AC6A3A4E47 /* LOTRenderGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5CC3D23051829C56F6B996767D7C9EF /* LOTRoundedRectAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 747D2CFE3AC306BFEF62C591C19D638E /* LOTRoundedRectAnimator.m */; }; - C5D5D546A2F8B96B97EE7D87A978FEB7 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A11DD4F5FEB7B63FDE06BFDCD6139E3 /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C604C42A486965AA98FD260135A97941 /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = A2AAD124495AF72C0C76F94E437436AE /* LOTAsset.m */; }; - C74268F85124E454D608F34AE3777BEA /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F877F52F27FE8564E4966CBF3261AB /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C7542194267B0A684D9DA4A6B212C53B /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = DFD6171E872FA0897AFB298FE8DFA188 /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C7808E67E9FC4D9E59767E67E5252D9D /* LOTSizeInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 84E3F648EAD959DA24F35FE9FD1566DF /* LOTSizeInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB505B6625A3191ED62A370464964D87 /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = D8D4D2612BAB4E96A1EFC2C1A379B795 /* LOTShapeCircle.m */; }; + BBA49D2F013B52969ECFB84659DF04AE /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 50A7B85C7FF3F62AA8229881037A84F9 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBE368FED1915B20CEC1E69227B45683 /* LOTAnimatedSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = C43F696E5119C1A62FC708886D861CFD /* LOTAnimatedSwitch.m */; }; + BC10EA3E13BADB5C3146FDBF73FD1A3A /* LOTValueInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 40AB914034285EFBF52E103FB005E657 /* LOTValueInterpolator.m */; }; + BCBCC1C69D47506C917977C12BD7A8B3 /* LOTRepeaterRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0468A1630D67266809023D1E0248D7B5 /* LOTRepeaterRenderer.m */; }; + BD0FFCE664E3940072042D1036BB9FE3 /* LOTLayerContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8DAA2C3DCE843D862FC6B4C6892802 /* LOTLayerContainer.m */; }; + BF97243BE5E56133C8E010764F91E8B5 /* LOTStrokeRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DBF60E20E0F3964D13D808F657EC3D0 /* LOTStrokeRenderer.m */; }; + C2BEC0BBD97858E8C5C28E5817177D03 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 786D7137457B872697EDE5C057C222E9 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C30673BB9552799EB7D68E6931DD8DB5 /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A745957B3F1CA9CD1FEE1F8C951BA1 /* LOTShapeRepeater.m */; }; + C490E9C2CF5C1443715780FFC89769B9 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = C492C77CFABF205B4C791EAFA5DA8931 /* LOTAnimationTransitionController.m */; }; + C5081E3D0804BDEFBF04277F969BA90E /* LOTArrayInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = EBF64DB27BB35CA09D041C9D2F9CEC4E /* LOTArrayInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C5D5D546A2F8B96B97EE7D87A978FEB7 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CD964EAAA18892EF6258722B95F951B /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C604C42A486965AA98FD260135A97941 /* LOTAsset.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D9BFD66BC6F81E4A9602BC4EE57D8A /* LOTAsset.m */; }; + C7542194267B0A684D9DA4A6B212C53B /* LOTKeyframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A73292F17F72D91AD677901388AC371 /* LOTKeyframe.h */; settings = {ATTRIBUTES = (Project, ); }; }; C8C316D731CD5AC2F63CF8D7DB67C5FE /* lottie-ios-OSX-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 60CC0BDE6346F89ADB5DB741F83E073E /* lottie-ios-OSX-dummy.m */; }; - CCA7CF8243A89451BC9633E613FC7151 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 861D3C2F6EEBBF9034DA9CE45172DBCE /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE40E56C5F87E01E696902ED45A71A19 /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B39C89CF12EA4D2088E1A4DE840BC1C /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF971D4BBD6964B6790D17336A2AAB2E /* LOTTrimPathNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 51395FC9BBFBA3BAE0471045BBF7E112 /* LOTTrimPathNode.m */; }; - D2A05C228CC80C6ED70FDC7AAD114040 /* LOTStrokeRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CFB3C01170EB434BBE5383E9A90A8BF /* LOTStrokeRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D567B57FB3671459840E645D4DED3EFD /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = F1E484D9242A9D6075F933922D4E2377 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D5C6F7C043AAEFC9AA94DB717766AD98 /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF5FE1DD1D1D008BCE0A727BD79CCC8 /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D5F00914ABFEBE8103F40D2A60230DD9 /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = CFC07B846A03827120AD1E030B5655C5 /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D62D6A02F2AED4EEB6D1F194DF6DA774 /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2A3755A84F68B3A7E7FC77CB30E5 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D822DEC7423289CE6C5EDD2F76220A87 /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D3DA488CA7B202441852FCC7DCCE9B2 /* LOTShapeGroup.m */; }; - DAAC3D741886009045BAF09E4CCFFF7A /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 536ABE31096E74E551F4311E4D7FC8F2 /* LOTTransformInterpolator.m */; }; - DB3635C8878C4DF06895A24C93F387F1 /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B0E633FE982B3DEF63AF3A736799E5 /* LOTBezierPath.m */; }; - DD50A114BE50A1C4B1A389E60CE85E24 /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = E29B4AEAE085813AF93290DD273066F1 /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE13550992089CBE5A2C4B755992555D /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 008874FA140BEC7F664FE0BA8C6C9070 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE6A7ADA1A86BE3A92ADC697ADA0BB14 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 34DA58734E1D030B629CEA2B1C45BCCD /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF3BA27820767F6D0F6A82BFD9474B73 /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 52478B84A1C345E66A550C50F1694053 /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0A7780EC777AC690AE3731B0E9E4E27 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = FA58F827C1B438DE85DB4529D4020913 /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0B6E044E3C2BE1CD1F3B7B38C76487B /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 39DEDC4FE94E6D1CE3C9C93499DB3E9B /* LOTShapePath.m */; }; - E18B2D3158242A0727E828F251770041 /* LOTNumberInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D697FE6BFAFF38735C59F715FF4693AF /* LOTNumberInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1E1B6E7517C9DFA49CEA6760EC9BF06 /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = D066A3740E0F9063F962A1FCD9147409 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3FB33796190ABC187C4DD4F2F1FF9A3 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E9613AF75AB78A68DBBEFFFDBC4424 /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E40A3FB1287C96D693F48780A016ED3F /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B39C89CF12EA4D2088E1A4DE840BC1C /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E48BA380D46E1E74ABA3C119C19BF7CD /* LOTAssetGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 15E5C9A49D76FB42D0B415287058BD8F /* LOTAssetGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E539B13A0B161EF101C24DFA034970CB /* LOTRepeaterRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = B119322F12428601C55E85ECF7232D17 /* LOTRepeaterRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6216F0C5498F683F2ACD1941ABF2B92 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = DD83705DCD05309D1AD9944A6D1AF31C /* NSValue+Compat.m */; }; - E8F83E8E37682D26AA0DB5403040868F /* LOTCacheProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = D7EA17D544F37FD0FCE367EF3CDE5B64 /* LOTCacheProvider.m */; }; - E96CE89C7C1A6A3ED3E75A01432A7FBB /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 750C7C30226D661C3BE036263577C6B5 /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC10308CB293DA62DEAEA816B0987F61 /* LOTMaskContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = E9E9251140EA0AA8B0A7FA412C79ED90 /* LOTMaskContainer.m */; }; - ED180731A6DA3D54432F35F66B7E302C /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F877F52F27FE8564E4966CBF3261AB /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F03709410AE302D6B7F925F49642501F /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = EF82F7842563D74DB6E7C84808EB8490 /* LOTLayerGroup.m */; }; - F2BC18A67E6462A5B95B86D213A99B3F /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E368EB2C02C4BCA34826642E183C6D1 /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F2F7595CC04849A65FDAFD4C3C8E501B /* LOTRenderGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 52115E300BB0B75280D66ED18D7CC482 /* LOTRenderGroup.m */; }; - F2FE6695C5E2F196DB386838D2D0DCF8 /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0122F6F54842C0CAEFF28B9EC841A9B1 /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F334A492BB52B21F00EE91D82FF04B97 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 861D3C2F6EEBBF9034DA9CE45172DBCE /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F69B51F9D485A698AC3AE1AC7FA87C25 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 69BD16C16369A5BF0423321FFB6EA0BE /* LOTLayer.m */; }; - F77280D0B8643D412868ADA95D2969CD /* CGGeometry+LOTAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C4B2E006CA217ACF77B4313634A8F3 /* CGGeometry+LOTAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F772CBD9F5D2376A0329571DB7C949B7 /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EA1AD2D3669BC1457C5AF3487933F6E /* LOTPathAnimator.m */; }; - F87B2EABBEA37E0935718B6400DF6754 /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = DC82687CE61981B8C2A4171558AFDC90 /* LOTShapeTransform.m */; }; - FA0BAD7E07645AD368C4F5B65349C81C /* LOTCircleAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = BB86856280968F970083C31F441F0BA5 /* LOTCircleAnimator.m */; }; - FA186EC1F104AD0C5026A68518372DBC /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 83FD8156F8C923DA76EAFAEF8DF4AC35 /* LOTShapeStroke.m */; }; - FB161237853D03C9173F21A6FF2D38AC /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = DCA50EA17E99BEF5C3056CB6E5A7E901 /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FB1A193171350ED85E89AC0480808A04 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D8A829B057A8AE9902C2336F54D433 /* LOTBezierData.m */; }; - FB3D22C1DD922EFC45D3484CB82A8E65 /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EA1AD2D3669BC1457C5AF3487933F6E /* LOTPathAnimator.m */; }; - FB4E98EFE7B534026F5CD7399D7F6418 /* LOTGradientFillRender.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C1B0CB73918045CAF1DB6E87B26029B /* LOTGradientFillRender.m */; }; - FB62A10B7776C450974859DCAE75FDFB /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = E4BC744E48E64CCBDE65C9705A125FC3 /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBF6F943722FA0BF60102D606D1DDBC8 /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 536ABE31096E74E551F4311E4D7FC8F2 /* LOTTransformInterpolator.m */; }; - FCFBD9EDDF1711A7BD0A04D3E2AA6539 /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA619F061950B53AEB65D8282C9AA92 /* LOTPathInterpolator.m */; }; - FE28067EE6F4BB80E05CD64B3CA0FF7F /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99DFF0DF8A6CC4A5A918A0E61B6B3405 /* LOTAnimationView.m */; }; - FF9255EB4CD11DD726E677442B7AAA35 /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0122F6F54842C0CAEFF28B9EC841A9B1 /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C9CFF370EC8DD782B2FB0ADE5C9B9EE6 /* lottie-ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0508D1F4EB475E8EA9FD7082C7562045 /* lottie-ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC5897D1A3AA2911E9EF756BB4527BEE /* LOTAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = A39BDC8A9726CAF24D70EE23BB5BD1FE /* LOTAsset.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CCA7CF8243A89451BC9633E613FC7151 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 46D9F748EFA7C7149612B4AC164C2CAA /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDE9CB16ACB6B4A3FE2BD2B1DA79EF12 /* LOTAssetGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F74EB15D58D3270AEB2060CFE7570CC /* LOTAssetGroup.m */; }; + CE0FC93B43A524D1F7D19B460DBDC0C7 /* LOTAnimatedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = E0164FC244194F75006E20FE48527D07 /* LOTAnimatedControl.m */; }; + CF264386E9E451CF993345A14448ACC9 /* LOTAnimatedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = B6E3985D0D99F02F56FBC928EC0E7223 /* LOTAnimatedControl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5C6F7C043AAEFC9AA94DB717766AD98 /* LOTBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = D95D8467E79916FBC12B8B32D2278D9F /* LOTBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D822DEC7423289CE6C5EDD2F76220A87 /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 42CB682861D71E87DD35419F2BCF9D31 /* LOTShapeGroup.m */; }; + D8D6C71856D22FD2837C92162078DFF2 /* LOTColorInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EA83D1C50D183A2FB07BBEB1B9D948F /* LOTColorInterpolator.m */; }; + DB3635C8878C4DF06895A24C93F387F1 /* LOTBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA174E536B7A8FF5B4F181BCE1D2C56 /* LOTBezierPath.m */; }; + DC75D7C902FA3FB6831C5F586BF0A9EB /* LOTCompositionContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCF27BA792F612421FF59C04FA59850 /* LOTCompositionContainer.m */; }; + DCA9E79B329A9C7089354744495ACF4F /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EFF1F328A3093B9807BE52930AD0D53 /* LOTShapeTransform.m */; }; + DD50A114BE50A1C4B1A389E60CE85E24 /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = EF76A4F44D3EC0D867DD4DE52895BF18 /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD6471B94F03758B2F98A20FE2E44872 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; + DDEA3FF8E8CA403B1DE21A8A42A7D6E9 /* LOTLayerGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = F33AD0B7CE0E660FB299E773A9F8F96D /* LOTLayerGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE13550992089CBE5A2C4B755992555D /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 37CF631AD94762958323013D561D0562 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DEC864A40CE0DB7A6775D90DA4765071 /* LOTPolygonAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = DB7F41DB9747216ADF000810800EEB15 /* LOTPolygonAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF3BA27820767F6D0F6A82BFD9474B73 /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = A0DFFD5220DC4CDACD93E46EB55A1F92 /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0B6E044E3C2BE1CD1F3B7B38C76487B /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = F4DDEC0BF4954778BB020C2A3C4A37A0 /* LOTShapePath.m */; }; + E3FB33796190ABC187C4DD4F2F1FF9A3 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 405A59319C59F8B5A56AA4A3248319CB /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E40A3FB1287C96D693F48780A016ED3F /* LOTColorInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 23FA32C327A312DAAA9ED200805F76B7 /* LOTColorInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E57EC26912C56DB801BCA105B1E38F64 /* LOTShapeRepeater.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A745957B3F1CA9CD1FEE1F8C951BA1 /* LOTShapeRepeater.m */; }; + E772D17129596FDF838A33A26908028F /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3328CBFDABE689C4A43C029461A4A1DB /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E96CE89C7C1A6A3ED3E75A01432A7FBB /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CB1CC0D11409074C70E4C609F1448EE /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EAA3E05E943798C0A996FF4C9FA611E9 /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 37CF631AD94762958323013D561D0562 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EACD4A8E26C963A25FCB1239384A5F4C /* LOTLayerGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 2147F7AB75635C2E30C7748741753CEA /* LOTLayerGroup.m */; }; + EB7BA9F9897A557B348C7B06B632D059 /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF5C0DCDD5501651D216815D08406BA /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EBD0227652E595ED3B98FB63CD19067D /* LOTRoundedRectAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 50A7B85C7FF3F62AA8229881037A84F9 /* LOTRoundedRectAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED180731A6DA3D54432F35F66B7E302C /* LOTGradientFillRender.h in Headers */ = {isa = PBXBuildFile; fileRef = 135B555C252D40EFA4CF36C8B6B91EBE /* LOTGradientFillRender.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EEB08096C988F00CFDE9BD6C9171FB83 /* LOTCompositionContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = A0DFFD5220DC4CDACD93E46EB55A1F92 /* LOTCompositionContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F2BC18A67E6462A5B95B86D213A99B3F /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 55E650C85AEA6D05D50287F5D07A6EB0 /* LOTAnimatorNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F474F0C2F24152C28BB17F9F2FDDB223 /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CB1CC0D11409074C70E4C609F1448EE /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6B91A01736088808F00D1B43CC2E7FA /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A490E1B7F6AE8F98A80AE1B2E5D034C /* LOTShapeFill.m */; }; + F772CBD9F5D2376A0329571DB7C949B7 /* LOTPathAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A5058F11E3F1D9871124199C1B3D9E4 /* LOTPathAnimator.m */; }; + F87B2EABBEA37E0935718B6400DF6754 /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EFF1F328A3093B9807BE52930AD0D53 /* LOTShapeTransform.m */; }; + FA186EC1F104AD0C5026A68518372DBC /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E38775E835996063AD3975DB0D0685F /* LOTShapeStroke.m */; }; + FB1A193171350ED85E89AC0480808A04 /* LOTBezierData.m in Sources */ = {isa = PBXBuildFile; fileRef = A3076BBC1E5633342EB6DC328972318B /* LOTBezierData.m */; }; + FB62A10B7776C450974859DCAE75FDFB /* LOTPolystarAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3328CBFDABE689C4A43C029461A4A1DB /* LOTPolystarAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBF6F943722FA0BF60102D606D1DDBC8 /* LOTTransformInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = E977A18230CBF470460C58037A437B84 /* LOTTransformInterpolator.m */; }; + FCFBD9EDDF1711A7BD0A04D3E2AA6539 /* LOTPathInterpolator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0221FBCD051E76A64256E6E1279A59A0 /* LOTPathInterpolator.m */; }; + FDDB82AFFF44E487FFB233CFAD5921C9 /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C87A40CDE5E282FACD344EEF9BCBE8 /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF9255EB4CD11DD726E677442B7AAA35 /* LOTValueInterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = 96C32584B6FCC9133BDAC268ADA1C133 /* LOTValueInterpolator.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -256,7 +260,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E80AB23D706B32B97EAD69BFA776254; + remoteGlobalIDString = F30904A4E2B528D7322F8C34AD2C7625; remoteInfo = "lottie-ios-iOS"; }; D4791C006ECE4521039908D2894E5846 /* PBXContainerItemProxy */ = { @@ -269,106 +273,99 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 008874FA140BEC7F664FE0BA8C6C9070 /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTrimPath.h; sourceTree = ""; }; - 0122F6F54842C0CAEFF28B9EC841A9B1 /* LOTValueInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTValueInterpolator.h; sourceTree = ""; }; - 0162E16E07B8C5E015B6DF456FC1E305 /* CGGeometry+LOTAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CGGeometry+LOTAdditions.m"; sourceTree = ""; }; - 023F91BBE446F589DC98963D77E1DCFE /* LOTNumberInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTNumberInterpolator.m; sourceTree = ""; }; - 0391BD26E7325F14F4F2C84BF6585192 /* LOTRenderNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRenderNode.m; sourceTree = ""; }; + 0221FBCD051E76A64256E6E1279A59A0 /* LOTPathInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPathInterpolator.m; sourceTree = ""; }; + 0468A1630D67266809023D1E0248D7B5 /* LOTRepeaterRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRepeaterRenderer.m; sourceTree = ""; }; 0508D1F4EB475E8EA9FD7082C7562045 /* lottie-ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "lottie-ios-iOS-umbrella.h"; path = "../lottie-ios-iOS/lottie-ios-iOS-umbrella.h"; sourceTree = ""; }; - 0A11DD4F5FEB7B63FDE06BFDCD6139E3 /* LOTShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeCircle.h; sourceTree = ""; }; - 0B1C4E6E84BF7F510DBE8920CB665541 /* LOTHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTHelpers.h; sourceTree = ""; }; - 0BCE6A238F6E52D85E377FBA2A61ECE1 /* LOTPointInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPointInterpolator.m; sourceTree = ""; }; - 0C1B0CB73918045CAF1DB6E87B26029B /* LOTGradientFillRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTGradientFillRender.m; sourceTree = ""; }; - 115BE27085FBAFC27ACC547472EF5EB8 /* LOTRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRadialGradientLayer.h; sourceTree = ""; }; - 126C2F3B995B77F699801DCF8A582488 /* LOTRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRadialGradientLayer.m; sourceTree = ""; }; - 15E5C9A49D76FB42D0B415287058BD8F /* LOTAssetGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAssetGroup.h; sourceTree = ""; }; + 086A58805232A189CDBDA97740A7F97B /* LOTRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRadialGradientLayer.h; sourceTree = ""; }; + 0AAE803FD23C4072276F802275CC75A2 /* LOTFillRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTFillRenderer.h; sourceTree = ""; }; + 135B555C252D40EFA4CF36C8B6B91EBE /* LOTGradientFillRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTGradientFillRender.h; sourceTree = ""; }; 1688BB5C71E5E3A2AB6A945B3793E06E /* Pods-lottie-ios_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-lottie-ios_Tests.release.xcconfig"; sourceTree = ""; }; - 16BC93408725B88F913CF7E38AABD898 /* LOTAssetGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAssetGroup.m; sourceTree = ""; }; + 194F1B32D0624C138E12323981E4B3B3 /* LOTNumberInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTNumberInterpolator.h; sourceTree = ""; }; 1A6EFDACDACB6E43B1C860B406F5CC02 /* Pods_Lottie_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Lottie_Example.framework; path = "Pods-Lottie-Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 200981A59C027D7B3DD2231DB8680AAA /* Pods-Lottie-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example.release.xcconfig"; sourceTree = ""; }; + 2147F7AB75635C2E30C7748741753CEA /* LOTLayerGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayerGroup.m; sourceTree = ""; }; + 227843D236B655642C7E3C469ED005F1 /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CALayer+Compat.h"; sourceTree = ""; }; 22BDFBAA4524EAF16132AD22EC39BA9D /* Pods-lottie-ios_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-lottie-ios_Tests.debug.xcconfig"; sourceTree = ""; }; 23289CF2CB9CCDE468ABF8D7040AB9F7 /* lottie-ios-OSX-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-OSX-prefix.pch"; sourceTree = ""; }; - 23DAF45D74698F7419010F9E5C252198 /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTrimPath.m; sourceTree = ""; }; - 248C7A8C2AD89DF0A703BF942BBB1A9E /* LOTBezierData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTBezierData.h; sourceTree = ""; }; - 24C4B2E006CA217ACF77B4313634A8F3 /* CGGeometry+LOTAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CGGeometry+LOTAdditions.h"; sourceTree = ""; }; - 27C20751A8915BD608966F72744B50D9 /* LOTKeyframe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTKeyframe.m; sourceTree = ""; }; - 29487A60C385901E13956E6E5B4C4294 /* LOTLayerContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayerContainer.m; sourceTree = ""; }; + 23FA32C327A312DAAA9ED200805F76B7 /* LOTColorInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTColorInterpolator.h; sourceTree = ""; }; + 272D6A3046E0CACC4BF991956B10036C /* LOTShapeGradientFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGradientFill.m; sourceTree = ""; }; + 28990FC90E08798A110AFD134EAD0190 /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIColor.m; sourceTree = ""; }; + 2984C6FFF4ACA3196271E2F1976ADA69 /* LOTLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayer.m; sourceTree = ""; }; 2CB517641B868E9238D1CBF2F61FC321 /* Pods-Lottie-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Lottie-Example-acknowledgements.markdown"; sourceTree = ""; }; - 319D03BDF6585DD56DD97471F4463275 /* LOTShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeFill.m; sourceTree = ""; }; - 32A10671A14009ECF2AAF917A139B528 /* LOTPathAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPathAnimator.h; sourceTree = ""; }; + 2CD964EAAA18892EF6258722B95F951B /* LOTShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeCircle.h; sourceTree = ""; }; + 3242711C4E767B6FF3AEC1BAA95BA71F /* LOTPolystarAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPolystarAnimator.m; sourceTree = ""; }; 32A6F597E0546E4D2A2E39015759C533 /* Pods_Lottie_Viewer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Lottie_Viewer.framework; path = "Pods-Lottie Viewer.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 34DA58734E1D030B629CEA2B1C45BCCD /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationTransitionController.h; sourceTree = ""; }; + 3328CBFDABE689C4A43C029461A4A1DB /* LOTPolystarAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPolystarAnimator.h; sourceTree = ""; }; + 37CF631AD94762958323013D561D0562 /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTrimPath.h; sourceTree = ""; }; + 38EADF596ED162A0EE3D35E987685FD7 /* LOTPolygonAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPolygonAnimator.m; sourceTree = ""; }; 392AE6678DE5B261D36B7164386E03C8 /* Pods-lottie-ios_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-lottie-ios_Tests-dummy.m"; sourceTree = ""; }; - 39DEDC4FE94E6D1CE3C9C93499DB3E9B /* LOTShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapePath.m; sourceTree = ""; }; - 3ABC365473629263C7C5B982FE5A890D /* LOTPolystarAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPolystarAnimator.m; sourceTree = ""; }; - 3B184C6DCA777E3A89CE7A74591B6C6E /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSValue+Compat.h"; sourceTree = ""; }; + 3CA45971085CDBB78AAE42054A76E077 /* LOTShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeRectangle.h; sourceTree = ""; }; 3DF4ABD88E12E333FE644FFDE33C8DD8 /* Pods-lottie-ios_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-lottie-ios_Tests-acknowledgements.plist"; sourceTree = ""; }; 3E4E92FF73D0C5408716B831624378F8 /* Pods-Lottie-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example.debug.xcconfig"; sourceTree = ""; }; + 3F74EB15D58D3270AEB2060CFE7570CC /* LOTAssetGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAssetGroup.m; sourceTree = ""; }; 3FC57817E38FEE88C847125F31F36F1F /* lottie-ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "lottie-ios-iOS.xcconfig"; path = "../lottie-ios-iOS/lottie-ios-iOS.xcconfig"; sourceTree = ""; }; - 427824198D4B766B6D6C6C364D303AF9 /* LOTRenderNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRenderNode.h; sourceTree = ""; }; - 42D8A829B057A8AE9902C2336F54D433 /* LOTBezierData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTBezierData.m; sourceTree = ""; }; - 462505E5E6C1EA020B8460238A06676F /* LOTShapeRepeater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRepeater.m; sourceTree = ""; }; - 47821B52143FB0931D882FB765FA4934 /* LOTColorInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTColorInterpolator.m; sourceTree = ""; }; - 4BF5FE1DD1D1D008BCE0A727BD79CCC8 /* LOTBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTBezierPath.h; sourceTree = ""; }; - 4CBADAC7171C2B27228DF88F601C848C /* LOTShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeCircle.m; sourceTree = ""; }; + 405A59319C59F8B5A56AA4A3248319CB /* LOTShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapePath.h; sourceTree = ""; }; + 40AB914034285EFBF52E103FB005E657 /* LOTValueInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTValueInterpolator.m; sourceTree = ""; }; + 40C41F2E48B907C6D99813DF7A9C2A31 /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Expanded.m"; sourceTree = ""; }; + 428DD5AEB7E323676A510C146F1094C6 /* LOTRenderGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRenderGroup.h; sourceTree = ""; }; + 42CB682861D71E87DD35419F2BCF9D31 /* LOTShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGroup.m; sourceTree = ""; }; + 46614A552F667CC55E45A19F9B0978D1 /* LOTFillRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTFillRenderer.m; sourceTree = ""; }; + 4693DA6769DE389ACDF653903848C95B /* LOTTrimPathNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTTrimPathNode.h; sourceTree = ""; }; + 46D9F748EFA7C7149612B4AC164C2CAA /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Compat.h; sourceTree = ""; }; + 4A308318BDA8CEC76246D104E31729F5 /* LOTRepeaterRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRepeaterRenderer.h; sourceTree = ""; }; + 4AEFD97349588D80E639AE803E87AB1E /* LOTShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRectangle.m; sourceTree = ""; }; + 4BCF27BA792F612421FF59C04FA59850 /* LOTCompositionContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCompositionContainer.m; sourceTree = ""; }; 4CD8D48838914CC935697BC0B8645E9A /* Pods-Lottie-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Lottie-Example.modulemap"; sourceTree = ""; }; - 4CFB3C01170EB434BBE5383E9A90A8BF /* LOTStrokeRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTStrokeRenderer.h; sourceTree = ""; }; - 4D1F070F49A48ACCF6215546B3655976 /* LOTShapeStar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeStar.h; sourceTree = ""; }; - 4F6C8F64B382A237A25E37D9E4793DE6 /* LOTPolygonAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPolygonAnimator.m; sourceTree = ""; }; - 51395FC9BBFBA3BAE0471045BBF7E112 /* LOTTrimPathNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTTrimPathNode.m; sourceTree = ""; }; - 515AFACE10161CBF7C172F3A7A05985C /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIColor.m; sourceTree = ""; }; - 519251186BAF0799F5C7196667237C52 /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; - 52115E300BB0B75280D66ED18D7CC482 /* LOTRenderGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRenderGroup.m; sourceTree = ""; }; - 52478B84A1C345E66A550C50F1694053 /* LOTCompositionContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCompositionContainer.h; sourceTree = ""; }; - 529B22102635B421DAA85FD6F2728C52 /* LOTAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView.h; sourceTree = ""; }; - 52F877F52F27FE8564E4966CBF3261AB /* LOTGradientFillRender.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTGradientFillRender.h; sourceTree = ""; }; - 536ABE31096E74E551F4311E4D7FC8F2 /* LOTTransformInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTTransformInterpolator.m; sourceTree = ""; }; - 537CA80543E4BA9164842491919E58A3 /* LOTMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMask.m; sourceTree = ""; }; + 50A7B85C7FF3F62AA8229881037A84F9 /* LOTRoundedRectAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRoundedRectAnimator.h; sourceTree = ""; }; + 51FC9391B6C5C85F1F7B1FDA2CC8FDFE /* CGGeometry+LOTAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CGGeometry+LOTAdditions.m"; sourceTree = ""; }; + 5241AB8D3B3AF2F3825A93F0B32D9C5D /* LOTKeyframe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTKeyframe.m; sourceTree = ""; }; 539ADAB8D98168C3A5104707E1819800 /* Pods-Lottie Viewer-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie Viewer-resources.sh"; sourceTree = ""; }; 54C415EA7F1183D8CBF4DD450C8E917A /* lottie-ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "lottie-ios-iOS-dummy.m"; path = "../lottie-ios-iOS/lottie-ios-iOS-dummy.m"; sourceTree = ""; }; 55280B1678DBB5373CEB5963E62E39C8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 57662175745BBCE5C5A9CA643184BE24 /* LOTLayerContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayerContainer.h; sourceTree = ""; }; + 55E650C85AEA6D05D50287F5D07A6EB0 /* LOTAnimatorNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatorNode.h; sourceTree = ""; }; + 5619C860054C32A3C1A3F063CCAA986A /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSValue+Compat.m"; sourceTree = ""; }; + 56A4BF06F98D77ADB3B462913C16217B /* LOTStrokeRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTStrokeRenderer.h; sourceTree = ""; }; 57B1FEF3178D7604EED65FA3A99A03DD /* lottie-ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; name = "lottie-ios-iOS.modulemap"; path = "../lottie-ios-iOS/lottie-ios-iOS.modulemap"; sourceTree = ""; }; - 5B39C89CF12EA4D2088E1A4DE840BC1C /* LOTColorInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTColorInterpolator.h; sourceTree = ""; }; - 5BAA54146FABD5797675DB4DE91C94EF /* LOTShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeStroke.h; sourceTree = ""; }; - 5C42F8F25AC35627F6A0257893A0811F /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Expanded.m"; sourceTree = ""; }; - 5D3DA488CA7B202441852FCC7DCCE9B2 /* LOTShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGroup.m; sourceTree = ""; }; - 5FF79055F8DC812BCB1CBA2F778FA771 /* LOTRepeaterRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRepeaterRenderer.m; sourceTree = ""; }; + 5A5058F11E3F1D9871124199C1B3D9E4 /* LOTPathAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPathAnimator.m; sourceTree = ""; }; + 5D8DAA2C3DCE843D862FC6B4C6892802 /* LOTLayerContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayerContainer.m; sourceTree = ""; }; + 5DA174E536B7A8FF5B4F181BCE1D2C56 /* LOTBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTBezierPath.m; sourceTree = ""; }; + 5E38775E835996063AD3975DB0D0685F /* LOTShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStroke.m; sourceTree = ""; }; + 5E6DCE2446C4A632A3DEFF4E4D286993 /* LOTAnimatorNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatorNode.m; sourceTree = ""; }; + 5F3B72A8E2380FF41995F178E51B5B94 /* LOTShapeRepeater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeRepeater.h; sourceTree = ""; }; + 60363DC5D5E8F3C2C28A8715DA390170 /* LOTMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMask.m; sourceTree = ""; }; 60CC0BDE6346F89ADB5DB741F83E073E /* lottie-ios-OSX-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "lottie-ios-OSX-dummy.m"; sourceTree = ""; }; + 61A745957B3F1CA9CD1FEE1F8C951BA1 /* LOTShapeRepeater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRepeater.m; sourceTree = ""; }; 61E8C766168C906716D70FDBED5C32CA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 62F5C2D0B3E0461DACB91D55DB80B601 /* LOTLayerGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayerGroup.h; sourceTree = ""; }; + 6398418947AEE1FF891887426F2CB24F /* LOTAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationCache.h; sourceTree = ""; }; 63E8A32304416366E7C4FC7A2D6C3A08 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; + 659E43C54C18D4FD539A4E332F7790F5 /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; 68BD4E155A46A5ACAC446D5FC4010BFB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../lottie-ios-iOS/Info.plist"; sourceTree = ""; }; - 697758DA87DCD4C0D150063838B5D6E2 /* LOTShapeGradientFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGradientFill.m; sourceTree = ""; }; - 69BD16C16369A5BF0423321FFB6EA0BE /* LOTLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayer.m; sourceTree = ""; }; + 6ABA14F23A54CFF8B2258DE667642BFD /* LOTMaskContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMaskContainer.m; sourceTree = ""; }; 6AE2E9ED9175D72655AC45CF4432C1C7 /* lottie-ios-OSX.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "lottie-ios-OSX.xcconfig"; sourceTree = ""; }; 6B2EA2A4719AB76E637979AE2E65E786 /* Pods-Lottie-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Lottie-Example-dummy.m"; sourceTree = ""; }; - 6F9AFAC97CBC2F0401EAA05EB34BF2FF /* LOTValueInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTValueInterpolator.m; sourceTree = ""; }; - 7143C40521ED1AD67D30C82F07A44FF5 /* LOTShapeRepeater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeRepeater.h; sourceTree = ""; }; - 717F9314DB5F46E0F23AE766E4783B6B /* LOTTrimPathNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTTrimPathNode.h; sourceTree = ""; }; - 71B0E633FE982B3DEF63AF3A736799E5 /* LOTBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTBezierPath.m; sourceTree = ""; }; - 747D2CFE3AC306BFEF62C591C19D638E /* LOTRoundedRectAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRoundedRectAnimator.m; sourceTree = ""; }; + 6DBF60E20E0F3964D13D808F657EC3D0 /* LOTStrokeRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTStrokeRenderer.m; sourceTree = ""; }; + 6E7AAD90809A5BE65838A5AF376F98AA /* LOTCacheProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCacheProvider.m; sourceTree = ""; }; + 7236E29E9520E96B96DA447A0F73D04A /* LOTRenderNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRenderNode.m; sourceTree = ""; }; 74883CF1E01724853AB546D683B3DEA1 /* Pods-lottie-ios_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-lottie-ios_Tests-umbrella.h"; sourceTree = ""; }; - 750C7C30226D661C3BE036263577C6B5 /* LOTShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeGroup.h; sourceTree = ""; }; 75F4DD86D133631479410B893D4B04F4 /* Pods_lottie_ios_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_lottie_ios_Tests.framework; path = "Pods-lottie-ios_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 766EB392982CB8B00285AF081FA67A18 /* Pods-lottie-ios_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-lottie-ios_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 7B1C29EAFDD6ECF6F87C4EA63C0DE41E /* LOTAnimatorNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatorNode.m; sourceTree = ""; }; - 7B2CB5824197A0A89CF387AC6A3A4E47 /* LOTRenderGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRenderGroup.h; sourceTree = ""; }; - 7B58416F42653760D94D3F1389097F35 /* LOTComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTComposition.m; sourceTree = ""; }; + 786D7137457B872697EDE5C057C222E9 /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationTransitionController.h; sourceTree = ""; }; 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 7C79E6BF7DA299701FC84C9F393E47F3 /* LOTShapeStar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeStar.h; sourceTree = ""; }; + 7CF1D3E47D4044924E21C0FCAB9095D0 /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = ""; }; 7D00258E4C4D882665FA7673AF9DE81C /* lottie-ios-OSX-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-OSX-umbrella.h"; sourceTree = ""; }; - 7D84E389C45720D5EFA8DD72D8005FC3 /* LOTShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRectangle.m; sourceTree = ""; }; 7DA1DF4DC5CE76C3EF3AFAF093E3B908 /* Pods-Lottie Viewer-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Lottie Viewer-acknowledgements.plist"; sourceTree = ""; }; - 7E368EB2C02C4BCA34826642E183C6D1 /* LOTAnimatorNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatorNode.h; sourceTree = ""; }; - 7E4D2DD72D35010DFE46709AF66950C4 /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationTransitionController.m; sourceTree = ""; }; + 8042D1984741739FE2632E3381091EB2 /* LOTCircleAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCircleAnimator.h; sourceTree = ""; }; 804BBDA063F6BE0570BCF2BE94D00E85 /* lottie-ios-OSX.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "lottie-ios-OSX.modulemap"; sourceTree = ""; }; - 8153CCBF67A1AC789DDC1C97C698CCA0 /* LOTPathInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPathInterpolator.h; sourceTree = ""; }; - 83FD8156F8C923DA76EAFAEF8DF4AC35 /* LOTShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStroke.m; sourceTree = ""; }; - 847F3F677D0CDEF58B250E9E0FF3E6FA /* LOTCircleAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCircleAnimator.h; sourceTree = ""; }; - 84E3F648EAD959DA24F35FE9FD1566DF /* LOTSizeInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTSizeInterpolator.h; sourceTree = ""; }; - 861D3C2F6EEBBF9034DA9CE45172DBCE /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Compat.h; sourceTree = ""; }; - 892C5787B2282DFBD6CB6E3FFB38A2B5 /* LOTCacheProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCacheProvider.h; sourceTree = ""; }; - 8C2643ACAF22BB7065B0FCE3110B6B8B /* LOTCompositionContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCompositionContainer.m; sourceTree = ""; }; + 82941F8BBD825D99E98F170139381C57 /* LOTPathInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPathInterpolator.h; sourceTree = ""; }; + 876290A891B0E804E9010420CBFB2DF0 /* LOTArrayInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTArrayInterpolator.m; sourceTree = ""; }; + 8A490E1B7F6AE8F98A80AE1B2E5D034C /* LOTShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeFill.m; sourceTree = ""; }; + 8A73292F17F72D91AD677901388AC371 /* LOTKeyframe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTKeyframe.h; sourceTree = ""; }; + 8B5218EC59B214FFDB753A1E532F1FD4 /* LOTPathAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPathAnimator.h; sourceTree = ""; }; + 8B7CB99752B9512D6263AF2DF763BAF2 /* LOTShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeFill.h; sourceTree = ""; }; + 8BF5C0DCDD5501651D216815D08406BA /* LOTMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMask.h; sourceTree = ""; }; + 8CB1CC0D11409074C70E4C609F1448EE /* LOTShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeGroup.h; sourceTree = ""; }; + 8D3EF8864151AD375897EEEE0049265B /* LOTAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationView.m; sourceTree = ""; }; 8D6D246FF2E46CE46B6F9453A989B292 /* Pods-Lottie-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-resources.sh"; sourceTree = ""; }; 8DE920DB509B09F953A5AC49A25A0138 /* Pods-lottie-ios_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-lottie-ios_Tests.modulemap"; sourceTree = ""; }; 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; @@ -379,75 +376,77 @@ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 957779C8BD629DE80F8E678BC2E2E54A /* Pods-Lottie-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Lottie-Example-umbrella.h"; sourceTree = ""; }; 957CDEEF051F9285513835BC0A9E2DD8 /* Pods-Lottie-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Lottie-Example-acknowledgements.plist"; sourceTree = ""; }; + 96C32584B6FCC9133BDAC268ADA1C133 /* LOTValueInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTValueInterpolator.h; sourceTree = ""; }; 97149B27FC504CA715F1A3D792D28F99 /* Pods-Lottie Viewer-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie Viewer-frameworks.sh"; sourceTree = ""; }; - 992367A8C956857ADACD47DE7C7FD8C4 /* LOTLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayer.h; sourceTree = ""; }; - 99DFF0DF8A6CC4A5A918A0E61B6B3405 /* LOTAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationView.m; sourceTree = ""; }; 9AE28354BEE8C3C41E6AFE2DFC2E018D /* Pods-Lottie Viewer-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Lottie Viewer-umbrella.h"; sourceTree = ""; }; - 9BA5F7F216E6C75F9C15C73D8960EFB3 /* LOTAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationCache.m; sourceTree = ""; }; - 9EA1AD2D3669BC1457C5AF3487933F6E /* LOTPathAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPathAnimator.m; sourceTree = ""; }; - 9FC75F7A8DFC93400F41870AB709548B /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = ""; }; - A2AAD124495AF72C0C76F94E437436AE /* LOTAsset.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAsset.m; sourceTree = ""; }; - A5E9613AF75AB78A68DBBEFFFDBC4424 /* LOTShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapePath.h; sourceTree = ""; }; - A663BB8E1FF63DB4B2D8631933134162 /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Internal.h; sourceTree = ""; }; + 9B6923575F8A5D34B244D82AEE41C3F6 /* LOTRenderNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRenderNode.h; sourceTree = ""; }; + 9DCDDA899EEFBA305F1468F251D2F617 /* LOTCircleAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCircleAnimator.m; sourceTree = ""; }; + 9EA83D1C50D183A2FB07BBEB1B9D948F /* LOTColorInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTColorInterpolator.m; sourceTree = ""; }; + 9EFF1F328A3093B9807BE52930AD0D53 /* LOTShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTransform.m; sourceTree = ""; }; + A0DFFD5220DC4CDACD93E46EB55A1F92 /* LOTCompositionContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCompositionContainer.h; sourceTree = ""; }; + A13285A000D2951144B0BD24953D0E7E /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIColor.h; sourceTree = ""; }; + A3076BBC1E5633342EB6DC328972318B /* LOTBezierData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTBezierData.m; sourceTree = ""; }; + A39BDC8A9726CAF24D70EE23BB5BD1FE /* LOTAsset.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAsset.h; sourceTree = ""; }; + A48CC90FA6A3CD3F89DB0144907532E2 /* LOTSizeInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTSizeInterpolator.m; sourceTree = ""; }; + A503EF472B37FAEC8C7B7A02EB48EAD0 /* LOTAnimatedSwitch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatedSwitch.h; sourceTree = ""; }; + A70EA4E2038B16F19EF5A99D144B3273 /* LOTPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPlatformCompat.h; sourceTree = ""; }; + A83C74E1BE1843229C1EAC13B0DA0245 /* LOTRenderGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRenderGroup.m; sourceTree = ""; }; + A9B2C2F7B5FF9CBF0156C2A393E74EC7 /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Internal.h; sourceTree = ""; }; + AF175CC26A097490ED6F811DB044BFD9 /* LOTShapeGradientFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeGradientFill.h; sourceTree = ""; }; AF2DE7A29FB4261F8DF6B5D2E56A7759 /* Pods-Lottie Viewer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie Viewer.debug.xcconfig"; sourceTree = ""; }; - B119322F12428601C55E85ECF7232D17 /* LOTRepeaterRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRepeaterRenderer.h; sourceTree = ""; }; - B11FFDD95A96F81072FC1E06DAD4CCBA /* LOTStrokeRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTStrokeRenderer.m; sourceTree = ""; }; - B1802665ACA8BE5F34ACF6EFAF9BF63B /* LOTShapeStar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStar.m; sourceTree = ""; }; - B75592692BDAB77F8FB92FA7F075D3EE /* LOTTransformInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTTransformInterpolator.h; sourceTree = ""; }; - BB86856280968F970083C31F441F0BA5 /* LOTCircleAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCircleAnimator.m; sourceTree = ""; }; - BBA619F061950B53AEB65D8282C9AA92 /* LOTPathInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPathInterpolator.m; sourceTree = ""; }; + AF55B5448A81359F1A814270B3666679 /* LOTTrimPathNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTTrimPathNode.m; sourceTree = ""; }; + B087CA2D09A4887C49F464890E7A177E /* LOTAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView.h; sourceTree = ""; }; + B4A18DDFFFD13D69C09000FFD121ECDE /* LOTRoundedRectAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRoundedRectAnimator.m; sourceTree = ""; }; + B54D672768B8B9D47FEC96B75323ABAB /* LOTAssetGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAssetGroup.h; sourceTree = ""; }; + B6041F9522F368C2926E52A7CBBBFD48 /* LOTHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTHelpers.h; sourceTree = ""; }; + B6E3985D0D99F02F56FBC928EC0E7223 /* LOTAnimatedControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatedControl.h; sourceTree = ""; }; BBBFB35C75DBB9AACD3D259D46474425 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Lottie.framework; path = "lottie-ios-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - C18DA1163187CEB881A9C281BEBE7A7C /* LOTShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeFill.h; sourceTree = ""; }; - C6AB5659DF459060DD9F649777FC388E /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CALayer+Compat.m"; sourceTree = ""; }; - C895DAD4426D53EF3B1373BA2ADC004E /* LOTPointInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPointInterpolator.h; sourceTree = ""; }; + C35369D2190E7D0E03D5F0C9B66E3840 /* LOTLayerContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayerContainer.h; sourceTree = ""; }; + C388AA1307273BB39C929D94248DE0AF /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTrimPath.m; sourceTree = ""; }; + C4099F44D1ECCF4DB09FC399C80EB167 /* LOTGradientFillRender.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTGradientFillRender.m; sourceTree = ""; }; + C437F32E715B1F2CAF96458B882481DF /* LOTMaskContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMaskContainer.h; sourceTree = ""; }; + C43F696E5119C1A62FC708886D861CFD /* LOTAnimatedSwitch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatedSwitch.m; sourceTree = ""; }; + C492C77CFABF205B4C791EAFA5DA8931 /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationTransitionController.m; sourceTree = ""; }; + C6794BE326B903E370B9B60F81621424 /* LOTAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationCache.m; sourceTree = ""; }; CA13E2F72B2A84E8D774F18DD936CA54 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - CDD8D3B780C5AD62F3B47177596BD2F6 /* LOTArrayInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTArrayInterpolator.m; sourceTree = ""; }; CF4BF66849AF08D9851F6F39E0898EAC /* Pods-Lottie Viewer.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Lottie Viewer.modulemap"; sourceTree = ""; }; - CFC07B846A03827120AD1E030B5655C5 /* LOTAsset.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAsset.h; sourceTree = ""; }; - D066A3740E0F9063F962A1FCD9147409 /* LOTRoundedRectAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRoundedRectAnimator.h; sourceTree = ""; }; - D104800AEBD69AD0DF6FE5937A805E6A /* LOTFillRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTFillRenderer.h; sourceTree = ""; }; - D34CF504611FFF2708640E5BEE36F120 /* LOTArrayInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTArrayInterpolator.h; sourceTree = ""; }; - D64ADB12FC72CD2F37B9D2828CFDE30A /* LOTMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMask.h; sourceTree = ""; }; - D697FE6BFAFF38735C59F715FF4693AF /* LOTNumberInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTNumberInterpolator.h; sourceTree = ""; }; - D6A3608F20F1E9057387AFE4588F244C /* LOTPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPlatformCompat.h; sourceTree = ""; }; - D7EA17D544F37FD0FCE367EF3CDE5B64 /* LOTCacheProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTCacheProvider.m; sourceTree = ""; }; - D88F2A3755A84F68B3A7E7FC77CB30E5 /* LOTPolygonAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPolygonAnimator.h; sourceTree = ""; }; - DBB38A8161DE421DC7030F5393E2082F /* LOTFillRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTFillRenderer.m; sourceTree = ""; }; - DC82687CE61981B8C2A4171558AFDC90 /* LOTShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTransform.m; sourceTree = ""; }; - DCA50EA17E99BEF5C3056CB6E5A7E901 /* LOTShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeRectangle.h; sourceTree = ""; }; - DD83705DCD05309D1AD9944A6D1AF31C /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSValue+Compat.m"; sourceTree = ""; }; - DDA87CF2CF71BFE445CCC71BCAEFC9DB /* LOTShapeGradientFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeGradientFill.h; sourceTree = ""; }; + D0D9BFD66BC6F81E4A9602BC4EE57D8A /* LOTAsset.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAsset.m; sourceTree = ""; }; + D687D64D0C9A938635B9C9D9F30AE281 /* LOTBezierData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTBezierData.h; sourceTree = ""; }; + D8D4D2612BAB4E96A1EFC2C1A379B795 /* LOTShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeCircle.m; sourceTree = ""; }; + D95D8467E79916FBC12B8B32D2278D9F /* LOTBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTBezierPath.h; sourceTree = ""; }; + D96D088283758BBDC60716E7A54335B7 /* LOTSizeInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTSizeInterpolator.h; sourceTree = ""; }; + DB7F41DB9747216ADF000810800EEB15 /* LOTPolygonAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPolygonAnimator.h; sourceTree = ""; }; + DCA786C9E19C1EC03BC9679E27A6F20F /* LOTComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTComposition.h; sourceTree = ""; }; + DE70957692229A5521E1209B34FD6341 /* LOTRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRadialGradientLayer.m; sourceTree = ""; }; DFB9B48CA5FB64F65C9333F75A778DD2 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreVideo.framework; sourceTree = DEVELOPER_DIR; }; - DFD6171E872FA0897AFB298FE8DFA188 /* LOTKeyframe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTKeyframe.h; sourceTree = ""; }; - E29B4AEAE085813AF93290DD273066F1 /* LOTModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTModels.h; sourceTree = ""; }; - E4BC744E48E64CCBDE65C9705A125FC3 /* LOTPolystarAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPolystarAnimator.h; sourceTree = ""; }; + E0164FC244194F75006E20FE48527D07 /* LOTAnimatedControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatedControl.m; sourceTree = ""; }; + E04BB719CBA0390A9D86A94BDEA57CC1 /* LOTPointInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTPointInterpolator.m; sourceTree = ""; }; + E54B3DC1B45E6FFED2DE45ED43DBA4C5 /* LOTCacheProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTCacheProvider.h; sourceTree = ""; }; E578078ACB6D731DF0DEA72A20BF04B7 /* Pods-Lottie-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-frameworks.sh"; sourceTree = ""; }; + E6C87A40CDE5E282FACD344EEF9BCBE8 /* LOTShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTransform.h; sourceTree = ""; }; E6CC126717DE752766A8C58E618A6BA1 /* Pods-Lottie Viewer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Lottie Viewer-dummy.m"; sourceTree = ""; }; + E755B311E223826B3558EEB629C0287D /* LOTComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTComposition.m; sourceTree = ""; }; + E75A43CAEC39661AAF5A0D8FE4EE6DCC /* LOTShapeStar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStar.m; sourceTree = ""; }; E7F9BF29D1BB924B7546DF44AF6619AF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E9E9251140EA0AA8B0A7FA412C79ED90 /* LOTMaskContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMaskContainer.m; sourceTree = ""; }; + E977A18230CBF470460C58037A437B84 /* LOTTransformInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTTransformInterpolator.m; sourceTree = ""; }; + E9C5D93102924F61B1666731B13299C8 /* LOTTransformInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTTransformInterpolator.h; sourceTree = ""; }; EAA55B722ECBCD50F62BBFB43D59B4B2 /* lottie-ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "lottie-ios-iOS-prefix.pch"; path = "../lottie-ios-iOS/lottie-ios-iOS-prefix.pch"; sourceTree = ""; }; - EBBD716C3FB05A7C8C930AA9A1619865 /* LOTShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTransform.h; sourceTree = ""; }; - ECCCB18543F3B749C4A6F06BADF30D02 /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIColor.h; sourceTree = ""; }; - EF82F7842563D74DB6E7C84808EB8490 /* LOTLayerGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayerGroup.m; sourceTree = ""; }; + EBF64DB27BB35CA09D041C9D2F9CEC4E /* LOTArrayInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTArrayInterpolator.h; sourceTree = ""; }; + EC357B89D82B770D72FCBA6E21488805 /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CALayer+Compat.m"; sourceTree = ""; }; + ED2CD43EDD5AB0839147E1B17C971EEA /* CGGeometry+LOTAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CGGeometry+LOTAdditions.h"; sourceTree = ""; }; + EEE3A349FAA8F7B5DE1167968D29A4DE /* LOTNumberInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTNumberInterpolator.m; sourceTree = ""; }; + EF76A4F44D3EC0D867DD4DE52895BF18 /* LOTModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTModels.h; sourceTree = ""; }; EFE7F290BE29B5B38039D5BF5C4FB52E /* Pods-Lottie Viewer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie Viewer.release.xcconfig"; sourceTree = ""; }; - F1E484D9242A9D6075F933922D4E2377 /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CALayer+Compat.h"; sourceTree = ""; }; - F2259486F232639DA0A5A6E9F6EB0F58 /* LOTMaskContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMaskContainer.h; sourceTree = ""; }; - F6C4C76F6CEB8A41472BA7932BEB5C75 /* LOTSizeInterpolator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTSizeInterpolator.m; sourceTree = ""; }; - FA58F827C1B438DE85DB4529D4020913 /* LOTAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationCache.h; sourceTree = ""; }; + F20E4E1B4E2532FB0310955D634DA69E /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSValue+Compat.h"; sourceTree = ""; }; + F33AD0B7CE0E660FB299E773A9F8F96D /* LOTLayerGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayerGroup.h; sourceTree = ""; }; + F4DDEC0BF4954778BB020C2A3C4A37A0 /* LOTShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapePath.m; sourceTree = ""; }; + F57D6A49BAAF8072A4DC91D40E0D1EAF /* LOTPointInterpolator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPointInterpolator.h; sourceTree = ""; }; + FA83154549FBF8250618D1CC7ED5B418 /* LOTLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayer.h; sourceTree = ""; }; + FAE123FFEA3FFA98D5492A4C7FBB5F2B /* LOTShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeStroke.h; sourceTree = ""; }; FCD61B30751008C76B625BB6423F54AC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FF9A4E42D0ACC80D5F96A443E909AA7B /* LOTComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTComposition.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 170E3A0520CDE9D24E652F1C2DA03288 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 312CFC6DA49573C2A30B4014DECEB337 /* Foundation.framework in Frameworks */, - 87680037BD34C9F43581692985976048 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 35238516DA8B4E1DE968CC94C1A4BD2C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -466,6 +465,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5C1C680CAA5E0DDC1D70AE67A2622954 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DD6471B94F03758B2F98A20FE2E44872 /* Foundation.framework in Frameworks */, + 22D9C89FF7B853E3903EEC9A46790F68 /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9400EE0ECE003B3ACEB89B6D5B7AB442 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -485,28 +493,21 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1B2FFC542F9F38DDF7D42A1F31E75572 /* InterpolatorNodes */ = { + 01E5CE4CF4AC50627EFB7722235D2982 /* PublicHeaders */ = { isa = PBXGroup; children = ( - D34CF504611FFF2708640E5BEE36F120 /* LOTArrayInterpolator.h */, - CDD8D3B780C5AD62F3B47177596BD2F6 /* LOTArrayInterpolator.m */, - 5B39C89CF12EA4D2088E1A4DE840BC1C /* LOTColorInterpolator.h */, - 47821B52143FB0931D882FB765FA4934 /* LOTColorInterpolator.m */, - D697FE6BFAFF38735C59F715FF4693AF /* LOTNumberInterpolator.h */, - 023F91BBE446F589DC98963D77E1DCFE /* LOTNumberInterpolator.m */, - 8153CCBF67A1AC789DDC1C97C698CCA0 /* LOTPathInterpolator.h */, - BBA619F061950B53AEB65D8282C9AA92 /* LOTPathInterpolator.m */, - C895DAD4426D53EF3B1373BA2ADC004E /* LOTPointInterpolator.h */, - 0BCE6A238F6E52D85E377FBA2A61ECE1 /* LOTPointInterpolator.m */, - 84E3F648EAD959DA24F35FE9FD1566DF /* LOTSizeInterpolator.h */, - F6C4C76F6CEB8A41472BA7932BEB5C75 /* LOTSizeInterpolator.m */, - B75592692BDAB77F8FB92FA7F075D3EE /* LOTTransformInterpolator.h */, - 536ABE31096E74E551F4311E4D7FC8F2 /* LOTTransformInterpolator.m */, - 0122F6F54842C0CAEFF28B9EC841A9B1 /* LOTValueInterpolator.h */, - 6F9AFAC97CBC2F0401EAA05EB34BF2FF /* LOTValueInterpolator.m */, + B6E3985D0D99F02F56FBC928EC0E7223 /* LOTAnimatedControl.h */, + A503EF472B37FAEC8C7B7A02EB48EAD0 /* LOTAnimatedSwitch.h */, + 6398418947AEE1FF891887426F2CB24F /* LOTAnimationCache.h */, + 786D7137457B872697EDE5C057C222E9 /* LOTAnimationTransitionController.h */, + B087CA2D09A4887C49F464890E7A177E /* LOTAnimationView.h */, + 46D9F748EFA7C7149612B4AC164C2CAA /* LOTAnimationView_Compat.h */, + E54B3DC1B45E6FFED2DE45ED43DBA4C5 /* LOTCacheProvider.h */, + DCA786C9E19C1EC03BC9679E27A6F20F /* LOTComposition.h */, + 7CF1D3E47D4044924E21C0FCAB9095D0 /* Lottie.h */, ); - name = InterpolatorNodes; - path = InterpolatorNodes; + name = PublicHeaders; + path = PublicHeaders; sourceTree = ""; }; 26342C9887425AAD969E2A28B5DBF666 /* iOS */ = { @@ -518,19 +519,71 @@ name = iOS; sourceTree = ""; }; - 3F609CBB8111F2CAAE11F2E03D9F0BC0 /* PublicHeaders */ = { + 2699BC8BDE176787CDD847C132523CDC /* Classes */ = { isa = PBXGroup; children = ( - FA58F827C1B438DE85DB4529D4020913 /* LOTAnimationCache.h */, - 34DA58734E1D030B629CEA2B1C45BCCD /* LOTAnimationTransitionController.h */, - 529B22102635B421DAA85FD6F2728C52 /* LOTAnimationView.h */, - 861D3C2F6EEBBF9034DA9CE45172DBCE /* LOTAnimationView_Compat.h */, - 892C5787B2282DFBD6CB6E3FFB38A2B5 /* LOTCacheProvider.h */, - FF9A4E42D0ACC80D5F96A443E909AA7B /* LOTComposition.h */, - 9FC75F7A8DFC93400F41870AB709548B /* Lottie.h */, + C7AE824AA13952F314D0DF2BF757045E /* AnimatableLayers */, + DCF817C4517380E99535EA29247F5342 /* AnimatableProperties */, + 54FBEA3B6BD4D7145EE4EBAA01F33AA9 /* Extensions */, + 5AAF2F27357719326520D998BB77D95D /* MacCompatability */, + 3A7F5921BC932096422CA0A61C13A70A /* Models */, + 97C52EBD6E8A64B33FBD0FAC780E9C62 /* Private */, + 01E5CE4CF4AC50627EFB7722235D2982 /* PublicHeaders */, + 9AA3DDB6D622937D8A3CA873FFE8C496 /* RenderSystem */, ); - name = PublicHeaders; - path = PublicHeaders; + name = Classes; + path = Classes; + sourceTree = ""; + }; + 3A7F5921BC932096422CA0A61C13A70A /* Models */ = { + isa = PBXGroup; + children = ( + A39BDC8A9726CAF24D70EE23BB5BD1FE /* LOTAsset.h */, + D0D9BFD66BC6F81E4A9602BC4EE57D8A /* LOTAsset.m */, + B54D672768B8B9D47FEC96B75323ABAB /* LOTAssetGroup.h */, + 3F74EB15D58D3270AEB2060CFE7570CC /* LOTAssetGroup.m */, + FA83154549FBF8250618D1CC7ED5B418 /* LOTLayer.h */, + 2984C6FFF4ACA3196271E2F1976ADA69 /* LOTLayer.m */, + F33AD0B7CE0E660FB299E773A9F8F96D /* LOTLayerGroup.h */, + 2147F7AB75635C2E30C7748741753CEA /* LOTLayerGroup.m */, + 8BF5C0DCDD5501651D216815D08406BA /* LOTMask.h */, + 60363DC5D5E8F3C2C28A8715DA390170 /* LOTMask.m */, + EF76A4F44D3EC0D867DD4DE52895BF18 /* LOTModels.h */, + 2CD964EAAA18892EF6258722B95F951B /* LOTShapeCircle.h */, + D8D4D2612BAB4E96A1EFC2C1A379B795 /* LOTShapeCircle.m */, + 8B7CB99752B9512D6263AF2DF763BAF2 /* LOTShapeFill.h */, + 8A490E1B7F6AE8F98A80AE1B2E5D034C /* LOTShapeFill.m */, + AF175CC26A097490ED6F811DB044BFD9 /* LOTShapeGradientFill.h */, + 272D6A3046E0CACC4BF991956B10036C /* LOTShapeGradientFill.m */, + 8CB1CC0D11409074C70E4C609F1448EE /* LOTShapeGroup.h */, + 42CB682861D71E87DD35419F2BCF9D31 /* LOTShapeGroup.m */, + 405A59319C59F8B5A56AA4A3248319CB /* LOTShapePath.h */, + F4DDEC0BF4954778BB020C2A3C4A37A0 /* LOTShapePath.m */, + 3CA45971085CDBB78AAE42054A76E077 /* LOTShapeRectangle.h */, + 4AEFD97349588D80E639AE803E87AB1E /* LOTShapeRectangle.m */, + 5F3B72A8E2380FF41995F178E51B5B94 /* LOTShapeRepeater.h */, + 61A745957B3F1CA9CD1FEE1F8C951BA1 /* LOTShapeRepeater.m */, + 7C79E6BF7DA299701FC84C9F393E47F3 /* LOTShapeStar.h */, + E75A43CAEC39661AAF5A0D8FE4EE6DCC /* LOTShapeStar.m */, + FAE123FFEA3FFA98D5492A4C7FBB5F2B /* LOTShapeStroke.h */, + 5E38775E835996063AD3975DB0D0685F /* LOTShapeStroke.m */, + E6C87A40CDE5E282FACD344EEF9BCBE8 /* LOTShapeTransform.h */, + 9EFF1F328A3093B9807BE52930AD0D53 /* LOTShapeTransform.m */, + 37CF631AD94762958323013D561D0562 /* LOTShapeTrimPath.h */, + C388AA1307273BB39C929D94248DE0AF /* LOTShapeTrimPath.m */, + ); + name = Models; + path = Models; + sourceTree = ""; + }; + 4490644184A4571A675166221451041B /* ManipulatorNodes */ = { + isa = PBXGroup; + children = ( + 4693DA6769DE389ACDF653903848C95B /* LOTTrimPathNode.h */, + AF55B5448A81359F1A814270B3666679 /* LOTTrimPathNode.m */, + ); + name = ManipulatorNodes; + path = ManipulatorNodes; sourceTree = ""; }; 45F23E6F821A6253AB54CCD8C58A5946 /* Support Files */ = { @@ -553,6 +606,56 @@ path = "Example/Pods/Target Support Files/lottie-ios-OSX"; sourceTree = ""; }; + 4D81CC1C28C5AA970A1B8189399BD56A /* RenderNodes */ = { + isa = PBXGroup; + children = ( + 0AAE803FD23C4072276F802275CC75A2 /* LOTFillRenderer.h */, + 46614A552F667CC55E45A19F9B0978D1 /* LOTFillRenderer.m */, + 135B555C252D40EFA4CF36C8B6B91EBE /* LOTGradientFillRender.h */, + C4099F44D1ECCF4DB09FC399C80EB167 /* LOTGradientFillRender.m */, + 428DD5AEB7E323676A510C146F1094C6 /* LOTRenderGroup.h */, + A83C74E1BE1843229C1EAC13B0DA0245 /* LOTRenderGroup.m */, + 4A308318BDA8CEC76246D104E31729F5 /* LOTRepeaterRenderer.h */, + 0468A1630D67266809023D1E0248D7B5 /* LOTRepeaterRenderer.m */, + 56A4BF06F98D77ADB3B462913C16217B /* LOTStrokeRenderer.h */, + 6DBF60E20E0F3964D13D808F657EC3D0 /* LOTStrokeRenderer.m */, + ); + name = RenderNodes; + path = RenderNodes; + sourceTree = ""; + }; + 54FBEA3B6BD4D7145EE4EBAA01F33AA9 /* Extensions */ = { + isa = PBXGroup; + children = ( + ED2CD43EDD5AB0839147E1B17C971EEA /* CGGeometry+LOTAdditions.h */, + 51FC9391B6C5C85F1F7B1FDA2CC8FDFE /* CGGeometry+LOTAdditions.m */, + D95D8467E79916FBC12B8B32D2278D9F /* LOTBezierPath.h */, + 5DA174E536B7A8FF5B4F181BCE1D2C56 /* LOTBezierPath.m */, + B6041F9522F368C2926E52A7CBBBFD48 /* LOTHelpers.h */, + 086A58805232A189CDBDA97740A7F97B /* LOTRadialGradientLayer.h */, + DE70957692229A5521E1209B34FD6341 /* LOTRadialGradientLayer.m */, + 659E43C54C18D4FD539A4E332F7790F5 /* UIColor+Expanded.h */, + 40C41F2E48B907C6D99813DF7A9C2A31 /* UIColor+Expanded.m */, + ); + name = Extensions; + path = Extensions; + sourceTree = ""; + }; + 5AAF2F27357719326520D998BB77D95D /* MacCompatability */ = { + isa = PBXGroup; + children = ( + 227843D236B655642C7E3C469ED005F1 /* CALayer+Compat.h */, + EC357B89D82B770D72FCBA6E21488805 /* CALayer+Compat.m */, + A70EA4E2038B16F19EF5A99D144B3273 /* LOTPlatformCompat.h */, + F20E4E1B4E2532FB0310955D634DA69E /* NSValue+Compat.h */, + 5619C860054C32A3C1A3F063CCAA986A /* NSValue+Compat.m */, + A13285A000D2951144B0BD24953D0E7E /* UIColor.h */, + 28990FC90E08798A110AFD134EAD0190 /* UIColor.m */, + ); + name = MacCompatability; + path = MacCompatability; + sourceTree = ""; + }; 5FC4F12401C1D88BD6B82E45E9A89DA3 /* Pods-Lottie-Example */ = { isa = PBXGroup; children = ( @@ -571,64 +674,6 @@ path = "Target Support Files/Pods-Lottie-Example"; sourceTree = ""; }; - 65906806B6A3F2447DB81B296348685B /* Private */ = { - isa = PBXGroup; - children = ( - 9BA5F7F216E6C75F9C15C73D8960EFB3 /* LOTAnimationCache.m */, - 7E4D2DD72D35010DFE46709AF66950C4 /* LOTAnimationTransitionController.m */, - 99DFF0DF8A6CC4A5A918A0E61B6B3405 /* LOTAnimationView.m */, - A663BB8E1FF63DB4B2D8631933134162 /* LOTAnimationView_Internal.h */, - D7EA17D544F37FD0FCE367EF3CDE5B64 /* LOTCacheProvider.m */, - 7B58416F42653760D94D3F1389097F35 /* LOTComposition.m */, - ); - name = Private; - path = Private; - sourceTree = ""; - }; - 65BD5F0F4D60AFA227DD254DCC6FA1AB /* ManipulatorNodes */ = { - isa = PBXGroup; - children = ( - 717F9314DB5F46E0F23AE766E4783B6B /* LOTTrimPathNode.h */, - 51395FC9BBFBA3BAE0471045BBF7E112 /* LOTTrimPathNode.m */, - ); - name = ManipulatorNodes; - path = ManipulatorNodes; - sourceTree = ""; - }; - 6CCCBFAC6A17A32611AE306ACAC14CE2 /* RenderSystem */ = { - isa = PBXGroup; - children = ( - 7E368EB2C02C4BCA34826642E183C6D1 /* LOTAnimatorNode.h */, - 7B1C29EAFDD6ECF6F87C4EA63C0DE41E /* LOTAnimatorNode.m */, - 427824198D4B766B6D6C6C364D303AF9 /* LOTRenderNode.h */, - 0391BD26E7325F14F4F2C84BF6585192 /* LOTRenderNode.m */, - 6CD8CBA8B66BC818EADEC57961C361E9 /* AnimatorNodes */, - 1B2FFC542F9F38DDF7D42A1F31E75572 /* InterpolatorNodes */, - 65BD5F0F4D60AFA227DD254DCC6FA1AB /* ManipulatorNodes */, - B2F64B88E3A747D36E85501E4E5098DA /* RenderNodes */, - ); - name = RenderSystem; - path = RenderSystem; - sourceTree = ""; - }; - 6CD8CBA8B66BC818EADEC57961C361E9 /* AnimatorNodes */ = { - isa = PBXGroup; - children = ( - 847F3F677D0CDEF58B250E9E0FF3E6FA /* LOTCircleAnimator.h */, - BB86856280968F970083C31F441F0BA5 /* LOTCircleAnimator.m */, - 32A10671A14009ECF2AAF917A139B528 /* LOTPathAnimator.h */, - 9EA1AD2D3669BC1457C5AF3487933F6E /* LOTPathAnimator.m */, - D88F2A3755A84F68B3A7E7FC77CB30E5 /* LOTPolygonAnimator.h */, - 4F6C8F64B382A237A25E37D9E4793DE6 /* LOTPolygonAnimator.m */, - E4BC744E48E64CCBDE65C9705A125FC3 /* LOTPolystarAnimator.h */, - 3ABC365473629263C7C5B982FE5A890D /* LOTPolystarAnimator.m */, - D066A3740E0F9063F962A1FCD9147409 /* LOTRoundedRectAnimator.h */, - 747D2CFE3AC306BFEF62C591C19D638E /* LOTRoundedRectAnimator.m */, - ); - name = AnimatorNodes; - path = AnimatorNodes; - sourceTree = ""; - }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( @@ -640,21 +685,6 @@ ); sourceTree = ""; }; - 8125A35E95232AA9294B9C24A90CBA1A /* MacCompatability */ = { - isa = PBXGroup; - children = ( - F1E484D9242A9D6075F933922D4E2377 /* CALayer+Compat.h */, - C6AB5659DF459060DD9F649777FC388E /* CALayer+Compat.m */, - D6A3608F20F1E9057387AFE4588F244C /* LOTPlatformCompat.h */, - 3B184C6DCA777E3A89CE7A74591B6C6E /* NSValue+Compat.h */, - DD83705DCD05309D1AD9944A6D1AF31C /* NSValue+Compat.m */, - ECCCB18543F3B749C4A6F06BADF30D02 /* UIColor.h */, - 515AFACE10161CBF7C172F3A7A05985C /* UIColor.m */, - ); - name = MacCompatability; - path = MacCompatability; - sourceTree = ""; - }; 8E2258F31D65A13EFD2AC50E431AFDF1 /* Pods-lottie-ios_Tests */ = { isa = PBXGroup; children = ( @@ -681,57 +711,36 @@ name = "Development Pods"; sourceTree = ""; }; - 9939646247C753089827968D0A1843D8 /* AnimatableProperties */ = { + 97C52EBD6E8A64B33FBD0FAC780E9C62 /* Private */ = { isa = PBXGroup; children = ( - 248C7A8C2AD89DF0A703BF942BBB1A9E /* LOTBezierData.h */, - 42D8A829B057A8AE9902C2336F54D433 /* LOTBezierData.m */, - DFD6171E872FA0897AFB298FE8DFA188 /* LOTKeyframe.h */, - 27C20751A8915BD608966F72744B50D9 /* LOTKeyframe.m */, + E0164FC244194F75006E20FE48527D07 /* LOTAnimatedControl.m */, + C43F696E5119C1A62FC708886D861CFD /* LOTAnimatedSwitch.m */, + C6794BE326B903E370B9B60F81621424 /* LOTAnimationCache.m */, + C492C77CFABF205B4C791EAFA5DA8931 /* LOTAnimationTransitionController.m */, + 8D3EF8864151AD375897EEEE0049265B /* LOTAnimationView.m */, + A9B2C2F7B5FF9CBF0156C2A393E74EC7 /* LOTAnimationView_Internal.h */, + 6E7AAD90809A5BE65838A5AF376F98AA /* LOTCacheProvider.m */, + E755B311E223826B3558EEB629C0287D /* LOTComposition.m */, ); - name = AnimatableProperties; - path = AnimatableProperties; + name = Private; + path = Private; sourceTree = ""; }; - A010D6A7EFF4E24A93E3D2E14838A9B3 /* Models */ = { + 9AA3DDB6D622937D8A3CA873FFE8C496 /* RenderSystem */ = { isa = PBXGroup; children = ( - CFC07B846A03827120AD1E030B5655C5 /* LOTAsset.h */, - A2AAD124495AF72C0C76F94E437436AE /* LOTAsset.m */, - 15E5C9A49D76FB42D0B415287058BD8F /* LOTAssetGroup.h */, - 16BC93408725B88F913CF7E38AABD898 /* LOTAssetGroup.m */, - 992367A8C956857ADACD47DE7C7FD8C4 /* LOTLayer.h */, - 69BD16C16369A5BF0423321FFB6EA0BE /* LOTLayer.m */, - 62F5C2D0B3E0461DACB91D55DB80B601 /* LOTLayerGroup.h */, - EF82F7842563D74DB6E7C84808EB8490 /* LOTLayerGroup.m */, - D64ADB12FC72CD2F37B9D2828CFDE30A /* LOTMask.h */, - 537CA80543E4BA9164842491919E58A3 /* LOTMask.m */, - E29B4AEAE085813AF93290DD273066F1 /* LOTModels.h */, - 0A11DD4F5FEB7B63FDE06BFDCD6139E3 /* LOTShapeCircle.h */, - 4CBADAC7171C2B27228DF88F601C848C /* LOTShapeCircle.m */, - C18DA1163187CEB881A9C281BEBE7A7C /* LOTShapeFill.h */, - 319D03BDF6585DD56DD97471F4463275 /* LOTShapeFill.m */, - DDA87CF2CF71BFE445CCC71BCAEFC9DB /* LOTShapeGradientFill.h */, - 697758DA87DCD4C0D150063838B5D6E2 /* LOTShapeGradientFill.m */, - 750C7C30226D661C3BE036263577C6B5 /* LOTShapeGroup.h */, - 5D3DA488CA7B202441852FCC7DCCE9B2 /* LOTShapeGroup.m */, - A5E9613AF75AB78A68DBBEFFFDBC4424 /* LOTShapePath.h */, - 39DEDC4FE94E6D1CE3C9C93499DB3E9B /* LOTShapePath.m */, - DCA50EA17E99BEF5C3056CB6E5A7E901 /* LOTShapeRectangle.h */, - 7D84E389C45720D5EFA8DD72D8005FC3 /* LOTShapeRectangle.m */, - 7143C40521ED1AD67D30C82F07A44FF5 /* LOTShapeRepeater.h */, - 462505E5E6C1EA020B8460238A06676F /* LOTShapeRepeater.m */, - 4D1F070F49A48ACCF6215546B3655976 /* LOTShapeStar.h */, - B1802665ACA8BE5F34ACF6EFAF9BF63B /* LOTShapeStar.m */, - 5BAA54146FABD5797675DB4DE91C94EF /* LOTShapeStroke.h */, - 83FD8156F8C923DA76EAFAEF8DF4AC35 /* LOTShapeStroke.m */, - EBBD716C3FB05A7C8C930AA9A1619865 /* LOTShapeTransform.h */, - DC82687CE61981B8C2A4171558AFDC90 /* LOTShapeTransform.m */, - 008874FA140BEC7F664FE0BA8C6C9070 /* LOTShapeTrimPath.h */, - 23DAF45D74698F7419010F9E5C252198 /* LOTShapeTrimPath.m */, + 55E650C85AEA6D05D50287F5D07A6EB0 /* LOTAnimatorNode.h */, + 5E6DCE2446C4A632A3DEFF4E4D286993 /* LOTAnimatorNode.m */, + 9B6923575F8A5D34B244D82AEE41C3F6 /* LOTRenderNode.h */, + 7236E29E9520E96B96DA447A0F73D04A /* LOTRenderNode.m */, + EAC8A89E3CF653CE01960430938E5678 /* AnimatorNodes */, + C1081A8349DD62D4B019AC8778A6624D /* InterpolatorNodes */, + 4490644184A4571A675166221451041B /* ManipulatorNodes */, + 4D81CC1C28C5AA970A1B8189399BD56A /* RenderNodes */, ); - name = Models; - path = Models; + name = RenderSystem; + path = RenderSystem; sourceTree = ""; }; A548659F165EEAABADBF152D8985886E /* OS X */ = { @@ -747,61 +756,62 @@ A619B21630D8FBCCD05871350496FD40 /* lottie-ios */ = { isa = PBXGroup; children = ( - F81881E61824CE8C9426089CAFD1448E /* Classes */, + 2699BC8BDE176787CDD847C132523CDC /* Classes */, ); name = "lottie-ios"; path = "lottie-ios"; sourceTree = ""; }; - AA6F50DC03B03B4200591AB82B036182 /* Extensions */ = { + C1081A8349DD62D4B019AC8778A6624D /* InterpolatorNodes */ = { isa = PBXGroup; children = ( - 24C4B2E006CA217ACF77B4313634A8F3 /* CGGeometry+LOTAdditions.h */, - 0162E16E07B8C5E015B6DF456FC1E305 /* CGGeometry+LOTAdditions.m */, - 4BF5FE1DD1D1D008BCE0A727BD79CCC8 /* LOTBezierPath.h */, - 71B0E633FE982B3DEF63AF3A736799E5 /* LOTBezierPath.m */, - 0B1C4E6E84BF7F510DBE8920CB665541 /* LOTHelpers.h */, - 115BE27085FBAFC27ACC547472EF5EB8 /* LOTRadialGradientLayer.h */, - 126C2F3B995B77F699801DCF8A582488 /* LOTRadialGradientLayer.m */, - 519251186BAF0799F5C7196667237C52 /* UIColor+Expanded.h */, - 5C42F8F25AC35627F6A0257893A0811F /* UIColor+Expanded.m */, + EBF64DB27BB35CA09D041C9D2F9CEC4E /* LOTArrayInterpolator.h */, + 876290A891B0E804E9010420CBFB2DF0 /* LOTArrayInterpolator.m */, + 23FA32C327A312DAAA9ED200805F76B7 /* LOTColorInterpolator.h */, + 9EA83D1C50D183A2FB07BBEB1B9D948F /* LOTColorInterpolator.m */, + 194F1B32D0624C138E12323981E4B3B3 /* LOTNumberInterpolator.h */, + EEE3A349FAA8F7B5DE1167968D29A4DE /* LOTNumberInterpolator.m */, + 82941F8BBD825D99E98F170139381C57 /* LOTPathInterpolator.h */, + 0221FBCD051E76A64256E6E1279A59A0 /* LOTPathInterpolator.m */, + F57D6A49BAAF8072A4DC91D40E0D1EAF /* LOTPointInterpolator.h */, + E04BB719CBA0390A9D86A94BDEA57CC1 /* LOTPointInterpolator.m */, + D96D088283758BBDC60716E7A54335B7 /* LOTSizeInterpolator.h */, + A48CC90FA6A3CD3F89DB0144907532E2 /* LOTSizeInterpolator.m */, + E9C5D93102924F61B1666731B13299C8 /* LOTTransformInterpolator.h */, + E977A18230CBF470460C58037A437B84 /* LOTTransformInterpolator.m */, + 96C32584B6FCC9133BDAC268ADA1C133 /* LOTValueInterpolator.h */, + 40AB914034285EFBF52E103FB005E657 /* LOTValueInterpolator.m */, ); - name = Extensions; - path = Extensions; + name = InterpolatorNodes; + path = InterpolatorNodes; sourceTree = ""; }; - B2F64B88E3A747D36E85501E4E5098DA /* RenderNodes */ = { + C7AE824AA13952F314D0DF2BF757045E /* AnimatableLayers */ = { isa = PBXGroup; children = ( - D104800AEBD69AD0DF6FE5937A805E6A /* LOTFillRenderer.h */, - DBB38A8161DE421DC7030F5393E2082F /* LOTFillRenderer.m */, - 52F877F52F27FE8564E4966CBF3261AB /* LOTGradientFillRender.h */, - 0C1B0CB73918045CAF1DB6E87B26029B /* LOTGradientFillRender.m */, - 7B2CB5824197A0A89CF387AC6A3A4E47 /* LOTRenderGroup.h */, - 52115E300BB0B75280D66ED18D7CC482 /* LOTRenderGroup.m */, - B119322F12428601C55E85ECF7232D17 /* LOTRepeaterRenderer.h */, - 5FF79055F8DC812BCB1CBA2F778FA771 /* LOTRepeaterRenderer.m */, - 4CFB3C01170EB434BBE5383E9A90A8BF /* LOTStrokeRenderer.h */, - B11FFDD95A96F81072FC1E06DAD4CCBA /* LOTStrokeRenderer.m */, - ); - name = RenderNodes; - path = RenderNodes; - sourceTree = ""; - }; - BE79B00B86B0E7454F57BE843A4ECF47 /* AnimatableLayers */ = { - isa = PBXGroup; - children = ( - 52478B84A1C345E66A550C50F1694053 /* LOTCompositionContainer.h */, - 8C2643ACAF22BB7065B0FCE3110B6B8B /* LOTCompositionContainer.m */, - 57662175745BBCE5C5A9CA643184BE24 /* LOTLayerContainer.h */, - 29487A60C385901E13956E6E5B4C4294 /* LOTLayerContainer.m */, - F2259486F232639DA0A5A6E9F6EB0F58 /* LOTMaskContainer.h */, - E9E9251140EA0AA8B0A7FA412C79ED90 /* LOTMaskContainer.m */, + A0DFFD5220DC4CDACD93E46EB55A1F92 /* LOTCompositionContainer.h */, + 4BCF27BA792F612421FF59C04FA59850 /* LOTCompositionContainer.m */, + C35369D2190E7D0E03D5F0C9B66E3840 /* LOTLayerContainer.h */, + 5D8DAA2C3DCE843D862FC6B4C6892802 /* LOTLayerContainer.m */, + C437F32E715B1F2CAF96458B882481DF /* LOTMaskContainer.h */, + 6ABA14F23A54CFF8B2258DE667642BFD /* LOTMaskContainer.m */, ); name = AnimatableLayers; path = AnimatableLayers; sourceTree = ""; }; + DCF817C4517380E99535EA29247F5342 /* AnimatableProperties */ = { + isa = PBXGroup; + children = ( + D687D64D0C9A938635B9C9D9F30AE281 /* LOTBezierData.h */, + A3076BBC1E5633342EB6DC328972318B /* LOTBezierData.m */, + 8A73292F17F72D91AD677901388AC371 /* LOTKeyframe.h */, + 5241AB8D3B3AF2F3825A93F0B32D9C5D /* LOTKeyframe.m */, + ); + name = AnimatableProperties; + path = AnimatableProperties; + sourceTree = ""; + }; DE13583AB8F794BBEAF85E3A80DA349C /* Frameworks */ = { isa = PBXGroup; children = ( @@ -829,6 +839,24 @@ path = "Target Support Files/Pods-Lottie Viewer"; sourceTree = ""; }; + EAC8A89E3CF653CE01960430938E5678 /* AnimatorNodes */ = { + isa = PBXGroup; + children = ( + 8042D1984741739FE2632E3381091EB2 /* LOTCircleAnimator.h */, + 9DCDDA899EEFBA305F1468F251D2F617 /* LOTCircleAnimator.m */, + 8B5218EC59B214FFDB753A1E532F1FD4 /* LOTPathAnimator.h */, + 5A5058F11E3F1D9871124199C1B3D9E4 /* LOTPathAnimator.m */, + DB7F41DB9747216ADF000810800EEB15 /* LOTPolygonAnimator.h */, + 38EADF596ED162A0EE3D35E987685FD7 /* LOTPolygonAnimator.m */, + 3328CBFDABE689C4A43C029461A4A1DB /* LOTPolystarAnimator.h */, + 3242711C4E767B6FF3AEC1BAA95BA71F /* LOTPolystarAnimator.m */, + 50A7B85C7FF3F62AA8229881037A84F9 /* LOTRoundedRectAnimator.h */, + B4A18DDFFFD13D69C09000FFD121ECDE /* LOTRoundedRectAnimator.m */, + ); + name = AnimatorNodes; + path = AnimatorNodes; + sourceTree = ""; + }; F13189DB0902F98D525915FBB3DAB361 /* lottie-ios */ = { isa = PBXGroup; children = ( @@ -851,22 +879,6 @@ name = Products; sourceTree = ""; }; - F81881E61824CE8C9426089CAFD1448E /* Classes */ = { - isa = PBXGroup; - children = ( - BE79B00B86B0E7454F57BE843A4ECF47 /* AnimatableLayers */, - 9939646247C753089827968D0A1843D8 /* AnimatableProperties */, - AA6F50DC03B03B4200591AB82B036182 /* Extensions */, - 8125A35E95232AA9294B9C24A90CBA1A /* MacCompatability */, - A010D6A7EFF4E24A93E3D2E14838A9B3 /* Models */, - 65906806B6A3F2447DB81B296348685B /* Private */, - 3F609CBB8111F2CAAE11F2E03D9F0BC0 /* PublicHeaders */, - 6CCCBFAC6A17A32611AE306ACAC14CE2 /* RenderSystem */, - ); - name = Classes; - path = Classes; - sourceTree = ""; - }; FCCCA964DEF9CBB5FEB534D09D109F00 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -880,6 +892,76 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 0FFCE85F775CBCB778F3FC397A10E755 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 96E45CDF220E0A132F7A1FC36B4FBF56 /* CALayer+Compat.h in Headers */, + 60627A06FAE6D353FC466F70BFE1712F /* CGGeometry+LOTAdditions.h in Headers */, + CF264386E9E451CF993345A14448ACC9 /* LOTAnimatedControl.h in Headers */, + 2C78D7F87D67367F046B493A0B52F8D0 /* LOTAnimatedSwitch.h in Headers */, + 95FE420F8346466F8DE580883A6EF578 /* LOTAnimationCache.h in Headers */, + C2BEC0BBD97858E8C5C28E5817177D03 /* LOTAnimationTransitionController.h in Headers */, + 89E21ED032F6F9976A3B8F12F5521353 /* LOTAnimationView.h in Headers */, + A6D3FBC7036C7AE7E819A1186E356EAF /* LOTAnimationView_Compat.h in Headers */, + 17FE8B4840FC738F17DDD059F0536734 /* LOTAnimationView_Internal.h in Headers */, + 6780218BB2E9504FC7837E51154BB485 /* LOTAnimatorNode.h in Headers */, + C5081E3D0804BDEFBF04277F969BA90E /* LOTArrayInterpolator.h in Headers */, + CC5897D1A3AA2911E9EF756BB4527BEE /* LOTAsset.h in Headers */, + 29E071D0746E2E313294D7E11331B3C7 /* LOTAssetGroup.h in Headers */, + AC4FF6975E16E6D4AC2E2F207A8533E9 /* LOTBezierData.h in Headers */, + 79E4A857473280F5F26343CE5A5BDF24 /* LOTBezierPath.h in Headers */, + 4ED420CFB267149D4AD7A1F3117746D9 /* LOTCacheProvider.h in Headers */, + 0B453D5F7C054F621EF62F392CFE3706 /* LOTCircleAnimator.h in Headers */, + 05DCB2668AE71B8461C6B0038D7F0B84 /* LOTColorInterpolator.h in Headers */, + 84208027617685F469AFADDC255A5EE3 /* LOTComposition.h in Headers */, + EEB08096C988F00CFDE9BD6C9171FB83 /* LOTCompositionContainer.h in Headers */, + 288A3F3C86FF65F66418279C19A856A7 /* LOTFillRenderer.h in Headers */, + B047D5A4E0C92C165A15F24464356261 /* LOTGradientFillRender.h in Headers */, + 96A1AB7D5ABA11DB98AB0A270330B009 /* LOTHelpers.h in Headers */, + 1F1DEA86F6F5DD31791BC1BB08599902 /* LOTKeyframe.h in Headers */, + 63BCF9DA38A1BE48070968771932986A /* LOTLayer.h in Headers */, + 1BF546B43291C580F1E52373F839CDC2 /* LOTLayerContainer.h in Headers */, + DDEA3FF8E8CA403B1DE21A8A42A7D6E9 /* LOTLayerGroup.h in Headers */, + EB7BA9F9897A557B348C7B06B632D059 /* LOTMask.h in Headers */, + 92C695B69B18B4DDF128C49D699FB56A /* LOTMaskContainer.h in Headers */, + 783828FF1E1546EE1104CE1C6BFC2BCB /* LOTModels.h in Headers */, + 64C0EC04F4CB37F4FD01C1A5258BA47E /* LOTNumberInterpolator.h in Headers */, + A94B87370940B3B63B096538C2E458AF /* LOTPathAnimator.h in Headers */, + 142217BC037E8E46E4D25DE2CE646163 /* LOTPathInterpolator.h in Headers */, + 7FCA350AC5512378D3ABB51F6F82D159 /* LOTPlatformCompat.h in Headers */, + 7FA23FDECF0C2AF05F508F58039189DF /* LOTPointInterpolator.h in Headers */, + DEC864A40CE0DB7A6775D90DA4765071 /* LOTPolygonAnimator.h in Headers */, + E772D17129596FDF838A33A26908028F /* LOTPolystarAnimator.h in Headers */, + 1746042C2014C2DFF10A9B5DFA581F06 /* LOTRadialGradientLayer.h in Headers */, + 08C7E4B86DE6DB906CCB9A481A65C313 /* LOTRenderGroup.h in Headers */, + 3679C0D06A26B6DAC656388E01B399DA /* LOTRenderNode.h in Headers */, + AF19FFEFC9E0F066DCDD6842CED77EE3 /* LOTRepeaterRenderer.h in Headers */, + EBD0227652E595ED3B98FB63CD19067D /* LOTRoundedRectAnimator.h in Headers */, + 8B7610A943F48F4E2205C958ABCDA436 /* LOTShapeCircle.h in Headers */, + 79DBD83A12B2303D5BA2AA33E32D5AF9 /* LOTShapeFill.h in Headers */, + 3838FECA6E248EAE12D6294EFEEEC236 /* LOTShapeGradientFill.h in Headers */, + F474F0C2F24152C28BB17F9F2FDDB223 /* LOTShapeGroup.h in Headers */, + 941D25738ADDB44CB544E244BC39740D /* LOTShapePath.h in Headers */, + 176B06845D3B01A0CBD5704441F35727 /* LOTShapeRectangle.h in Headers */, + 9C72393C22D538DEE58282B8271F3AF5 /* LOTShapeRepeater.h in Headers */, + 8AE917C6489CBB3002EC97FBE1A387B6 /* LOTShapeStar.h in Headers */, + 94C9F10C05731F76C54779ED4FAC0CFC /* LOTShapeStroke.h in Headers */, + FDDB82AFFF44E487FFB233CFAD5921C9 /* LOTShapeTransform.h in Headers */, + EAA3E05E943798C0A996FF4C9FA611E9 /* LOTShapeTrimPath.h in Headers */, + 0F2B78A56E6DB35F129B56AAF595DDB3 /* LOTSizeInterpolator.h in Headers */, + 63D8DDB2B3A09388FCF92334B055DF23 /* LOTStrokeRenderer.h in Headers */, + C9CFF370EC8DD782B2FB0ADE5C9B9EE6 /* lottie-ios-iOS-umbrella.h in Headers */, + A072967E29B764BE7087572312A6C808 /* Lottie.h in Headers */, + 7A2826DC237ED3AD81FD9AF9BCCF8D4D /* LOTTransformInterpolator.h in Headers */, + 0EC98F47772B09070C279DD0F32C0D4B /* LOTTrimPathNode.h in Headers */, + 5F0AF8379F419BBBA67545B8E349B5C2 /* LOTValueInterpolator.h in Headers */, + 760B302E95E75C575418939D2598E79B /* NSValue+Compat.h in Headers */, + 42D51345DDBE7850866F30EA222512DE /* UIColor+Expanded.h in Headers */, + ADE286185EAECAA6785078A38F0BAC3E /* UIColor.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3789888596B9F477052ABFBA23EE9E26 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -970,74 +1052,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E900C3C56D90C5A244E294D808045916 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D567B57FB3671459840E645D4DED3EFD /* CALayer+Compat.h in Headers */, - F77280D0B8643D412868ADA95D2969CD /* CGGeometry+LOTAdditions.h in Headers */, - E0A7780EC777AC690AE3731B0E9E4E27 /* LOTAnimationCache.h in Headers */, - DE6A7ADA1A86BE3A92ADC697ADA0BB14 /* LOTAnimationTransitionController.h in Headers */, - B0E7083D33E14461E7E5CAC71BE2741B /* LOTAnimationView.h in Headers */, - F334A492BB52B21F00EE91D82FF04B97 /* LOTAnimationView_Compat.h in Headers */, - 9A715FA639AB6F06FDA8BA13F6D498C4 /* LOTAnimationView_Internal.h in Headers */, - 6436A9BF09F381197A4145B7559912FC /* LOTAnimatorNode.h in Headers */, - 26231B2A6CF768909EDCC588695A0DC9 /* LOTArrayInterpolator.h in Headers */, - D5F00914ABFEBE8103F40D2A60230DD9 /* LOTAsset.h in Headers */, - E48BA380D46E1E74ABA3C119C19BF7CD /* LOTAssetGroup.h in Headers */, - A22261FA1FA3F3AB3F30F0EA205D6F6A /* LOTBezierData.h in Headers */, - 232CDC8502D85D8119A3FBF8734BE502 /* LOTBezierPath.h in Headers */, - 7A1427EA89D29A9E91AB7D4914ED7308 /* LOTCacheProvider.h in Headers */, - 4F7E69D89E04BA63C9FDF75BCA104798 /* LOTCircleAnimator.h in Headers */, - CE40E56C5F87E01E696902ED45A71A19 /* LOTColorInterpolator.h in Headers */, - 22B6EDA68BB5518455B984EEB7F34C62 /* LOTComposition.h in Headers */, - B991FFE052E1DD46E72C4FF8E326A300 /* LOTCompositionContainer.h in Headers */, - 6230DAD46388EEF9D6E37E75FADE7FCA /* LOTFillRenderer.h in Headers */, - C74268F85124E454D608F34AE3777BEA /* LOTGradientFillRender.h in Headers */, - 79C4175A2556F99C6C262E713449D104 /* LOTHelpers.h in Headers */, - 768AA43C551C14B33446FAD938D467D8 /* LOTKeyframe.h in Headers */, - 9C044391EC5E54E1D663DF24128971B4 /* LOTLayer.h in Headers */, - 1553B9073E6F049EA9F7362A4B7756C4 /* LOTLayerContainer.h in Headers */, - 18FC2EA928D3BCD59067040B7AFF10DF /* LOTLayerGroup.h in Headers */, - 6F5332E6FF0A42AA8F48B447E44511EF /* LOTMask.h in Headers */, - 46248A855F7D43E8284E97E121B48FBB /* LOTMaskContainer.h in Headers */, - 11579C82E29C1579B44C0A178D809E1A /* LOTModels.h in Headers */, - E18B2D3158242A0727E828F251770041 /* LOTNumberInterpolator.h in Headers */, - 6763A9D79721492CC9797C6B3D616708 /* LOTPathAnimator.h in Headers */, - 6ED14647B3D6BD22ECD2B833CA36A079 /* LOTPathInterpolator.h in Headers */, - 46F735BD2798346353EC7B877236ECF4 /* LOTPlatformCompat.h in Headers */, - 0CB08597BF9128ECFFE939D62C95F343 /* LOTPointInterpolator.h in Headers */, - D62D6A02F2AED4EEB6D1F194DF6DA774 /* LOTPolygonAnimator.h in Headers */, - 2C1091B35486BBCBDED991AB7567F110 /* LOTPolystarAnimator.h in Headers */, - 98ACA0EE9E068B21360F6CD04D183CA9 /* LOTRadialGradientLayer.h in Headers */, - C5C79F8FE3CB611637DF0CC14D5DC5E4 /* LOTRenderGroup.h in Headers */, - 5335683AD871479DFB823162E2D479AC /* LOTRenderNode.h in Headers */, - E539B13A0B161EF101C24DFA034970CB /* LOTRepeaterRenderer.h in Headers */, - E1E1B6E7517C9DFA49CEA6760EC9BF06 /* LOTRoundedRectAnimator.h in Headers */, - 221529878309F69D2FA473E6E3B2A6AE /* LOTShapeCircle.h in Headers */, - A049C6A1686010FD991DF7744399C78C /* LOTShapeFill.h in Headers */, - A866767202BC8CAC53517E9F83E8C4F5 /* LOTShapeGradientFill.h in Headers */, - 896791E741CE2A7741C20D1152BBF3DD /* LOTShapeGroup.h in Headers */, - 8EE5D9D536FF1D00782BFB8ECB8EB877 /* LOTShapePath.h in Headers */, - FB161237853D03C9173F21A6FF2D38AC /* LOTShapeRectangle.h in Headers */, - 12063EF3D1298FFA61A0927F94700304 /* LOTShapeRepeater.h in Headers */, - 7BD9CF0AB5103BC707DA89AD9D528B56 /* LOTShapeStar.h in Headers */, - 18A05B41618F4C26B7ADDA8D4D80CF46 /* LOTShapeStroke.h in Headers */, - 33927987FB1D3574C1BF3356A7B3B75C /* LOTShapeTransform.h in Headers */, - 04D7AC4F3F89AB73BD97B33CA35EA372 /* LOTShapeTrimPath.h in Headers */, - C7808E67E9FC4D9E59767E67E5252D9D /* LOTSizeInterpolator.h in Headers */, - D2A05C228CC80C6ED70FDC7AAD114040 /* LOTStrokeRenderer.h in Headers */, - 4AE0050B302C1A1FB7667B5A2E3C5E7F /* lottie-ios-iOS-umbrella.h in Headers */, - 1FC6F1466FD6E20069CBB02BC9178201 /* Lottie.h in Headers */, - 6293061F5FA2F34AD8E28CF9916ED625 /* LOTTransformInterpolator.h in Headers */, - 327263D905B61F326E0AE68A40639E5B /* LOTTrimPathNode.h in Headers */, - F2FE6695C5E2F196DB386838D2D0DCF8 /* LOTValueInterpolator.h in Headers */, - C511F106CC1557B0849F25AE88914855 /* NSValue+Compat.h in Headers */, - 606BD7C84CECE574637AFBAAE9D3DC5A /* UIColor+Expanded.h in Headers */, - 335F5CB88BF7A6E6F9F77AA7A5C4A28D /* UIColor.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -1094,23 +1108,6 @@ productReference = 75F4DD86D133631479410B893D4B04F4 /* Pods_lottie_ios_Tests.framework */; productType = "com.apple.product-type.framework"; }; - 9E80AB23D706B32B97EAD69BFA776254 /* lottie-ios-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9E8838BFD1E16773B323888DF2B7AB0A /* Build configuration list for PBXNativeTarget "lottie-ios-iOS" */; - buildPhases = ( - 996270ADDB3282A8C86C93D189202DEA /* Sources */, - 170E3A0520CDE9D24E652F1C2DA03288 /* Frameworks */, - E900C3C56D90C5A244E294D808045916 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "lottie-ios-iOS"; - productName = "lottie-ios-iOS"; - productReference = BBBFB35C75DBB9AACD3D259D46474425 /* Lottie.framework */; - productType = "com.apple.product-type.framework"; - }; C3ED1BE19A2E3ADF592D40371146E32D /* lottie-ios-OSX */ = { isa = PBXNativeTarget; buildConfigurationList = 5CA7CACD985FB190CAC341576DB7AA4C /* Build configuration list for PBXNativeTarget "lottie-ios-OSX" */; @@ -1128,6 +1125,23 @@ productReference = 937CB982BF7625A942908DCE0D0B45FB /* Lottie.framework */; productType = "com.apple.product-type.framework"; }; + F30904A4E2B528D7322F8C34AD2C7625 /* lottie-ios-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6A0FEFC6345F5EAE97D9D6EAFCBEA986 /* Build configuration list for PBXNativeTarget "lottie-ios-iOS" */; + buildPhases = ( + F36015838FDD8F8F710159E4266F14A5 /* Sources */, + 5C1C680CAA5E0DDC1D70AE67A2622954 /* Frameworks */, + 0FFCE85F775CBCB778F3FC397A10E755 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "lottie-ios-iOS"; + productName = "lottie-ios-iOS"; + productReference = BBBFB35C75DBB9AACD3D259D46474425 /* Lottie.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -1149,7 +1163,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 9E80AB23D706B32B97EAD69BFA776254 /* lottie-ios-iOS */, + F30904A4E2B528D7322F8C34AD2C7625 /* lottie-ios-iOS */, C3ED1BE19A2E3ADF592D40371146E32D /* lottie-ios-OSX */, 61A79F8CD75FE84CA5FFFA6AE0244991 /* Pods-Lottie Viewer */, 2095D67C1D81E0F861D9AC87B89BF033 /* Pods-Lottie-Example */, @@ -1243,65 +1257,67 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 996270ADDB3282A8C86C93D189202DEA /* Sources */ = { + F36015838FDD8F8F710159E4266F14A5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A220AC5BD169ED7E96E42BCFB8FFC917 /* CALayer+Compat.m in Sources */, - 58030D21644EAA48044E6933DD9C3304 /* CGGeometry+LOTAdditions.m in Sources */, - 86BCE962E022F2BD9FD24865DDA2E8DE /* LOTAnimationCache.m in Sources */, - 8D589AF9B68962396D5917163D798B89 /* LOTAnimationTransitionController.m in Sources */, - FE28067EE6F4BB80E05CD64B3CA0FF7F /* LOTAnimationView.m in Sources */, - 5E97B7131AE3A060F5AB247B1D6E8B49 /* LOTAnimatorNode.m in Sources */, - BAB460C2CB89C18F39880C16DF14A2CF /* LOTArrayInterpolator.m in Sources */, - 77B70504FF1B8E85C2A8E52FD714F4ED /* LOTAsset.m in Sources */, - 4E10BD29B7F2D247CFE49D73CD957A25 /* LOTAssetGroup.m in Sources */, - 5C510E744CA9D230BF928D82C168B1E5 /* LOTBezierData.m in Sources */, - 4338C9C42331B0EB32D6DBE2C845CF47 /* LOTBezierPath.m in Sources */, - E8F83E8E37682D26AA0DB5403040868F /* LOTCacheProvider.m in Sources */, - FA0BAD7E07645AD368C4F5B65349C81C /* LOTCircleAnimator.m in Sources */, - 02B0FD2CD302B2EACB48F3A68FB6D944 /* LOTColorInterpolator.m in Sources */, - 9F0EE2F589AD2E2AA844D81A3F4704E8 /* LOTComposition.m in Sources */, - 93D5F465A508CCB1D732A2AAB02EEF0F /* LOTCompositionContainer.m in Sources */, - 4DDB39C7CFD7441BE89D4394B1BB819C /* LOTFillRenderer.m in Sources */, - FB4E98EFE7B534026F5CD7399D7F6418 /* LOTGradientFillRender.m in Sources */, - 87947C28E139AA1936C8888F68E1B07F /* LOTKeyframe.m in Sources */, - F69B51F9D485A698AC3AE1AC7FA87C25 /* LOTLayer.m in Sources */, - 307950B0D6171AF493EA257EE753425D /* LOTLayerContainer.m in Sources */, - F03709410AE302D6B7F925F49642501F /* LOTLayerGroup.m in Sources */, - 348E07759A0C9BD55BB1C1CDD82193F2 /* LOTMask.m in Sources */, - EC10308CB293DA62DEAEA816B0987F61 /* LOTMaskContainer.m in Sources */, - A2484B28C2BAA196F53C222AF2C96910 /* LOTNumberInterpolator.m in Sources */, - FB3D22C1DD922EFC45D3484CB82A8E65 /* LOTPathAnimator.m in Sources */, - 93C46EDFB302291E12DC87A89CFD8CD5 /* LOTPathInterpolator.m in Sources */, - 7241FA0C486D0C5BAFC7544625CBFBCC /* LOTPointInterpolator.m in Sources */, - 67BEED8F7D643E971473AE6FE34E9A8F /* LOTPolygonAnimator.m in Sources */, - 4FA93A7801C15F5BCFC852BB048283CD /* LOTPolystarAnimator.m in Sources */, - 015BDB886F91B4C2D89D1AA9C6DAD5E6 /* LOTRadialGradientLayer.m in Sources */, - F2F7595CC04849A65FDAFD4C3C8E501B /* LOTRenderGroup.m in Sources */, - C374969748F84D0C8A0404E7EC608995 /* LOTRenderNode.m in Sources */, - BF0A5DBE8C159C9C07E1A276D37D4EBD /* LOTRepeaterRenderer.m in Sources */, - C5CC3D23051829C56F6B996767D7C9EF /* LOTRoundedRectAnimator.m in Sources */, - 9528C0E50E65F160CEE00770B75A910F /* LOTShapeCircle.m in Sources */, - 6369D380DFCECC74264682EA87FC928E /* LOTShapeFill.m in Sources */, - 082A2C721B7FA7019D0168BC3CC17633 /* LOTShapeGradientFill.m in Sources */, - 4A58782C4A619983EEB3B54C1B49196C /* LOTShapeGroup.m in Sources */, - AA49EAF95C68B7B1C7AB0C55B2C2BA2C /* LOTShapePath.m in Sources */, - AA01584FB3C6F0616D7AFE9D0DADCF2F /* LOTShapeRectangle.m in Sources */, - 404F50053BC37C15F62557A7E634C881 /* LOTShapeRepeater.m in Sources */, - 6E42A2413BF2BCD66A71F2D2DFA641FF /* LOTShapeStar.m in Sources */, - B1DD15386C5235D4954D06458EAAC5B0 /* LOTShapeStroke.m in Sources */, - 249DA30B28ABA907A996698BAF5CD67F /* LOTShapeTransform.m in Sources */, - 7BCAFD229E63F0B71BFC5EE2511F99B0 /* LOTShapeTrimPath.m in Sources */, - 1A83105DFCAECB5DF2FEB50CDD06DAD7 /* LOTSizeInterpolator.m in Sources */, - 76F6E4040B210D8ABB10812F66A5DF24 /* LOTStrokeRenderer.m in Sources */, - 756A75F5300BBE72C6AABF99B30CFE64 /* lottie-ios-iOS-dummy.m in Sources */, - DAAC3D741886009045BAF09E4CCFFF7A /* LOTTransformInterpolator.m in Sources */, - CF971D4BBD6964B6790D17336A2AAB2E /* LOTTrimPathNode.m in Sources */, - 9AF8194B50E49DDC9C1EBC0946F67D58 /* LOTValueInterpolator.m in Sources */, - E6216F0C5498F683F2ACD1941ABF2B92 /* NSValue+Compat.m in Sources */, - 0504BFE5DFF02B0FC462708C7E2C047A /* UIColor+Expanded.m in Sources */, - 2AC874572D9A280EC2589C04BAFED354 /* UIColor.m in Sources */, + 4CF69F568D6D5E3BF63CF2ED982194B6 /* CALayer+Compat.m in Sources */, + 886BBBB6641F02227C03BA968C109266 /* CGGeometry+LOTAdditions.m in Sources */, + CE0FC93B43A524D1F7D19B460DBDC0C7 /* LOTAnimatedControl.m in Sources */, + BBE368FED1915B20CEC1E69227B45683 /* LOTAnimatedSwitch.m in Sources */, + 1BE1967989F1CBF4B1FEAC5930A98942 /* LOTAnimationCache.m in Sources */, + C490E9C2CF5C1443715780FFC89769B9 /* LOTAnimationTransitionController.m in Sources */, + 1DEADDEE877E816C3F7F13A9199BD2B4 /* LOTAnimationView.m in Sources */, + 70BBEF28602EC3CC686384685B8A2459 /* LOTAnimatorNode.m in Sources */, + 79F35A8D10BE733C0355FD3656C0F85C /* LOTArrayInterpolator.m in Sources */, + 7CD7BC6B5A5228313894C99C74C49B0A /* LOTAsset.m in Sources */, + CDE9CB16ACB6B4A3FE2BD2B1DA79EF12 /* LOTAssetGroup.m in Sources */, + 844C91B4C01C3D2D3DED42D65D097777 /* LOTBezierData.m in Sources */, + 7841900EC097E61F410BDA91AE910D59 /* LOTBezierPath.m in Sources */, + 4D813C6B2C6D0CB9332A2EB4D10B46A4 /* LOTCacheProvider.m in Sources */, + 92391609A7D27513E0CB57BBC7921C2E /* LOTCircleAnimator.m in Sources */, + D8D6C71856D22FD2837C92162078DFF2 /* LOTColorInterpolator.m in Sources */, + 370DDD919DC09EE5594D1CDDE74EC1B4 /* LOTComposition.m in Sources */, + DC75D7C902FA3FB6831C5F586BF0A9EB /* LOTCompositionContainer.m in Sources */, + 7209E9AD97B88AFBC6953021833A4C0A /* LOTFillRenderer.m in Sources */, + 443B5953F6F057649E1A6EDA4161BF79 /* LOTGradientFillRender.m in Sources */, + 5BAC75E9E79DE097EDC1D92A7D46B1DA /* LOTKeyframe.m in Sources */, + 7E5AE22174A1CFE5429B74AAAD6A27BE /* LOTLayer.m in Sources */, + BD0FFCE664E3940072042D1036BB9FE3 /* LOTLayerContainer.m in Sources */, + EACD4A8E26C963A25FCB1239384A5F4C /* LOTLayerGroup.m in Sources */, + 5DDA09BAE2AB6CC139B4BBB1F055D1C7 /* LOTMask.m in Sources */, + 60D710EE0DE4F38CF088979CF35747F0 /* LOTMaskContainer.m in Sources */, + 31692C57AEC902D759ACC5DDEF9D7DED /* LOTNumberInterpolator.m in Sources */, + A4D2BBF485F6FB659CD62F63B4A0A66F /* LOTPathAnimator.m in Sources */, + 9B1827319A7793D8933B6981C1CB0870 /* LOTPathInterpolator.m in Sources */, + 66CCE1FE84B1834A596C56BD93D7B76D /* LOTPointInterpolator.m in Sources */, + 05D6165CEC602834F3CC154694226DAF /* LOTPolygonAnimator.m in Sources */, + 49657576E8DE83877C20F78BB8BB7DA7 /* LOTPolystarAnimator.m in Sources */, + 1DE1AFC96982EEB453EEB7600522593C /* LOTRadialGradientLayer.m in Sources */, + 0F3426DBA3F18A3960BC1FD3EC944703 /* LOTRenderGroup.m in Sources */, + 28464475CBD4E279EC7C939A05244FA8 /* LOTRenderNode.m in Sources */, + 675FEB51CD39377FA3AE0EA835B84C32 /* LOTRepeaterRenderer.m in Sources */, + 6505EC7B7323A8E08A20DBE33ED2BF14 /* LOTRoundedRectAnimator.m in Sources */, + 7CCB11B87705FFE84A4CC24B94E40C6B /* LOTShapeCircle.m in Sources */, + F6B91A01736088808F00D1B43CC2E7FA /* LOTShapeFill.m in Sources */, + 489F2282D377E1D8CFD97D0725B8D7E3 /* LOTShapeGradientFill.m in Sources */, + 3C8AF7D35EAE318A864E02EC4CF720F3 /* LOTShapeGroup.m in Sources */, + 8E6C305A474C510FB922CF7DE59678D7 /* LOTShapePath.m in Sources */, + 4FC4954471EE3D5AD44F4712935D7A27 /* LOTShapeRectangle.m in Sources */, + E57EC26912C56DB801BCA105B1E38F64 /* LOTShapeRepeater.m in Sources */, + 72C55F5FC2798BA9C4BC25CC77AA8A47 /* LOTShapeStar.m in Sources */, + 3AD32255965332DAC58DF1CFD81DE078 /* LOTShapeStroke.m in Sources */, + DCA9E79B329A9C7089354744495ACF4F /* LOTShapeTransform.m in Sources */, + 9223968694A94B0C31015566F9163A8E /* LOTShapeTrimPath.m in Sources */, + 56621F549766F443CA6D42052F64F056 /* LOTSizeInterpolator.m in Sources */, + AD3DC697C0A4A56D1A3D99BB9499A84E /* LOTStrokeRenderer.m in Sources */, + 53339B491D546570BAD86C545DF0A549 /* lottie-ios-iOS-dummy.m in Sources */, + 49CE298811DA943A0A712B164206D2CE /* LOTTransformInterpolator.m in Sources */, + B32EAC56F6E02F526EB6C99DE01C438D /* LOTTrimPathNode.m in Sources */, + BC10EA3E13BADB5C3146FDBF73FD1A3A /* LOTValueInterpolator.m in Sources */, + 6643A93A7EF064E08642ED4CA3828AEC /* NSValue+Compat.m in Sources */, + 1A9D251062D71F7D2EEF8DC916D56D32 /* UIColor+Expanded.m in Sources */, + 9C067191DDF83EB5606006CC79475701 /* UIColor.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1311,7 +1327,7 @@ AD2FBD63A30D0AC75A11104406DB3C3C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "lottie-ios-iOS"; - target = 9E80AB23D706B32B97EAD69BFA776254 /* lottie-ios-iOS */; + target = F30904A4E2B528D7322F8C34AD2C7625 /* lottie-ios-iOS */; targetProxy = 68E1DE604219B922CE07CE2003EA0EA3 /* PBXContainerItemProxy */; }; CCEBC8CD3D233203D906C1B3700A7285 /* PBXTargetDependency */ = { @@ -1323,37 +1339,6 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 4EDAA60E6F7F4BB820903E98CD3FA71D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3FC57817E38FEE88C847125F31F36F1F /* lottie-ios-iOS.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/lottie-ios-iOS/lottie-ios-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/lottie-ios-iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/lottie-ios-iOS/lottie-ios-iOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Lottie; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; 6A5C9A3A01840F305474247F39A4627B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1578,7 +1563,7 @@ }; name = Release; }; - D3061EDE7D7085F6BA2383A3835AD6E2 /* Debug */ = { + B6978E0BF02F16100914D89CB45EBBB5 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 3FC57817E38FEE88C847125F31F36F1F /* lottie-ios-iOS.xcconfig */; buildSettings = { @@ -1609,6 +1594,37 @@ }; name = Debug; }; + D6D14CEF0061C3C7B34227C10AB00C84 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3FC57817E38FEE88C847125F31F36F1F /* lottie-ios-iOS.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/lottie-ios-iOS/lottie-ios-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/lottie-ios-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/lottie-ios-iOS/lottie-ios-iOS.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = Lottie; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; DA0DADDAB605B5F8DA32B7476557E101 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = EFE7F290BE29B5B38039D5BF5C4FB52E /* Pods-Lottie Viewer.release.xcconfig */; @@ -1772,6 +1788,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 6A0FEFC6345F5EAE97D9D6EAFCBEA986 /* Build configuration list for PBXNativeTarget "lottie-ios-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B6978E0BF02F16100914D89CB45EBBB5 /* Debug */, + D6D14CEF0061C3C7B34227C10AB00C84 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 70E33968FC6B7C18F92ECB73BB882640 /* Build configuration list for PBXNativeTarget "Pods-lottie-ios_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1781,15 +1806,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9E8838BFD1E16773B323888DF2B7AB0A /* Build configuration list for PBXNativeTarget "lottie-ios-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D3061EDE7D7085F6BA2383A3835AD6E2 /* Debug */, - 4EDAA60E6F7F4BB820903E98CD3FA71D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; C987B5E55958C3747F5AE7FFBC8C7287 /* Build configuration list for PBXNativeTarget "Pods-Lottie-Example" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h b/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h index a2775342b6..948d2a1b8e 100644 --- a/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h +++ b/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h @@ -2,6 +2,8 @@ #import #endif +#import "LOTAnimatedControl.h" +#import "LOTAnimatedSwitch.h" #import "LOTAnimationCache.h" #import "LOTAnimationTransitionController.h" #import "LOTAnimationView.h" diff --git a/Example/Tests/Switch.json b/Example/Tests/Switch.json new file mode 100755 index 0000000000..34acd29076 --- /dev/null +++ b/Example/Tests/Switch.json @@ -0,0 +1 @@ +{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Checkmark Outlines 2","parent":3,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[14.403,24.469,0]},"a":{"k":[17,13,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12,-8],[-4.001,8],[-12,0]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0_1_0p167_0"],"t":94,"s":[100],"e":[0]},{"t":121}],"ix":1},"e":{"k":[{"i":{"x":[0],"y":[0]},"o":{"x":[0.167],"y":[0.167]},"n":["0_0_0p167_0p167"],"t":94,"s":[100],"e":[100]},{"t":121}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","fillEnabled":true,"c":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":94,"s":[0.76,0.76,0.76,1],"e":[0,0.65,0.6,1]},{"t":121}]},"o":{"k":100},"w":{"k":3},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[17,13],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":94,"op":151,"st":1,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"X Outlines","parent":3,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.52],"y":[0]},"n":["0_1_0p52_0"],"t":15,"s":[0],"e":[-90]},{"t":56}]},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.5,"y":0},"n":"0p833_0p833_0p5_0","t":88,"s":[15.346,24.665,0],"e":[2.449,24.665,0],"to":[0,0,0],"ti":[0,0,0]},{"t":94}]},"a":{"k":[11.313,11.759,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[7.391,7.84],[-7.493,-7.049]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","fillEnabled":true,"c":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0,0.65,0.6,1],"e":[0.76,0.76,0.76,1]},{"t":36}]},"o":{"k":100},"w":{"k":3},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[11.364,11.364],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":25,"s":[50],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":46,"s":[0],"e":[0]},{"i":{"x":[0.801],"y":[0.738]},"o":{"x":[0.5],"y":[0]},"n":["0p801_0p738_0p5_0"],"t":86,"s":[0],"e":[43.795]},{"i":{"x":[0.708],"y":[0.786]},"o":{"x":[0.376],"y":[0.437]},"n":["0p708_0p786_0p376_0p437"],"t":94,"s":[43.795],"e":[50]},{"t":95}],"ix":1},"e":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":25,"s":[50],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":46,"s":[100],"e":[100]},{"i":{"x":[0.801],"y":[0.743]},"o":{"x":[0.5],"y":[0]},"n":["0p801_0p743_0p5_0"],"t":86,"s":[100],"e":[55.405]},{"i":{"x":[0.708],"y":[0.755]},"o":{"x":[0.376],"y":[0.501]},"n":["0p708_0p755_0p376_0p501"],"t":94,"s":[55.405],"e":[50]},{"t":95}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":95,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Checkmark Outlines","parent":1,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[10.359,11.571,0]},"a":{"k":[17,13,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":[{"i":{"x":0,"y":1},"o":{"x":0.52,"y":0},"n":"0_1_0p52_0","t":19,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12,-8],[-4.001,8],[-12,0]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.332,-8],[-6.669,8],[-14.668,0]],"c":false}]},{"t":35}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.52],"y":[0]},"n":["0_1_0p52_0"],"t":19,"s":[0],"e":[3.4]},{"i":{"x":[0],"y":[0]},"o":{"x":[0.167],"y":[0.167]},"n":["0_0_0p167_0p167"],"t":35,"s":[3.4],"e":[3.4]},{"i":{"x":[0.731],"y":[0.776]},"o":{"x":[0.5],"y":[0]},"n":["0p731_0p776_0p5_0"],"t":86,"s":[3.4],"e":[31.013]},{"i":{"x":[0.756],"y":[-0.33]},"o":{"x":[0.414],"y":[2.535]},"n":["0p756_-0p33_0p414_2p535"],"t":94,"s":[31.013],"e":[31.482]},{"t":95}],"ix":1},"e":{"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.52],"y":[0]},"n":["0_1_0p52_0"],"t":19,"s":[100],"e":[65.2]},{"i":{"x":[0],"y":[0]},"o":{"x":[0.167],"y":[0.167]},"n":["0_0_0p167_0p167"],"t":35,"s":[65.2],"e":[65.2]},{"i":{"x":[0.731],"y":[0.794]},"o":{"x":[0.5],"y":[0]},"n":["0p731_0p794_0p5_0"],"t":88,"s":[65.2],"e":[38.107]},{"i":{"x":[0.756],"y":[0.887]},"o":{"x":[0.414],"y":[0.216]},"n":["0p756_0p887_0p414_0p216"],"t":94,"s":[38.107],"e":[31.482]},{"t":95}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","fillEnabled":true,"c":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0,0.65,0.6,1],"e":[0.76,0.76,0.76,1]},{"t":36}]},"o":{"k":100},"w":{"k":3},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"k":[17,13],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":95,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"White BG Outlines","ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[{"i":{"x":0,"y":1},"o":{"x":0.52,"y":0},"n":"0_1_0p52_0","t":15,"s":[70.347,49.429,0],"e":[49.428,49.429,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[49.428,49.429,0],"e":[49.428,49.429,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.18,"y":1},"o":{"x":0.5,"y":0},"n":"0p18_1_0p5_0","t":86,"s":[49.428,49.429,0],"e":[70.347,49.429,0],"to":[0,0,0],"ti":[0,0,0]},{"t":106}]},"a":{"k":[24.25,24.25,0]},"s":{"k":[99.867,99.925,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[-17.673,0],[0,17.673],[17.673,0],[0,-17.673]],"o":[[17.673,0],[0,-17.673],[-17.673,0],[0,17.673]],"v":[[8.544,32.018],[40.544,0.018],[8.544,-31.982],[-23.456,0.018]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,1,1,1]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[7.125,24.25],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[93,93],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Switch Outline Outlines","ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[58.858,49.696,0]},"a":{"k":[42,34,0]},"s":{"k":[99.867,99.925,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,17.677],[-17.652,0],[0,0],[0,-17.677],[17.652,0],[0,0]],"o":[[0,-17.673],[0,0],[17.671,0],[0,17.673],[0,0],[-17.671,0]],"v":[[-50.46,-0.154],[-18.463,-32.154],[1.544,-32.154],[33.54,-0.154],[1.544,31.846],[-18.463,31.846]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tr","p":{"k":[42,34],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"mn":"ADBE Vector Group"},{"ty":"fl","fillEnabled":true,"c":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0,0.65,0.6,1],"e":[0.76,0.76,0.76,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[0.76,0.76,0.76,1],"e":[0.76,0.76,0.76,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[0.76,0.76,0.76,1],"e":[0,0.65,0.6,1]},{"t":106}]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1}],"v":"4.5.0","ddd":0,"ip":0,"op":150,"fr":60,"w":100,"h":100} \ No newline at end of file diff --git a/Example/lottie-ios.xcodeproj/project.pbxproj b/Example/lottie-ios.xcodeproj/project.pbxproj index 572c1845ae..028fc2446c 100644 --- a/Example/lottie-ios.xcodeproj/project.pbxproj +++ b/Example/lottie-ios.xcodeproj/project.pbxproj @@ -64,6 +64,8 @@ 622F77091F2BE63100269858 /* X.json in Resources */ = {isa = PBXBuildFile; fileRef = 622F76EB1F2BE63100269858 /* X.json */; }; 622F770A1F2BE63100269858 /* Y.json in Resources */ = {isa = PBXBuildFile; fileRef = 622F76EC1F2BE63100269858 /* Y.json */; }; 622F770B1F2BE63100269858 /* Z.json in Resources */ = {isa = PBXBuildFile; fileRef = 622F76ED1F2BE63100269858 /* Z.json */; }; + 629EC57F1F54BFF1005B2C59 /* LAControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 629EC57E1F54BFF1005B2C59 /* LAControlsViewController.m */; }; + 629EC5811F54C00B005B2C59 /* Switch.json in Resources */ = {isa = PBXBuildFile; fileRef = 629EC5801F54C00B005B2C59 /* Switch.json */; }; 62B2546A1E3A8D310035A842 /* LottieRootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62B254631E3A8D310035A842 /* LottieRootViewController.m */; }; 62B2546B1E3A8D310035A842 /* AnimationExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62B254651E3A8D310035A842 /* AnimationExplorerViewController.m */; }; 62B2546C1E3A8D310035A842 /* AnimationTransitionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62B254671E3A8D310035A842 /* AnimationTransitionViewController.m */; }; @@ -166,6 +168,9 @@ 622F76EC1F2BE63100269858 /* Y.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Y.json; sourceTree = ""; }; 622F76ED1F2BE63100269858 /* Z.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Z.json; sourceTree = ""; }; 62569CB2461B12ABC97FCB96 /* lottie-ios.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "lottie-ios.podspec"; path = "../lottie-ios.podspec"; sourceTree = ""; }; + 629EC57D1F54BFF1005B2C59 /* LAControlsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAControlsViewController.h; sourceTree = ""; }; + 629EC57E1F54BFF1005B2C59 /* LAControlsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LAControlsViewController.m; sourceTree = ""; }; + 629EC5801F54C00B005B2C59 /* Switch.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Switch.json; sourceTree = ""; }; 62B254621E3A8D310035A842 /* LottieRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LottieRootViewController.h; sourceTree = ""; }; 62B254631E3A8D310035A842 /* LottieRootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LottieRootViewController.m; sourceTree = ""; }; 62B254641E3A8D310035A842 /* AnimationExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationExplorerViewController.h; sourceTree = ""; }; @@ -301,6 +306,8 @@ 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */, 62B254621E3A8D310035A842 /* LottieRootViewController.h */, 62B254631E3A8D310035A842 /* LottieRootViewController.m */, + 629EC57D1F54BFF1005B2C59 /* LAControlsViewController.h */, + 629EC57E1F54BFF1005B2C59 /* LAControlsViewController.m */, 62B254741E3A8D400035A842 /* Animation Explorer */, 62B254751E3A8D500035A842 /* Transition Demo */, 62B254761E3A8D620035A842 /* Typing Animation Demo */, @@ -338,6 +345,7 @@ children = ( 622F76CF1F2BE63100269858 /* TypeFace */, 622F76B51F2BE58100269858 /* 9squares-AlBoardman.json */, + 629EC5801F54C00B005B2C59 /* Switch.json */, 622F76B61F2BE58100269858 /* HamburgerArrow.json */, 622F76B71F2BE58100269858 /* IconTransitions.json */, 622F76B81F2BE58100269858 /* LottieLogo1_masked.json */, @@ -596,6 +604,7 @@ 622F76C61F2BE58100269858 /* LottieLogo1.json in Resources */, 622F77051F2BE63100269858 /* T.json in Resources */, 622F77021F2BE63100269858 /* Q.json in Resources */, + 629EC5811F54C00B005B2C59 /* Switch.json in Resources */, 622F76FB1F2BE63100269858 /* J.json in Resources */, 622F77081F2BE63100269858 /* W.json in Resources */, 622F76F61F2BE63100269858 /* E.json in Resources */, @@ -796,6 +805,7 @@ 62B254731E3A8D3B0035A842 /* AnimatedTextField.m in Sources */, 62B2546C1E3A8D310035A842 /* AnimationTransitionViewController.m in Sources */, 6003F59A195388D20070C39A /* main.m in Sources */, + 629EC57F1F54BFF1005B2C59 /* LAControlsViewController.m in Sources */, BC7BF4841F37DA7300FB702C /* LottieFilesURL.m in Sources */, 622F76451F2AAA6500269858 /* LAQRScannerViewController.m in Sources */, ); diff --git a/Example/lottie-ios/LAControlsViewController.h b/Example/lottie-ios/LAControlsViewController.h new file mode 100644 index 0000000000..eb81f4acfa --- /dev/null +++ b/Example/lottie-ios/LAControlsViewController.h @@ -0,0 +1,13 @@ +// +// LAControlsViewController.h +// lottie-ios +// +// Created by brandon_withrow on 8/28/17. +// Copyright © 2017 Brandon Withrow. All rights reserved. +// + +#import + +@interface LAControlsViewController : UIViewController + +@end diff --git a/Example/lottie-ios/LAControlsViewController.m b/Example/lottie-ios/LAControlsViewController.m new file mode 100644 index 0000000000..e9a2fac382 --- /dev/null +++ b/Example/lottie-ios/LAControlsViewController.m @@ -0,0 +1,62 @@ +// +// LAControlsViewController.m +// lottie-ios +// +// Created by brandon_withrow on 8/28/17. +// Copyright © 2017 Brandon Withrow. All rights reserved. +// + +#import "LAControlsViewController.h" +#import + +@interface LAControlsViewController () + +@end + +@implementation LAControlsViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.view.backgroundColor = [UIColor whiteColor]; + + UIButton *closeButton_ = [UIButton buttonWithType:UIButtonTypeSystem]; + [closeButton_ setTitle:@"Close" forState:UIControlStateNormal]; + [closeButton_ addTarget:self action:@selector(close) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:closeButton_]; + CGSize buttonSize = [closeButton_ sizeThatFits:self.view.bounds.size]; + closeButton_.frame = CGRectMake(10, 30, buttonSize.width, 50); + + /// An animated toggle with different ON and OFF animations. + + LOTAnimatedSwitch *toggle1 = [LOTAnimatedSwitch switchNamed:@"Switch"]; + + /// Off animation is 0 to 0.5 progress. + /// On animation is 0.5 to 1 progress. + [toggle1 setProgressRangeForOnState:0.5 toProgress:1]; + [toggle1 setProgressRangeForOffState:0 toProgress:0.5]; + + [toggle1 addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged]; + toggle1.center = CGPointMake(CGRectGetMidX(self.view.bounds), 90); + [self.view addSubview:toggle1]; + + /// An animated 'like' or 'heart' button. + /// Clicking toggles the Like or Heart state. + /// The animation runs from 0-1, progress 0 is off, progress 1 is on + LOTAnimatedSwitch *heartIcon = [LOTAnimatedSwitch switchNamed:@"TwitterHeart"]; + heartIcon.bounds = CGRectMake(0, 0, 200, 200); + heartIcon.center = CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMaxY(toggle1.frame) + (heartIcon.bounds.size.height * 0.5)); + [heartIcon addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged]; + [self.view addSubview:heartIcon]; + +} + +- (void)switchToggled:(LOTAnimatedSwitch *)animatedSwitch { + NSLog(@"The switch is %@", (animatedSwitch.on ? @"ON" : @"OFF")); +} + +- (void)close { + [self.presentingViewController dismissViewControllerAnimated:YES completion:NULL]; +} + +@end diff --git a/Example/lottie-ios/LottieRootViewController.m b/Example/lottie-ios/LottieRootViewController.m index 27cb02f1b5..99f06bfe30 100644 --- a/Example/lottie-ios/LottieRootViewController.m +++ b/Example/lottie-ios/LottieRootViewController.m @@ -66,7 +66,9 @@ @{@"name" : @"Animated Keyboard", @"vc" : @"TypingDemoViewController"}, @{@"name" : @"Animated Transitions Demo", - @"vc" : @"AnimationTransitionViewController"}]; + @"vc" : @"AnimationTransitionViewController"}, + @{@"name" : @"Animated UIControls Demo", + @"vc" : @"LAControlsViewController"}]; } - (void)_playLottieAnimation { diff --git a/Lottie.xcodeproj/project.pbxproj b/Lottie.xcodeproj/project.pbxproj index 41068c83a0..fcbf789b39 100644 --- a/Lottie.xcodeproj/project.pbxproj +++ b/Lottie.xcodeproj/project.pbxproj @@ -196,6 +196,14 @@ 628905431F352472005154FA /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 628905401F352472005154FA /* LOTRadialGradientLayer.m */; }; 628905441F352472005154FA /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 628905401F352472005154FA /* LOTRadialGradientLayer.m */; }; 628905451F352472005154FA /* LOTRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 628905401F352472005154FA /* LOTRadialGradientLayer.m */; }; + 629EC52C1F50CBF7005B2C59 /* LOTAnimatedSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 629EC52A1F50CBF7005B2C59 /* LOTAnimatedSwitch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 629EC52F1F50CC2E005B2C59 /* LOTAnimatedSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 629EC52E1F50CC2E005B2C59 /* LOTAnimatedSwitch.m */; }; + 629EC5301F50CC39005B2C59 /* LOTAnimatedSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 629EC52E1F50CC2E005B2C59 /* LOTAnimatedSwitch.m */; }; + 629EC5311F50CC53005B2C59 /* LOTAnimatedSwitch.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 629EC52A1F50CBF7005B2C59 /* LOTAnimatedSwitch.h */; }; + 629EC5341F50DFE4005B2C59 /* LOTAnimatedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 629EC5321F50DFE4005B2C59 /* LOTAnimatedControl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 629EC5371F50DFFF005B2C59 /* LOTAnimatedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 629EC5361F50DFFF005B2C59 /* LOTAnimatedControl.m */; }; + 629EC5381F50E00F005B2C59 /* LOTAnimatedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 629EC5361F50DFFF005B2C59 /* LOTAnimatedControl.m */; }; + 629EC5391F50E02A005B2C59 /* LOTAnimatedControl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 629EC5321F50DFE4005B2C59 /* LOTAnimatedControl.h */; }; 62BFC2DE1F14298D0068A342 /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 62BFC2D01F14298D0068A342 /* LOTAnimatorNode.h */; }; 62BFC2DF1F14298D0068A342 /* LOTAnimatorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 62BFC2D01F14298D0068A342 /* LOTAnimatorNode.h */; }; 62BFC2E01F14298D0068A342 /* LOTAnimatorNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 62BFC2D11F14298D0068A342 /* LOTAnimatorNode.m */; }; @@ -292,6 +300,8 @@ dstPath = include/Lottie; dstSubfolderSpec = 16; files = ( + 629EC5391F50E02A005B2C59 /* LOTAnimatedControl.h in CopyFiles */, + 629EC5311F50CC53005B2C59 /* LOTAnimatedSwitch.h in CopyFiles */, 6289053E1F33EA0F005154FA /* LOTCacheProvider.h in CopyFiles */, 62E27B481F3115A00098420E /* LOTAnimationCache.h in CopyFiles */, 622F77141F2BF6BE00269858 /* LOTComposition.h in CopyFiles */, @@ -390,6 +400,10 @@ 6274D0201F1E830E00E05049 /* LOTTransformInterpolator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LOTTransformInterpolator.m; path = "lottie-ios/Classes/RenderSystem/InterpolatorNodes/LOTTransformInterpolator.m"; sourceTree = SOURCE_ROOT; }; 6289053F1F352472005154FA /* LOTRadialGradientLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTRadialGradientLayer.h; sourceTree = ""; }; 628905401F352472005154FA /* LOTRadialGradientLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTRadialGradientLayer.m; sourceTree = ""; }; + 629EC52A1F50CBF7005B2C59 /* LOTAnimatedSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatedSwitch.h; sourceTree = ""; }; + 629EC52E1F50CC2E005B2C59 /* LOTAnimatedSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatedSwitch.m; sourceTree = ""; }; + 629EC5321F50DFE4005B2C59 /* LOTAnimatedControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatedControl.h; sourceTree = ""; }; + 629EC5361F50DFFF005B2C59 /* LOTAnimatedControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatedControl.m; sourceTree = ""; }; 62BFC2D01F14298D0068A342 /* LOTAnimatorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LOTAnimatorNode.h; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.h"; sourceTree = SOURCE_ROOT; }; 62BFC2D11F14298D0068A342 /* LOTAnimatorNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LOTAnimatorNode.m; path = "lottie-ios/Classes/RenderSystem/LOTAnimatorNode.m"; sourceTree = SOURCE_ROOT; }; 62BFC2D21F14298D0068A342 /* LOTFillRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LOTFillRenderer.h; path = "lottie-ios/Classes/RenderSystem/RenderNodes/LOTFillRenderer.h"; sourceTree = SOURCE_ROOT; }; @@ -538,6 +552,8 @@ 481A4A571E4A7885003CF62B /* Private */ = { isa = PBXGroup; children = ( + 629EC5361F50DFFF005B2C59 /* LOTAnimatedControl.m */, + 629EC52E1F50CC2E005B2C59 /* LOTAnimatedSwitch.m */, EE498E3B1F336A3B00D1DFCD /* LOTCacheProvider.m */, 62E27B491F3115AF0098420E /* LOTAnimationCache.m */, 622F77101F2BF6AA00269858 /* LOTComposition.m */, @@ -683,10 +699,12 @@ children = ( EE498E3D1F336A4900D1DFCD /* LOTCacheProvider.h */, 62E27B451F31158B0098420E /* LOTAnimationCache.h */, + 2DBA16351B4FA408937A16CE /* LOTAnimationView_Compat.h */, 622F770D1F2BF6A000269858 /* LOTComposition.h */, FA1F5A9F1E42B52800FF36BF /* LOTAnimationView.h */, 62CA59C41E3C179F002D7188 /* LOTAnimationTransitionController.h */, - 2DBA16351B4FA408937A16CE /* LOTAnimationView_Compat.h */, + 629EC52A1F50CBF7005B2C59 /* LOTAnimatedSwitch.h */, + 629EC5321F50DFE4005B2C59 /* LOTAnimatedControl.h */, 62CA59C61E3C179F002D7188 /* Lottie.h */, ); name = PublicHeaders; @@ -735,6 +753,7 @@ 62BFC2FC1F14298D0068A342 /* LOTValueInterpolator.h in Headers */, 6274D0211F1E830E00E05049 /* LOTTransformInterpolator.h in Headers */, 481A4AC91E4A7885003CF62B /* LOTShapeTransform.h in Headers */, + 629EC52C1F50CBF7005B2C59 /* LOTAnimatedSwitch.h in Headers */, 6274CF8B1F16F29200E05049 /* LOTPointInterpolator.h in Headers */, 622F762C1F2A8CBA00269858 /* LOTShapeStar.h in Headers */, 622F76641F2BCA7700269858 /* LOTShapeRepeater.h in Headers */, @@ -751,6 +770,7 @@ 62BFC3031F1449380068A342 /* LOTBezierData.h in Headers */, 62BFC2ED1F14298D0068A342 /* LOTPathAnimator.h in Headers */, 484EBA161E565AF700D4CAD9 /* LOTAsset.h in Headers */, + 629EC5341F50DFE4005B2C59 /* LOTAnimatedControl.h in Headers */, 481A4AAB1E4A7885003CF62B /* LOTMask.h in Headers */, 622F764E1F2AC1BF00269858 /* LOTArrayInterpolator.h in Headers */, 6274CFA01F17E94C00E05049 /* LOTPathInterpolator.h in Headers */, @@ -957,9 +977,11 @@ 481A4AB71E4A7885003CF62B /* LOTShapeFill.m in Sources */, 62C9EA451F1FDBF000DE7D07 /* LOTCircleAnimator.m in Sources */, 622F76501F2AC1BF00269858 /* LOTArrayInterpolator.m in Sources */, + 629EC5371F50DFFF005B2C59 /* LOTAnimatedControl.m in Sources */, 6201FAE81F200B4A00A047C9 /* LOTMaskContainer.m in Sources */, 481A4AC31E4A7885003CF62B /* LOTShapeRectangle.m in Sources */, 481A4AD11E4A7885003CF62B /* LOTAnimationTransitionController.m in Sources */, + 629EC52F1F50CC2E005B2C59 /* LOTAnimatedSwitch.m in Sources */, 62C9EA261F1EB49000DE7D07 /* LOTCompositionContainer.m in Sources */, 622F766D1F2BCE1300269858 /* LOTRepeaterRenderer.m in Sources */, 622F76371F2A91CA00269858 /* LOTPolystarAnimator.m in Sources */, @@ -1015,9 +1037,11 @@ 62C9EA471F1FDBF000DE7D07 /* LOTCircleAnimator.m in Sources */, 622F76521F2AC1BF00269858 /* LOTArrayInterpolator.m in Sources */, 6201FAEA1F200B4A00A047C9 /* LOTMaskContainer.m in Sources */, + 629EC5381F50E00F005B2C59 /* LOTAnimatedControl.m in Sources */, 62C9EA281F1EB49000DE7D07 /* LOTCompositionContainer.m in Sources */, 622F766F1F2BCE1300269858 /* LOTRepeaterRenderer.m in Sources */, 622F76391F2A91CA00269858 /* LOTPolystarAnimator.m in Sources */, + 629EC5301F50CC39005B2C59 /* LOTAnimatedSwitch.m in Sources */, 6274CF8F1F16F29200E05049 /* LOTPointInterpolator.m in Sources */, 6274CF9D1F17E92F00E05049 /* LOTSizeInterpolator.m in Sources */, 62BFC2E71F14298D0068A342 /* LOTFillRenderer.m in Sources */, diff --git a/lottie-ios.podspec b/lottie-ios.podspec index dcc2d398d9..f1ff5933bb 100644 --- a/lottie-ios.podspec +++ b/lottie-ios.podspec @@ -30,7 +30,11 @@ For the first time, designers can create and ship beautiful animations without a s.osx.exclude_files = ['lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h', 'lottie-ios/Classes/Private/LOTAnimationTransitionController.m', 'lottie-ios/Classes/PublicHeaders/LOTCacheProvider.h', - 'lottie-ios/Classes/Private/LOTCacheProvider.m'] + 'lottie-ios/Classes/Private/LOTCacheProvider.m', + 'lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h', + 'lottie-ios/Classes/Private/LOTAnimatedSwitch.m', + 'lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h', + 'lottie-ios/Classes/Private/LOTAnimatedControl.m'] # s.resource_bundles = { # 'lottie-ios' => ['lottie-ios/Assets/*.png'] # } diff --git a/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h b/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h index e69e8a8716..3a94f370cc 100644 --- a/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h +++ b/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.h @@ -24,4 +24,7 @@ fromLayer:(CALayer *_Nonnull)fromlayer toLayerNamed:(NSString *_Nonnull)layerName; +@property (nonatomic, readonly, nonnull) NSArray *childLayers; +@property (nonatomic, readonly, nonnull) NSDictionary *childMap; + @end diff --git a/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m b/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m index e5520c2c6d..98f2080b36 100644 --- a/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m +++ b/lottie-ios/Classes/AnimatableLayers/LOTCompositionContainer.m @@ -12,7 +12,6 @@ #import "LOTHelpers.h" @implementation LOTCompositionContainer { - NSArray *_childLayers; NSNumber *_frameOffset; CALayer *DEBUG_Center; } @@ -44,6 +43,7 @@ - (void)intializeWithChildGroup:(LOTLayerGroup *)childGroup withAssetGroup:(LOTAssetGroup *)assetGroup { + NSMutableDictionary *childMap = [NSMutableDictionary dictionary]; NSMutableArray *children = [NSMutableArray array]; NSArray *reversedItems = [[childGroup.layers reverseObjectEnumerator] allObjects]; @@ -73,7 +73,11 @@ [self.wrapperLayer addSublayer:child]; } [children addObject:child]; + if (child.layerName) { + [childMap setObject:child forKey:child.layerName]; + } } + _childMap = childMap; _childLayers = children; } @@ -115,24 +119,22 @@ } } } - return NO; } - (void)addSublayer:(nonnull CALayer *)subLayer toLayerNamed:(nonnull NSString *)layerName applyTransform:(BOOL)applyTransform { - for (LOTLayerContainer *child in _childLayers) { - if ([child.layerName isEqualToString:layerName]) { - if (applyTransform) { - [child addAndMaskSublayer:subLayer]; - } else { - CALayer *maskWrapper = [CALayer new]; - [maskWrapper addSublayer:subLayer]; - [self.wrapperLayer insertSublayer:maskWrapper below:child]; - [child removeFromSuperlayer]; - maskWrapper.mask = child; - } + LOTLayerContainer *child = _childMap[layerName]; + if (child) { + if (applyTransform) { + [child addAndMaskSublayer:subLayer]; + } else { + CALayer *maskWrapper = [CALayer new]; + [maskWrapper addSublayer:subLayer]; + [self.wrapperLayer insertSublayer:maskWrapper below:child]; + [child removeFromSuperlayer]; + maskWrapper.mask = child; } } } @@ -141,10 +143,9 @@ fromLayer:(CALayer *_Nonnull)fromlayer toLayerNamed:(NSString *_Nonnull)layerName { CGRect xRect = rect; - for (LOTLayerContainer *child in _childLayers) { - if ([child.layerName isEqualToString:layerName]) { - xRect = [fromlayer convertRect:rect toLayer:child]; - } + LOTLayerContainer *child = _childMap[layerName]; + if (child) { + xRect = [fromlayer convertRect:rect toLayer:child]; } return xRect; } diff --git a/lottie-ios/Classes/Private/LOTAnimatedControl.m b/lottie-ios/Classes/Private/LOTAnimatedControl.m new file mode 100644 index 0000000000..390e27e776 --- /dev/null +++ b/lottie-ios/Classes/Private/LOTAnimatedControl.m @@ -0,0 +1,119 @@ +// +// LOTAnimatedControl.m +// Lottie +// +// Created by brandon_withrow on 8/25/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTAnimatedControl.h" +#import "LOTAnimationView_Internal.h" + +@implementation LOTAnimatedControl { + UIControlState _priorState; + NSMutableDictionary *_layerMap; +} + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + _animationView = [[LOTAnimationView alloc] init]; + _animationView.contentMode = UIViewContentModeScaleAspectFit; + _animationView.userInteractionEnabled = NO; + [self addSubview:_animationView]; + _layerMap = [NSMutableDictionary dictionary]; + } + return self; +} + +- (LOTComposition *)animationComp { + return _animationView.sceneModel; +} + +- (void)setAnimationComp:(LOTComposition *)animationComp { + [_animationView setSceneModel:animationComp]; + [self checkStateChangedAndUpdate:YES]; +} + +- (void)setLayerName:(NSString * _Nonnull)layerName forState:(UIControlState)state { + _layerMap[@(state)] = layerName; + [self checkStateChangedAndUpdate:YES]; +} + +#pragma mark - Setter Overrides + +- (void)setEnabled:(BOOL)enabled { + _priorState = self.state; + [super setEnabled:enabled]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)setSelected:(BOOL)selected { + _priorState = self.state; + [super setSelected:selected]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)setHighlighted:(BOOL)highlighted { + _priorState = self.state; + [super setHighlighted:highlighted]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { + _priorState = self.state; + [super touchesBegan:touches withEvent:event]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { + _priorState = self.state; + [super touchesMoved:touches withEvent:event]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { + _priorState = self.state; + [super touchesEnded:touches withEvent:event]; + [self checkStateChangedAndUpdate:NO]; +} + +- (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent*)event { + _priorState = self.state; + [super touchesCancelled:touches withEvent:event]; + [self checkStateChangedAndUpdate:NO]; +} + +- (CGSize)intrinsicContentSize { + return _animationView.intrinsicContentSize; +} + +- (void)layoutSubviews { + [super layoutSubviews]; + _animationView.frame = self.bounds; +} + +#pragma mark - Private interface implementation + +- (void)checkStateChangedAndUpdate:(BOOL)forceUpdate { + if(self.state == _priorState && !forceUpdate) { + return; + } + _priorState = self.state; + + NSString *name = _layerMap[@(self.state)]; + if (!name) { + return; + } + CALayer *layer = [_animationView layerForKey:name]; + if (!layer) { + return; + } + + for (CALayer *child in [_animationView compositionLayers]) { + child.hidden = YES; + } + layer.hidden = NO; +} + +@end diff --git a/lottie-ios/Classes/Private/LOTAnimatedSwitch.m b/lottie-ios/Classes/Private/LOTAnimatedSwitch.m new file mode 100644 index 0000000000..455bbdcba0 --- /dev/null +++ b/lottie-ios/Classes/Private/LOTAnimatedSwitch.m @@ -0,0 +1,101 @@ +// +// LOTAnimatedSwitch.m +// Lottie +// +// Created by brandon_withrow on 8/25/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTAnimatedSwitch.h" +#import "LOTAnimationView.h" +#import "CGGeometry+LOTAdditions.h" + +@implementation LOTAnimatedSwitch { + CGFloat _onStartProgress; + CGFloat _onEndProgress; + CGFloat _offStartProgress; + CGFloat _offEndProgress; + BOOL _on; +} + +/// Convenience method to initialize a control from the Main Bundle by name ++ (instancetype _Nonnull )switchNamed:(NSString * _Nonnull)toggleName { + return [LOTAnimatedSwitch switchNamed:toggleName inBundle:[NSBundle mainBundle]]; +} + +/// Convenience method to initialize a control from the specified bundle by name ++ (instancetype _Nonnull )switchNamed:(NSString * _Nonnull)toggleName inBundle:(NSBundle * _Nonnull)bundle { + LOTComposition *composition = [LOTComposition animationNamed:toggleName inBundle:bundle]; + LOTAnimatedSwitch *animatedControl = [[LOTAnimatedSwitch alloc] initWithFrame:CGRectZero]; + if (composition) { + [animatedControl setAnimationComp:composition]; + animatedControl.bounds = composition.compBounds; + } + return animatedControl; +} + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + _onStartProgress = 0; + _onEndProgress = 1; + _offStartProgress = 1; + _offEndProgress = 0; + _on = NO; + [self addTarget:self action:@selector(_toggle) forControlEvents:UIControlEventTouchUpInside]; + } + return self; +} + +- (void)setAnimationComp:(LOTComposition *)animationComp { + [super setAnimationComp:animationComp]; + [self setOn:_on animated:NO]; +} + +#pragma mark - External Methods + +- (void)setProgressRangeForOnState:(CGFloat)fromProgress toProgress:(CGFloat)toProgress { + _onStartProgress = fromProgress; + _onEndProgress = toProgress; + [self setOn:_on animated:NO]; +} + +- (void)setProgressRangeForOffState:(CGFloat)fromProgress toProgress:(CGFloat)toProgress { + _offStartProgress = fromProgress; + _offEndProgress = toProgress; + [self setOn:_on animated:NO]; +} + +- (void)setOn:(BOOL)on { + [self setOn:on animated:NO]; +} + +- (void)setOn:(BOOL)on animated:(BOOL)animated { + if (_on == on) { + animated = NO; + } + + _on = on; + + CGFloat startProgress = on ? _onStartProgress : _offStartProgress; + CGFloat endProgress = on ? _onEndProgress : _offEndProgress; + + if (animated) { + [self.animationView pause]; + [self.animationView playFromProgress:startProgress toProgress:endProgress withCompletion:nil]; + } else { + self.animationView.animationProgress = endProgress; + } + +} + +#pragma mark - Internal Methods + +- (void)_toggle { + if (self.isEnabled) { + [self setOn:!_on animated:YES]; + [self sendActionsForControlEvents:UIControlEventValueChanged]; + } +} + +@end diff --git a/lottie-ios/Classes/Private/LOTAnimationView.m b/lottie-ios/Classes/Private/LOTAnimationView.m index 07da2716a3..047c74d302 100644 --- a/lottie-ios/Classes/Private/LOTAnimationView.m +++ b/lottie-ios/Classes/Private/LOTAnimationView.m @@ -99,6 +99,14 @@ static NSString * const kCompContainerAnimationKey = @"play"; return self; } +- (instancetype)init { + self = [super init]; + if (self) { + [self _commonInit]; + } + return self; +} + # pragma mark - Internal Methods #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR @@ -401,7 +409,6 @@ static NSString * const kCompContainerAnimationKey = @"play"; #endif - - (CGRect)convertRect:(CGRect)rect toLayerNamed:(NSString *_Nullable)layerName { [self _layout]; @@ -430,6 +437,16 @@ static NSString * const kCompContainerAnimationKey = @"play"; [_compContainer logHierarchyKeypathsWithParent:nil]; } +# pragma mark - Semi-Private Methods + +- (CALayer * _Nullable)layerForKey:(NSString * _Nonnull)keyname { + return _compContainer.childMap[keyname]; +} + +- (NSArray * _Nonnull)compositionLayers { + return _compContainer.childLayers; +} + # pragma mark - Getters and Setters - (CGFloat)animationDuration { @@ -471,6 +488,13 @@ static NSString * const kCompContainerAnimationKey = @"play"; #define LOTViewContentModeBottomLeft UIViewContentModeBottomLeft #define LOTViewContentModeBottomRight UIViewContentModeBottomRight +- (CGSize)intrinsicContentSize { + if (!_sceneModel) { + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric); + } + return _sceneModel.compBounds.size; +} + - (void)didMoveToSuperview { [super didMoveToSuperview]; if (self.superview == nil) { @@ -525,10 +549,6 @@ static NSString * const kCompContainerAnimationKey = @"play"; #endif -- (CGSize)intrinsicContentSize { - return _sceneModel.compBounds.size; -} - - (void)_layout { CGPoint centerPoint = LOT_RectGetCenterPoint(self.bounds); CATransform3D xform; diff --git a/lottie-ios/Classes/Private/LOTAnimationView_Internal.h b/lottie-ios/Classes/Private/LOTAnimationView_Internal.h index 1f8091b8a4..b0cea806e8 100644 --- a/lottie-ios/Classes/Private/LOTAnimationView_Internal.h +++ b/lottie-ios/Classes/Private/LOTAnimationView_Internal.h @@ -16,4 +16,7 @@ typedef enum : NSUInteger { @interface LOTAnimationView () +- (CALayer * _Nullable)layerForKey:(NSString * _Nonnull)keyname; +- (NSArray * _Nonnull)compositionLayers; + @end diff --git a/lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h b/lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h new file mode 100644 index 0000000000..41b4479c19 --- /dev/null +++ b/lottie-ios/Classes/PublicHeaders/LOTAnimatedControl.h @@ -0,0 +1,28 @@ +// +// LOTAnimatedControl.h +// Lottie +// +// Created by brandon_withrow on 8/25/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import + +@class LOTAnimationView; +@class LOTComposition; + +@interface LOTAnimatedControl : UIControl + +// This class is a base class that is intended to be subclassed + +/** + * Map a specific animation layer to a control state. + * When the state is set all layers will be hidden except the specified layer. + **/ + +- (void)setLayerName:(NSString * _Nonnull)layerName forState:(UIControlState)state; + +@property (nonatomic, readonly, nonnull) LOTAnimationView *animationView; +@property (nonatomic, nullable) LOTComposition *animationComp; + +@end diff --git a/lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h b/lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h new file mode 100644 index 0000000000..e1c61c1e8a --- /dev/null +++ b/lottie-ios/Classes/PublicHeaders/LOTAnimatedSwitch.h @@ -0,0 +1,50 @@ +// +// LOTAnimatedSwitch.h +// Lottie +// +// Created by brandon_withrow on 8/25/17. +// Copyright © 2017 Airbnb. All rights reserved. +// + +#import "LOTAnimatedControl.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface LOTAnimatedSwitch : LOTAnimatedControl + +/// Convenience method to initialize a control from the Main Bundle by name ++ (instancetype _Nonnull )switchNamed:(NSString * _Nonnull)toggleName; + +/// Convenience method to initialize a control from the specified bundle by name ++ (instancetype _Nonnull )switchNamed:(NSString * _Nonnull)toggleName inBundle:(NSBundle * _Nonnull)bundle; + + +/// The ON/OFF state of the control. Setting will toggle without animation +@property (nonatomic, getter=isOn) BOOL on; + +/// Set the state of the control with animation +- (void)setOn:(BOOL)on animated:(BOOL)animated; // does not send action + +/// Styling + +/** + * Sets the animation play range for the ON state animation. + * fromProgress is the start of the animation + * toProgress is the end of the animation and also the ON static state + * Defaults 0-1 + **/ +- (void)setProgressRangeForOnState:(CGFloat)fromProgress + toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOnState(fromProgress:toProgress:)); + +/** + * Sets the animation play range for the OFF state animation. + * fromProgress is the start of the animation + * toProgress is the end of the animation and also the OFF static state + * Defaults 1-0 + **/ +- (void)setProgressRangeForOffState:(CGFloat)fromProgress + toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOffState(fromProgress:toProgress:)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/lottie-ios/Classes/PublicHeaders/Lottie.h b/lottie-ios/Classes/PublicHeaders/Lottie.h index 297fbfec03..45bfff62ae 100644 --- a/lottie-ios/Classes/PublicHeaders/Lottie.h +++ b/lottie-ios/Classes/PublicHeaders/Lottie.h @@ -25,6 +25,8 @@ FOUNDATION_EXPORT const unsigned char LottieVersionString[]; #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR #import "LOTAnimationTransitionController.h" +#import "LOTAnimatedSwitch.h" +#import "LOTAnimatedControl.h" #endif #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR