diff --git a/README.md b/README.md index 4ca1b2cf..122fd10f 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ flutter_gen: flutter_svg: true flare_flutter: true rive: true + lottie: true colors: inputs: @@ -225,6 +226,8 @@ Widget build(BuildContext context) { |[flutter_svg](https://pub.dev/packages/flutter_svg)|.svg| `flutter_svg: true` |Assets.images.icons.paint.**svg()**| |[flare_flutter](https://pub.dev/packages/flare_flutter)|.flr| `flare_flutter: true` |Assets.flare.penguin.**flare()**| |[rive](https://pub.dev/packages/rive)|.flr| `rive: true` |Assets.rive.vehicles.**rive()**| +|[lottie](https://pub.dev/packages/lottie)|_lottie.json| `lottie: true` |Assets.lottie.hamburgerArrow.**lottie()**| +
@@ -725,6 +728,7 @@ flutter_gen: flutter_svg: false flare_flutter: false rive: false + lottie: false assets: # Optional diff --git a/example/assets/lottie/alarm-clock-lottie-v440.json b/example/assets/lottie/alarm-clock-lottie-v440.json new file mode 100644 index 00000000..5631c83e --- /dev/null +++ b/example/assets/lottie/alarm-clock-lottie-v440.json @@ -0,0 +1 @@ +{"v":"4.4.0","meta":{"g":"LottieFiles AE 3.0.2","a":"","k":"","d":"","tc":""},"fr":30,"ip":0,"op":91,"w":500,"h":500,"nm":"Alarm_clock","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Clock_hand_01 ","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[-720]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0]},{"t":90,"s":[0]}],"ix":10},"p":{"a":0,"k":[110.114,115.303,0],"ix":2},"a":{"a":0,"k":[24.41,31.383,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.033,-2.216],[0.062,-4.193],[-0.033,2.216],[-0.062,4.193]],"o":[[-0.062,4.193],[-0.033,2.225],[0.062,-4.193],[0.033,-2.225]],"v":[[-1.633,-6.148],[-1.82,6.432],[1.634,6.148],[1.82,-6.432]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.444,8.907],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.354,1.778],[6.205,8.148],[0.878,1.154],[0.584,-0.893],[-4.172,-1.317],[-0.16,0.842],[0.897,0.283],[4.171,1.318],[-0.857,-1.125],[-6.204,-8.148],[-0.878,-1.154]],"o":[[-6.204,-8.148],[-0.878,-1.153],[-0.585,0.893],[4.172,1.317],[0.893,0.282],[0.191,-1.011],[-4.171,-1.317],[-1.44,-0.454],[6.204,8.148],[0.878,1.153],[1.347,1.769]],"v":[[11.806,12.682],[-6.807,-11.762],[-9.441,-15.222],[-11.194,-12.545],[1.321,-8.592],[3.345,-9.972],[1.964,-11.997],[-10.55,-15.949],[-12.303,-13.27],[6.309,11.174],[8.944,14.634]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.41,16.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Clock_hand_02 ","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[-360]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0]},{"t":90,"s":[0]}],"ix":10},"p":{"a":0,"k":[110.114,115.303,0],"ix":2},"a":{"a":0,"k":[19.536,2.345,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.415,2.194],[-0.691,3.654],[0.415,-2.194],[0.691,-3.653]],"o":[[0.691,-3.653],[0.414,-2.19],[-0.691,3.653],[-0.414,2.19]],"v":[[0.666,5.801],[2.739,-5.158],[-0.666,-5.801],[-2.739,5.158]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.664,13.944],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.563,-1.577],[4.768,-4.81],[0.67,-0.677],[-1.451,0.156],[-3.528,0.379],[2.226,-0.239],[3.528,-0.378],[-0.483,-0.954],[-4.769,4.811],[-0.67,0.676]],"o":[[-4.768,4.81],[-0.67,0.676],[-1.07,1.08],[3.528,-0.378],[2.21,-0.237],[-3.528,0.378],[0.483,0.954],[4.768,-4.81],[0.67,-0.676],[1.574,-1.588]],"v":[[6.599,-8.951],[-7.705,5.48],[-9.716,7.509],[-8.268,10.372],[2.318,9.237],[2.033,5.784],[-8.551,6.919],[-7.102,9.782],[7.202,-4.649],[9.212,-6.677]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[11.036,10.778],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Clock","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[-1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":62,"s":[-8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":64,"s":[10]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":66,"s":[-11]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":68,"s":[2]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":70,"s":[-8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":72,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":74,"s":[-5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76,"s":[11]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":78,"s":[-9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[2]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":82,"s":[-11]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":84,"s":[5]},{"i":{"x":[0.667],"y":[0.818]},"o":{"x":[0.333],"y":[0]},"t":86,"s":[-8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[-0.5]},"t":88,"s":[3]},{"t":90,"s":[-1]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":60,"s":[258.877,345.434,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":65,"s":[258.877,311.434,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":69,"s":[258.877,354.514,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[258.877,300.615,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":81,"s":[258.877,355.556,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.973,"y":1},"o":{"x":0.333,"y":0},"t":85,"s":[258.877,323.487,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[258.877,345.434,0]}],"ix":2},"a":{"a":0,"k":[110.991,196.737,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.562,0.674],[-0.674,3.562],[-3.562,-0.674],[0.673,-3.561]],"o":[[-3.561,-0.674],[0.673,-3.562],[3.562,0.674],[-0.674,3.562]],"v":[[-1.222,6.46],[-6.459,-1.221],[1.222,-6.46],[6.46,1.221]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.663,115.059],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.942,0.035],[5.22,0.191],[-0.073,-0.853],[-0.942,-0.035],[-5.22,-0.191],[0.073,0.853]],"o":[[-5.22,-0.192],[-0.933,-0.035],[0.089,1.024],[5.22,0.192],[0.933,0.035],[-0.089,-1.024]],"v":[[7.688,-1.439],[-7.972,-2.014],[-9.557,-0.146],[-7.688,1.439],[7.972,2.014],[9.557,0.146]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.452,113.503],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.942,0.035],[5.22,0.192],[-0.073,-0.853],[-0.942,-0.035],[-5.22,-0.191],[0.073,0.853]],"o":[[-5.22,-0.192],[-0.933,-0.034],[0.089,1.024],[5.22,0.192],[0.933,0.035],[-0.089,-1.024]],"v":[[7.688,-1.439],[-7.972,-2.015],[-9.557,-0.146],[-7.688,1.439],[7.972,2.014],[9.557,0.146]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[154.5,114.991],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.037,-0.942],[0.205,-5.22],[-0.851,0.074],[-0.037,0.942],[-0.204,5.219],[0.851,-0.073]],"o":[[-0.205,5.22],[-0.036,0.932],[1.025,-0.088],[0.204,-5.22],[0.037,-0.933],[-1.025,0.089]],"v":[[-1.42,-7.688],[-2.034,7.972],[-0.165,9.556],[1.42,7.688],[2.033,-7.971],[0.165,-9.556]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[108.892,160.276],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.037,-0.942],[0.205,-5.22],[-0.851,0.074],[-0.037,0.943],[-0.204,5.219],[0.851,-0.073]],"o":[[-0.205,5.22],[-0.036,0.932],[1.025,-0.088],[0.204,-5.219],[0.037,-0.933],[-1.025,0.089]],"v":[[-1.42,-7.688],[-2.034,7.972],[-0.165,9.555],[1.42,7.687],[2.033,-7.972],[0.165,-9.557]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.258,68.281],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.953,6.323],[-4.404,4.823],[-8.183,0.165],[-5.163,-5.106],[0.092,-10.213],[0,0],[7.537,7.455],[9.298,-0.187],[4.244,-4.648],[-0.013,-0.185]],"o":[[-0.015,-0.204],[1.275,-8.46],[4.91,-5.377],[10.14,-0.204],[8.579,8.484],[0,0],[0.092,-10.128],[-4.536,-4.485],[-7.197,0.144],[-9.591,10.502],[0,0]],"v":[[-30.16,20.117],[-29.55,8.721],[-20.87,-11.583],[-1.138,-19.934],[21.923,-12.546],[30.285,20.138],[26.819,20.106],[19.488,-10.083],[-1.068,-16.47],[-18.311,-9.247],[-26.704,19.873]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.474,21.899],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.282,2.217],[-0.878,3.692],[-2.978,1.475],[-2.885,-0.861],[-1.018,-1.216],[-0.361,-1.388],[0.428,-3.982],[-0.239,2.221],[0.909,4.23],[3.74,1.631],[3.706,-0.82],[1.397,-3.602],[0.625,-4.914]],"o":[[0.478,-3.762],[0.72,-3.029],[2.839,-1.406],[1.493,0.446],[0.932,1.114],[1.015,3.897],[-0.237,2.201],[0.461,-4.291],[-0.828,-3.854],[-3.444,-1.503],[-3.887,0.861],[-1.802,4.646],[-0.28,2.202]],"v":[[-11.536,10.734],[-9.617,-0.506],[-4.605,-8.449],[4.888,-8.165],[8.915,-5.785],[10.716,-1.891],[11.355,10.277],[14.759,10.92],[14.229,-1.984],[7.733,-10.793],[-3.892,-12.321],[-11.932,-4.712],[-14.94,10.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.631,26.918],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.956,0.181],[0.675,0.864],[-0.086,1.44],[-4.01,5.383],[0,0],[0.363,-6.035],[-0.342,-0.437],[-0.741,0.263],[-0.886,0.837],[0,0],[0,0],[0,0],[1.694,-0.601]],"o":[[-1.13,-0.214],[-1.05,-1.344],[0.402,-6.7],[0,0],[-3.612,4.848],[-0.044,0.747],[0.32,0.41],[1.004,-0.356],[0,0],[0,0],[0,0],[-1.04,0.982],[-0.997,0.353]],"v":[[-6.802,12.318],[-9.617,10.675],[-10.634,6.238],[-3.791,-12.5],[-1.013,-10.43],[-7.176,6.446],[-6.887,8.543],[-4.964,8.81],[-2.159,6.752],[8.341,-3.166],[10.72,-0.648],[0.22,9.271],[-3.807,12.075]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.232,181.172],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.583,0.111],[1.545,1.429],[1.154,1.824],[0,0],[0,0],[0,0],[-1.367,-1.265],[-1.407,0.047],[-0.068,0.031],[-0.019,0.087],[3.074,5.998],[0,0],[1.653,-7.463],[0.476,-0.607],[1.737,-0.058]],"o":[[-1.774,-0.335],[-1.699,-1.573],[0,0],[0,0],[0,0],[1.036,1.636],[1.359,1.257],[0.3,-0.01],[0.036,-0.093],[1.457,-6.581],[0,0],[3.485,6.803],[-0.127,0.572],[-0.474,0.605],[-0.581,0.019]],"v":[[76.988,98.219],[71.915,95.533],[67.868,90.25],[63.38,83.159],[66.308,81.306],[70.795,88.398],[74.268,92.99],[78.621,94.895],[79.162,94.801],[79.273,94.372],[76.73,74.578],[79.814,72.998],[82.655,95.121],[81.878,96.961],[78.737,98.357]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[84.308,98.376],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":4,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.187,3.006],[-5.145,-0.322],[4.188,-3.006],[5.145,0.322]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[180.047,68.661],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.87,4.532],[-4.399,2.164],[1.87,-4.532],[4.399,-2.164]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[163.938,52.325],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.025,3.935],[-3.686,-1.717],[-1.025,-3.935],[3.686,1.717]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[54.12,54.098],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.965,3.358],[-4.473,-0.241],[-2.965,-3.358],[4.473,0.241]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.418,68.051],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.24,0.802],[9.602,-7.281],[-3.415,-8.034],[0,0]],"o":[[-10.857,-2.053],[-13.728,10.409],[0,0],[-4.491,-2.223]],"v":[[12.796,-27.244],[-17.75,-19.409],[-18.281,25.412],[25.885,-22.706]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[2.211,10.757],[-7.735,5.865],[-9.233,-0.195],[-8.038,-4.314],[0,0]],"o":[[0,0],[-0.183,-0.376],[-3.014,-14.656],[8.313,-6.304],[7.383,0.157],[0,0],[0,0]],"v":[[-19.232,31.57],[-20.345,29.283],[-27.061,9.2],[-19.844,-22.169],[6.598,-31.375],[29.514,-24.731],[31.478,-23.677]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[39.222,55.129],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":4,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.191,-7.496],[0,0],[13.439,10.752]],"o":[[0,0],[3.619,-7.944],[-13.083,-10.469]],"v":[[-25.704,-23.617],[17.194,25.633],[17.831,-19.185]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-7.384,-0.037],[-8.147,-6.518],[3.394,-14.573],[0.193,-0.371]],"o":[[0,0],[0,0],[8.147,-4.104],[9.233,0.043],[7.579,6.065],[-2.491,10.696],[0,0]],"v":[[17.985,31.816],[-31.27,-24.733],[-29.278,-25.736],[-6.197,-31.78],[19.996,-21.889],[26.394,9.658],[19.157,29.559]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[183.12,57.367],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 15","np":4,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[28.656,5.42],[5.42,-28.656],[-28.656,-5.419],[-5.42,28.656]],"o":[[-28.656,-5.42],[-5.419,28.656],[28.656,5.42],[5.419,-28.656]],"v":[[9.829,-51.97],[-51.97,-9.829],[-9.829,51.968],[51.969,9.828]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[30.533,5.775],[-5.774,30.533],[-30.533,-5.774],[5.775,-30.533]],"o":[[-30.533,-5.774],[5.775,-30.533],[30.533,5.775],[-5.774,30.532]],"v":[[-10.473,55.372],[-55.374,-10.473],[10.472,-55.374],[55.372,10.472]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.961,115.059],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":4,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[40.831,7.722],[7.722,-40.831],[-40.831,-7.722],[-7.722,40.831]],"o":[[-40.831,-7.722],[-7.722,40.831],[40.831,7.722],[7.722,-40.831]],"v":[[14.005,-74.05],[-74.049,-14.005],[-14.005,74.049],[74.049,14.005]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[42.708,8.077],[-8.077,42.708],[-42.708,-8.077],[8.077,-42.708]],"o":[[-42.708,-8.077],[8.077,-42.708],[42.708,8.077],[-8.077,42.708]],"v":[[-14.648,77.454],[-77.454,-14.649],[14.648,-77.454],[77.453,14.648]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.223529426724,0.156862745098,0.109803929048,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.178,113.923],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 17","np":4,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.345,-2.116],[-0.012,-8.521],[0.005,3.166],[-5.427,4.898]],"o":[[-6.326,5.71],[0.005,3.155],[-0.01,-7.312],[2.35,-2.121]],"v":[[2.035,-11.639],[-7.773,10.489],[-2.865,10.589],[5.435,-8.097]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.134,47.925],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[30.677,-5.375],[-3.591,-33.573],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-15.338,-14.295],[8.337,17.731],[15.14,19.67]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.619607843137,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[123.346,19.92],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.318,16.626],[13.217,-13.208],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-1.134,-23.29],[-13.184,13.31],[-5.012,23.29]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501038076363,0.618889722637,0.709803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[205.191,62.41],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[42.565,0.864],[3.116,-0.302],[-0.677,-0.014],[0.826,-40.723],[38.181,-3.7],[-1.499,40.056]],"o":[[-3.212,-0.065],[0.673,-0.003],[42.566,0.864],[-0.765,37.65],[43.324,4.532],[1.688,-45.112]],"v":[[-33.34,-79.039],[-45.483,-78.196],[-43.463,-78.204],[32.882,-0.194],[-37.4,74.572],[43.794,0.189]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588235294118,0.129411764706,0.172549019608,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[143.671,115.884],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.043,-5.413],[-0.34,-0.811],[-1.504,0.568],[-1.032,1.233],[-2.193,2.618]],"o":[[-2.742,4.783],[-0.167,0.864],[0.621,1.484],[1.504,-0.569],[2.193,-2.618],[0,0]],"v":[[-2.331,-11.544],[-8.696,7.015],[-8.661,9.614],[-4.519,10.976],[-0.883,7.892],[9.001,-1.532]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.756862745098,0.894117647059,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.946,181.579],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.822,-5.451],[0.373,-0.797],[1.48,0.629],[0.982,1.273],[2.084,2.705]],"o":[[2.545,4.89],[0.131,0.87],[-0.68,1.457],[-1.479,-0.63],[-2.084,-2.705],[0,0]],"v":[[4.959,-11.355],[8.551,6.939],[8.411,9.534],[4.217,10.727],[0.709,7.498],[-8.783,-2.32]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.756862745098,0.894117647059,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[157.414,184.025],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[29.94,0.608],[-0.608,29.94],[-29.94,-0.607],[0.607,-29.94]],"o":[[-29.94,-0.608],[0.608,-29.939],[29.939,0.608],[-0.608,29.94]],"v":[[-1.1,54.21],[-54.21,-1.101],[1.101,-54.211],[54.211,1.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[42.347,0.86],[0.859,-42.347],[-42.347,-0.859],[-0.86,42.347]],"o":[[-42.347,-0.859],[-0.86,42.347],[42.347,0.86],[0.859,-42.347]],"v":[[1.557,-76.677],[-76.676,-1.557],[-1.556,76.676],[76.677,1.556]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.800000059838,0.133333333333,0.160784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.573,113.931],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 24","np":4,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.073,0.432],[-17.047,-0.346],[0,0],[0,0],[32.05,0.791],[0,0]],"o":[[0,0],[17.048,0.346],[0,0],[0,0],[-29.671,-0.732],[0,0]],"v":[[-14.37,15.778],[-1.847,-5.633],[11.77,15.266],[27.212,17.998],[-1.189,-20.052],[-30.032,20.784]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.756862745098,0.894117647059,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.275,21.592],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.359,0.318],[1.953,1.879],[0,0],[21.461,-15.7],[0,0],[0,0],[-2.899,-1.777],[-4.166,2.934],[0.011,0.585]],"o":[[-1.003,-0.889],[0,0],[0,0],[-21.461,15.699],[0,0],[2.898,1.776],[2.119,-4.635],[0.478,-0.337],[-0.01,-0.479]],"v":[[22.404,6.061],[17.022,0.924],[33.459,-18.15],[-11.998,-16.899],[-13.003,32.598],[3.801,14.872],[12.497,20.201],[22.15,8.576],[23.159,7.234]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.756862745098,0.894117647059,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.709,50.342],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.371,0.303],[-2.028,1.798],[0,0],[-20.806,-16.558],[0,0],[0,0],[2.968,-1.657],[4.043,3.101],[-0.036,0.583]],"o":[[1.039,-0.848],[0,0],[0,0],[20.806,16.557],[0,0],[-2.969,1.657],[-1.929,-4.716],[-0.464,-0.355],[0.028,-0.478]],"v":[[-22.365,0.743],[-19.681,-4.08],[-32.927,-17.385],[12.121,-16.469],[11.117,33.028],[-2.771,16.649],[-13.859,19.605],[-23.032,7.598],[-26.11,3.891]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.756862745098,0.894117647059,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[186.81,51.075],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.614,-30.25],[30.25,0.614],[-0.614,30.251],[-30.25,-0.614]],"o":[[-0.614,30.251],[-30.251,-0.614],[0.614,-30.25],[30.251,0.614]],"v":[[54.774,1.111],[-1.111,54.773],[-54.773,-1.113],[1.111,-54.773]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.961,115.059],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":1,"nm":"BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"sw":500,"sh":500,"sc":"#ffffff","ip":0,"op":91,"st":0,"bm":0}],"markers":[]} diff --git a/example/assets/lottie/geometrical-animation.json b/example/assets/lottie/geometrical-animation.json new file mode 100644 index 00000000..8b20fb5d --- /dev/null +++ b/example/assets/lottie/geometrical-animation.json @@ -0,0 +1 @@ +{"ddd":0,"fr":60,"h":360,"ip":0,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"","ln":"hSwnTNcHYkOnvQ8Uf62yh","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":1,"k":[{"t":0,"s":[320,-65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":81,"s":[320,-65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":82,"s":[320,-64.87],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":83,"s":[320,-63.42],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":84,"s":[319.99,-60.37],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":85,"s":[319.98,-55.7],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":86,"s":[319.97,-49.43],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":87,"s":[319.95,-41.55],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":88,"s":[319.93,-32.06],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":89,"s":[319.91,-20.96],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":90,"s":[319.88,-8.26],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":91,"s":[319.85,6.06],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":92,"s":[319.82,21.98],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":93,"s":[319.79,39.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":94,"s":[319.75,58.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":95,"s":[319.71,79.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":96,"s":[319.66,101.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":97,"s":[319.61,125.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":98,"s":[319.56,151.29],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":99,"s":[319.5,178.47],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":100,"s":[319.53,167.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":101,"s":[319.55,155.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":102,"s":[319.57,145.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":103,"s":[327.56,133.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":104,"s":[331.88,124.11],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":105,"s":[332.11,118.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":106,"s":[329.67,116.28],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":107,"s":[326.56,115.77],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":108,"s":[324.31,116.44],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":109,"s":[323.54,117.98],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":110,"s":[324.02,120.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":111,"s":[325.08,124.34],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":112,"s":[326.06,129.83],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":113,"s":[326.58,137.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":114,"s":[326.59,146.33],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":115,"s":[326.26,157.29],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":116,"s":[325.85,169.89],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":117,"s":[325.56,173.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":118,"s":[325.48,168.34],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":119,"s":[325.54,164.5],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":120,"s":[325.68,162.22],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":121,"s":[325.81,161.56],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":122,"s":[325.87,162.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":123,"s":[325.87,165.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":124,"s":[325.82,169.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":125,"s":[325.76,175.26],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":126,"s":[325.73,174.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":127,"s":[325.73,173.2],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":128,"s":[325.73,173.33],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":129,"s":[325.73,175.07],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":130,"s":[325.73,176.89],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":145,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"rc","hd":false,"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":10},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":96,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":97,"s":[139.2,80.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":98,"s":[189.06,55.47],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":99,"s":[225,37.5],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":100,"s":[237.29,31.35],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":101,"s":[229.6,35.2],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":102,"s":[212.5,43.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":103,"s":[195.66,52.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":104,"s":[180.35,59.83],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":105,"s":[166.51,66.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":106,"s":[154.06,72.97],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":107,"s":[142.95,78.53],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":108,"s":[133.1,83.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":109,"s":[124.44,87.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":110,"s":[116.91,91.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":111,"s":[110.45,94.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":112,"s":[104.97,97.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":113,"s":[100.43,99.79],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":114,"s":[96.73,101.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":115,"s":[93.83,103.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":116,"s":[91.66,104.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":117,"s":[90.13,104.93],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":118,"s":[89.2,105.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":119,"s":[88.78,105.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":120,"s":[88.82,105.59],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":121,"s":[89.25,105.38],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":122,"s":[89.99,105.01],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":123,"s":[90.98,104.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":124,"s":[92.15,103.92],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":125,"s":[93.44,103.28],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":126,"s":[94.77,102.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":127,"s":[96.09,101.96],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":128,"s":[97.32,101.34],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":129,"s":[98.39,100.81],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":130,"s":[99.24,100.38],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":131,"s":[99.8,100.1],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":132,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]}},{"ty":"fl","hd":false,"bm":0,"c":{"a":0,"k":[0.11,0.61,0.99]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]},{"ddd":0,"ind":2,"ty":4,"nm":"","ln":"TgYLWrSqgi41_qQKWKpHE","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":0,"s":[100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":40,"s":[100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":41,"s":[0],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"p":{"a":0,"k":[320,180]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":145,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"el","hd":false,"p":{"a":0,"k":[0,0]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":1,"s":[100.01,100.01],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":2,"s":[100.05,100.05],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":3,"s":[100.16,100.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":4,"s":[100.38,100.38],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":5,"s":[100.74,100.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":6,"s":[101.27,101.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":7,"s":[102.02,102.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":8,"s":[103.02,103.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":9,"s":[104.29,104.29],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":10,"s":[105.89,105.89],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":11,"s":[107.84,107.84],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":12,"s":[110.18,110.18],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":13,"s":[112.94,112.94],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":14,"s":[116.16,116.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":15,"s":[119.88,119.88],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":16,"s":[124.12,124.12],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":17,"s":[128.94,128.94],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":18,"s":[134.35,134.35],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":19,"s":[140.4,140.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":20,"s":[147.12,147.12],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":21,"s":[154.54,154.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":22,"s":[162.71,162.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":23,"s":[171.66,171.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":24,"s":[181.42,181.42],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":25,"s":[192.02,192.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":26,"s":[203.51,203.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":27,"s":[215.92,215.92],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":28,"s":[229.29,229.29],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":29,"s":[243.64,243.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":30,"s":[259.02,259.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":31,"s":[275.45,275.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":32,"s":[292.99,292.99],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":33,"s":[311.65,311.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":34,"s":[331.48,331.48],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":35,"s":[352.51,352.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":36,"s":[374.78,374.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":37,"s":[398.32,398.32],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":38,"s":[423.17,423.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":39,"s":[449.36,449.36],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":40,"s":[476.93,476.93],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":41,"s":[500,500],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"d":1},{"ty":"fl","hd":false,"bm":0,"c":{"a":0,"k":[0.51,0.35,0.62]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]},{"ddd":0,"ind":3,"ty":4,"nm":"","ln":"W4GQlOKzgcbpuLg8PPu2F","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":1,"s":[0],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":2,"s":[0.01],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":3,"s":[0.03],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":4,"s":[0.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":5,"s":[0.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":6,"s":[0.26],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":7,"s":[0.41],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":8,"s":[0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":9,"s":[0.87],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":10,"s":[1.19],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":11,"s":[1.58],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":12,"s":[2.06],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":13,"s":[2.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":14,"s":[3.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":15,"s":[4.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":16,"s":[4.87],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":17,"s":[5.85],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":18,"s":[6.94],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":19,"s":[8.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":20,"s":[9.52],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":21,"s":[11.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":22,"s":[12.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":23,"s":[14.48],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":24,"s":[16.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":25,"s":[18.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":26,"s":[20.92],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":27,"s":[23.42],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":28,"s":[26.12],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":29,"s":[29.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":30,"s":[32.13],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":31,"s":[35.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":32,"s":[39],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":33,"s":[42.77],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":34,"s":[46.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":35,"s":[51.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":36,"s":[55.52],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":37,"s":[60.28],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":38,"s":[65.3],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":39,"s":[70.59],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":40,"s":[76.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":41,"s":[82.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":42,"s":[88.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":43,"s":[94.62],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":44,"s":[100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"p":{"a":1,"k":[{"t":0,"s":[319.5,179.5],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":95,"s":[319.5,179.5],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":96,"s":[319.5,205.44],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":97,"s":[319.5,268.44],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":98,"s":[319.5,340.76],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":99,"s":[319.5,407.33],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":100,"s":[319.5,457.85],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":101,"s":[319.5,487.4],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":102,"s":[319.5,495.98],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":103,"s":[319.5,487.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":104,"s":[319.5,467.12],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":105,"s":[319.5,441.89],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":106,"s":[319.5,417.31],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":107,"s":[319.5,397.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":108,"s":[319.5,384.87],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":109,"s":[319.5,379.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":110,"s":[319.5,381.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":111,"s":[319.5,387.46],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":112,"s":[319.5,396.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":113,"s":[319.5,405.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":114,"s":[319.5,412.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":115,"s":[319.5,417.86],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":116,"s":[319.5,420.43],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":117,"s":[319.5,420.52],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":118,"s":[319.5,418.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":119,"s":[319.5,415.85],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":120,"s":[319.5,412.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":121,"s":[319.5,409.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":122,"s":[319.5,407.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":123,"s":[319.5,406.48],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":124,"s":[319.5,406.21],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":125,"s":[319.5,406.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":126,"s":[319.5,407.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":127,"s":[319.5,408.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":128,"s":[319.5,409.81],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":129,"s":[319.5,410.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":130,"s":[319.5,411.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":131,"s":[319.5,411.34],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":132,"s":[319.5,411.24],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":133,"s":[319.5,410.95],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":134,"s":[319.5,410.56],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":135,"s":[319.5,410.17],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":136,"s":[319.5,409.85],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":137,"s":[319.5,409.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":138,"s":[319.5,409.53],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":139,"s":[319.5,409.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":140,"s":[319.5,409.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":141,"s":[319.5,409.76],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":142,"s":[319.5,409.9],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":143,"s":[319.5,410.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":144,"s":[319.5,410.11],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":145,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"el","hd":false,"p":{"a":0,"k":[0,0]},"s":{"a":1,"k":[{"t":0,"s":[500,500],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":40,"s":[500,500],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":41,"s":[494.15,494.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":42,"s":[465.73,465.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":43,"s":[438.72,438.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":44,"s":[413.07,413.07],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":45,"s":[388.75,388.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":46,"s":[365.72,365.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":47,"s":[343.95,343.95],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":48,"s":[323.41,323.41],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":49,"s":[304.05,304.05],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":50,"s":[285.84,285.84],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":51,"s":[268.75,268.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":52,"s":[252.74,252.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":53,"s":[237.78,237.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":54,"s":[223.82,223.82],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":55,"s":[210.85,210.85],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":56,"s":[198.81,198.81],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":57,"s":[187.68,187.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":58,"s":[177.41,177.41],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":59,"s":[167.98,167.98],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":60,"s":[159.35,159.35],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":61,"s":[151.49,151.49],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":62,"s":[144.35,144.35],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":63,"s":[137.9,137.9],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":64,"s":[132.11,132.11],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":65,"s":[126.94,126.94],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":66,"s":[122.36,122.36],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":67,"s":[118.33,118.33],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":68,"s":[114.81,114.81],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":69,"s":[111.78,111.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":70,"s":[109.19,109.19],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":71,"s":[107.01,107.01],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":72,"s":[105.21,105.21],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":73,"s":[103.75,103.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":74,"s":[102.59,102.59],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":75,"s":[101.69,101.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":76,"s":[101.03,101.03],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":77,"s":[100.57,100.57],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":78,"s":[100.27,100.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":79,"s":[100.1,100.1],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":80,"s":[100.02,100.02],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":81,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":95,"s":[100,100],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":96,"s":[122.51,91],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":97,"s":[177.17,69.13],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":98,"s":[239.92,44.03],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":99,"s":[297.68,20.93],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":100,"s":[341.51,3.39],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":101,"s":[367.16,6.86],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":102,"s":[374.6,9.84],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":103,"s":[367.05,6.82],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":104,"s":[349.56,0.18],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":105,"s":[327.67,8.93],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":106,"s":[306.34,17.46],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":107,"s":[289.19,24.32],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":108,"s":[278.2,28.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":109,"s":[273.78,30.49],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":110,"s":[275.07,29.97],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":111,"s":[280.44,27.82],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":112,"s":[287.92,24.83],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":113,"s":[295.68,21.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":114,"s":[302.27,19.09],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":115,"s":[306.82,17.27],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":116,"s":[309.05,16.38],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":117,"s":[309.12,16.35],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":118,"s":[307.57,16.97],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":119,"s":[305.07,17.97],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":120,"s":[302.3,19.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":121,"s":[299.81,20.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":122,"s":[297.97,20.81],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":123,"s":[296.95,21.22],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":124,"s":[296.71,21.31],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":125,"s":[297.12,21.15],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":126,"s":[297.93,20.83],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":127,"s":[298.9,20.44],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":128,"s":[299.83,20.07],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":129,"s":[300.56,19.78],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":130,"s":[301.01,19.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":131,"s":[301.16,19.53],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":132,"s":[301.08,19.57],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":133,"s":[300.82,19.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":134,"s":[300.49,19.8],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":135,"s":[300.15,19.94],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":136,"s":[299.87,20.05],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":137,"s":[299.68,20.13],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":138,"s":[299.59,20.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":139,"s":[299.6,20.16],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":140,"s":[299.68,20.13],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":141,"s":[299.79,20.08],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":142,"s":[299.91,20.03],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":143,"s":[300.02,19.99],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":144,"s":[300.1,19.96],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"d":1},{"ty":"fl","hd":false,"bm":0,"c":{"a":0,"k":[0.99,0.45,0.45]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]},{"ddd":0,"ind":4,"ty":4,"nm":"","ln":"hC5TWAZ64OS40oO_OWzmK","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[320,180]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":145,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"rc","hd":false,"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[640,360]}},{"ty":"fl","hd":false,"bm":0,"c":{"a":1,"k":[{"t":0,"s":[0.99,0.45,0.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":42,"s":[0.99,0.45,0.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":43,"s":[0.98,0.44,0.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":44,"s":[0.97,0.44,0.45],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":45,"s":[0.96,0.44,0.46],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":46,"s":[0.95,0.44,0.46],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":47,"s":[0.93,0.44,0.47],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":48,"s":[0.92,0.43,0.47],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":49,"s":[0.9,0.43,0.48],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":50,"s":[0.88,0.42,0.49],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":51,"s":[0.86,0.42,0.5],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":52,"s":[0.84,0.42,0.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":53,"s":[0.82,0.41,0.51],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":54,"s":[0.8,0.4,0.52],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":55,"s":[0.78,0.4,0.53],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":56,"s":[0.76,0.4,0.53],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":57,"s":[0.74,0.39,0.54],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":58,"s":[0.72,0.39,0.55],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":59,"s":[0.71,0.39,0.55],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":60,"s":[0.69,0.38,0.56],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":61,"s":[0.67,0.38,0.56],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":62,"s":[0.66,0.38,0.57],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":63,"s":[0.65,0.38,0.57],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":64,"s":[0.64,0.37,0.58],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":65,"s":[0.63,0.37,0.58],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":66,"s":[0.62,0.37,0.58],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":67,"s":[0.61,0.36,0.59],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":68,"s":[0.6,0.36,0.59],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":69,"s":[0.59,0.36,0.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":70,"s":[0.58,0.36,0.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":71,"s":[0.58,0.36,0.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":72,"s":[0.57,0.36,0.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":73,"s":[0.56,0.36,0.6],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":74,"s":[0.56,0.36,0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":75,"s":[0.55,0.35,0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":76,"s":[0.55,0.35,0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":77,"s":[0.54,0.35,0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":78,"s":[0.54,0.35,0.61],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":79,"s":[0.53,0.35,0.62],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":82,"s":[0.53,0.35,0.62],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":83,"s":[0.52,0.36,0.62],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":84,"s":[0.52,0.37,0.62],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":85,"s":[0.51,0.38,0.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":86,"s":[0.51,0.39,0.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":87,"s":[0.51,0.4,0.63],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":88,"s":[0.51,0.4,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":89,"s":[0.5,0.42,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":90,"s":[0.5,0.42,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":91,"s":[0.5,0.43,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":92,"s":[0.49,0.44,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":93,"s":[0.49,0.45,0.64],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":94,"s":[0.49,0.46,0.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":95,"s":[0.48,0.47,0.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":96,"s":[0.48,0.48,0.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":97,"s":[0.48,0.49,0.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":98,"s":[0.47,0.49,0.65],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":99,"s":[0.47,0.5,0.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":100,"s":[0.47,0.51,0.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":101,"s":[0.47,0.52,0.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":102,"s":[0.46,0.53,0.66],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":103,"s":[0.46,0.54,0.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":104,"s":[0.45,0.55,0.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":105,"s":[0.45,0.56,0.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":106,"s":[0.45,0.56,0.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":107,"s":[0.45,0.57,0.67],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":108,"s":[0.44,0.58,0.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":109,"s":[0.44,0.59,0.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":110,"s":[0.44,0.6,0.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":111,"s":[0.44,0.61,0.68],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":112,"s":[0.43,0.62,0.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":113,"s":[0.43,0.63,0.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":114,"s":[0.43,0.64,0.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":115,"s":[0.42,0.64,0.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":116,"s":[0.42,0.65,0.69],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":117,"s":[0.42,0.66,0.7],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":118,"s":[0.41,0.67,0.7],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":119,"s":[0.41,0.68,0.7],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":120,"s":[0.41,0.69,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":121,"s":[0.4,0.7,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":122,"s":[0.4,0.71,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":123,"s":[0.4,0.72,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":124,"s":[0.4,0.73,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":125,"s":[0.39,0.73,0.71],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":126,"s":[0.39,0.74,0.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":127,"s":[0.38,0.75,0.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":128,"s":[0.38,0.76,0.72],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":129,"s":[0.38,0.77,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":130,"s":[0.38,0.78,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":131,"s":[0.37,0.79,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":132,"s":[0.37,0.8,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":133,"s":[0.37,0.8,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":134,"s":[0.36,0.81,0.73],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":135,"s":[0.36,0.82,0.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":136,"s":[0.36,0.83,0.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":137,"s":[0.35,0.84,0.74],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":138,"s":[0.35,0.85,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":139,"s":[0.35,0.86,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":140,"s":[0.35,0.87,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":141,"s":[0.34,0.87,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":142,"s":[0.34,0.88,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":143,"s":[0.34,0.89,0.75],"i":{"x":0,"y":0},"o":{"x":1,"y":1}},{"t":144,"s":[0.33,0.9,0.76],"i":{"x":0,"y":0},"o":{"x":1,"y":1}}]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]}],"meta":{"g":"https://jitter.video"},"nm":"New-file","op":145,"v":"5.7.4","w":640,"assets":[]} \ No newline at end of file diff --git a/example/assets/lottie/hamburger_arrow.json b/example/assets/lottie/hamburger_arrow.json new file mode 100644 index 00000000..886cc575 --- /dev/null +++ b/example/assets/lottie/hamburger_arrow.json @@ -0,0 +1 @@ +{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Rotator","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[190.7]},{"i":{"x":[0.562],"y":[1]},"o":{"x":[0.398],"y":[0]},"n":["0p562_1_0p398_0"],"t":33,"s":[190.7],"e":[176.1]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.31],"y":[0]},"n":["0p684_1_0p31_0"],"t":40.5,"s":[176.1],"e":[181.8]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.438],"y":[0]},"n":["0p684_1_0p438_0"],"t":55,"s":[181.8],"e":[180]},{"i":{"x":[0.733],"y":[0.733]},"o":{"x":[0.385],"y":[0.385]},"n":["0p733_0p733_0p385_0p385"],"t":71,"s":[180],"e":[180]},{"i":{"x":[0.092],"y":[1]},"o":{"x":[0.406],"y":[0]},"n":["0p092_1_0p406_0"],"t":111,"s":[180],"e":[167.9]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[167.9],"e":[363]},{"i":{"x":[0.462],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p462_1_0p167_0"],"t":134,"s":[363],"e":[360]},{"t":141}]},"p":{"k":[200.5,149.375,0]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"A1","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[-45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[-45],"e":[-45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[-45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,82.875,0],"e":[96.2,57.055,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":33,"s":[96.2,57.055,0],"e":[96.2,57.055,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,57.055,0],"e":[94.5,82.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,22.25,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":[[-34,22.25],[35,22.25]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"A2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[60,60.625,0]},"a":{"k":[0.5,0,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":[[-34,0],[35,0]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"A3","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[45],"e":[45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,37.125,0],"e":[96.2,64.045,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":33,"s":[96.2,64.045,0],"e":[96.2,64.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,64.045,0],"e":[94.5,37.125,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,-23.5,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":[[-34,-23.5],[35,-23.5]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1}],"v":"4.4.26","ddd":0,"ip":0,"op":180,"fr":30,"w":400,"h":300} \ No newline at end of file diff --git a/example/assets/lottie/wrong/rocket-lottie-v439.json b/example/assets/lottie/wrong/rocket-lottie-v439.json new file mode 100644 index 00000000..d7b22410 --- /dev/null +++ b/example/assets/lottie/wrong/rocket-lottie-v439.json @@ -0,0 +1 @@ +{"v":"4.3.9","fr":30,"ip":0,"op":80,"w":512,"h":512,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Group 28","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[27,27,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-456.463],[456.463,0],[0,456.463],[-456.463,0]],"o":[[0,456.463],[-456.463,0],[0,-456.463],[456.463,0]],"v":[[826.5,0],[0,826.5],[-826.5,0],[0,-826.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[993.5,1004.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 26","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80.4,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 1","tt":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[924,924,0],"ix":1},"s":{"a":0,"k":[27,27,100],"ix":6}},"ao":0,"w":1848,"h":1848,"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"stars","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[27,27,100],"ix":6}},"ao":0,"w":1920,"h":1920,"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"moon","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[232,318,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[27,27,100],"ix":6}},"ao":0,"w":1920,"h":1920,"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Group 26","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[27,27,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-456.463],[456.463,0],[0,456.463],[-456.463,0]],"o":[[0,456.463],[-456.463,0],[0,-456.463],[456.463,0]],"v":[[826.5,0],[0,826.5],[-826.5,0],[0,-826.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.059000000299,0.105999995213,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[993.5,1004.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 26","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80.4,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Group 27","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[28,28,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-456.463],[456.463,0],[0,456.463],[-456.463,0]],"o":[[0,456.463],[-456.463,0],[0,-456.463],[456.463,0]],"v":[[826.5,0],[0,826.5],[-826.5,0],[0,-826.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[993.5,1004.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 26","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80.4,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"fire","parent":3,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[964,956,0],"ix":2},"a":{"a":0,"k":[901,901,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1802,"h":1802,"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Group 15","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1030.471,1036.5,0],"ix":2},"a":{"a":0,"k":[1021.471,1052.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49.2,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-83,200.5],[50.586,-13.622],[12,-200.5],[-88,-47.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50.4,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-115,142.5],[-10.414,-76.622],[-47,-222.5],[-108,-91.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51.6,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-162,104.5],[-52.414,-107.622],[-83,-232.5],[-134,-119.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-226,24.5],[-124.414,-195.622],[-113,-328.5],[-176,-190.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55.2,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-309.5,-24.5],[-213.414,-268.622],[-145,-351.5],[-213,-197]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56.4,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-383,-63.5],[-268.414,-315.622],[-177,-374.5],[-262,-209.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.8,"s":[{"i":[[0,0],[-30.767,69.796],[0,0],[0,0]],"o":[[0,0],[37.414,-84.878],[0,0],[0,0]],"v":[[-446,-106.5],[-361.414,-335.622],[-242,-393.5],[-320,-224.5]],"c":true}]},{"t":60,"s":[{"i":[[0,0],[-42.586,62.122],[0,0],[0,0]],"o":[[0,0],[52.447,-76.507],[0,0],[0,0]],"v":[[-589,-125.5],[-472.414,-318.622],[-293,-388.5],[-378,-214.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.682352941176,0.003921568627,0.066666666667,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1175,1309.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 15","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80.4,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"rocket","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.25,"y":1},"o":{"x":0.75,"y":0},"t":0,"s":[316,2208,0],"to":[128,-205.333,0],"ti":[-128,205.333,0]},{"i":{"x":0.25,"y":0.25},"o":{"x":0.167,"y":0.167},"t":14.4,"s":[1084,976,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0},"t":15.6,"s":[1084,976,0],"to":[-38,-88.667,0],"ti":[170.667,2.667,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.75,"y":0},"t":31.2,"s":[736,708,0],"to":[-55.834,-0.872,0],"ti":[-2.667,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0},"t":46.8,"s":[1312,1020,0],"to":[2.667,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0},"t":49.2,"s":[1312,1020,0],"to":[0,0,0],"ti":[38,7.333,0]},{"i":{"x":0.25,"y":0.25},"o":{"x":0.167,"y":0.167},"t":60,"s":[1084,976,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.75,"y":0},"t":61.2,"s":[1084,976,0],"to":[156,-231.333,0],"ti":[-156,231.333,0]},{"t":84,"s":[2020,-412,0]}],"ix":2},"a":{"a":0,"k":[1104,908,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1920,"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Group 16","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1030.805,1021.57,0],"ix":2},"a":{"a":0,"k":[1018.805,1043.57,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":46.8,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[-148.805,133.5],[-27.805,-70.5],[148.805,-133.36],[68.195,35.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50.4,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[-100.805,179.5],[34.195,-48.5],[206.805,-123.36],[104.195,51.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51.6,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[19.195,207.5],[154.195,-40.5],[320.805,-63.36],[218.195,81.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[135.195,253.5],[226.195,11.5],[388.805,-51.36],[302.195,97.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56.4,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[193.195,287.5],[304.195,31.5],[446.805,-35.36],[354.195,125.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[301.195,337.5],[486.195,71.5],[496.805,-3.36],[398.195,139.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.8,"s":[{"i":[[0,0],[-43,63],[0,0],[0,0]],"o":[[0,0],[43,-63],[0,0],[0,0]],"v":[[343.195,337.5],[526.195,87.5],[496.805,-3.36],[398.195,139.5]],"c":true}]},{"t":60,"s":[{"i":[[0,0],[-6.83,107.011],[0,0],[0,0]],"o":[[0,0],[3,-47],[0,0],[0,0]],"v":[[377.195,407.5],[532.195,107.5],[478.805,20.64],[362.195,193.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.682352941176,0.003921568627,0.066666666667,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[730.805,1059.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80.4,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Group 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":29,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"t":89,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[901,901,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-97,-35]],"o":[[0,0],[147.186,53.108]],"v":[[-133.093,136.5],[-14.093,-101.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.736999990426,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[894.093,1343.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Group 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[100]},{"t":96,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[901,901,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-140.813,-50.809]],"o":[[0,0],[213.667,77.097]],"v":[[-193.208,198.155],[-20.458,-147.346]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.964999988032,0.375999989229,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[894.313,1386.295],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Group 11","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":78,"s":[100]},{"t":107,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[901,901,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-160.929,-58.068]],"o":[[0,0],[244.191,88.11]],"v":[[-220.81,226.463],[-23.381,-168.395]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.698000021542,0.122000002394,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[894.975,1403.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":4,"ty":4,"nm":"Group 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[88.734,51.553],[10.451,28.492],[0,0],[-93,-50],[0,0],[0,0]],"o":[[-65.217,-37.89],[0,0],[0,0],[93,50],[0,0],[-16.562,2.153]],"v":[[-40.608,9.41],[-142.81,-105.99],[-157.599,-75.01],[-49.599,55.99],[136.401,81.99],[157.599,49.668]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[949.6,1182.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Group 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-143,-8],[0,0]],"o":[[0,0],[109.833,6.145],[0,0]],"v":[[-188.417,-20.89],[78.583,-144.89],[155.773,152.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.681045711742,0.002670767261,0.066517878514,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1251.417,597.89],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Group 17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,53.187],[110.457,0],[41.89,-80.779],[0,0],[-93,-50],[0,0],[0,0]],"o":[[0,-110.457],[-93.471,0],[0,0],[0,0],[93,50],[0,0],[34,-49]],"v":[[305,-182],[105,-382],[-94,-241],[-305,201],[-197,332],[-11,358],[252,-43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1104,894],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 17","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Group 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"t":90,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540.5,467.5,0],"ix":2},"a":{"a":0,"k":[540.5,467.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.008],[8.008,0],[0,8.008],[-8.008,0]],"o":[[0,8.008],[-8.008,0],[0,-8.008],[8.008,0]],"v":[[14.5,0],[0,14.5],[-14.5,0],[0,-14.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[540.5,467.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Group 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":2.4,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":32.4,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[100]},{"t":92,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[306.5,833.5,0],"ix":2},"a":{"a":0,"k":[306.5,833.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.142],[4.142,0],[0,4.142],[-4.142,0]],"o":[[0,4.142],[-4.142,0],[0,-4.142],[4.142,0]],"v":[[7.5,0],[0,7.5],[-7.5,0],[0,-7.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.5,833.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Group 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":36,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[100]},{"t":97,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1338.5,1187.5,0],"ix":2},"a":{"a":0,"k":[1338.5,1187.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.762],[2.762,0],[0,2.762],[-2.762,0]],"o":[[0,2.762],[-2.762,0],[0,-2.762],[2.762,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1338.5,1187.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Group 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"t":90,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1070.5,1630.5,0],"ix":2},"a":{"a":0,"k":[1070.5,1630.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.008],[8.008,0],[0,8.008],[-8.008,0]],"o":[[0,8.008],[-8.008,0],[0,-8.008],[8.008,0]],"v":[[14.5,0],[0,14.5],[-14.5,0],[0,-14.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1070.5,1630.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Group 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":2.4,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":32.4,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":63,"s":[100]},{"t":93,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1077.5,312.5,0],"ix":2},"a":{"a":0,"k":[1077.5,312.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-5.523],[5.522,0],[0,5.523],[-5.522,0]],"o":[[0,5.523],[-5.522,0],[0,-5.523],[5.522,0]],"v":[[10,0],[0,10],[-10,0],[0,-10]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1077.5,312.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Group 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"t":90,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1560.5,1285.5,0],"ix":2},"a":{"a":0,"k":[1560.5,1285.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-5.522],[5.522,0],[0,5.522],[-5.522,0]],"o":[[0,5.522],[-5.522,0],[0,-5.522],[5.522,0]],"v":[[10,0],[0,10],[-10,0],[0,-10]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1560.5,1285.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Group 6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3.6,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":33.6,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[100]},{"t":97,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[335.5,1193.5,0],"ix":2},"a":{"a":0,"k":[335.5,1193.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.008],[8.008,0],[0,8.008],[-8.008,0]],"o":[[0,8.008],[-8.008,0],[0,-8.008],[8.008,0]],"v":[[14.5,0],[0,14.5],[-14.5,0],[0,-14.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[335.5,1193.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Group 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"t":90,"s":[30]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('pingpong');"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[701.5,727.5,0],"ix":2},"a":{"a":0,"k":[701.5,727.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-2.761],[2.761,0],[0,2.761],[-2.761,0]],"o":[[0,2.761],[-2.761,0],[0,-2.761],[2.761,0]],"v":[[5,0],[0,5],[-5,0],[0,-5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[701.5,727.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Group 18","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.941],[9.941,0],[0,9.941],[-9.941,0]],"o":[[0,9.941],[-9.941,0],[0,-9.941],[9.941,0]],"v":[[18,0],[0,18],[-18,0],[0,-18]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1451,698],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 18","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Group 19","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-23.196],[23.196,0],[0,23.196],[-23.196,0]],"o":[[0,23.196],[-23.196,0],[0,-23.196],[23.196,0]],"v":[[42,0],[0,42],[-42,0],[0,-42]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1430,834],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 19","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Group 20","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-23.748],[23.748,0],[0,23.748],[-23.748,0]],"o":[[0,23.748],[-23.748,0],[0,-23.748],[23.748,0]],"v":[[43,0],[0,43],[-43,0],[0,-43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1388,811],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 20","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Group 21","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-12.426],[12.15,0],[0,12.426],[-12.15,0]],"o":[[0,12.426],[-12.15,0],[0,-12.426],[12.15,0]],"v":[[22,0],[0,22.5],[-22,0],[0,-22.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1644,811.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 21","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Group 22","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-18.501],[18.502,0],[0,18.501],[-18.502,0]],"o":[[0,18.501],[-18.502,0],[0,-18.501],[18.502,0]],"v":[[33.5,0],[0,33.5],[-33.5,0],[0,-33.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1642.5,774.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 22","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Group 23","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-22.92],[22.92,0],[0,22.92],[-22.92,0]],"o":[[0,22.92],[-22.92,0],[0,-22.92],[22.92,0]],"v":[[41.5,0],[0,41.5],[-41.5,0],[0,-41.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1634.5,961.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 23","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Group 24","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[49.228,0],[0,143.318],[-52.811,47.503],[0,-94.09],[-143.318,0],[-45.968,41.347]],"o":[[-143.318,0],[0,-76.624],[-74.954,45.502],[0,143.318],[66.693,0],[-39.216,23.807]],"v":[[82.015,211.742],[-177.485,-47.758],[-91.455,-240.742],[-216.485,-18.758],[43.015,240.742],[216.485,174.227]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.838999968884,0.517999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1434.485,852.258],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 24","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Group 25","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[960,960,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-143.318],[143.318,0],[0,143.318],[-143.318,0]],"o":[[0,143.318],[-143.318,0],[0,-143.318],[143.318,0]],"v":[[259.5,0],[0,259.5],[-259.5,0],[0,-259.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.889999988032,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1477.5,833.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"rockstick","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,240,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":512,"h":512,"ip":0,"op":80,"st":0,"bm":0}],"markers":[]} diff --git a/example/lib/gen/assets.gen.dart b/example/lib/gen/assets.gen.dart index 8b5dfb9f..e9917b04 100644 --- a/example/lib/gen/assets.gen.dart +++ b/example/lib/gen/assets.gen.dart @@ -13,6 +13,7 @@ import 'package:flutter/services.dart'; import 'package:flare_flutter/flare_actor.dart'; import 'package:flare_flutter/flare_controller.dart'; import 'package:rive/rive.dart'; +import 'package:lottie/lottie.dart'; class $AssetsFlareGen { const $AssetsFlareGen(); @@ -62,6 +63,28 @@ class $AssetsJsonGen { List get values => [fruits]; } +class $AssetsLottieGen { + const $AssetsLottieGen(); + + /// File path: assets/lottie/alarm-clock-lottie-v440.json + LottieGenImage get alarmClockLottieV440 => + const LottieGenImage('assets/lottie/alarm-clock-lottie-v440.json'); + + /// File path: assets/lottie/geometrical-animation.json + LottieGenImage get geometricalAnimation => + const LottieGenImage('assets/lottie/geometrical-animation.json'); + + /// File path: assets/lottie/hamburger_arrow.json + LottieGenImage get hamburgerArrow => + const LottieGenImage('assets/lottie/hamburger_arrow.json'); + + $AssetsLottieWrongGen get wrong => const $AssetsLottieWrongGen(); + + /// List of all assets + List get values => + [alarmClockLottieV440, geometricalAnimation, hamburgerArrow]; +} + class $AssetsMovieGen { const $AssetsMovieGen(); @@ -130,12 +153,23 @@ class $AssetsImagesIconsGen { List get values => [dartTest, fuchsia, kmm, paint]; } +class $AssetsLottieWrongGen { + const $AssetsLottieWrongGen(); + + /// File path: assets/lottie/wrong/rocket-lottie-v439.json + String get rocketLottieV439 => 'assets/lottie/wrong/rocket-lottie-v439.json'; + + /// List of all assets + List get values => [rocketLottieV439]; +} + class MyAssets { MyAssets._(); static const $AssetsFlareGen flare = $AssetsFlareGen(); static const $AssetsImagesGen images = $AssetsImagesGen(); static const $AssetsJsonGen json = $AssetsJsonGen(); + static const $AssetsLottieGen lottie = $AssetsLottieGen(); static const $AssetsMovieGen movie = $AssetsMovieGen(); static const $AssetsRiveGen rive = $AssetsRiveGen(); static const $AssetsUnknownGen unknown = $AssetsUnknownGen(); @@ -328,3 +362,59 @@ class RiveGenImage { String get path => _assetName; } + +class LottieGenImage { + const LottieGenImage(this._assetName); + + final String _assetName; + + LottieBuilder lottie({ + Animation? controller, + bool? animate, + FrameRate? frameRate, + bool? repeat, + bool? reverse, + LottieDelegates? delegates, + LottieOptions? options, + void Function(LottieComposition)? onLoaded, + LottieImageProviderFactory? imageProviderFactory, + Key? key, + AssetBundle? bundle, + Widget Function(BuildContext, Widget, LottieComposition?)? frameBuilder, + ImageErrorWidgetBuilder? errorBuilder, + double? width, + double? height, + BoxFit? fit, + AlignmentGeometry? alignment, + String? package, + bool? addRepaintBoundary, + FilterQuality? filterQuality, + void Function(String)? onWarning, + }) { + return Lottie.asset( + _assetName, + animate: animate, + frameRate: frameRate, + repeat: repeat, + reverse: reverse, + delegates: delegates, + options: options, + onLoaded: onLoaded, + imageProviderFactory: imageProviderFactory, + key: key, + bundle: bundle, + frameBuilder: frameBuilder, + errorBuilder: errorBuilder, + width: width, + height: height, + fit: fit, + alignment: alignment, + package: package, + addRepaintBoundary: addRepaintBoundary, + filterQuality: filterQuality, + onWarning: onWarning, + ); + } + + String get path => _assetName; +} diff --git a/example/lib/main.dart b/example/lib/main.dart index bb03b2c4..ad9b52dc 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -43,6 +43,27 @@ void main() async { fit: BoxFit.contain, ), ), + SizedBox( + width: 200, + height: 200, + child: MyAssets.lottie.hamburgerArrow.lottie( + fit: BoxFit.contain, + ), + ), + SizedBox( + width: 200, + height: 200, + child: MyAssets.lottie.geometricalAnimation.lottie( + fit: BoxFit.contain, + ), + ), + SizedBox( + width: 200, + height: 200, + child: MyAssets.lottie.alarmClockLottieV440.lottie( + fit: BoxFit.contain, + ), + ), MyAssets.images.chip1.image(), Container( height: 400, diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 93674426..d92bab20 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: flutter_secure_storage: 5.0.2 auto_route: 3.2.4 gap: 2.0.0 - lottie: 1.3.0 + lottie: 1.4.1 flutter_layout_grid: 2.0.0 video_player: 2.4.0 audio_service: 0.18.4 @@ -119,6 +119,7 @@ flutter_gen: flutter_svg: true flare_flutter: true rive: true + lottie: true assets: enabled: true @@ -169,6 +170,8 @@ flutter: - pictures/chip5.jpg - assets/flare/ - assets/rive/ + - assets/lottie/ + - assets/lottie/wrong/ - assets/movie/ - assets/unknown/ fonts: diff --git a/packages/core/example/lib/main.dart b/packages/core/example/lib/main.dart index b90abec2..6f436501 100644 --- a/packages/core/example/lib/main.dart +++ b/packages/core/example/lib/main.dart @@ -38,6 +38,13 @@ void main() { fit: BoxFit.contain, ), ), + SizedBox( + width: 200, + height: 200, + child: Assets.lottie.hamburgerArrow.lottie( + fit: BoxFit.contain, + ), + ), Image(image: Assets.images.chip1), Assets.images.icons.kmm.svg(key: const Key("kmm_svg")), Assets.images.icons.fuchsia.svg(), diff --git a/packages/core/lib/generators/assets_generator.dart b/packages/core/lib/generators/assets_generator.dart index c4566df4..c710826c 100644 --- a/packages/core/lib/generators/assets_generator.dart +++ b/packages/core/lib/generators/assets_generator.dart @@ -17,6 +17,7 @@ import 'integrations/flare_integration.dart'; import 'integrations/integration.dart'; import 'integrations/rive_integration.dart'; import 'integrations/svg_integration.dart'; +import 'integrations/lottie_integration.dart'; class AssetsGenConfig { AssetsGenConfig._( @@ -29,7 +30,7 @@ class AssetsGenConfig { factory AssetsGenConfig.fromConfig(File pubspecFile, Config config) { return AssetsGenConfig._( - pubspecFile.parent.path, + pubspecFile.parent.absolute.path, config.pubspec.packageName, config.pubspec.flutterGen, config.pubspec.flutter.assets, @@ -66,6 +67,7 @@ String generateAssets( SvgIntegration(config.packageParameterLiteral), if (config.flutterGen.integrations.flareFlutter) FlareIntegration(), if (config.flutterGen.integrations.rive) RiveIntegration(), + if (config.flutterGen.integrations.lottie) LottieIntegration(), ]; // TODO: This code will be removed. @@ -213,15 +215,17 @@ List _getAssetRelativePathList( .toList(); } -AssetType _constructAssetTree(List assetRelativePathList) { +AssetType _constructAssetTree( + List assetRelativePathList, String rootPath) { // Relative path is the key final assetTypeMap = { - '.': AssetType('.'), + '.': AssetType(rootPath: rootPath, path: '.'), }; for (final assetPath in assetRelativePathList) { var path = assetPath; while (path != '.') { - assetTypeMap.putIfAbsent(path, () => AssetType(path)); + assetTypeMap.putIfAbsent( + path, () => AssetType(rootPath: rootPath, path: path)); path = dirname(path); } } @@ -309,7 +313,7 @@ String _dotDelimiterStyleDefinition( final assetsStaticStatements = <_Statement>[]; final assetTypeQueue = ListQueue.from( - _constructAssetTree(assetRelativePathList).children); + _constructAssetTree(assetRelativePathList, config.rootPath).children); while (assetTypeQueue.isNotEmpty) { final assetType = assetTypeQueue.removeFirst(); @@ -404,7 +408,7 @@ String _flatStyleDefinition( ) .distinct() .sorted() - .map((relativePath) => AssetType(relativePath)) + .map((assetPath) => AssetType(rootPath: config.rootPath, path: assetPath)) .mapToIsUniqueWithoutExtension() .map( (e) => _createAssetTypeStatement( diff --git a/packages/core/lib/generators/integrations/lottie_integration.dart b/packages/core/lib/generators/integrations/lottie_integration.dart new file mode 100644 index 00000000..64e81ae5 --- /dev/null +++ b/packages/core/lib/generators/integrations/lottie_integration.dart @@ -0,0 +1,118 @@ +import 'package:pub_semver/pub_semver.dart'; + +import '../../settings/asset_type.dart'; +import 'integration.dart'; +import 'dart:convert'; +import 'dart:io'; +import 'package:path/path.dart' as p; + +class LottieIntegration extends Integration { + // These are required keys for this integration. + static const lottieKeys = [ + 'w', // width + 'h', // height + 'ip', // The frame at which the Lottie animation starts at + 'op', // The frame at which the Lottie animation ends at + 'fr', // frame rate + 'v', // // Must include version + 'layers', // Must include layers + ]; + + @override + List get requiredImports => [ + 'package:lottie/lottie.dart', + ]; + + @override + String get classOutput => _classDefinition; + + final String _classDefinition = '''class LottieGenImage { + const LottieGenImage(this._assetName); + + final String _assetName; + + LottieBuilder lottie({ + Animation? controller, + bool? animate, + FrameRate? frameRate, + bool? repeat, + bool? reverse, + LottieDelegates? delegates, + LottieOptions? options, + void Function(LottieComposition)? onLoaded, + LottieImageProviderFactory? imageProviderFactory, + Key? key, + AssetBundle? bundle, + Widget Function(BuildContext, Widget, LottieComposition?)? frameBuilder, + ImageErrorWidgetBuilder? errorBuilder, + double? width, + double? height, + BoxFit? fit, + AlignmentGeometry? alignment, + String? package, + bool? addRepaintBoundary, + FilterQuality? filterQuality, + void Function(String)? onWarning, + }) { + return Lottie.asset( + _assetName, + animate: animate, + frameRate: frameRate, + repeat: repeat, + reverse: reverse, + delegates: delegates, + options: options, + onLoaded: onLoaded, + imageProviderFactory: imageProviderFactory, + key: key, + bundle: bundle, + frameBuilder: frameBuilder, + errorBuilder: errorBuilder, + width: width, + height: height, + fit: fit, + alignment: alignment, + package: package, + addRepaintBoundary: addRepaintBoundary, + filterQuality: filterQuality, + onWarning: onWarning, + ); + } + + String get path => _assetName; +}'''; + + @override + String get className => 'LottieGenImage'; + + @override + String classInstantiate(String path) => 'LottieGenImage(\'$path\')'; + + @override + bool isSupport(AssetType type) => isLottieFile(type); + + @override + bool get isConstConstructor => true; + + bool isLottieFile(AssetType type) { + if (type.mime != 'application/json') { + return false; + } + try { + final absolutePath = p.join(type.rootPath, type.path); + String input = File(absolutePath).readAsStringSync(); + final fileKeys = jsonDecode(input) as Map; + if (lottieKeys.every((key) => fileKeys.containsKey(key)) && + fileKeys['v'] != null) { + var version = Version.parse(fileKeys['v']); + // Lottie version 4.4.0 is the first version that supports BodyMovin. + // https://github.com/xvrh/lottie-flutter/blob/0e7499d82ea1370b6acf023af570395bbb59b42f/lib/src/parser/lottie_composition_parser.dart#L60 + return version >= Version(4, 4, 0); + } + } on FormatException catch (e) { + // Catches bad/corrupted json and reports it to user. + stderr.writeln(e.message); + } + return false; + } +} diff --git a/packages/core/lib/settings/asset_type.dart b/packages/core/lib/settings/asset_type.dart index d4090950..17418173 100644 --- a/packages/core/lib/settings/asset_type.dart +++ b/packages/core/lib/settings/asset_type.dart @@ -4,8 +4,9 @@ import 'package:path/path.dart' as p; /// https://github.com/dart-lang/mime/blob/master/lib/src/default_extension_map.dart class AssetType { - AssetType(this.path); + AssetType({required this.rootPath, required this.path}); + final String rootPath; final String path; final List _children = List.empty(growable: true); diff --git a/packages/core/lib/settings/config.dart b/packages/core/lib/settings/config.dart index b0c62ff6..040d9c4a 100644 --- a/packages/core/lib/settings/config.dart +++ b/packages/core/lib/settings/config.dart @@ -51,6 +51,7 @@ flutter_gen: flutter_svg: false flare_flutter: false rive: false + lottie: false assets: enabled: true diff --git a/packages/core/lib/settings/pubspec.dart b/packages/core/lib/settings/pubspec.dart index f8b3cdac..f3cc4941 100644 --- a/packages/core/lib/settings/pubspec.dart +++ b/packages/core/lib/settings/pubspec.dart @@ -158,6 +158,7 @@ class FlutterGenIntegrations { required this.flutterSvg, required this.flareFlutter, required this.rive, + required this.lottie, }); @JsonKey(name: 'flutter_svg', required: true) @@ -169,6 +170,9 @@ class FlutterGenIntegrations { @JsonKey(name: 'rive', required: true) final bool rive; + @JsonKey(name: 'lottie', required: true) + final bool lottie; + factory FlutterGenIntegrations.fromJson(Map json) => _$FlutterGenIntegrationsFromJson(json); } diff --git a/packages/core/lib/settings/pubspec.g.dart b/packages/core/lib/settings/pubspec.g.dart index 1f9b1e51..7f442d2e 100644 --- a/packages/core/lib/settings/pubspec.g.dart +++ b/packages/core/lib/settings/pubspec.g.dart @@ -162,12 +162,18 @@ FlutterGenIntegrations _$FlutterGenIntegrationsFromJson(Map json) => ($checkedConvert) { $checkKeys( json, - requiredKeys: const ['flutter_svg', 'flare_flutter', 'rive'], + requiredKeys: const [ + 'flutter_svg', + 'flare_flutter', + 'rive', + 'lottie' + ], ); final val = FlutterGenIntegrations( flutterSvg: $checkedConvert('flutter_svg', (v) => v as bool), flareFlutter: $checkedConvert('flare_flutter', (v) => v as bool), rive: $checkedConvert('rive', (v) => v as bool), + lottie: $checkedConvert('lottie', (v) => v as bool), ); return val; }, diff --git a/packages/core/test/assets_gen_integrations_test.dart b/packages/core/test/assets_gen_integrations_test.dart index f532f896..32b71f81 100644 --- a/packages/core/test/assets_gen_integrations_test.dart +++ b/packages/core/test/assets_gen_integrations_test.dart @@ -1,14 +1,16 @@ @TestOn('vm') import 'package:flutter_gen_core/generators/integrations/flare_integration.dart'; +import 'package:flutter_gen_core/generators/integrations/lottie_integration.dart'; import 'package:flutter_gen_core/generators/integrations/rive_integration.dart'; import 'package:flutter_gen_core/generators/integrations/svg_integration.dart'; import 'package:flutter_gen_core/settings/asset_type.dart'; +import 'package:path/path.dart' as p; import 'package:test/test.dart'; - import 'gen_test_helper.dart'; void main() { group('Test Assets Integration generator', () { + final resPath = p.absolute('test_resources'); test('Assets with No integrations on pubspec.yaml', () async { const pubspec = 'test_resources/pubspec_assets_no_integrations.yaml'; const fact = 'test_resources/actual_data/assets_no_integrations.gen.dart'; @@ -31,8 +33,14 @@ void main() { expect(integration.className, 'SvgGenImage'); expect(integration.classInstantiate('assets/path'), 'SvgGenImage(\'assets/path\')'); - expect(integration.isSupport(AssetType('assets/path/dog.svg')), isTrue); - expect(integration.isSupport(AssetType('assets/path/dog.png')), isFalse); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.svg')), + isTrue); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.png')), + isFalse); expect(integration.isConstConstructor, isTrue); }); @@ -49,8 +57,14 @@ void main() { expect(integration.className, 'FlareGenImage'); expect(integration.classInstantiate('assets/path'), 'FlareGenImage(\'assets/path\')'); - expect(integration.isSupport(AssetType('assets/path/dog.flr')), isTrue); - expect(integration.isSupport(AssetType('assets/path/dog.json')), isFalse); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.flr')), + isTrue); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.json')), + isFalse); expect(integration.isConstConstructor, isTrue); }); @@ -67,8 +81,39 @@ void main() { expect(integration.className, 'RiveGenImage'); expect(integration.classInstantiate('assets/path'), 'RiveGenImage(\'assets/path\')'); - expect(integration.isSupport(AssetType('assets/path/dog.riv')), isTrue); - expect(integration.isSupport(AssetType('assets/path/dog.json')), isFalse); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.riv')), + isTrue); + expect( + integration.isSupport( + AssetType(rootPath: resPath, path: 'assets/path/dog.json')), + isFalse); + expect(integration.isConstConstructor, isTrue); + }); + + test('Assets with Lottie integrations on pubspec.yaml', () async { + const pubspec = 'test_resources/pubspec_assets_lottie_integrations.yaml'; + const fact = + 'test_resources/actual_data/assets_lottie_integrations.gen.dart'; + const generated = + 'test_resources/lib/gen/assets_lottie_integrations.gen.dart'; + + await expectedAssetsGen(pubspec, generated, fact); + + final integration = LottieIntegration(); + expect(integration.className, 'LottieGenImage'); + expect(integration.classInstantiate('assets/lottie'), + 'LottieGenImage(\'assets/lottie\')'); + expect( + integration.isSupport(AssetType( + rootPath: resPath, path: 'assets/lottie/hamburger_arrow.json')), + isTrue); + expect( + integration.isSupport(AssetType( + rootPath: resPath, + path: 'assets/lottie/hamburger_arrow_without_version.json')), + isFalse); expect(integration.isConstConstructor, isTrue); }); }); diff --git a/packages/core/test_resources/actual_data/assets_lottie_integrations.gen.dart b/packages/core/test_resources/actual_data/assets_lottie_integrations.gen.dart new file mode 100644 index 00000000..9a4e6b6d --- /dev/null +++ b/packages/core/test_resources/actual_data/assets_lottie_integrations.gen.dart @@ -0,0 +1,149 @@ +/// GENERATED CODE - DO NOT MODIFY BY HAND +/// ***************************************************** +/// FlutterGen +/// ***************************************************** + +// coverage:ignore-file +// ignore_for_file: type=lint +// ignore_for_file: directives_ordering,unnecessary_import + +import 'package:flutter/widgets.dart'; +import 'package:lottie/lottie.dart'; + +class $AssetsLottieGen { + const $AssetsLottieGen(); + + /// File path: assets/lottie/hamburger_arrow.json + LottieGenImage get hamburgerArrow => + const LottieGenImage('assets/lottie/hamburger_arrow.json'); + + /// List of all assets + List get values => [hamburgerArrow]; +} + +class Assets { + Assets._(); + + static const $AssetsLottieGen lottie = $AssetsLottieGen(); +} + +class AssetGenImage { + const AssetGenImage(this._assetName); + + final String _assetName; + + Image image({ + Key? key, + AssetBundle? bundle, + ImageFrameBuilder? frameBuilder, + ImageErrorWidgetBuilder? errorBuilder, + String? semanticLabel, + bool excludeFromSemantics = false, + double? scale, + double? width, + double? height, + Color? color, + Animation? opacity, + BlendMode? colorBlendMode, + BoxFit? fit, + AlignmentGeometry alignment = Alignment.center, + ImageRepeat repeat = ImageRepeat.noRepeat, + Rect? centerSlice, + bool matchTextDirection = false, + bool gaplessPlayback = false, + bool isAntiAlias = false, + String? package, + FilterQuality filterQuality = FilterQuality.low, + int? cacheWidth, + int? cacheHeight, + }) { + return Image.asset( + _assetName, + key: key, + bundle: bundle, + frameBuilder: frameBuilder, + errorBuilder: errorBuilder, + semanticLabel: semanticLabel, + excludeFromSemantics: excludeFromSemantics, + scale: scale, + width: width, + height: height, + color: color, + opacity: opacity, + colorBlendMode: colorBlendMode, + fit: fit, + alignment: alignment, + repeat: repeat, + centerSlice: centerSlice, + matchTextDirection: matchTextDirection, + gaplessPlayback: gaplessPlayback, + isAntiAlias: isAntiAlias, + package: package, + filterQuality: filterQuality, + cacheWidth: cacheWidth, + cacheHeight: cacheHeight, + ); + } + + ImageProvider provider() => AssetImage(_assetName); + + String get path => _assetName; + + String get keyName => _assetName; +} + +class LottieGenImage { + const LottieGenImage(this._assetName); + + final String _assetName; + + LottieBuilder lottie({ + Animation? controller, + bool? animate, + FrameRate? frameRate, + bool? repeat, + bool? reverse, + LottieDelegates? delegates, + LottieOptions? options, + void Function(LottieComposition)? onLoaded, + LottieImageProviderFactory? imageProviderFactory, + Key? key, + AssetBundle? bundle, + Widget Function(BuildContext, Widget, LottieComposition?)? frameBuilder, + ImageErrorWidgetBuilder? errorBuilder, + double? width, + double? height, + BoxFit? fit, + AlignmentGeometry? alignment, + String? package, + bool? addRepaintBoundary, + FilterQuality? filterQuality, + void Function(String)? onWarning, + }) { + return Lottie.asset( + _assetName, + animate: animate, + frameRate: frameRate, + repeat: repeat, + reverse: reverse, + delegates: delegates, + options: options, + onLoaded: onLoaded, + imageProviderFactory: imageProviderFactory, + key: key, + bundle: bundle, + frameBuilder: frameBuilder, + errorBuilder: errorBuilder, + width: width, + height: height, + fit: fit, + alignment: alignment, + package: package, + addRepaintBoundary: addRepaintBoundary, + filterQuality: filterQuality, + onWarning: onWarning, + ); + } + + String get path => _assetName; +} diff --git a/packages/core/test_resources/assets/lottie/hamburger_arrow.json b/packages/core/test_resources/assets/lottie/hamburger_arrow.json new file mode 100644 index 00000000..886cc575 --- /dev/null +++ b/packages/core/test_resources/assets/lottie/hamburger_arrow.json @@ -0,0 +1 @@ +{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Rotator","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[190.7]},{"i":{"x":[0.562],"y":[1]},"o":{"x":[0.398],"y":[0]},"n":["0p562_1_0p398_0"],"t":33,"s":[190.7],"e":[176.1]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.31],"y":[0]},"n":["0p684_1_0p31_0"],"t":40.5,"s":[176.1],"e":[181.8]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.438],"y":[0]},"n":["0p684_1_0p438_0"],"t":55,"s":[181.8],"e":[180]},{"i":{"x":[0.733],"y":[0.733]},"o":{"x":[0.385],"y":[0.385]},"n":["0p733_0p733_0p385_0p385"],"t":71,"s":[180],"e":[180]},{"i":{"x":[0.092],"y":[1]},"o":{"x":[0.406],"y":[0]},"n":["0p092_1_0p406_0"],"t":111,"s":[180],"e":[167.9]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[167.9],"e":[363]},{"i":{"x":[0.462],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p462_1_0p167_0"],"t":134,"s":[363],"e":[360]},{"t":141}]},"p":{"k":[200.5,149.375,0]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"A1","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[-45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[-45],"e":[-45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[-45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,82.875,0],"e":[96.2,57.055,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":33,"s":[96.2,57.055,0],"e":[96.2,57.055,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,57.055,0],"e":[94.5,82.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,22.25,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":[[-34,22.25],[35,22.25]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"A2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[60,60.625,0]},"a":{"k":[0.5,0,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":[[-34,0],[35,0]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"A3","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[45],"e":[45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,37.125,0],"e":[96.2,64.045,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":33,"s":[96.2,64.045,0],"e":[96.2,64.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,64.045,0],"e":[94.5,37.125,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,-23.5,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":[[-34,-23.5],[35,-23.5]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1}],"v":"4.4.26","ddd":0,"ip":0,"op":180,"fr":30,"w":400,"h":300} \ No newline at end of file diff --git a/packages/core/test_resources/assets/lottie/hamburger_arrow_v439.json b/packages/core/test_resources/assets/lottie/hamburger_arrow_v439.json new file mode 100644 index 00000000..ffd074bc --- /dev/null +++ b/packages/core/test_resources/assets/lottie/hamburger_arrow_v439.json @@ -0,0 +1 @@ +{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Rotator","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[190.7]},{"i":{"x":[0.562],"y":[1]},"o":{"x":[0.398],"y":[0]},"n":["0p562_1_0p398_0"],"t":33,"s":[190.7],"e":[176.1]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.31],"y":[0]},"n":["0p684_1_0p31_0"],"t":40.5,"s":[176.1],"e":[181.8]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.438],"y":[0]},"n":["0p684_1_0p438_0"],"t":55,"s":[181.8],"e":[180]},{"i":{"x":[0.733],"y":[0.733]},"o":{"x":[0.385],"y":[0.385]},"n":["0p733_0p733_0p385_0p385"],"t":71,"s":[180],"e":[180]},{"i":{"x":[0.092],"y":[1]},"o":{"x":[0.406],"y":[0]},"n":["0p092_1_0p406_0"],"t":111,"s":[180],"e":[167.9]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[167.9],"e":[363]},{"i":{"x":[0.462],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p462_1_0p167_0"],"t":134,"s":[363],"e":[360]},{"t":141}]},"p":{"k":[200.5,149.375,0]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"A1","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[-45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[-45],"e":[-45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[-45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,82.875,0],"e":[96.2,57.055,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":33,"s":[96.2,57.055,0],"e":[96.2,57.055,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,57.055,0],"e":[94.5,82.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,22.25,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":[[-34,22.25],[35,22.25]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"A2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[60,60.625,0]},"a":{"k":[0.5,0,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":[[-34,0],[35,0]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"A3","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[45],"e":[45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,37.125,0],"e":[96.2,64.045,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":33,"s":[96.2,64.045,0],"e":[96.2,64.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,64.045,0],"e":[94.5,37.125,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,-23.5,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":[[-34,-23.5],[35,-23.5]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1}],"ddd":0,"ip":0,"op":180,"fr":30,"w":400,"h":300} \ No newline at end of file diff --git a/packages/core/test_resources/assets/lottie/hamburger_arrow_without_version.json b/packages/core/test_resources/assets/lottie/hamburger_arrow_without_version.json new file mode 100644 index 00000000..ffd074bc --- /dev/null +++ b/packages/core/test_resources/assets/lottie/hamburger_arrow_without_version.json @@ -0,0 +1 @@ +{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Rotator","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[190.7]},{"i":{"x":[0.562],"y":[1]},"o":{"x":[0.398],"y":[0]},"n":["0p562_1_0p398_0"],"t":33,"s":[190.7],"e":[176.1]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.31],"y":[0]},"n":["0p684_1_0p31_0"],"t":40.5,"s":[176.1],"e":[181.8]},{"i":{"x":[0.684],"y":[1]},"o":{"x":[0.438],"y":[0]},"n":["0p684_1_0p438_0"],"t":55,"s":[181.8],"e":[180]},{"i":{"x":[0.733],"y":[0.733]},"o":{"x":[0.385],"y":[0.385]},"n":["0p733_0p733_0p385_0p385"],"t":71,"s":[180],"e":[180]},{"i":{"x":[0.092],"y":[1]},"o":{"x":[0.406],"y":[0]},"n":["0p092_1_0p406_0"],"t":111,"s":[180],"e":[167.9]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[167.9],"e":[363]},{"i":{"x":[0.462],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p462_1_0p167_0"],"t":134,"s":[363],"e":[360]},{"t":141}]},"p":{"k":[200.5,149.375,0]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"A1","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[-45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[-45],"e":[-45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[-45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,82.875,0],"e":[96.2,57.055,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":33,"s":[96.2,57.055,0],"e":[96.2,57.055,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,57.055,0],"e":[94.5,82.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,22.25,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":[[-34,22.25],[35,22.25]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"A2","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[60,60.625,0]},"a":{"k":[0.5,0,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":[[-34,0],[35,0]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"A3","parent":0,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[45],"e":[45]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[45],"e":[0]},{"t":134}]},"p":{"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.634,"y":0},"n":"0p56_1_0p634_0","t":19,"s":[94.5,37.125,0],"e":[96.2,64.045,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":33,"s":[96.2,64.045,0],"e":[96.2,64.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.341,"y":1},"o":{"x":0.6,"y":0},"n":"0p341_1_0p6_0","t":116,"s":[96.2,64.045,0],"e":[94.5,37.125,0],"to":[0,0,0],"ti":[0,0,0]},{"t":134}]},"a":{"k":[35,-23.5,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":[[-34,-23.5],[35,-23.5]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.4,0.16,0.7,1]},"o":{"k":100},"w":{"k":10},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"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":"Shape 1"},{"ty":"tm","s":{"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.634],"y":[0]},"n":["0p56_1_0p634_0"],"t":19,"s":[0],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[26],"e":[26]},{"i":{"x":[0.341],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p341_1_0p6_0"],"t":116,"s":[26],"e":[0]},{"t":134}],"ix":1},"e":{"k":[{"i":{"x":[0.56],"y":[0.56]},"o":{"x":[0.634],"y":[0.634]},"n":["0p56_0p56_0p634_0p634"],"t":19,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[100]},{"i":{"x":[0.341],"y":[0.341]},"o":{"x":[0.6],"y":[0.6]},"n":["0p341_0p341_0p6_0p6"],"t":116,"s":[100],"e":[100]},{"t":134}],"ix":2},"o":{"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1"}],"ip":0,"op":180,"st":0,"bm":0,"sr":1}],"ddd":0,"ip":0,"op":180,"fr":30,"w":400,"h":300} \ No newline at end of file diff --git a/packages/core/test_resources/assets/lottie/missing_layers.json b/packages/core/test_resources/assets/lottie/missing_layers.json new file mode 100644 index 00000000..b1f80023 --- /dev/null +++ b/packages/core/test_resources/assets/lottie/missing_layers.json @@ -0,0 +1,8 @@ +{ + "v": "5.6.7", + "w": "w", + "h": "h", + "ip": "ip", + "op": "op", + "fr": "fr" +} diff --git a/packages/core/test_resources/pubspec_assets_lottie_integrations.yaml b/packages/core/test_resources/pubspec_assets_lottie_integrations.yaml new file mode 100644 index 00000000..08e80a26 --- /dev/null +++ b/packages/core/test_resources/pubspec_assets_lottie_integrations.yaml @@ -0,0 +1,12 @@ +name: test + +flutter_gen: + output: lib/gen/ + line_length: 80 + + integrations: + lottie: true + +flutter: + assets: + - assets/lottie/hamburger_arrow.json