From badb58b5701fcc56331045943a1803923a50d8e0 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Wed, 24 Dec 2025 16:29:16 +0100 Subject: [PATCH] Berry animation update tutorials (#24255) --- .../anim_tutorials/chap_5_10_beacon.anim | 6 +++ .../anim_tutorials/chap_5_15_beacon_slew.anim | 6 +++ .../chap_5_20_beacon_slew_osc.anim | 9 +++++ .../anim_tutorials/chap_5_30_cylon.anim | 13 +++++++ .../chap_5_40_cylon_rainbow.anim | 25 +++++++++++++ .../chap_5_50_cylon_as_opacity.anim | 27 ++++++++++++++ .../anim_tutorials/chap_6_10_shutter.anim | 17 +++++++++ .../chap_6_20_shutter_rotating_colors.anim | 35 ++++++++++++++++++ .../anim_tutorials/png/chap_1_10.png | Bin 0 -> 1936 bytes .../anim_tutorials/png/chap_1_20.png | Bin 0 -> 1981 bytes .../anim_tutorials/png/chap_1_30.png | Bin 0 -> 27106 bytes .../anim_tutorials/png/chap_1_40.png | Bin 0 -> 22967 bytes .../anim_tutorials/png/chap_1_50.png | Bin 0 -> 20208 bytes .../anim_tutorials/png/chap_2_10.png | Bin 0 -> 9578 bytes .../anim_tutorials/png/chap_2_20.png | Bin 0 -> 9576 bytes .../anim_tutorials/png/chap_3_10.png | Bin 0 -> 9764 bytes .../anim_tutorials/png/chap_3_20.png | Bin 0 -> 19462 bytes .../anim_tutorials/png/chap_4_10.png | Bin 0 -> 5146 bytes .../anim_tutorials/png/chap_4_12.png | Bin 0 -> 4696 bytes .../anim_tutorials/png/chap_4_15.png | Bin 0 -> 23859 bytes .../anim_tutorials/png/chap_4_18.png | Bin 0 -> 26232 bytes .../anim_tutorials/png/chap_4_30.png | Bin 0 -> 8139 bytes .../anim_tutorials/png/chap_4_35.png | Bin 0 -> 10454 bytes .../anim_tutorials/png/chap_5_10.png | Bin 0 -> 2041 bytes .../anim_tutorials/png/chap_5_15.png | Bin 0 -> 2551 bytes .../anim_tutorials/png/chap_5_20.png | Bin 0 -> 9353 bytes .../anim_tutorials/png/chap_5_30.png | Bin 0 -> 10628 bytes .../anim_tutorials/png/chap_5_40.png | Bin 0 -> 28875 bytes .../anim_tutorials/png/chap_5_50.png | Bin 0 -> 14739 bytes .../anim_tutorials/png/chap_6_10.png | Bin 0 -> 5863 bytes .../anim_tutorials/png/chap_6_20.png | Bin 0 -> 23967 bytes 31 files changed, 138 insertions(+) create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_10_beacon.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_15_beacon_slew.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_20_beacon_slew_osc.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_30_cylon.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_40_cylon_rainbow.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_5_50_cylon_as_opacity.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_6_10_shutter.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/chap_6_20_shutter_rotating_colors.anim create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_1_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_1_20.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_1_30.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_1_40.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_1_50.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_2_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_2_20.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_3_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_3_20.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_12.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_15.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_18.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_30.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_4_35.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_15.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_20.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_30.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_40.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_5_50.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_6_10.png create mode 100644 lib/libesp32/berry_animation/anim_tutorials/png/chap_6_20.png diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_10_beacon.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_10_beacon.anim new file mode 100644 index 000000000..8076f6a09 --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_10_beacon.anim @@ -0,0 +1,6 @@ +# @desc Static beacon + +# Simple beacon starting at pixel 6 with size of 7 pixels, no border +animation back = beacon_animation(back_color = blue, color = red, + pos = 5, beacon_size = 7) +run back \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_15_beacon_slew.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_15_beacon_slew.anim new file mode 100644 index 000000000..0f093cd24 --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_15_beacon_slew.anim @@ -0,0 +1,6 @@ +# @desc Static beacon with slew + +# Simple beacon starting at pixel 6 with size of 7 pixels, no border +animation back = beacon_animation(back_color = blue, color = red, + pos = 5, beacon_size = 7, slew_size = 3) +run back \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_20_beacon_slew_osc.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_20_beacon_slew_osc.anim new file mode 100644 index 000000000..42d23c930 --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_20_beacon_slew_osc.anim @@ -0,0 +1,9 @@ +# @desc Static beacon with oscillating slew + +# Define an oscillating value from 0 to 4 and back to 0 in 2 seconds +set slew = cosine_osc(min_value = 0, max_value = 4, duration = 2s) + +# Simple beacon starting at pixel 6 with size of 7 pixels, no border +animation back = beacon_animation(back_color = blue, color = red, + pos = 5, beacon_size = 7, slew_size = slew) +run back \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_30_cylon.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_30_cylon.anim new file mode 100644 index 000000000..bf074707f --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_30_cylon.anim @@ -0,0 +1,13 @@ +# @desc Moving red beacon - Cylon style + +# Because strip_length is dynamic, we need to map it to a variable and can't use the function directly in formulas +set strip_len = strip_length() + +# In this example, the 'cosine_osc' is created within the call +animation back = beacon_animation( + color = red + pos = cosine_osc(min_value = -1, max_value = strip_len - 2, duration = 5s) + beacon_size = 3 # small 3 pixels eye + slew_size = 2 # with 2 pixel shading around +) +run back \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_40_cylon_rainbow.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_40_cylon_rainbow.anim new file mode 100644 index 000000000..5db22a77a --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_40_cylon_rainbow.anim @@ -0,0 +1,25 @@ +# @desc Moving rainbow beacon and stars +# In this example we combine a Twinkle star as background, +# a moving beacon with a dynamic color using the rainbow palette + +# Because strip_length is dynamic, we need to map it to a variable and can't use the function directly in formulas +set strip_len = strip_length() + +animation stars = twinkle_animation( + color=0xFFFFAA # Light yellow sparkles + density=2 # density (moderate sparkles) + twinkle_speed=100ms # twinkle speed + fade_speed=100 # when no unit, time unit is 'ms' + # priority = 10 # this is the implicit priority +) +run stars + +# We can combine a dynamic 'pos' value with a dynamic 'color' +animation back = beacon_animation( + color = rich_palette(palette=PALETTE_RAINBOW_W2, cycle_period=5s) + pos = cosine_osc(min_value = -1, max_value = strip_len - 2, duration = 5s) + beacon_size = 3 # small 3 pixels eye + slew_size = 2 # with 2 pixel shading around + priority = 5 # priority below 10 so it's on top of twinkle +) +run back \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_5_50_cylon_as_opacity.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_5_50_cylon_as_opacity.anim new file mode 100644 index 000000000..b9462f1a8 --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_5_50_cylon_as_opacity.anim @@ -0,0 +1,27 @@ +# @desc Moving beacon used as opacity filter on pattern +# In this example we use the moving beacon as an opacity mask +# on top of a pattern + +# Define 'strip_len' to make calculations +set strip_len = strip_length() + +# Define a pattern that goes from red to blue to red across the strip +palette red_blue_red_palette = [ red, 0x3333FF, red ] +# Embed this raw palette into a rich_palette color provider +color red_blue_red_color = rich_palette(palette=red_blue_red_palette) + +# Define a moving beacon to be used as an opacity mask +animation moving_eye = beacon_animation( + color = white # the color is not important, only the opacity counts here + pos = cosine_osc(min_value = -1, max_value = strip_len - 2, duration = 5s) + beacon_size = 3 # small 3 pixels eye + slew_size = 2 # with 2 pixel shading around +) + +# The palette gradient animation is used with an animation as opacity +animation eye_pattern = palette_gradient_animation( + color_source = red_blue_red_color # the beacon animation used as opacity + # spatial_period = strip_len # implicit + opacity = moving_eye +) +run eye_pattern \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_6_10_shutter.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_6_10_shutter.anim new file mode 100644 index 000000000..a1f0cef25 --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_6_10_shutter.anim @@ -0,0 +1,17 @@ +# @desc Shutter left to right using beacon + +# Define 'strip_len' to make calculations +set strip_len = strip_length() + +# Define shutter_size as a sawtootgh from 0 to strip_len +set shutter_size = sawtooth(min_value = 0, max_value = strip_len, + duration = 1.5s) + +# Using beacon_animation to move a shutter from left to right + animation shutter_lr_animation = beacon_animation( + color = red + back_color = blue + pos = 0 # Start from position 0 (left) + beacon_size = shutter_size # Oscillating size from 0 to strip_len +) +run shutter_lr_animation \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/chap_6_20_shutter_rotating_colors.anim b/lib/libesp32/berry_animation/anim_tutorials/chap_6_20_shutter_rotating_colors.anim new file mode 100644 index 000000000..cb79f842a --- /dev/null +++ b/lib/libesp32/berry_animation/anim_tutorials/chap_6_20_shutter_rotating_colors.anim @@ -0,0 +1,35 @@ +# @desc Shutter left to right with rotating colors, using sequence + +# Define 'strip_len' to make calculations +set strip_len = strip_length() + +# Set a global variable for 'period' +set period = 1.5s + +# Define shutter_size as a sawtootgh from 0 to strip_len +set shutter_size = sawtooth(min_value = 0, max_value = strip_len, + duration = period) + +# Define 2 color providers cycling through palette rainbow with white +# 'col2' is shifted by 1 color from 'col1' +color col1 = color_cycle(palette=PALETTE_RAINBOW_W, cycle_period=0) +color col2 = color_cycle(palette=PALETTE_RAINBOW_W, cycle_period=0) +col2.next = 1 # Writing 1 to 'next' actually advances the color + +# Using beacon_animation to move a shutter from left to right +animation shutter_lr_animation = beacon_animation( + color = col2 # Use two rotating colors + back_color = col1 # Use two rotating colors + pos = 0 # Start from position 0 (left) + beacon_size = shutter_size + # Oscillating size from 0 to strip_len +) + +# Define a sequence running forever +sequence shutter_seq repeat forever { + restart shutter_size # Make sure that shutter_size is synced with the sequence + play shutter_lr_animation for period # Play animation + col1.next = 1 # set 'col1' to next color + col2.next = 1 # set 'col2' to next color +} +run shutter_seq \ No newline at end of file diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_10.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_10.png new file mode 100644 index 0000000000000000000000000000000000000000..eda18aa7e4e0d08cf9ed47e81a4c2f3dfe002d16 GIT binary patch literal 1936 zcmeAS@N?(olHy`uVBq!ia0y~yU`zwDxj5K>WPAFTW+26pm>l8*r1^oEfm=5GAdr$u zgNOl{5Dg$XFmPsm!N3r;Peu&LbN6&{45_&F_KG4Og8>JNSQ%EQ524q{9qGfi#9hHXz+138aCXWwLKK$P3NQI-&H^mIK+?e616$s*Pkh3zaN)v$^yW$#PcgmLHrL z9*AT)8_D=dgG!b^?w906vYZpU%XJ>5ft(0Sa6DA9+{`d`9+KriE3hTFgBl{`NS5Oj{(?Rv%Y~?9`Imp1XOS!y#%{T;=HhfD%SEVU`7-r0 z=17){Vz>OjWPAFTW+26pm>l8*r1^oEfm=5GAdr$u zgNOl{5Dg$XFmPsm!N3r;Peu&L^YV0Y45_&F_R2y*1_KTj$4N<=T4&YNSPeL?tULHe zA>Z{$@1)Q9*PeX?fwh12>R1yx4465L84mF%oMGTFZZKd5(ua5sY+*lsMy_)6%som# zQ(<;9Vz>L?*>8t{s{GPY97BLK6ZPyrILq}qlKsrs?bnG`)kd$$nPs z_8*)W9*AT=8};mOV-8nDvY#Eh{W|O|JCN+>pq~A?DK8z6?B~R8|G|>2Pmt{AqMrSJ zD-x`c?B~XAzs{pHUL^Z@sAs>{-{0Gi><8L{E$a~c+%MY11Q9$>Ry zXW#L8NcIa*&wh31MpGpF1+m+IV1Gd$lKn!|v!A7(!w<=RVeIznYA#MkvR{OH_9xt$ zd>F}oQS9~~czjV7$$l~F+3zeS1d+Y{ko-0Uy$sVpq~9J3YXkOvR@Lr{Rh~L vS0LFhMLqkw_v$V}vR@jz{kjt#I3n3ELp}T7zu2Y^G?~HE)z4*}Q$iB})x~$X literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_30.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_30.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f28b5296d2cdf257dc95f0c2af64b24dcae6fd GIT binary patch literal 27106 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 a&0X`<-s%_4BCz>_KimC>EDJ17MgJG#Hes^> literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_40.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_1_40.png new file mode 100644 index 0000000000000000000000000000000000000000..c786854744603cd44b68c76994bf7c63689f8161 GIT binary patch literal 22967 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�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 literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_2_20.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_2_20.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e84a1e4c9e9e2a676ba36005f978cba5773ec2 GIT binary patch literal 9576 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 literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_3_20.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_3_20.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e0bcbe19099436213dc72df98e6757d7fdc0ed GIT binary patch literal 19462 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

8D!NW?$bg0mH>m@WCOFuwyD5i z4>a&;FUq>;!pxv{0~*&9`#n|Z)9H9G*`P+qt_BACph0YV(GDF~W(HQii1+(~p@)FM zezJj?lGq3s9DoK{?Q^rZ#$wjs4G--1jCfLUBInM)-!0SbQq^>&}2nPhV1( zpr@%vy;$dq$CMx6m07B{`Wo^L4Q!;goOCA~CJUGat~w6{(xAZ0>8Fy#)r4Focwz*Ni82N?>O zbffT9%KX_t0B=4?t5Nl%rN@Cl78D4#wCG?cF!eZ!+12m#SRinWEMOXy=L7_@p}?Wz z#%_a|bwT!Wl&~}_)*1-lb`m3?ywwojMdzav9|S(;1963i`7vhspq_(LmUc{E4)`a@ zeAAtQ-5>xtFaTM;ivA1((A|LcU-Z|=2LiZCCkBAe#i?4h44j4nvA$Z$3};ON%KFr5@RbhFYmJv2)SZ_YEdcx~GT)eghB{BCJD?g2 zfdPl#YaC^PrQpViJ1bk8B(>BA?f==KmCbZe)>A(Vk7}=z1?stnsK=}H7`y=lb_@{< z5*y$cpX8#2rSQplk4eFzK=D?s18aRpt^L5}3O%4MeF6s_oZxMqS)RPU2 zA4%$f!A)r3BNj~mY>z01fnyE&)AYAkTo2270q@#Ly-@c!xEUCTp+SgPFwqaL$8s20 zEl1B4^_Jo3Co{mC0Fr@8^yUe`paB}J6$?ze7#a-KLQhvqGk*pKcgO~H1#hMUgGOkO zEEWt*g;`OK7$}`ak8g&xYyk#$$p$7?mek`ldO5fU4YI^VnQ)&h$8wNoiyr=R{#kz@ zfa@euC)5QFeGLR2K!H3T$Mvu_3OJQKxHBYdMHs%Mms<+Xusn&6u=hlfrrOyY( z0D*^O0h79#fk5C_C{X7!@w0up90EJT(JlLlwR?d;6Iq~6>FP2d&2Li27K;4%+ z92V$u2=M(;sdds19YCOsEWmlBfd7kZ7CeChU-_E4F%)oni3+AIt%fHRcppHT1-0BC zsgXiY!>3SSyzhueh5|jS(Pf1T`IA5dekTiX@-uz}0_{*>s;|LkM4JMBq7DfWvpDat7T65-1SvJK(dk8aX0R z5{$Are&52%5D!S=7}z-$m+dlv7f|45UkzP&QXq%GskbP@TkthibkcQECs}}_{3rkj z{0Rm2`KmZD6xeqV9h#*1(;^`77g<20H1k^^@HZ4V?aN-wP$0n(?LEQ|!{;Ni2>e49 zFcNO0?xHsbT^|JK)2d-+@U%*f%>k-MJF`yQ_XB)>{C(>I zuFj5;8QJ?;>G2w^4N3fex*8o{TCoIn);|mjVovAGd?I0yP7)6IrPyc)S zg3SUBUFqLM9-m>v*kL?h_}45)D)09?u<;T_niNj$J8{;OIVb>!)FZYPmY!CO9VYRG zNs-$?c48}%9ZtnMX#xi&;4m)3O!tI`J!1zazA(nwV>O6_GTFiD;uvakOZSBeaA?Rd zT+DUnF?Mj{3pZrGehC~@$quKCA0Gw|YQP~Pb5QOHR}aPxQ~APmMXc?>p&!}7$@?Zg z+mXdV9XO0Ts-k<+*`Kk47hkxv(c=Jc&>%aUs#4_QyLy*NwkGA!`u*}tvtYAAK8Uh$yt3~ zC4>0F$YdRA&e1coKUv|_{v%iMUG#_?0D2tDH!yGd&@N?k$+#a#azBn$#hdR zaKM{1((2&6Pxm-*7z7-;GS$0JxOg*mSi~3Z+j1DjVKCVtN3+riIOqU}ahXGQop5tw z>=4QqUfJ*<0mMO+pJf z7rjgxQx3f=b+M0)zn6`{rb0Bv5ej8mH_v zPKBw$PQFkv_?}AmHbdoeEq(i* z%IrX-d;4+DO~AJ#^Ib0f8VvYc&;{`s(gi8twKzHc-k4)mXxNyTjrc%;#qw~Q;d)91_k!AyakutsheWhBA&@uo^*$Hz&qi&{W;-v z;8N$`={lFPAn%ViYayw(tNPz77tuW>bG&IT&@KyNoS}}A0cF)|f8kVhj zI=xY9@H#VpmG@Zt7Ke1+v-eI+j@)V+ONy_5?Mi@Ux-%A!OU+q>*!)EzW*8iBy~sO5xi+6e)(3 z?v_L%qy#xBPqyzMLb{D2#gKlieZ)sdx092a>vFOXQaVM7A&pWH0SKutIVsOq^AaKT zqewBNZSg7zLb`*T)O=C@10iKlq!?0J|LA3e)SsM`_g%q6NCPNR4C&2|#C(Kw4Q@Sg z!QRGN4^ZYPRw+WdlOn~Cs!nN-L%Yoo1#>DHDbM)!K0+Eqkzz z7Ac#YG+O1ef{=z#q!`jLkz^Gi4J9Wv(c?N0QVvCmA+WPAFTW+26pm>l8*r1^oEfm=5GAdr$u zgNOl{5Dg$XFmPsm!N3r;Peu&L`|s)E7*cWT?UjXHOo1ZpAFX$vKE^A}a&Y+sO{EUk z$qO8hykMS@Bi4L0?UNvn5*zDeF~K87KSY`m3?y7-4_3=Rc+Z>kqweVx{X2<#>N})_ zr4RPc-rf@={dw6tR|!8q!oD_kzrgQB zbKO5Wa(-X1@y7L>|JN`5D!%`1X~65}6W{LMU%v8v%)WWWSMGS%)=sE8r_r^ma_ zZC>a8)$eznXW!`m>uqt|oA7(TZ3KU>x^K7t$HDdQiWOIXJ>7fXj$ir~|29*G2gwC9 z7#j}rFg!3|W@wjWIFQK3z-P<=5|K$`II!E6!S0mvzoN^_?SMf63ou6P0e0~0w?jY~ z=Cl;Y5TI(N5gusjZnq?m0*x7apy@=bY9j?2%Los&cXeM9kphhsd!QYh7#@feXlx@q z&{k#&ZbJ$*cI<(s!``w3DbP4Zc%Ut>Uv~*9&^WON+QE{oPmltQYlH{dgA8wAmV{RX z+}Hz6=TRCjQlRmS@IccHNUcE%G*Hlh+b2LV2mm)X4r+*$BLy1Y2oJP8_lDKL(1A5M zfbBMHfu^(X_&lUQ6ByxvW?Cz~1u4)3u?O0L{RMqUfhIJ<1Fb0QUoujl31bg5UCqVm zNP#9Y!UJu0&;==^Koi9tXa^o<l_Ou@N3XU}eW@X}bBGz~Oza)hZhCx3%iOrP_BZbAk+4uR>{g~DRfqCs^yQ33 zOM6xB2_3?VXhJ7>fgJp!+5?YeM8cGV7`sGKc4M}T9f$|Lb;eVZDdcMg2I?xn_GEH0u+THzpX+UgQas_8eT;qHdh^%rs13wNv&BfBpJ|FHab7h)YCK6eT zyIb@cH&FHId?_R1+mnS;FNfQS9;iuw?;ugoA#puD4I_y6foSrz_}zKB zP*20HU#}Mv(G)?b&QDhk^&tPqrqHhT95bE`&?)n_pFP@wJUDljtkgW*O+JYBg-Ozr zXg5aC6FHA_Wvfii6f05-XbB@PriaN13`8@l(!{Lc$DzcKX2UVU0{^eqJ2(BYY^jTr9N@or! zVFv;R-``Y_d_Q7Ow)UUYz!3J}nKB>svI3qBC>fE1NR6 zVRzGG7f9T;_Rv5#x~%1;#({Y=raVCfX~k%nJ4WGefes!!x*K{t!0y5hKw8Rpg1#GgK%gb##2DbaeLnQ08#J!|!*Jhuf>aBcQ414^>Q9FlLZ$ zylK;$6D+xE)1QKzuEkSamDaim@mU!+*z|Zg>*3<9j)I8Dk{%yRFVFa=p0!2Og=39y zXC86813Z={O(G?G`Ga`*8ZY)9=t~zE;EgHK68yMtbm#VGhW*H0eK_1G6VW?V{Ghrn z(ZjMnvAJ|Ab7Uj}QPZOv$haU8Kpvy$DPOdo4{3|bO~!0PXd(|X2w;dJTd?oUO;Pe# zb^3|!Qqo$>Hy;OzOqm;*&Qt^?prv>yHWTsgX?IA|{SChMsz^gd*BolbtOZqn%M1k# zILk;gp{G3`^&H~QMCs0~_-uyw3w4yV@J5P}IYF`6ywH*|9NqK%i6LIPJa@~c^kcOu zs}~cm=3lP9WAoLkbrbX&CeE<&@pIZb?}-+~V>Rj4ASul#uohGU*_62htB%x|`V`Xi zVuP;}HF=?F&U{9xMRQQ7Ww<~0Z+z~x@5Lf`{HcB@K?gC7Nsfs*A_;PiWyi`vPS@t= z+K}cjorL`B$~kO+e{lxH`4$d>h|m(C;6Fz1kVbV?eR@RHBwt%m*iqB-GlD$u+yn6M zf~M!y1<%j&sSB)C;)`g^+7Lw?)qOw5Oe$W`TBmE@J1C*I_Ij#@xs4%VVdKZy=wWo5 zw|%G%`u_VQQ`mL2>>%CIdiP!u_2L(hgP~4T6y?q+j5QwbV3i_=3dMxngY|wK8CZ7@ zvl9$rTSncS4<&0$`6M9Y&4G1w8sW%ti&GAxhjQY%clRN2oAlBivjj&WoxP$r{;qXfm7&4c=NanB=W2ir}x-Mm%-rc)WR59IzK$;8Mil9PEratHtZN;Y0Es=-OAD{(R%(L@qq^P{3Zq|*GVzt0I?F1VwRVEu8i)XRq0r!6XELJeM?GgbX!nFjqk_ERhH_Q>h4f}oE z_8{aVzt+$N!()4Q>cxILi_%MkpVQG3Ti^?Xzo$FAWUla{jGGS-#)f!yP)W zogf%0=MHd|YZXz>W;-!;sUX6$WG1#~c24i;x~OSdw?jk3!IrA3FKuwCBlbuS(RcWyvg5#FXH|7dy=g$z0AoDDo6w+2|W|I|45O@M!pR9p2>=gTcP)- zrryt5wfK@fQ}H50STll=rqq7)=b?toq*!W?QSNYzM+@_vs3~(7OpTtgP(K$invl->R}>ew+rg^tz;Ilw@;F@6O#&c8F534A9gS*iYT}&L zDzRQS*)na_Pqpx)5?A_ZWw>-VN53o)sk=pc?(!yD?{vw>xv1T1l#0E_li#7fh9|{Z zWLrj>eH6_PCXz{3cv@bMAM$#wFR)uCRYNrQ2y(R8Z3C==;dcMqD1O{$H5gLR$7|f} z(SEI(jrMk}#GHBR%??f4YieF6^CjXQJ&Agw6Z;&yGw!o{*vYn{sPFMl_Nvp;sdqay zTdh7|o-(>7hQ|;eLUVO%0%qauV?r)4ON1t^h?>)B^%?(xVMzZtG3z$tPj>jR_`3{Y_AG8mnK1!~W1wV&n*-8jT% zwwkk2xYs97bzX z7{R)34OXUzJGuA4%)gtC4k66JX4G1+^~z?#Q>cIU)qpcpbIO&`*co0> z2Et5Xck#)go1vewC~2~wWHBF{&GdZVZiYyJCNoSz&r(m92hYNZb7_h#!-K<_sCei- zhAn2Ca-Dnv6m%#5S3%c4C0r}7U7jYZy@d@=k~3cA*XH#g!n-s~rC4}4H?E^H2m3X* z#bs@J9BFWPMW=yfn4Eu_oOPJoIbOkVNrCW_X#ywZ-sC~xO7NyT;rj%MQeIX$A3GOP zZrOYg)+~*TX^75%GGvGv!<3{OA-!|4fu39OuG^+FHSqFC%H7ef8J(7PR#E&8 zZ;FURr!Wwq9-yeL7=?Y+u|e4i5RJ+eTbT8?Oc8fIlQEkSs&oTT%h^)mF!z<`c7k#H zFr*oj%U4FrX1H6dhQMl?2)m~%OT;ZeY><~(D=nx>hU!xBf#zE`rMv#GLT+wiYD159 zH6~2}Jox^a-K06QDfw~Dv9Zbg_H2VhJ}MjA8qRE$d}`0Yrx;7wwwA?~R}c4I_jZ~& zjmf|9TCrC0@Ow!Im9_7mUC61-yzZpF){EEjZ{FLl75AvE^h*^A+}1)aTexfPsznb@ zcNOqfp|&G4*V9S21~D_K%(8b$W~jqcWmA;aZKd9Iv(2YN9jJMr^3tc=2Wg@RMjsjE z8`=yJhfUU%XCl4swnvm%=c+}9-0m&}v;O85(V;Hz{LpTSy@S8U*aaQ9PSGdMoM<5q z24|w{%}ohOh-A!Glq&LQ@4}<_(2>SD8%oBg$&4-jX?gA{@#b77P@=IG%zwL5{h-p8 z+Mn*;+ic6`CCk}MDXtIB=C$tk^&%D+fK8-d!;&>;aVXR(PbFxxd2RT8y}U1{tYY(m za`saC0RP11CHMP!IeC<`@@cuK-N@OidOP(Lo7bk_*K5JX*@?|-GiR?|7=?T`uPwi? zSCk)*GMm>{&R*5Nw(r@zw*9_dvhXgjP5Wy+%5(PGH4r1m=C%Fz^$Jj`FJ$vl;Otc$ zUm5};%hmo4me+4x?W+(}s@d3BCj%VHie3EY@367${O#FR&FzV0V^iYHR^2E=1d-(j z^Ia@9)=|sie&g@^U=H15`k4(6EDIcS&bEP%4Nv6{-r}xC#et+KHoV=O@v2URu#TLU zH*8f|cpK0CuG?r|MYn8cGXvX@oDxp?LoV0~|FvPO{?qLD-LQRQ>g>;^romaQimwOc z7&1XEWuvl@~x{`5a2?A5+`!c@AY%Th4wCwU;wo)mNAb zh%7It`k>$P_-GAiXZ`?Oy``pxvO%KLdPg%jt7(`^2Hogxm>Y3{u1)WYlsp6l?KCJCY5+w9v~nEV13mYMKlzp^QwilvHKdrgpx+gn zVx@}RL(|S8)833~f<_UnJky0bJG!CiQ{iy1d4KT{9Ry7P^=h0#`1?n!A0E4>ny~8< zW)La4X;bq5>_E!DDEw6rmY|w_g#B3zYs;#1i8d|9j;a&EGM@T3B!`SBY4A^AieY!fELvlG#1TX`E{PsuiRKxHJIY+?Cl)_z zOxw72U-%&(H@6Fd=Z*G7rk#pRyL;tsc;%DueG#t?;tm>0OZ!Q5udjhOnH@#dl6#O| zUT<=T?52jkM#v{eit*!$2=C)9m8my-MxVENexCT4Q>Z)bsTtZv9ciR_=3!?sa`RSz zMt2g4m>^HiKPCwF%e}Uh0Geo)=Isv63eoADAARv;S0@CCadZM!o*P3iC3EKyY>Cy$ zPUsn3<@q&4A18F7?)}eH$B)#n*V~F`+7OQmF~^G;^A_W%H*MId504pVA6WO|6Cbt0 z)Ds$L0Yv@cs>UP{S4wd<=+-oWTsCw3siy+Y^TDw`XukoRto9pl&sc~R@WbQa7EPZd8jsSWwDjOjV$Bmxt$pj7 z#dvs)QIFC~d2k0U#Ey&c1i&pUZVk{FmtFsULmaZp8Tz^|^_+y>s>r+an|ma6X4jW} z-Q4)}n!kMBw#?JzPP}3<1mpu+b>){aAtFyfC`tF69 z-}NKgwgll~dg<~r7f&2p!ARZ_`4m{ypk<~K6&2(9vB=mdAe z6I)AE{FnO#90sKxq-eKEig~E-0o#zs;Z~$+ z(onGu?j!USI(bYjVsy_?LFlo0XA}{c~vwcTg=+PjqQGV9{_*W~WrFip8rnkzu%^A~|8&o1FZ^;p*8D0g6SWe zyB9jf^G!$|`JT_Pnlw8S(FOa0(LOQ!bv`Q>ZK)C4rAkvHY2*`Mm{ZazT!b-lBjY5! zuoL=%sY-iN!aW<+aH-!aA7Mq+UVjWYBQ;J9{IQIo#(B?4Y}{vi@ddDPLonEnupft zj6Ug3JUmf-J6Lr!3VU}2WLMNb8bJT4xoc8*qmJIp&P_RBf&VqsS*`9Ijst4_+%O=r zaw$hGS&S9NKVQReKkD4N@whs_-rS1ydK&zN8U=jtT`PC-g};nQ3D3VI5Dpax&wm!3 zrnO^C@yGr$@|KnDo0y&Bs00h*>XFWQ?_ z%c!Qd+-}3?w-GRINbGq!?M9mwUz_WZHcPbqmZIYC`|nVRZz=O_s*HyLfo5H(77x;6 z#?QMOV4aJU10c;NVR{ljFBUFZVc6R+>r zoPq`=Nz^cEX*nI}U@S)NIa%n%;o>z_`e$ZOOw9HYW9c7gaotz>p9O(L3?Rxoq0aei z-yrvuzhhp{Iqz0BEU1kNZ>H9%Wh;}jn8xmOVilE{lGln-zd3O!^w1Yl2-MT%WoJC~ z<+u=yxMmtFO2-mnnH6LB;bS47e{{Hp(MT)mKwN@J(zsLnrb~M+QV7RR@j*HyrPLs= zK!vmu6iU0fA=aR5a^hp%xm+s@=_r(JEQVh!aIJpGrh0<2YOTUM);Y}b0(6pTFTqoKr+Ij#y=PaRmMDiP_l;!A#Uv(XL})!T z{EqY{;a5CNCCn&^h7%~gny0SB@!{^HUm8AH*i z9+=&W*TU}2BTjrH8<&|+x~_oKRRJ_0$wC8?kk~aWN!A^fZC%ld?#*y{%_Kw?8zU

ETcUR;1;xmX>z+GQzGBC>ltI$eA!9aK7aGWKMg;EAOQwQhiEcMjF3ElqH;kmH!Bpuz!Nt@WkGycb_q`lu1tRGTTDxJpH2=nH59!cBy-$ zxFPz8DtTIN1DaVgF3)vFIk!>j@6Xtog7{K#n)3IZ0dN!Q(YCr6_ z2O_JNhW06z9;;}Vh@K{&YHE_=QEFaWC@Il;+}1?t#tjkpF}ML*&Y;Q2%gfidxzk8Y>SoxTt5mc0#eaLpqb1G*t)b1MjrMnL$lXNv4 z8eI^$4pWhPjh;bXodvn3u-{U<^o;O~T)@;dZGju0-)`Sky zUUq2qgqRd-C>mb;SR49{_NIe?^mMZ-uWTms=MhUOt3;1a^Y6Qgl%EhiKUc^o3ZSQD zlFFjTlRg)>nx_si_nSg33AU{aHKSF}Z++F8s1UBjmx+WZf0e$x{Tv`AsFQ-FLFihuvcrwUvUX@AGtzL`01*B ziwRDAZ-B`E#G{19=2@m_C_CO2%Dy$<3+m@@bh`M$76TSCC0a*a~~0WVV2m?!k0m(q%2`QwVyxCo*qlw z;>he|ewoKUs^EfHNdLDk_-9?v17`4q0*g#Mn*xHf!gfCE0TAI{QgC1?Jh}$vt>|g( zvWB-JvOKt_aSEGa4ko6-Yeu;5U66{Xb(s+t-o(e7C?#H_`a>ezK}F^un75#PL=mSS zp+mQoyB$}`m#keai@TLleBDxZwxUq&qC2w5hkkrQF$V_fkB4fb?l%|01X5b+lh#wtu4f5ayp)j1R|8mSF>)6HjAOeOkLskjS`8AGcq7 ztShXKMP9s$eMv0E^XHjUCw=TEta@qt#c3}Hy4WAM+$o=pFG&qI2)d%OUqp*EAbrkW zKVK4Hy*3aHMj9yVfFkR)0q`zCWtk2{w_cxd@Lk_+HZ<1e42Q}7?ZDUbY-mouIT{y% z7wj1RD&L$rqbd5TM1aU&OPO|tg_ids%v+{zn%VID*s!px_Ry}|oA`{@oW9)Hw{3gG zrG~VUzakoWWp1C5GcFZ6t7ajnT)`aX3YCf_x(3}Pen<88ruL1U9^^snA#Q!*ziT&H zO|Ve+)vn~L$WH1om!+rB++&Z2?);&lvGm$Y(i*k=B3ZC&bTnFV8XgpEv3>p#G4^aW z;zJ0*=sc4Ajds*onM88jk(x4eax6c}biZeiN6%orF3NUcL1$dv2~o({GLMB)QJ501 zoEN0=t3+GaDFTcZYOQ@3>AV2N5BbWIqKv6em}-yCLM{jNb4oN;>VcP5E(Zid-b3__ za?T}yqq$#nXF1co#pqGk=v@BL0Xj+umpdCB>s=lWLsfBmyciqZxj%G(F4~Fol8w%d zGu>O;G*dRZ^MB|7U6cRW?`(7+136}0qt6pIx(k2k0G)!#=k;uK9-Qgk@~nVyKHCyoY8ii zl0FSSwfx*3$U^)7^xQ5-=9Oeq2;!_zrvT=w|0rDg|E8cBH!;Dc5X@O&2bMGnKDE5% z6~a>3_&aWS`QP^iU9-QQBaxiB>inV;L1cNGHI&8mXPXsl!v5T5Rp>kqUKsm@2s)xT zl?pq)9=`-4%RBv-7jy2AhLYi6wcE7bKJys+$4P0ihVPU zwPof4SOvkKpFfLVEhLYZHUW|4v(U(&jDOBT|LrWaaxMlOF#Q_ZQJhuldC!7#=wB!F zS6HflPUu-D^hS?)!7<7&zi7^W@`*(qAhJBTV_1HF8bw$QjZ2Lp#?wz#*%+^KW~}dv z1~cieW~OT_#y`zWi{HQY&-R<8?y;q2Cfg>v{cO0goN?v-kF$23mUHwv3wQa8JpVM@ zfrh&+f(`5^_BS{))|YRS29f1v(3^{lf0{x6^G$(EnYz>rx?VnGo-H?TaYmKjL1KW& za_@2+3-wR$^1pl)@>1_|O^zs?O*WphY=ffS6o@Q0+9$AN|1{eFOQXH#i45?r%&*0s z^~lJf1l?8<&krKYZ-d-sk^XrbWciCimxlk++aNy5-Qal$0x>#x#2`n{A^iUUjuHK+ literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_18.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_18.png new file mode 100644 index 0000000000000000000000000000000000000000..27949d8e36666b99607608afc2aed0969332a740 GIT binary patch literal 26232 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 VNDDFBB&Uz4ZP=ZgGdJxI`9G<~5QzW) literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_30.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_30.png new file mode 100644 index 0000000000000000000000000000000000000000..903a10e0e8f77a792cfd006f92a7d05eb4160198 GIT binary patch literal 8139 zcmchc3tWuZ8^_;fy5BVOc2Pu;6zL)@N~TiiE)q&tDM?~=VWUDWu`XpT+7fmNs~aj6 zHBHH_WJA(j@ptJmST$*y=6~L4-W)pZ{{OpceMav)^)%n#^PK0r=lo9bi<}n7Nvla? z7$#@C(0Vb3i3EUqX-RSLbx+`jo!}zryUNu8T<3uQSZDIlW8k6|F!()iJNOI4&jkPG zQD0%0d(l{B@XpHC+R}A%UFRcBI;J6sS-#`Pxa~A{z1>0A(PG^+4V}`;t_yFXKDc}X zvp6oI5PY9VK{HD#dsrZ9et^HFE4We!?r9ok zD2ZiP^CH*NWSPFU3ZoTU+pZ@cJl|M&vYDzEITAN-)V>%|yv%i%HN>T&xq2Rxrb1j% z0arwj??!&g;}%Sd(m(_G-ZBlH-pXzWZ#1_su9pGXky%2i2NZT67Q<(#DzPE17@Av> zu*?NSEfD4_J}lqZ=Lbc%TWZd|fA96)x*P5J9IVvS0234zLJD-$c2W(q#PRr~8eIr1 zfd=bI#9f0Dmi)7XQ=?-2Mo!qQL;`PEXS@{RN};(WVL8tsuJo{knd*sf!Z$eByeA_R zI)bZQEr~aAq#YqHXfjkY>$L{RL0nlfUs%-B(+N< zsZ$hV$;KK|C5^#VqXLsO25-Riif73qDcm#c0L%rSj^dW+C`JPALg4_*lUzv~%fZG{ zlx|SfW6-=V{q8ltpOKfFSx4;*nT#IcrI z+S>BnK&0DF2@Te&a-XNxz1jDpRNwI%>Wc1;TN7v|GMM8Ri8I%!?0G4J$6s1`7b4Tp zWM=V(gAkc6AQKM{8zK3Wk!+#(J?A);_Up%J{HpZM!mjP#)=P~vozA?L#ee#3{{@JQ zqsh~Be+~puZn5bH$0Q~Yr``*5&VD7XipN4SCmyayL%!+NCd!Sto_g*4- z2?8sj!OXVb)S;A>zf3tn^;L(OaF`eL7w6^XRdFnWMlSZkPI;W85aSM!RnX*V;gk;$ zdGw#99K}6ht{0Xv!m~PW)Weohcxhry2}D*!lbPbi=RuUMu(j2`%vs`;5%u$7?hNjE zz>FB7+)wrOTNQBK;Dd0|W66jZf@7xbUeObUnxW$k0wv6u&f4A z&cb?Y2$NP&uyL7K&$kN~?HijACH7*x~k6fHJ(E>_!`iQY{6$+R@3Q)AM^!Lb7^LR{q#W0?zV=#+V8PtU*RH=K^ z*E8}nOL()m$_*UuxY~UqtX#eIlouJwc+$b-4Ume7XchWJx>rDyw@`(aU;tEOH57Nb z7?~Z2noYbsr4B_KC(k?8zx~jL`kwA1Yr+F_ycnxv;&>iBrJl%c=i1aZoA; z+`qy{dqRNYgp6|=Q?0vG9)HK1%$?Lx)s>gkT*zQWcSgr;GiSe03h>5;$q|Tr8>%w( zsv5qG!^(s-O-5_dZ{4c_qWp!LbOf4cu@*p+yyJ}LHpHt}Vx!19-}5`VR6^&c)Fzel z=#OLE+PhObj%6_ln_1E90ZDESm)6sr^-}!`j*Sk$WQ}8e#hHdw=(fLJ%xddcyt*u@ z1yZGpR#lpizZFt7MW9LvRLUBt8miPairZTSL!9>eGSIEsg}8RmYR$eiu}A<*5{?6KEz- zCoquE?La5RnWurPC)uusL`_4BDy!tc8YPwxR zzI!J7a%v(^o%dr0=T)XZV}bXPZLiNVj_~Nbq>e+O&1pxo-*G?hxWVQFL*Cy&ZA_bt zyGyZw4I6r(8l#08RAll&RD@9I41rLkI12^qlKTBFJF)8;n297)hO%g$yy(PJQW`Bw zL$dCSdKu1De=<1OeE;TMJTIPN&!%pVTF&F~zRg9|nZ68H#%|vG`}t=FW=3J-0zPX( zvLD~(;wQH1;0=E3PeVFQ&^lS-jk`cpm{8|8!h!;wE(g^H6%LC1V3AEZHzDqN{BB^MT9hwskuhN!dA zR8||q5JZvt0n<;^k~m(ZxU$8!yB0T`b$roU*mJ{rfj2hCKRez19ObwT?2$=)OCELG z6)OGZ!_7ZKWU${r%|?Upj;A2XPMGf;g8Z3Bchi&gJ!YXv(=RtYLW_Kv(QJ-+e@ylg zd$51Fr(wxjo}5PN)(MsMAEw0SktXib_7Cg{!|I(y#pz+&42W|Rau)=4n5fjt zB-rmk6j^pF0h~B0ARQe;_t`;Eb*}^A+AfiSPqwi|=GtyDxgmW@1=(y*zS*ZFL2sr8 z0^SgN9-6J2FbC|2hstg}JaLUL%Ff_mdw%)&+Dq&$y4CBok7`TOnalq}G%=aE4Vqr& z;p7X^=M!{Ic`)drmUsDlSxLP+x>hU)8^@(L-Nppdb0Q;nY;&e%(vhyESSW4Sxe)02 zYax^kGo|QblJEWi(HEfUx|Jz=A^Ji=?lb}2if>NcLGd!G@K@QsMQNi+&6fCrnA}`v zj>VXuap#tZ^rI(Rj@+1q()2B(-%fz&wrF};(WOTa-HxCe$zuv&>1*b(zh{Z$YHArv zSGv(N>y}S;;oh(5N$X+eRkNGSm6#rJs^kO*SMtng{ZBvI$j(mOk=qI#G2c^0IN{G>axcohBF zU2H9cUxLQ#v=uA^QRM0(IEOtw^sqTP>_FpxargIRr^AVZAwVXsdmC&`hupmzk+@)W z`E-c$|GRrpUq09h4fPvH4TaVz9#aOPmkZE;*WJH1Er55pE70hh6;qBw^>!!FpX&YB z+VcF{o_UuMY{Wy!leHRcmJa1eHtXd6D{E8;r-z3bjaO%kpliHci&>_ z-3h4xTPx()i!W~lQKY-~5e&fBarbF@IM`ndH6vKsP=d-^+lYBex_iIDj`&*c{@JzK z+mNPJXiZbY40nPk(%t(DG<`)MtwLF&3aJA261IG^fTwUPopJX*(1m{K>!0Ol77w_TG2ig}L;78B3 zh#ApKJ*?HjOTt&}hZF{*6;7?(bQVOBPJf+1;lJthW4vSELNY_pGRq}Inn4ul^w)n` z$e{y?ujlj)W*nOi2@ORHotjYn4TvJ0{sw{2f7R(LR*r#JeX!P`=J2hLI zEa<=H^eI2o7DCnBgjP94Jhuu&kxoC1Q2BS9e&W-u#0Hm~wc%*$t%|Z75Jm3AB0f?7 Wy3=PnCa(maiP_pXS!Y=J?D#J&9X}HQ literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_35.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_4_35.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc9511e225e4e6322a8f68bb035d05420029912 GIT binary patch literal 10454 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 J<%J%*{|AfHk7)n^ literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_10.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_10.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9cbc6a246b7d559e2ba7730945c3b576275ace GIT binary patch literal 2041 zcmeAS@N?(olHy`uVBq!ia0y~yU`zwDxj5K>WPAFTW+26pm>l8*r1^oEfm=5GAdr$u zgNOl{5Dg$XFmPsm!N3r;Peu&L^Ye6Z45_&F_R2<11_d71gD?JBueNaH;uL)Ms^6o_ zT*dzy5yyd#7*T-hVg#sm0*hBIz)LQ6P;Wkqt<UL;w5Sdq{5J#O{WJC0m~$ zxq*wiZjg{|u0e7GH+DDZJWAt5asv-_-B4Y5QmE zas#luz~%;>eaGh^xj}%sZn(*|7nmR6<%1x0Hyqes(1+v(A?mup?@RDPBsU0ScZ06x z;&dc8h)~xJx|7mCML4XS6vgg_1CKAtBDq0~x^CE&(6I!`4dU3{pj*oH1<4H()OEw_ zI9?AVH%MZ4!vQwq6-aK7qOKci);xZNWPAFTW+26pm>l8*r1^oEfm=5GAdr$u zgNOl{5Dg$XFmPsm!N3r;Peu&LEAVu245_&F_KG8)gMowvT+ihQELJtEFeJUE-g&U*rG2_%3gI|Kk7S zoiG1iSbuUilR;-9o52|di8O}8JPioufgJrEXH$%WtUC(jO0pY?5@;_R@FvwB@4Y>DYqpl9?6xg*j;&WVt62uE7|Dn%9UB? zSdd)Fj@^|y>@7QxT**OiS4vE52f7TNE;+Hg@?goICfX+mNI=oa-{^lUAfHon*@?8C9%8m0Gsg&Bv(q&+m(WE oqnwdk2@F?kd0cnG14krR%Fx@DLjPC12iniz>FVdQ&MBb@0G>4P2mk;8 literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_20.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_20.png new file mode 100644 index 0000000000000000000000000000000000000000..705c538ffa85274b471df0a02e0a2b49adcdeae0 GIT binary patch literal 9353 zcmc)Qc~lce7y$6)Xi!QJ(x@OFoRWlFT0uYwND5d%L=jD@7{CZoiwbx=MX*`~#TI;c zv>sTX>eH&V6}5_l8laU6OS8XVxaaMOdXI~PV1mPVqo&UfBtJpBwun|43_CTO>Z^}XG> z?$`IdJn=@6+M1y9@9R_byAKEm(N1&WAsrJLA!VWCPIGib4^FR9{5*wov7yBoy)t!u z9sKpn>if!3t8iJY-$HcMrPm-3xqASE9^T+6v2y?heR>VSHmq!5_yBJx%ZZ$iS}h%k z1B*1c8K+sAh|2EnIb$Cf)4Ak3wyk^b7%NG!O@2|(zzIc1aa?NEQL%5z<$J3B*2b1r zQCC+@L&q6{Yx=(q8SbT1eY$aDtvFUf^D4kGz;hf8c3uITQ5xeU`sls_oY8nrSyE94 zY85{c9mC-sVwYMP=?m?>)2(W=_1(5->a#bp>n*Gt2gf#x3wt`Vvxbzu^A|kvxaqkn z?*=a=dhl6eUE{l<=iAl@-&MXnT0Ax_gzKIb%@Vrl@ni%z-SCDm*<{1{W9?sC0qsLP z&9P0!1~en>&>ktm01W|f_jVbNyAicY8i|@QN%J!nx^hL$jW-vYFRE@h9q-le{Y2RC z?V*R3f`m+-UAX*#?aP*gbtj+N_idQjHn%rY)%|*B*7aG^w_UwagPr|TX0|pD)nq;y zYC2zgP1iM3%5qf_W-_9}DDA(~($y|kly)489m!{aatvPSSWspcGsdJlWzHLE##@XDK znBp4#f$(j62PPjpGT-g*thxi zWkj>Wlmtr4DkGGk)M@GcP^pVOha-K_2*e-Z#ZLT!l|am8Qe4<^blViFRtLd z76Y+0lj0K-f8qhL4PNYA!v6)eqGn@TQmoC{_{#QlOQ5vFD=U&DwLm#l+sZLff-OL4 zk5@XkWsrXhRS)t=fxlQ!7!|;f|wiHEa^Q z6I)CEIv4FnH2yu=Y{Lf;h~;8_L^#U4g-iUPDoXHLML#&4P_X^7G$; z!G~VMy;I|*APzI}hH}NR0$`X$ufb0|Pyr0Sc!LW+WDYP0={5A|Ey)4~RPo~aqS8S1 z0=1$>aDUREkr7$M^`lIBKL(zh?Lc7bF2BQ{?r&X5xcn8s_x^xan(`H@j8S%Is1n@Jw zlFv&;V}n{bSKCVO!142dG6b)zY-6JYQ123jl1ip_i3*;7e-4O|9yg-!lUm4D)V@|2 zlj3|;EgW>vemG8Cl^kCJ#NkYeHy5*CgBUNsi+Sx=BY}AMeHNy&qH#uG3lK-(#Z~+p zsAyMb#UdtS%$4sL1Y#6PTvqTD7L`D}m`U+w|GW2rcnMxyr4$?jVlk8Ad{a|$ACsEy zC3rDUJg^RkKW9?R&6P9(@lw3FDtiyPmqd+j%a{~5*5the;wZeB$68G8;!?Bma#F0# z+4ykexHzCh^%U-It8QzT17)mb$mOfU^qEai~xH0kxubXjTt*9BsQqZ_d8#28K0wL$!fUD=>UPuVHo6 zBr@PsmL%W}4mr1`1H)Q+4NIC{k*`h}(5!O80f<>`+W-In literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_30.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_30.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f412c7dea9e1143cddf9c59e92c4aa4fb6949d GIT binary patch literal 10628 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 literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_40.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_40.png new file mode 100644 index 0000000000000000000000000000000000000000..3543e92b5d8901bd8db81657ed94978a166794be GIT binary patch literal 28875 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 b{JF&~k|m@d8{gaqbQ*)FtDnm{r-UW|&UFUu literal 0 HcmV?d00001 diff --git a/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_50.png b/lib/libesp32/berry_animation/anim_tutorials/png/chap_5_50.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef0bc5e95f08fa63225aa135d9b16d721b780ab GIT binary patch literal 14739 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