From 807c0d2c8d1f8f4962e36d3292562ddcabf8706e Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Tue, 24 Sep 2024 16:30:22 -0400 Subject: [PATCH] chore: replace some pngs with mermaid (#272) Just replaces some PNGs with mermaid. This is nice because they can change color for the website, and they are more rigorous and maintainable (we already use mermaid in the spec). old: ![image](https://github.com/user-attachments/assets/de15b19b-aa3b-41b7-a264-8c64897de1e1) new: ```mermaid flowchart LR A[Application] --> API(Evaluation API) API --> P[Provider] P --> FMS[(Flag Management System)] ``` ![image](https://github.com/user-attachments/assets/f90853f9-7211-4c1a-a10a-e66aeb21b501) ```mermaid flowchart LR B(('Before' stage)) ---> FE[Flag Evaluation] B -..->|Error| E FE ---> A(('After' stage)) FE -..->|Error| E(('Error' stage)) A ---> F(('Finally' stage)) E -..-> F ``` Signed-off-by: Todd Baert --- .../assets/images/life-cycle.excalidraw | 613 ------------------ specification/assets/images/life-cycle.png | Bin 53075 -> 0 bytes .../assets/images/provider.excalidraw | 431 ------------ specification/assets/images/provider.png | Bin 50264 -> 0 bytes specification/sections/02-providers.md | 7 +- specification/sections/04-hooks.md | 10 +- 6 files changed, 15 insertions(+), 1046 deletions(-) delete mode 100644 specification/assets/images/life-cycle.excalidraw delete mode 100644 specification/assets/images/life-cycle.png delete mode 100644 specification/assets/images/provider.excalidraw delete mode 100644 specification/assets/images/provider.png diff --git a/specification/assets/images/life-cycle.excalidraw b/specification/assets/images/life-cycle.excalidraw deleted file mode 100644 index 73b703bb..00000000 --- a/specification/assets/images/life-cycle.excalidraw +++ /dev/null @@ -1,613 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "text", - "version": 441, - "versionNonce": 630753906, - "isDeleted": false, - "id": "fWR53sO5RGQE_NukjZPMN", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 890, - "y": 1000, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 260, - "height": 25, - "seed": 1929169548, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "Flag Evaluation Life Cycle", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Flag Evaluation Life Cycle" - }, - { - "type": "arrow", - "version": 209, - "versionNonce": 98635182, - "isDeleted": false, - "id": "comxMv7YbRFpt1dbYHSw9", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 756.7414572451423, - "y": 849, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0.7414572451423282, - "height": 132, - "seed": 2005717004, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": { - "elementId": "0SyqzRLd6i14ANI4cp-V3", - "focus": 0.010928467393289114, - "gap": 3.5 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - -0.7414572451423282, - -132 - ] - ] - }, - { - "type": "arrow", - "version": 285, - "versionNonce": 247622706, - "isDeleted": false, - "id": "f6SHZ953dRbLcslg-oHpV", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 428, - "y": 700, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 1188, - "height": 136, - "seed": 482789300, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 328, - 0 - ], - [ - 592, - -126 - ], - [ - 840, - 4 - ], - [ - 1188, - 10 - ] - ] - }, - { - "type": "arrow", - "version": 170, - "versionNonce": 101656558, - "isDeleted": false, - "id": "hOQcNNx7KUdARzsDabH3G", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dotted", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 764, - "y": 709, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 488, - "height": 122, - "seed": 1987572492, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 236, - 120 - ], - [ - 488, - -2 - ] - ] - }, - { - "type": "text", - "version": 480, - "versionNonce": 63575538, - "isDeleted": false, - "id": "0SyqzRLd6i14ANI4cp-V3", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 680, - "y": 852.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 152, - "height": 25, - "seed": 1635894540, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "comxMv7YbRFpt1dbYHSw9", - "type": "arrow" - } - ], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "Flag evaluation", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Flag evaluation" - }, - { - "type": "text", - "version": 659, - "versionNonce": 100661806, - "isDeleted": false, - "id": "DeLSf4xf9PqFaF3jbukNq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 510, - "y": 582.25, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 146, - "height": 25, - "seed": 1876044300, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "F3WMEgn3efPIVfvbnc7Ip", - "type": "arrow" - } - ], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "\"Before\" stage", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "\"Before\" stage" - }, - { - "type": "text", - "version": 60, - "versionNonce": 1438025650, - "isDeleted": false, - "id": "yEi8T8PClIvN-AkBfLMYy", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 940, - "y": 926, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 131, - "height": 25, - "seed": 397093556, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "rldjo9Bs_0OE8EKg7WDAB", - "type": "arrow" - } - ], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "\"Error\" stage", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "\"Error\" stage" - }, - { - "type": "text", - "version": 91, - "versionNonce": 1822196846, - "isDeleted": false, - "id": "5wDUlPd8B_jixs5NBT90L", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 942, - "y": 450, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 134, - "height": 25, - "seed": 1807170996, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "mApSEU77V3z0-ar-pavXA", - "type": "arrow" - } - ], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "\"After\" stage", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "\"After\" stage" - }, - { - "type": "text", - "version": 64, - "versionNonce": 481214834, - "isDeleted": false, - "id": "ODtqRP1bT-9qVF3QdR4Zz", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1374, - "y": 590, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 139, - "height": 25, - "seed": 1331492620, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "JLdSBG-06gcICnQFbizDD", - "type": "arrow" - } - ], - "updated": 1657721892932, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "\"Finally\" stage", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "\"Finally\" stage" - }, - { - "type": "arrow", - "version": 58, - "versionNonce": 1538115246, - "isDeleted": false, - "id": "JLdSBG-06gcICnQFbizDD", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1444, - "y": 627, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 82, - "seed": 1045076748, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": { - "elementId": "ODtqRP1bT-9qVF3QdR4Zz", - "focus": -0.007194244604316547, - "gap": 12 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 0, - 82 - ] - ] - }, - { - "type": "arrow", - "version": 54, - "versionNonce": 1408877362, - "isDeleted": false, - "id": "mApSEU77V3z0-ar-pavXA", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1016, - "y": 483, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 2, - "height": 80, - "seed": 1589915700, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": { - "elementId": "5wDUlPd8B_jixs5NBT90L", - "focus": -0.09637883008356547, - "gap": 8 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 2, - 80 - ] - ] - }, - { - "type": "arrow", - "version": 51, - "versionNonce": 1406976238, - "isDeleted": false, - "id": "rldjo9Bs_0OE8EKg7WDAB", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1008, - "y": 915, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 2, - "height": 78, - "seed": 1974872460, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": { - "elementId": "yEi8T8PClIvN-AkBfLMYy", - "focus": 0.047136735488897546, - "gap": 11 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - -2, - -78 - ] - ] - }, - { - "type": "arrow", - "version": 61, - "versionNonce": 1979616498, - "isDeleted": false, - "id": "F3WMEgn3efPIVfvbnc7Ip", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 584, - "y": 623, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 78, - "seed": 939203124, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1657721892932, - "link": null, - "locked": false, - "startBinding": { - "elementId": "DeLSf4xf9PqFaF3jbukNq", - "focus": -0.0136986301369863, - "gap": 15.75 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 0, - 78 - ] - ] - }, - { - "id": "NkDXWchoeeUIU--BNVMhT", - "type": "line", - "x": 581.5249175743113, - "y": 716.6987736687283, - "width": 410, - "height": 114, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dotted", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "round", - "seed": 407117490, - "version": 212, - "versionNonce": 140528046, - "isDeleted": false, - "boundElements": null, - "updated": 1657721903964, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 106, - 60 - ], - [ - 276, - 112 - ], - [ - 410, - 114 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/specification/assets/images/life-cycle.png b/specification/assets/images/life-cycle.png deleted file mode 100644 index 7e432b0b534b3c7619a44573415f5f0fffeb84f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53075 zcmc$`bySsW*FFkM7UDt_6+}f~*)#%Dg0N6RDQTpU5a~v`bc<4=64E7|(hVjGN_R^) zlG2{}2#fvxe(yKVH_l&Yj6K{6Ydy~$^SBCp+E{4V`7 zzdkQBKJznjzJHUyynWb;R@&LU%H&3e`TX{_i_ml)qgi*p(d#C1904KG|NRF^D((_W z<6IP9sXqaV1ncpC{xL{IV!3ehfBaqn0b!QxUAido|KXw7>dz+s!;f*;Ruob3%^R+^ zwEsO2oCg6__W$r>0#8{|@MeeEit|FnXBO znY|x-`l08_<^`Q+-qp->8O9W37IrfZk9*G^ny=ianV!`PlBd;fr4# z5iJh_m67B(gy;V*n5>nj-E?~w;lZ;yuP;mIDrc&7-MJE_&-vhcPB4>-TGVwrMmH}4 z+MoF?GI@G0ZnU$Oj2ti9UhSC;H_3YU;ls`8=0r&XXUS0fL_8f}%09ohIGuK<+qC*Q-7VFp|&N3>cjf@-dp4>MrkE37$F1Qi$U0V~;9DE_PV;LsdS8A8% zzBNpzoFGQFIj#L?ilbD%z@M6@JIpZJNN9Wcb$XXliM7G+AX2vSM#VZwLQWRv^3`q= zv&rT}``>+!dbD>ILw_78b6K}`{`LOgY%NpvcU6y6m29m-hXq~d>CB=G=?LyZ<2J?! zA$Pa5pUM*hJf@vGdSCpkw8*HrGaBDHaNq|?eg(|RD%|Xg&)@yVp@}LtrkK*z3erf+ z>FXp^rPCCG(-`RA5`=WKRc-0^nCAI!y7m;B^}VW!k3X-HqP0>U)Wl_2f0mlxK10*C zN%XU~@+@1_((^0Poy^lrZ6!>L^Htlc5w1Jy-pzryu1^{{3X^MX#YKxzl0ErKfY%u*mTtP#){4RGw2${jD8d6`HCVl*l$>tY|1}< z-32DIpHAG(@5(dmS)OdsWOpt&Nb67?B$qhzZaS-sHGTWX`1`80AySjpl$V?iV_}Ai zU6l3vFz`eIY&<2&w|>{g$yo`}8TQ>qS2h=F=rV;L6K7qm=ma3u zd0yLbl=8P_+t~F#TT8P~PRQhN*7JU3G1yw^(AI2}lB9{aW^|nO4Tsa_WO7WY)qLr6 zmVF&d(VLx&Qtb$Cv)m&z*NYcg@TY)~sE`7XBptPf3b~gpJ2W448H8$%1q|dHDQy1w zc+|Hcu{zZLuFG7>cp-09^b(w9wWYBieH`!6q$fK&wB0K{59j9%yYDQ~P4`zgw|@zo zJ&?}YCCOGX@+H+EFl|#QH+3w`K5}bZ=ug<}oTUr?L|}susNyrTJ@fbNo`a+*(Lqxx z+mmjlaFR)ShQ}x9IG=KTm(B?$x`3>u;m1YZ=tHDrg51#E?VMFt-y9HB+bChmWzwDxbLjc$O=sTyL+<^1I9zM(SB^Z{MRs{f|1$cwVloR9=FX|!%z+D=SE$6xk;L*D6h#U z1$hZ#Shts3?qF)ua3j z2Ss)#-j7nVPWg^C&}ZiqjG&208 z=H8O%@2&NG<7XAFO4-={+5TPj;kTM@swPW;tzwwtwf!S{8;+>gHR@&b?hy?neOM%d zmI-2CS?#eXGi63QP$ozA_{?$Tp1M1;rx%X$Y`#&8W>D!)K1B7XM5ARb@sa~NmDu0DJ#U@@uWvD zwzgJz9ynO)p{^?3C6BRmg>fbdiU^m3_b-`Yq8X^Gly~K1OKB@KQ!l#KY;tBi&YN}$ z<=>KgmuI`ILvUwJugD}Z9eKA z-gN1+A>dl9T@cv&cc&Cik}&w^(s#~=;=||KDw;Wj&~M6bF4m4U2Ry^1q_npJj7%F# z(>M%z-r=Hr)9pAO)z|znIoc_0?Oko4e2$o1vTc6=4L{=AHNSL(YP+d!@uE!tNu!7S za_ncjOQJ~Ic-ks!?G>!ny}VFG!wI=96hw+*!6CXKrWg&Qa;M0SAn8kW)7e%1=H&}w z)B+AUbpZ;E64I+24&d5+V-orp?(+U5f|(gq^rljxksSw$yJhSe})Vn36i{mX=8s7y9)1``6pD`>{|oJ=hCVQX=I5W zuR|Iumg@Pl0!zEA{%l(m3CI#Mp|f6bp)G^ZNl`~AJLQ(_v5Kzg?0R21|Dn>F2;pLU z^A`KkixU&gz%Ny!Lg<{$@KI9oWbhB$#cx*(rClMMFyERg3+L!jyk$D_^(E^q$u5ne zUhBFC<0{qW?HQ^`y1%pvBTx$6D^?3bpIND;?LN>tjvQ0T(e@OWB~JC)!2C+(t@83# zQ(pT(%2xcHXI3NiQbHPM5;Gf`u;8NNX*(vBEZcDv77ogy0q|uSWNd8`3N%+|AFkK2 zRTYm)Rh?>r%^IPdpB#DlBX`m5lp=CpUW7C*grv z6^O%7dR@k~*A=vtI3@Y-IHAW1f)rFuFaoLMu0sL-<1y})09*CZZW~4lNnspS6gkcE zHSXKf+N>VQqtUe)^1@DSQ_b@QBML8+2qc8_s<_72-1_?vul64o;Vpbp~G-ua9 z6Dj?X5(>YCCMY;Z@bC8e!uIBTr`X;@u~;Oa$&*VEE16+5AWYS9`Ie*;fZ|Mhkr*2i zZvUs{`1RSZ&omDy^A*2?PJTzWQp^!7}MapVf_lrV6p&~Um9Mi^x zO}gaM&rxOii}C9|xCpiy(gezCMxjs6BPRtjO4by}WxtqB<5!(jGV?5-Ta<*2V zfi(lER2^}}I8&K~uqcbV;)8I^3KPlYgV~b6YhJ64=9!%uV9Edx&C;J$#YHs70QyEp!nR9XgYR zlEb*A=4?WwtD4pHuw+0^oMzPPRxODF`R#v3DxBmo=NUL9xst-UOvb$UYtJhXw_S;G z84BsXvGC~xt3yK6ncx*gwX0bgQId-n(V>d5nxcc0vhpWGF?~#B(qSf-4w!Zm$_wKt zZB-tGqC8YIto~`sROcDaGFt!Hu5O`OE|NP!SgxZs#35(!iJ?czoRL2JQf#;$%`_aT zZ1vKVOF7~T$al5WvlE& zYt;4x-GA$sblq+$$cd!QN1i|$J>C}76m;*RrhD>r`Lu>ashn8u71ak?Uz7_s96yrr zbmrXus9~1#>BBq&}kuFNw&%XZQN zKNizNqo8V7`z!t&KF$_ChOMRy3X7$~C&aju==^25GDc$_k+uPOlm7CORPxHHH~+E6 zNRGNR)AVQ$opD%cPil+uCgP*Crhs-;OdqmQt7*bXXVe+5-rWsV0M9-!!|1=~i4WkD zRL^VZBfe6AKNA>T{+WQk}}3+@eVcT1HUNC4~M#h7!3DQ zT7b=7D8r#u~725vWZx~>WT0z6bB-~Rvqi$fQ3%=@mx{M1~Czu(4>(bEH2gs&ov zWP6K1QiLnBpEaHBE?9+B@rg5bd4H}XaeztWGG{c!{<<6j&%r~sQ?1{WGw$8buG(?> zbzS_$K0ZG~67@AAPP|wC>W}Nl(#%Xr`8w7R6BBX5`XqkQ2|RU?)a?}htAun!PRkSb z=PQ0kv#8~N^-i!N`S+tzkc}I}f7aU{J_nK0?>RG@@%n;Gk|8?#5kEFi4<5=#JZ`&Z zAmq}XNP?{8wr-$aYHM`u;McvAfg|uFKy38aNFx`130~m->};FW1~IIDrqX_r+_Fr8 z-^yptU;)%x?Y~XVkf>gc( zGycP}PpjXs>&+m9M2y?Up$q@6)>$M4VCPNVJ6E0$F%%ROos=pX_tRCf1I7qWQ{taN zt^>BLLgiSp5d2mc=T?z3rKJb0fCp#^-t|BZJ@R%z;3e)|LnER z?cW1SJ;&+;@T2`C3y665O4PXvyAa~>2gPYvpT9cW(*xwm*8j2w02KE#)r$&&hxp&u zAm6AZL;MA8>);Tj7yk7l2q4oo@?F}Sr^ww{u)s4s=BDmj3*yVfHP7%?=jnkM!5UH1 z4ZIO}S0jiG0e=zjBmX3PTt2>U1c9&vB+{2}?S@_io?C}fid|Nw+74NcT3~oN_g?nt z9=zP|N=zJn?p3H@My1>WlMW=;*}8F6d>`-rYyV$+pfm>D|5TU(9U@5c^5eh! zKs1+VALHlv_FPVzvN}+7t`Gdra7hd|2@v52imPUWZFRe2eRgkB&nj@EwZXGU9_{+O zk7xBH!Ty6wfKmvSG^_t-@3}8erpPDyRBTM8+fT%Ki#bIeK7xNNNjS_u_6Nx}e*TS^ zl;SO$h8u=vJ%wbmrzUv!%}Na3e?O9I!*B1Yo)jr^2~Uya5Ii5n*PSK?ytQJ}06pWc z=lPNDy~dhVw#ZzQ|97vAS!;?MpAgTL{o^u(pm2R&L+9REt5)%ZCGCR53^CYB+R(@Q z9*g86WP_iX_Lt<>omhzAxlKE-md)hWxm-W*y*CMX>uqt^u0rKAH1T+x9eyw$XBYxlKZ)V;@_8A760@ZtYBZfh4C<3&k(z_c=RavGB_Sf9f0 zE`g^lAa`QICq4X^J+BcR;h(t*KotGs4f_Ru@g?&84--})r0b<`R(l`DuA;{)DRycIv$-K=O3({>LY+IC$}o#XdyRV(tse_$|B1 z)R?MpMg5)bKNUM0({VHhX!be#5Azs}l7+Il9#wNxr`id9V+>4T5_3_h_U4!+WhcX&k}BF9|kK1L6Jm z*QEN2ClWX!6f*d))Vty%SMi|_0csL_xP9Fm47-eE8Jg$kd{8{qp}iB%Hc#o8o_(^GgVuHtqkiw3Y}F^6TeEv(G-1 z|J%~m_Lu&AN<9N?3r7FX1jRmjC;@uNMX7$lV^SsNdn8{=ccEFt@*6Z7ZU324rE{t+ zT_Jk&?Q5A_ARW4oiJyJB_)cK|?BTE_1caJa?TxRMuAAKl zjtb~N?kTlV{QmL59-2qJFBh$(4&z7RfpY@8X|@@X!-ohXnYw|*_c!bx z!I?b(%FkIo^Rje!CsOZFNRoP9!uS!t(?na~HAi1u5XWQYGt#rxU(YEgN>Dn_7If5} zO$}i$v>51zqaLcLm!4UeTVgZb4a~?HE3T*Bc&r~018X;rgspHIbVcb!`P!~3tV+&%K^_T(A-dH~;z()bz9=7cZ$I8qc3dXZ+p ziHAr~&X~=|$0x&T_{(YyoqJH1B+Ffwr5`-Av5$|`4&UbG+J6cQJf$i8t{C2rsZ!j_ zd*Bb$W*x9|dg4GGoHT4^_1*Ko!QG^ku_{qnz_%^9}^Nb%XC{xtjEgB5Xu z)d!B+3TK3BIT`sT?E2-p!-bZMp_%ElWK&pR! zF~)T@jLW$7VV-+86v}2AZyhZF1Lh^ZdH5I}UA|@ly7W5PaPLj+nMXC$AWXe!>~mDK z91VPRmk^>HR`!z&-)PX#%QS8k2pDEYL$wR_0{AYYP=^Wek0J?yN9p`HSb?|JK$4l_ z;ehruB_`*o)MW1IcT=WFXuzsoXQHC*S|I)A>U$Q=xBq(GH8z|_ox4K7vpvgYCx@@| z&p=%xZ@_KSEUzhTKVV?l+5F;9tqx?H+0duw?1A^6?QiZJCr*SY|Lj7D zy7{}E?M+EE zW!60(yP@WN*7_MjF`Ivaz_9TC$EQdg=RwuhqVML?t4op@cV1s+KX(7k{y_fkHF-jm zRk5m8wmDa(c~vrVFI;JeD6QQ|Gyh9{N z<$&q>0E9c=-byRuwE*e>3`muwQ1`Qsz=}`H{y-LxC&iRJc#D6MDB)~;ic}V#%~&UJ z*@jR;%-CEiwi?cLP(HF>zr$kTsFfeVJ8;N1vmkpdgOZX4S=LDwwc?@0826nLIBk%8 z+WbfIsgD4K>poBj9#VvW#J=J<{O_+kaFzfM=tt%gr}tqP?;l~VT#dW67W;92E-c={6rRSoNAf-TMh}JTqTBI< znI3Yw1WYN|3*rI!0JLRu40=+h?{CQciQuuIZ8dLU!@ExGG^}y1%=bfhU>!h#+JnnL zDAkBB&g&+I#8GH{PW$rsZ;twMTvX9W6R86v$#tc+ldry=bKK`I$emzraWOZE@q3#} zRNj3L^DtP6NU)9FYhzxm|IM4QBzEI+{1W1@GVtc1YdwCuQ0n>Y5Pfk%xFUj}PzV+` zwLOfF@yT&mO?dpI!~#AKAbH|J)hhpknWaOaC0AfOEJQ8Vq$A7x`GfKLCF z9asNLLeo%jsDH8}LsbvqH4t3~l=wCW?E-249vgj4+-Y^N4NK7>YA)ju6vxK76eTyO zFvekNAx8P^Qhg3c@7S_N4M)TFPFJ8f%#QDic9D4$jb$|c+1HY|O-yY6Ms+v=^wYzqhd2rpaZzL09++09 zMy~rGh#u((+H9|k;vpxH8s1c5#VT0WAoOPjrTS;*cU7kQpB?)~;e+61>Smxy^WEs~ z@+Eu7f7>A!rslPbMXJesH{5eye=`6<%;j{bven86uIno#^?-1P?u}sc9{C!7IrcDL zc7SS?+jcy+z!!W}cnkr#;X|t^4W0p)ygtj1WXeDa6cOF^j65O3`@SDy2}DScVNe%R z2nE=#m_J*FzZIa4G2pZT3|e=z^PCY-DC!IB*~LSc&~ube3|?U@krbvqOVb2YB-WnQ zj!R=DI@rIV7*-9XWyV73O9#nzK5@;%eIG$&eHjqUu=Njr6NI2Yy%1TBja{N~Ys&q< zj#jMWQmBS5a1}2QNtv$}!&keZ=U2KRwlbFvzm_VSP3JUmj(>9|4@ntV9c+8din^8> zge=A*Z34<{BIdCwfG1HsP`rZe(1q+hnk@c&rRhq_YM;1)x2sSsw>Auj_=sis|<66<40Pc|0q?~ei{hm}r77+a>E{ObN^Q#)NT zRlej)ME&a#2#xs5bP`yLckQU_m~2uARcG_*eCHUS2ooM5wO{CEO<|szYle>x9=+U1 zxy6v+y=&W_kYtA-c>|0!AIPO5UV>3OId!L_z_(KB%tKuii3vtABAPA>pIH@VAiOSu zWRQwNQvm;5F^f~ms1rhuAeH1SbH$`g!-i(cf!5QcPzr_AXL1@50^;OA~nl!biru+6vJH%H*-cxFF5f(}##4h&^$1j)aF_%DS z7EC?vS8v@S&C><)yhlZO@tF6arfF4)YH|k-97FLj?9y@HXo+cd zb!x6Ls=3ux>jVNmBt^HhC`IHz>H)8c4>yOtPIL@}aJ2`-KuErMlKGxanrl*Gj9yKE zU6*S2`&@nDKTr)Uo$-R;ycfw{!Sk^^%FMe~_U+^DVJ4~YKxtykrK7I5<(~~czZ@4M zPwauyC!(OgKIn14wE68FB+F^>q13#Pp;5xo$fK3Nv<+d>2scsLSh$JL_^pmBkgY)J%gZnjJ*h{h4#tJ((n8=mcWXZ0mz85hrOPC>Tb#~SA0!P| zEgG`7l9*$caa0HO{zu4iVmWPl_S6HNr8@R%|DQE9w8I99#p6VRRP7!dJ338u5|6H z%1M7YRW;1h$@T6`tEPBSbw9QDjBPRU?QH`)t2{*pWj;+zjqyo3Qt-;Zgd8v%r3C({ z+tQx&!s(4g)8UN)GseeQp@?cbxRimOBHeH6KaQ5q8Ol%59nJ8VDfHj_`SQHw8z zb6srqz2W*abGk-}b@RvRch-tAwZ^3m3ifY8t{O)NrN&m)sco~F>3IM%*e!EoMX`lL z#*wM>vLU*hqSqO8DVlV_??ad_2u1P{qewof<2+eh+b2|JZ>Ce98SPrT*zdDIU4e>Y z*7h4H=hP)yWQdK}!eA!F@=>B2^_kPunk^2}ge+)3+wCQ&br#cQuH7~*4OxTKtoO&P z#;iDvuf{x8w&U8dOfI z=-$XiQo+^Gs;$qNx8|D?Y91tXBMx8RZoa?IK!@R8(xn%ddO*TFg`qWG|2gvQ^(=U4 zZUY8}*Xj95Tyq$G23*pm0E7xDbLOxb5@~VZYKORH{c;97Q}J)eJBy{55*HcClX0QB zSrR52IkFy-m5E#|nys%IfUzvbh2-Y6wpv&eNusll3z;t8FG1Y46%$EHAA3cT+vLYW zsGG5Lv~o0QoLPVR!xNmSGOCtD`2n+M<~`{$w#PJl)^D9>CpLYi>~kkQ*fP#S#ig0N z(e9=4`)j71jhaVO4*Mw=rgUzB!g{#UciOou++1s#|4)-R-E3vVbhv1TUg>HxnfWE^ zk$6|w*|{@f&xtYQj?&*yjMNFaTw(dShdKDfl3ui}B$eC!=!8&TDyDw;*jJ>;_C>$T z-7AES@xYx&r}KO6>nb>9c-^esk(*`Kd`OQ?ps(zA3I2j)(B`XW4Wt=TM!C=l`LBnd z6xG}3+Z^8i%g)^3*5r>0{g&&N1~fN*RUcr*C06(Jme^=Ml{b=pf0^>OqH(sp_p-6x z*Le*i8s`ASwuBYhVjQguT zdUWK*vg~j2J~Fx4Ohh-d#@BG;x5h%&rD-jBJ;5kXo$c1Z(uui6 z*g)z0S(ZmXKjquT&5(Xc%9Pl1fmt3Z&$I@pZ58gQHfd!x*}ix`jJUNbB3sSGGoMP| zXU{PAc|gM2qIvpMrXWMta-U`grPI-t2Z~+hj1lpaoR0=vi_$4)xHS1w5Bp|KdiC38 zb^==y%9lJXdr$wsAaGjtKmVaBy~H3fpmbG6n5$2; z@!%~Z=|^->!l6=#x@y2VY5trel;W*IqvSu`+osoF7@JR?my)K_0I6QYG(;zTi?`A7 z$MZ_`6aAii>bpc~+d@Nqqo(dvi&Z`E@ZnIUWd6qP!??N|{Ey~l1YLrHR}f)YkS@A9 zs4o#jM2_f>L30AoroiLIg>J|n;p`A|bFu+#|1)n7uVZTAnS&?0coyC)nfl4c6gZJh z^7{$CAjM$r6}};R81S3`#emLF6MarlJJdY?n#;^DaT=TXrpfq7A8*5h7U#EuHU*#V zb~tG%$Ui=QZYxbY@&~&g=)v051b;p`(Yw+DtqXlVr!SqEaFRbne2r)e>Z_y456~|X z?b=J#V?BJ_lnP&P1WIrlY(6{`Z!Bm;Q*11dI#J^Dk%^RENns-sB>|~~RhU8|SK=pQ zL*W%si`%8nu?9~u-&0~FI@;!g&!^)ebHf!oH7yhqxm*e8s}m11uuTM|#Zaz4O8k&U zQkhE%?lyM_wWM}31s9Y%BC)DsQR#Fd#1I4?y;SDt42l^A;~doUQuPGXdZ|skn&w7D zePYd&zgn4wG41kvsa_N4Pebn~`+jKl3Rd&Y!i9yfk9DV|njq8CJ4rRE%ty!wg@Bw`PgV8Q^QYl&XRTP4S8>Tk5~tUbXbht#VbO>=ff`3CSUOF7$m0Q+Zr+MiTQ?marD~l~IKn z6@M1At8E9aptRNY%B_O(e32&gQkBIwX=RC{Zcd!5_PkPUH9lKqeiRPP*0)v^-e1T} z?pP$rezU!{Fsxad(LwRH**myAcsogowJ%O?HQ1g}t|eExZBaf@PFN7#F!J)=wI+zw z{8(7z6bB_exme^{m-5pS?Gsz8od4Odo6(?F`V>08%Ulk6=-}y zBqiX@TsVEYM3{-%>V&vLOg?`t@a)qZeH1zJ5*95<(wec-ggKv*Xvhi_Z-yzWv8E{M zur##VaG2HFw}kKHV!G3X(jr2NrLNJ5g$4N5T=2lUY#|Q77Kmufl}WH zz)5FGwIbRUMa61TOUFd5Af4DJD6{j4biou&D?Z0b6(iF1Tl_6&Yf~cHYqjKE^)x#s zo)(!u2{rBZljwL*%GzWXk>yKqiZRoO%O`8{`1GGCSNV?1&$%-5m*KchS?EgZv7iM& zA=u}fuG}A_tipUkC{sqxF#@W!ltR*X2)i95RUaS;6^m-_r_2z!R~}xfrBBato4&ER zb7h$M1YP!t(*Cx&P>F{R`$`KWjp;K}rTl8=dm*e(nidJ3kqeaFP7+151Ri7Z7812< z>)@+3o`&SUSiYQ2N>)KQCH_7PYK}R)&b8B({j$NqiGv|-*-3wTofH2Y0!U1nn|>L4E>ejNwfd54^c6Ni2NN&F7&eEN%0Q5RO5$^|11^=hodA73KrKM zz9w+Bkn4MBaZt+OXRxx1_DYzNg(@NMkG!mvd|P=fiNf1l0V#iko;9zLSc)2P|Iqk# zyGuu{Fa;ZCte>h=F~|Eh&z8OCZ0)OX0mt0B_GW7T{@#@@*+&nuNH@}W@LsEUKYeQw zilKI&Cr(g{SvjDuiV=BTi0zA2{G~3;%F?53>3cY9@cYplf6H25qj9<(l7@2R;&p^} z7t{)DC9`DZuo4Cm6hZPW#Oi4S)0C+L_q}OML5gO7S|RNRzvUn<)G}60!6`s_ke)$U zn6WKc{!6g&?=%Ykkc~^+v(YKlfw^BPKFPOmMJvCb$lHX{hh3LJ+P6fL8<}c%OgA1; zrgS9TqpYw>#6@zLDiMp_p}1ZsF-qSVn&C*uH!G8x%bf@dHQ{up%cyou-puI7W7N|P z=Swd11j)gCrC$^;M`U>$B)9RY9ZH<%>u!@fZKSr4pc!w}L=LpQzoR|{Ays3pc*RR6 zVKGf9PLLIen~cm(LOT(PJt(Fi!a}9MVAbXb2xUA}LzWfHbmaQmaO#`kM(R zO9Rs3xfhtyt?haDfx`-(q3KzrwX?YSU@5t8rwxJ}{~0e(4ffJztcZ82(NeH~mHR3v z^DWUc{X~6^FyS`ub{}eVR{n+<*Ap&c^ooQDqibx$I_4L{x43*|TDrF9${rHqN=@!z z&eGI`^noeZM2BcDPzj!N2h{h}%+$Ch0HBQ%d{yi5}$7;z+#Bs9mbHdyglUt|E znr|YmY>S*;^)XW$J7vDSupK%oe^KN;HQFlwPH+fOG|;PaZYzCG9{^vX#G z6>=$I)?h-}xD{xsYeg#sr6%eGP2HR9RVyvN|B;yLt=v_y8buwcI?{^pit8a9{;lQl zv(F`u!xl{kXy;x^cMdj=Ox!N>Qca7>Fo?{R4+-xmukJypsNCA)J-}>F<~Eia_^a8c z8a%qd3)&<((6%&ZBy(~Av|j!&M=suNvYJTDa=|Gj_GE?CiV@sQS>TQ%K*D$ zJgLHRP!Y@g?n@4LPE#5sAH$nuIu_~HH_N>KsRDvik84>|NUGeFETx6nSY}&|Pa8Ne z3`_k|rK0{9Fa*^&?A(qK@QvqfDUM zVzLxN8MKm5f%q0{B^>tl^I#|JSJpBh>LXEu(09KHWoIsy zV@hAbI>NcljFCo6b+0?5MSu^M4RjT|3Z>Y4xD^50_t|Wg7+Zr)-;2w8D@A^mFnd)+ z!(^NBwNxEl!KXa^mga8=5yqmf0mb^dYYGdSzzszw`o4EOq*8nZxN@nlgu7Jh*KChm zm5tx?^C28ig#6ML8~e<~ZTv~zt{yhfgph?$QTR6$=}q&l-z%9DXRS{zRks=YZbg`x zrj%ZKU86f{0Yo$jXYTCS;k5wmR;-t?vE$(F8lT6h?+)_qh1d@nwcYZWhtP%e#Zdug zUhK+Npqk@L#bz%$Ih?B(>$A+H@IyTyb%2Swj_E30W|zUWNl@-dsQA?ER;4^k><=jeEHS@a9|8e+c0 zWtT5XfIRcbwBMKXGulW8XU}Ije(B~Rqz5Bg5(TcXbPld`#RV z(Pxew%w~03c2CU73H)>AH0dG{_-Wtjjg@Il=~Qj^?Y6ei=1r~Eh$;VmAk?x%K0<|~ z&vM1}c9=%~8X`QL@8z^cjKq_iG-WPi%JgN}@u53!r&XyM|C}%rud@7kbGjp2d!cV9 zBj(Ks#Q6CrWOXE0lEbeV=|YQ7?a#0!cSZwK2IpCjCKUh&9CYUGdd#cxRX|6rbw0j- zPYgF&(czxmRKAAXY0cU(-4jnueQZp@g?Lv(yQ2Y%dSQNE{dFd~8U0!9Nlc`O|vh2k@=T*y~VSiRTRU`>W5z-bB@2Uoa*SeR%IM+Or%p@h1qS zo@dxl2qn_eAE)t!NOCfu+M3>oi~ZHalb<6r2!H7P2}(I-SSo4P@3bZl%FK`6~eHV$ZZVr)C+skk6hMR6qJ;j z3OhEG_$&WI&jY9L1`K7AZ-IXIoaUa#wJR&%KGrNIuTP zeTgr?aB(GQieBTUc(khe=*f}iBx`K3WVE0Rc>u!T#Xo~*@w%>Dr1EHzf3~*!^)l<1ZkR zi-KfsPb4ACPmPHuA;k;2jJrvg?Yk$Sed?f5{`0BB;>2|niRtB7U%j@)$=;H@I-cRay%gy;jyRg-q+-+%7?i8*x7+nIIp2Fi+R(1~d-+hZaihCs!3oIC%* zFd0w2f;h;mtG@>ofQLY701fjF^cAmX-!mQ9)8(KpRIe!OBzXm_ffBvWQ1*z56=A<6 zllj+UusK2~t@aQv4Jc=FvzYuV2ogRHuezNlti8(wU9MRa_2ALaKE(&xmJwMjyGgog z-UC(>$pR<5p?lyOi8@=E9&+Av-vY_iXz0b71?XfCwFo*(0!+)r*l+>H%XizA1FHGR zP=pk+v1Kw**9m7%Ya%jlZkU;`iijduzNp=UTLP^8mbU~PZD~ADks>;l)^4ALElyh^ zq``I*O7UF=FGEo%5+W^+>CEc8$7q=MR4e&2hkiYcxS<|^SMWmtmrQUr_g<>}B_?`$ zo#f9mS8WuD$bSiYOta9D^NC>Lg=lNFp+1Iw%i$Y;{C2yCJaaJguk$2BSqpa&DaQX4 z`}vGpaRVe+^818YMdt-d*y+v?X1%E*@Zxppw|vaYw0ww=sNZp%rikd}8UFHfK;wZeP%?tR@9W4yWpLMdxT*bA8wKGh@0At#SeNW2nD^R?CX_iIE@G@_3CCjm;V z#*7#59$R;5ARZUT3ZS~Bl~gsm)t<5tJ&AUbNae#6LoRqa2*JT5TF{aq+cA_H5@rnaX;n*bECH@ zNTq6@GS*}S5?B;d4h?@J!45vg>9)f)9{y5cr}VYg2LyeKFIg9tXwA8JF>l%n_7VqIubVoEweH*){PAZBryg_< z>P&wVl0t$G^{$g+YwKX}!EBE8>PfJE<-GVAu%f!}zk4*_54e2|E{E}@q@cJ5x5x}} zxO@S^){z{J*wKkdjw`T>)*rs#;W#!(#&d#&7Np8yB;X|CZh3bPzJILQPK3OS#K(i9 z7~&HPDAkrxo;;bW&rW~hmJs=~SQx~yNX4fkun!A2Ng`ngo)O2dKfz6)gU-cOhp=J` zZpGV6zU`NuNDd~%lJgOo*~T%mhA@kn8=ode0dP7o$+id^x*(kIh0ETH;yO^RvpKi{ z$=Ws_7Bt|V_ekkYBt;{Yro~pwI?u7UvmGRUfg4004`pWTQJhyr?4kND?2?z$dXZ`i^>m^l<(~Zpv=yd>Xnn(PyPo8|JU^ssR5?o?jDUw z_W)0X8C+1i9q+a(U!o zPgA6qt?+71!*0Px0IyZny%;;%(M_X_o&f5eUW6{8#4v?q?OgRr2%XQ_3(t^q&CA3- zf5M`e-JS5N3lybfk2xB!EzkDw?Dd>rolp=8aI{fpD5kz5JI(Rr_s0oo_6s+$CU9H~ z{6h|mt3o&veZ`~2f&n%l8v~j?$w4Sd<|6Ibz9mTHadXjbs+I6C7}c{xkNy)tDwqK$ zYV)4ez-A%(R9z_Qu^9FOtS!gT(ED?Ud^Y}@kEDv@NB=r0P8lLdz6!lUM(9&O+rUQ6 zXMK^%I_%iuLwHzdEH5G1^`}gB$Y`(J}qha_6=q>~>vv}*J9+4c3jNI_jnClQ3 z&lnrQ(-*iyga-8VIf?PLpzY>pi~c#}A9@J!MAacd{O|5aHw}aD<fA#KWhDA?I7xGe zN1{J-TEhHykqD~=!~ASgIebkGxqfIi&@Y&$H&BYAZ(lbHAM|WIWLZI3%8>BU2np*? z_;`=X0DAVS+Fagy&a)RdF!&58WP;o~rHL}e$nY(RDOk!$HlP2V!fBF}FYQnv)bMAq z7yV8U;EiziqZG0?ZlOz%%bUD3AlhOWf9U{}(i2sf&(#K6*Sip_`F4m85;=S%>kVo= zN900{dDJOsVs`mMGKS$;7+5|0(gNyqH0Wodu}$BP7@(8gS0OO{snhSn1 z8#`^G0Z;Im{x0s`3xT~*O&s+(i{iKlj_ZCndBV1i=4KIeDO~yTDF0swS)>R5O}oHn zrwsnvAUO1Ks5tD~V#)%(X>rd83ILQ5pT!Fw11EN~YZ{SxLnmz}oVGigF>};&kcgTi z3U=u6xE@5icSF%$$VUFP09V?fUNT2Dek(Q}V1beG>r%@}UPL`;JzBd8)!~ifgT}z< zoAnkqX@RgQf3x}kgn{maZSBoR>yB<0jXpzWOHP#k-39JWK}7Dx^u+gXP8>i{0?;c7 zTxTgG}t44xg0HmZf<+f z6LrN3KdzmTxNcF*(`Wk{q1g(ZR;FBzK3}>(F6nvb#AT3S6uyBnjla=&=Gc#jnr1Iy zBo_kHkv`m)qET%57hPBzMaRs~K8R))lfy<$XVM2mu!|xp_T_P2*$bv!xrxX{M1ott zK4Q?th)M|})}$XXLPD~`37jM%nmUMeCf}u_>NIZ82qQI}yy^W{(@lPquws6ixCYUU zx*-DAx|74~D}Ed|VHeI{3p;GU39D9)wPyS^7GV)?Y?Y~5)}974n<`PL_?e|$)ejf+ z%o$tIK))2EHh;ll?%lty>_2Hc@kkSH0t(N2ZjlrHzMhaQ_EPaQwkTWy?9L~(Av!1fZeFdMdiRQiT7PW#y zmNn?2%QQ`<^3UkXSojnff4G_-hR_{N(JB9a4Gb<)^VoLco`(4l@}8T^5OK0rE6K_Z z+G|0_63(6|h`bRlBrAiSh&ln`>x5Z7=4C&SdwbL?ob2qc*UBCH>IGZH9Bch`nJDOH z8PaWSl3fv^>@f{oa*oi>+GC2YWd}zJlsd`7Lx`#bxgW=zPZw@(%YayQZub;;;0lSB z!x9>3x9KA!WB6-1&NT+JSOriUdMe29eFnM21?1i~CW^sspw}{??S~umVZ1gRtAR-P z*Y!j+wG0~4a}WhRGzk`UAs=rklZ5MD^a^E zjLRY-u^p8NU;3n~18O~_p}QMoYv!eHjG2kGgUvR`U0|X2EI|@i6ZZO@w-lWDua}vP z`!bc%L$;x;Qv~xZbaVhysfpzjmj+X!=HZ=ltYmp}qa|8y_la)oi)n9T- zXz>H!rsq>KYBi+b@M>_8sCZ*}QV;HZwB+Y#1_~3_^Xd;}qRljlZqT#!R6_slTf!_5 zKzBhSx2TUPk@kVZkpKNXDMJjg*8`22mHfuHIHzU~*-kXR5BjzO^0gqQ>H_F03s-Iv z0A+R8^hI$oEGZacu1D>;7OFRVHc8OSX_e)0ANnl%PDnnmMBpoE5)tfD{!!mB9Q=Ry z`tEov+xTtn+?f@!$%^ci2w9O7W$(;TR#s#s?xJBwC>ghvJsb8&A(RkFNoJ%7k&*F! zPotjq_j^C@KRrEkU-xyL*Li;DaU9>fBrlZ*;Y&+E2htcay8_6cXBm#9|BEX=C=J4S zegej{?>d&;^!K%vIHx;ltuH5}KTetVS{@;4Krp*Ak7+w=bA_WO9T2uNb9Xs{Ea=u0 z!r3{g7ih(yB~K_ctEHu`;zv8U>3U<24UPR8HQtQ6pHs8H*rca5aN{wvNOlEMkqb0~ zlVJaa%&R}p=4NqFN`i&7dRRj8dofyF*v+LHP(x-pgoOvLe0V;8^4OIhA4npSIXI#! z>Vf@X`kA_?TPI4LZ#35yKq&O3WrxQ{88^R+khbIE!z&v-k9a?N-hHEukV&K#6b~p7P!)@`NM$Ht}DW9r012nt;}X5L>dg$O!fz4JN}tknbj5FU>Ad~bt)j6-7Y%g53>1d0 ztP1e+yQg@q^uH7C2itv0NDF}JAc7c;O!7my@_d3`FvbYU{0#WI-NfTmBt%F`f`ErR z!c2#33S{BFAJ(D%;_6Ab0VvoQPUdEMto4ABCFJJLq-pCG^V6T1IkxuC`Ga`&czI&l z37vw|A{~vTs~@U~80@5p5d9r+>d`=Sb%f>+NGN&+tOHv0=pR4q-HrJyg+2g)wYfmlt2H4IkN+JZynNt=bnYp^nIw~OvB=*-qdi;uGCyN$z|K@ z=pu8nf%VvB-w;GPU2npNSMZwde_$EE(aj<@h^efd9H^*o5JyD#}~X_cyVA@^fjITrrEe18fciOUL`6FjIllE zj^3Y7|C!Wp7t$ucF)&h%+Hs6wNI|!ozz{&m`OsLBgwyM-EVj}?oe$p7;i13SEdN{;RXizk$Kigu{s$Xel23 zMa$k3?r*zh|1Hn_+;MxjyVZ$&jPA;8f-s%>bVL^UOPk||u_bC3aIrtmfhj*rSW%h~ ze<#kHN-gkpB;)U&44^3KL5wIkYsYw1mGIXwz8iC7&;1C6*3?{Ut`~1dXShJJiQRRD zavmJbd-4M{s6VTnvjpWWNf1c`n0U_x!oo|>`kIhp0&p14{4tUh9l-39n~#zM%;j$+ zIrzE`Vdt@x9tGV%jHn(S6|5f{=T#Rb)WM%26qiuAZUf2%g(SAd1*7ijaV9I$RV?JV zA7s2*nYN_nhvK}54S#Zw(+Qrc?3SsL8=2U)E|gq^X8Aq~mb8O&h2kXMSo^pM^+Oo_ zJOc^t{r$iam_>yJI`7t3d|(PXk0N`o@abyxTD1O{{7_=uex9|2!c~7>Mcci?_Wa2QW%D|1 zTrsqti{Nm$y*EA|;NdnUrzz1Aec(mg39CD{Di`mK-#T6I_nAld^81bFdK(scUoBHWLuC7n1~5A=$mI8pwp@8H{>BIy&`D^Ee30ST6TY1f}qgc#%G!_|88 zsC*lt(w7QZWYK&}W0$;42iT2=-PJL+KE7hEAMYW_5KoIkHJPutQ}CG>GRs-4I5+pc z?f4qULOM~^29&DLdmPs$b~9(5bq{)L-%67WF_#2bvb8^my$|7@9Y>S|p{+Y&J0VIR z{SU-!L!cx{voA=X?6hNXe3mZshSKSx#=Vc1Mym^olSVI>^y>uwi6zxN%zSe!p3ox&F^be-%t>-DvtM=2<{RoJ#DKDhZc)12oV{{#M0k47@cEJ019*>?P% zCo5KB{=)0%(*D{(wcT0Ok9maK&g#1q+B~v4{|HZ?uk%&EwAaX4^-bS)0fF5CgG5@- zCd>BiaRlWE>3#g)j)4MBcv)w78MU%RlpV>a+8`|0vm1M5UL{Qfh91d~k4<(b664O} zKx6514UZ-gtF3y{c^q=_e1tQ7to~fM=XTo@s=-#hu;zGvEfZHkv6$C+0eW;P7?zbm zkxMO^i;0j)WvF-PU_W|zoe5Tq`OK}0Kf87+?m&j(xl+rp>k3fO)L2pb2L85d>d`yt zlex#PDc_{%OJn2qVn0jkE$GPTbl$h7J?6Du(G4l$Lu2V?%nKi_L)``xxA$*hAjTN= z!>hdbqB0--V!oeMLeXgDwCO1pPy&! z=VDa2R!y!E+d~udE)Ak*8w`A8c}VO!M(W}EIM(*EIpn6DaYp6RG7r%w$%r#APTN zyiJxfW6#Tf^wv_&Kp~eo&*E3fiB8QkE@MH9dBPN)){pZa5j-#y?>!fcw^)#M__`u3 z4i>$ily~ADf2ep#|CyFpS#wR#Fq=E{18-Jr4!$GH0><|t|9xG5v`Qaw(fkxMDf9-C zO;rjo7{AAfwX}m(VC;X)>Y0=^1O1337iTG(XN$Fu^Avnpyjef!pv0*KcFOgRz6N ztmi%+R#@OL4wNnVp*39cxMV2ap@A>k6L?-#y5DLlp=dFE5d_oK9c5k(s)gPmMt$CO z@`=#2X(ip1wt#b6!XA{YxUR_yIg7c?rS4;DpFo(T-`S;wiSYjGub4?T-M&MMTR+fknXDDZBaGLK_UYdr5k zwc~}Q>lTwgA5+=1-dX|oHjX*>k-!S^s2)_1Ib`~N5h*AFNdvJPo2lngK-Im;Q2ex( z;~O8J=@Yx46NKL42W)kvapiq!P^37_8c|BKiA4DnoA0#@ej4cpwR!f39itxN;hM&L z+aoUa_ypl&V2@{+Sw9=~N`Bd}+;ZK9>_~RzIaiqmUFwR|*f=XA_k)jNX$Ra*hwjBL z-*b>Qvsa%}6CUgNe$+UyO+ZuUBiF3|MgTv8og6PX_Otrknz69?GXu!5+SXPM)$2RU zBqK=_JyZ4)Ns=l-gZ`LhZm16}SvcPAO(VMHu-KCWhbv=Ok} zxWw6;bc@yZ6{HfvNSMgQ+T9o0YB5D>TX5*9J|e+X?QCX;xZ zq#bzXIE6@zK*=$4EtLlnEu}VHeY2)x2cvB#GRU6fSmaz6`$pvPghtqS&m)hxhGjPj z>}oVE>0;bF?snA{=_tR_AJtu@$<=Qt=T=Kc=4ok`KxO>Wj}Il1zVmh{VfnL>b3hh= z1XmJM!U^J25?JyYFeaahj#_m^2%KplbmtNU`a7yiC0%Zpu1(Rl80P&tc}#$KD=@zs zcxCV-pfjzHoWGesju1(=>N z_bwyJ%-T=A$t|u{kAJ12!2P6~1K{}UWOWWe(&y0FI$rBAg1)xl>D8a#x#djjL z_KI@OY%WilMa-oy-@l)hW*Qkx`<%F_I3?~j=l6x7WY^E8$je!#u z;(-$50X7n_# z{}B3OEX}@o%3cxaZKxhqi19yk4SbWc-!cTHeGq6;mr`|^f#G5|#Z+o&YpM5{w8e{f z^(vd(`~beIdQT96;lPA6$TkI;DXLHbNXZ2x8E?T^_drD8y)ZvcT}1It~eLjn;euYaoyH0Ii3fgF5$&7H;!aClxY9w#5aO zK7Ddb1C=SD&h$7^e&toc(O#xsrbqnmXg&@06kd5Qy=7)+bnEjTtNboa$z?$bgfp6o zj88$X_m$r>1N(!V^mVIg`ci-FmUiWe@LC_!KMZwZUTYj zru&p8jDtVfnQ+S+%anek=KC*JHz2_W$P{BEp~9nm6O z2_~mEK`G^i$W|Magy^_p%4w6~qKC>?Eyx?fI*8FeH-R!snnX$%s7ICx7K56Q325yC zzk>DhMH$2hi+%|*&Gl=>jbA|n?8+Zlpwj-B(OZUh%`Y|Kuh(oR?AO`xX2tqvYB?F3 zXkzy@oax%U_I8F64{0Opp zQ_#=aJIFghy=4f7Xz0=PXS27Ld)uBUz$p&5ga`!ZX)x%FNpc1zftxxl#paNIqPw2kkN*Eg~@zIkX|^lI<> zBm1W>Wx;nrX=+W@v8H$LpHD7ptXM#A@e}SU%ne%gguk-~xenrpo7lgDo~}jx4K<+% zp04=3A5u$$H%4M;zrBrp_B`di2F_;}0smS_g3uM>jU>AEPn4 zr)W!SOk_%A3}vTjjLSHm=9`B{_aT((@n|-oosVu_g#9gi-e>pkxo>o*B9gR~6acMv z9fTpn|VGXamf$Ffca7s zBI}q*l0PT=x;b_02TVj1%hI2K+m}r(>R-lI(Jb)vlGa55hb-o2#+? z$A)HoU|ZyMOf1QaN*$C6QUM;93W!CS*ldEezBqH=Z!^&TGvIZFQrIn!biE1o1K(g# z2W3BHXz?_Fpu3u0hphk}u1Aws57`4-)^y3j`OnA43*blh;sOZ`?WfA}%qR%gvm#tW zcaH#~BhtT;C6h<1hw26B=Wsw_`cYRPc?qq75r-+vW13yEDB0^uj^b0RBIgH#4s$qFNZ=e1&^_v8I7jBp`8>ao(fr!J8 zmI*djn&xC_by#kEHV?*Ir8L|X!U06}7IblLL96b{UGj9dRb)GC>m{J}HUm7g zU`Y9;&uMWG{pq%KRyT`+4H8JOvC;4@O*%x%duGs^;`8=d6@we6{WUG^g{8^9j7ygD zYhrhr?9TC&kFQK1Xr{A2DSPFI5i?b9&mnIMctw_CSb2C43=XrmJVBhp?6ub)_bsc^ z#RCViR?h7tR5wpxpczgEmfq_$vFYkJ1&e5@XO6p8I9Fz5^tb-?=8ike1s_R$_S=0cJz$g#Z@E^imu^>}}R%rVVK6-eY%e$p(hH3C=!BLJN zHf7Zm#whPoC{-qwWt;-}zz~Ra935;u-A2FpQ5uuLLvwn)zG2lJa|4>_XyZHJXb00R zUgPFg3HfCAGUU7UloPEM`$3E> z-`!mIhp#T$D4X3xAFk(wjlUYmt7S>Je(^CxK_z@%AW%kr)yu{36J|9>%7T@|jfI?i z#%CP5jT1jq$9Yct^#ick=eS`ZMU0E`V2a_@p>a(ep0f!k17@pRJr-gZSbGR$jI5U+ zNC@$wYB$|{{A_G~H~-|+<*hyT6yAisdX)J|Tq7-BxK_x@2AbM^`Mtv92U3rm^_Y_fBNSO*n6#Cf=rlSnAPz_jR| zu+oUN(!liRs`#!_vpjfctvrk#H4-lvg8TZt?~Q~0`_Qd-^$<*1$<+N{Z>kA4ZkQCA z%hk=(w`f?nw{Xv9=MeS|yD-RAfPbJ>_5lRipSt*?n;+mkOX%weFsY+6w=mH1<~>Vfhzv5= z1X@^*YbTJsVaU<*Ow?aho-YPoKt4)HTM?>?wEf5}8m|jVuHaV`h&Y;Q~WlMI0y1 z(rAq4aQ>Q00F`sHE;55Oy!T->pJ&(H#YoT(2DpBEBLOu=(ep2FGZ08k8U%iwU}2tp zb!uvQSD`FpST2^iqqh)UYiA|2*hAqyjQjO_@7WXPmM=AEmaBXi%RYyL056y)*_-ob zM8rp0_KvapX{xl2y*+t+ctv0A#PgPb@wHv~^V4_5H?MW72=2mnvFQQ)nu=u8L$CgN z8)7JI{&hmMcs(VlurpjtU$W)oT1a0xV~KGU=V zkw~DNOjW*aUs9|Y_QawA1OQ%y>&)$^))N+)eRplynZt+RWR&djl+F~Y-=KN7FGOVh zcM$*Ui$efD+IunC=fV=C7i5=}e^M)aA*winUu1}6BiZ`srir3a1h@Sbhhf~0cjz#EJ){DOjv!PVAP*DM+n zOM1kio0s()XVffd*wbIqL-+e(3MJEpx5;M5=;!%2*YE)ie&q>}3QF$Cz8PKn>3XQF zPi6Bwb*I8D92oX<#F7aqMhdTIC8V3J@|C84#XyqmC-p5OhN9d-!&ty@kk4j*B2A_N zd4`O$gHLf|`n(dk-+lcuZK{K1blGPK5~y4omm9E8}G7*q1mNCV=)a)O-F% zBjAY|kdABpQ-%x6*X(tYCic_)5}I0oSb&o-_X%|2C{a-_Ky&T(w!Kk=Q;Iq7CxGn| ztlx+#12Mhzw^II@6vXbIgjODO+6^4~RpGPD54X?Wh9UZK;Mf%k7%oAv>ILF?kBrR= z9k=#5yFTo)oR52X(iK0Gbr8hMo1rFyoRWKg2)Nkh+%k}I<7@U>Dy^i!>vWD(cvkEh zI0q1ASukEWwpFk0fL@iL?O8E0L_n*Nj6@pzlwdUzb)}270X)#Lbd1Urk(W{M%V^Xb<`(3ElcT9P*YIb`> zNlzbSM}(0G`DDndwx2Ebu!v%#_=|(LAAE73&qgZ@&Ud$|$`fM^eOx8YpdI}X0d8-z zh{-c2rxdk|XZi&n8oS}5=6LY`5XMsb>6{u%hLRjf1cAcE-iyb?! z?Hh`on&qX)!JO#eK=l{}M6Uw#PA$H*M*(T5fTBwQFrIc_7Zxa|Gkn{-8Kv?@DZu+# z?en$8s;LEL32P)A;gihC`sSMx20h;+5aw`z@@bY{Tw;r-PU@)u;p7l|>xnbYC80Wh z&CjcH*t<ngILB3LaizS0U#Y*9gX^j=jP+&w<}uAhEvt zGwYq<-wW`{!98?+x@-u!%2QrZsA(00>Qykrc2DVwCNn3M0tZZkp0FOvCHMcCqgY9l zJu&))Sl&~@?9Z^%)-g7^7f2YNvJW2pHi0Swcyh+bz}ZD(M!i2zph*}gAiz8+10Hb{ z8y(UPM1_~cdEQPHqYBiR%}q*k2Oi+A)4g|k_zy^TlX~Mw;z+2mOoJ5YEEhuv%jin` zhxkdz@~;OA>ds9^``}4W)@K#0xNW%s{1WV^5SO=!B^VW_IA*+CM{M zES@Mrq&2MjPO5NJ_ucA~Z9j|lkKkApeVBcb_D)dcX;AOKp4 zy-qrIlr}Y3VI6N!#QAZD3Xbg;Fk$Pif6 zVdT~GUFudqkPshiU6QYo#nQZrBM2X5WRbhFee;Tv@W`blk%daQ*W^clj3c=`4Q=Gy z2+`WPRsqx(5F2b=kXHtP7oUuCQG~vum!2xI}3X%E$Zv`5iulQkgF4(-$)pNy%oukX>`R0vl96 zKvd`YxuNK-wcx!CFZ1~QnmZUW8~s5Di1rnjJUu+vI=LIdvg;bxI)Vn^$asp>|5RQ7 z+z<9lF|zr*ulMQC-=(+RQHXARV4l?C8)E^yqBLP`H9E|@DIil5x&IbKbJ*JA}=W{B)=6nWXLx?J8qatbdW!}#{Cf(j9s`47sE>% zr`G|5r3`qR7ofhUeWP#reLfjwIp9^qZk|H}I-|Mrn5QZy&sYL8Z+4&L$uI`(i6{`kQUbe zMCkY|15%$*p88G?el7^b_UC!;1aw*-!Hi|rY!sT~qN(uLLlwq&oCbNVFNO2zJ_>?s z89&!Qhc`#j=qqh@>FDVf2i%E%*>2s8jVWZUBg{YM!0;a>tmSS2x!LL z1k_${pn##MMOh$0N>!ZDIg`GzaizZz4}@#5<$EYQ%HSnQ5@i$M8b)@ zgvgxjBs4nS_Km_YQ8E~M`iRi5{d{e4K7r=y=&zG5!n=eOn8^fr>+50wfsO?*-jx8^6w<~r2`_0j_dkVuNU3{*3jelFujdD1<4c7m__4tPtw z8fH0QsI&caYP$7gg9T~q=Y3b^avqaU=qx6bNVIUl5(~}Q`oOhAP3I$ zzm=E*agWI$=#Y|tj4vsSt}-2!^UuC zsbZJ>+3~E+8wkXx2tp$D^5J+lL@m?UYao9C`p7rw(iCH3S;l%{LeJVjVaY zi&gCEExvV*X|ac6R;wb--Sr$|{S{T2#wQcEUpT%T@|h67jl>!ZS$9c2oJ*=nAb8u> zHy*K9(&VPsw4A@Y=vnQ?SRtoxdbN<^jCg4(qv=U^r-yH|du}rJTgD?h0t*uYCROJN zqlOAZCAw(Lku=sc)a1Z(L#SF0(<|~E{GMVKsIu$+LDgKXL%-HYdWN)Y zqEltUb)hF+9Am$O1u&#vOE6WG!IC^9(FJ$-d5Ok2PxD=cX1m(vKF8@mz``GFb|oC% zwjq26ES#7i1nfRl`)H-Fx{cb0%ig&w61^9jOFcLtU}XpGg*@M!xEQppCOBZCho6+aX^)vl}TAZY3 z#Y@=f?|KnNaOh;(1{)0I)Zn%sTMwE31lQWLaEqWdUJjv%_IUGdpn}k3y}Wy5#YdVZ z`%K`$P&wcE+qelpO6@thmaWIHNcj=k9t^j;-i9B%^S1yDI|d4q{j}roepR>?>lXlJ z5v*@uoT)K>)|1{so>YjUe9}W8WcceB`>M1AcM04?P<+7iTnv9&0R~!Ux9Q&wcgvFmYxEFlo-NYyI+PR z0sgal%BI?H0P9W0*>hFCp7Uq-z)sLM#|zQ0s;LOrs7wx6aUk0jzc+EDUAXQuJg|M{ zoVd)oj~V}J`DHw4#FTRD&VHU1pKNLS+#*GNo;M?Xmm~8Y`Q{}i?rb?FRD9jpa>BW3 zV8eA@2=q*SifI~o-Jq53yx34Bp!EsEa(wg_p~0m#U%72pc`6hh(Bw*k4;-RSGD=r} z$QM%~%TlSjX)`R#7e0A_U#4|&c&KeQ<8+J?w8wtD)15zN_8806W479J%~|5H;L9q2 zY%`!jc%HZqL-1x{89nN&G`KXKSC0gwhR5N6A0?b9d0jOl-A_d@nx8xKh8A=njr zn4OA`e^tp|A0&R$EFd#^Vu8NqDx7sKqs^wlEma0t`uCr!HZw(dMqiY^Jf?4lY#>B0 z5QuJN17y%a5b2`r9(eK{1h+++VivP!-0nRh;2_^Kx$FqD6Xm)Rnj;CDLy*7vqf38moTaOuwMS6gt3L(8k1LN2qzcK&w z19&_}Z_X_vwrIpakV-RS|RSFyoJ?N>&;*;UoX%y6e4wvc;FiEU`?6#`jo7bhI0~f7} z98$MdAXy;{&}kHzl$LT&bO3}o$Fk#c+03u2sYmBu5k9_c(Qpxs5OBj1B^j{l*FI>` zJu8-`)Aof~W%aq&(AgspXKrQ|-I#X6{LS=%%V_!YP^|DZBcn@zX8Pw;CVbuKv{~XU+`CKy+f(wxQ>>_Ls zRh7hk_@2>_mv(3&NQpvzAM}YdgfPD{I^~C^Ac)pErunZlPE&;p#83P$i2Y^gjT~|^ z&yUPQTcEamT!(D`sfcG(zIrrQJy4KI8pNuHlP=|h!3M-H17k+QgRI6>yIv&|goz$u z)0`f?9LFM(VRcO<|7bNb4&KML#z^F6c`wKO&dgetf`7P zkLmK9VDD#NO>=*gHfRlVKCOVau^?r1<(YqKESKuWQgAC%Um0YOwUGp2yQjy9hiEkY zYyfNKmKr4}t=8gZEbk>hB>IAlH-4w$pMwg}Yjo1b!6a7I1HK*tDB4Oh+k6*nz1qe z_5fzow0h;U#=gJ#9~Q;;B#)13E8+ynDP85DmzWA^j*9OXfEOn2G=R*gg*^%E4r_S%jlGg$(vYW=Acl}j5P#v zA@JkPy&$n5Yg#$8NX2Y8O22lcgiOZ-DVe4N5{=fRlPGD~fbNOD=bnMK7=j1;db6|N z(ljrwKxh!@VbGly;)sIH_M*}(i$kiaIU#x3_Od_62J&P7=yey%<-E>wvd~$!a@W~D zimu~qKKJxFOUfar0{;dbzQEo)SPi?T@tt6DLd)VYq8AGF9`#nqR#2{QxNN^*n2@R`B50}T*ms*tS*BoEDB-=f8y2>}A%XND{Y zTN)24ViCo`z$!9h*f>~RUlG?z6ldz*f)a)qkQNQyiV~4|iPC|WdCxiQoep&AsEnK| z#u_e_eWrsJzMgE%704E&V(L*6^xoWWYUv}wR^K{3n(;OCuX%1j{iK2ZV_@%_Aj$#A z1q|1ACuY4}zAA21ZuFGf>PAf+}7xKoks?SuM~B+FCX(Z+L=+hkmNCTKDUL z;lt)!yZqI4^sed!CtG1vTo)bUn!Gsl(24qEnG4$h&}T*ce*Y*2+WIZn7FkcMOd;Cd zx>l4DT#LpzL>H|FHNJABiP?n$#6tDl&i425qqYs2$sh_HzNMgUP&gNKDruw}f(9Zv zOkxan-@Xdm8z1C=YJE4Q4uC(9hkz8?c9I@2mu%_K&oI>MB#hueiS|rJH)`rZb63HY z>w&x}G%9NTdlhQ9O6LVBTDXb^VeL#Z%v%|PClqPNN;zU_j7|+gU2HG-Z1W{3Z#O^_ z^T3}Uoi`j|@W4J8GHBur7#sb6wf$3fVPAzvzQ}>y>PD9Tq)TlmH?NS4I|<%htf4uhhSX3{ z<-;H^2oFtYjjY2Zl(ICE8Xy6uN8Ksm%84{l=)ihM!jxjML~uAmFuFdw$In;n-up0?+;H(;v!D?Ysl_Hz?T{I558B{;;%0m!9@C zK<9+D5QqcIiw7i~jM$e}pdv z+G^_$EXmb$o@8#kFpsA041M;m+Bvs)#j_9%IHZmH(P~-N)|2uiQX;D}1IHs*=MI5B zyWY)?doacGy$pO!D^UdSaqHbqG^~_bqwJ;N>3cGOCpIgII|Ikv2vBSdkag%hW7;k= zz#IJwx6o&I!2oCUYB_)vUI2qo8Biv_uB4o=ok8vE2-&$;n>FV);VPP6I*C=72Q)@7 zNN407by4MHF82K*5L<)5n%{(MOX$fov`3q>gxaA35_3p+E0={m#Y+cP=zJgFc#fhP zkvtGXX21*ufs&r!89;aD0}*ftCPePxN%GKPIAW)DHSNRUHo=(azDJHssKbL-0^7$* zidZb~UN;>4_?S~^%c0oyWBE`Fpxtd+>^6EI|2;&Ykk?HmzG%mob|=9`{@mwx z5gVcusQ4Yt`tkny;9>)0r!R=vt`>Jx=M1DRA12gTW|dGWd4)Oa4)Jm-xb#`xcc33; zimzJ#@=43s3(6q3>ei-QP+}-DQB(5()5s3fc(c4^X94(J=vql+3VWDBpx{ZDQr!UL zyG!y+?Z&V4xfU3f%`moTFy9ULG&VW54J?B)Sa{NIp9Q6;%6EM4w9H_6n+c#7{dm{PX zQc=KKUc8>UZp1NXd-NGGDq357ax6TTL>>+^R?E&JAf9j(t|9@|^ z6|B-S^f+*2SOZhHMuywfz{`~;MZ?Nxm)hZr-F^L;EKb~5g}6o1MK_&r0YJ+K9{vJ) zA+O8gX<;Na+r%Sz4Ln-OTt?cuqAVrit&$=Wl5aj_?+SEIZ>g{Mts9{BoU$kl{opS4 znJk4hKCNK2SX*0bzzv1erO@>#MD}Vu_k^rI%gVU@_>KkV<%1&^{n42|PjMPDta+!j z>jLp5FhZ-*fjyy;YL9}i5+nq)5_1Fjw1IcWg12Bw| zGbK=MNdjEW44@<8__MxmHuI7DnmhxWu6?4W1oMrKeUOtPl|Pgq$l8tR9Zb}g>tB(T8icTx9Ol~?q6tDHx(uJ5U1BaOTl@X#ZOY-jdO?@KScw^> zr>=qOSOdgY%rBI0VeDxJ7bP~#k&pttv>c{TS5xk3*P;39W$5*UHT#pk-03BN4-Q6E zgZwftUA!GcrP(LgJvg55GPmYe&$XrkzkT*j2t>8lOy7a$qE}9bAndKh2sjzm8|eTV zZA>`_C)3(eW$F0L@d=%4TAw{&*2PUIBY?Jfx9WUSF_OswR3OK&&CPZhfH$$8*+Q@E72NBZ|gON1H}U zP({tY9V2dDXN5-X(tu4zXlMmu5~qTbLuiJ(9PJQqvHZ{udi-{l^@S)4l~%?r3yZ$sATeNjSF|U-^9W-v;Zmzp?Hnc3QP?Ccp zr&L91S8hVAz9Nx{Y_JOoF|$A3p5(@)aJ}ZF0Th`oMQOIfB#cGA8p1Y2)r=!KmwkUw z-TE+zM!7t#h2C+9sji7pj*N?dRa>%A<-bLu<9E;@HNKR!JM||1{PjHWrcGKAq9nKA--{ek zxh~VdpI|JW&2`W8TJQD9akju-hQv;O#8<;QkxDPUof-15g0*CQS4H_ z-?=niuSjbMjgW3EqozxS3eym3<-d**S^v=sKAR=4n?!Q?%n=ZUy?N`%vvDZscX8F% zMM}x6f-BaS7P=PsD?>Y1ie6%A?IVE8_>0EL{~13A)bO|>2f(ohRP2LknC~F(d`GpP zk>6eqg##1Du z?7!!>dW%2Zlz0)(8RqDAA_`4v_#SxuSKaIYBxu*dA0Efp@?E z{8G#8djKn{dR-TOuVMF93vYy7@*>z6K+u^GPttb4ift{-t0xd^JSyvLdV1pV0)UEnkX#6Pb$ESPZibC(Si~~bYct?F&EDpU)jbk+s5p(D zLI3RQhX*5V|Acp{hvtT7V4AX0kTo!K-U|! z=YnJ_WNjlULwP9NZNiTeoRHXOwKrB7xnPQV5>Kf@NuRkzNFqrIjhwGq>-$<1lN;y&$C!%1Tf&JXsz}9I&XxGXtvZ76E_^(ol2`Jx_ptp zAv@}P63b6$>wg+{yf2VS)6Ade_hocFe;J{M->k=U+#N~lkMXzSdh@%4vwFCflwZ2? zf!@;^K=hAGJ}HtQbCsPpwNAJ2MsJtMtq>8VT+`jLMnuP1-r7)>yFDrVv43xj znz*U=0a|VEPQ_$?5e#30xF7;j{JA>&9R_)yqWG14;$XEkWkhFhh~;f|SAd|3k$i;Y z*1D$;bSKjp^)L0*xRg3$PWooJg}DR6GPJiTq1FmT4I^zN1teL~2jfnkI#qO};Z(w~ zZovYi)i2-f_B$nYYuEFGJ>K)luP(d|SiekBlbta5;hfG;EIGA*hFyY&)Qj1d;YSCg;>&`Woy$3X ze^29+Z6<JQ*Hi%*y%`NrHs7?Zj!{wS?qhrNU)p@%UnjLX0(xXN5OvhjZ+PFou zR`_@AsgobPK3Lsq3=wS*RuTeeKxQQv6Xz3n73HfDj+KugIcA|`=o3lBc+va|NDBdI-e4B);h?27wWp#R;(L*7M`RF~E2;Kux#{<%(48Wj5O*29dUyFzS*qW&SAGyLze@P;#i_eLo2N5OzOI z&`;THTvjr`v35!^|3K;Yo)DbvAO>+VDArK{aPokV_Z(ZSDe9==3yHj2`8C~>M6Hy} z&OZOMiJ#ak+z9UU4Ks8CLtx;6Z!ju3f~Pxn1SDx=e|bQWS&Ion%<65q1Yzxqmv{E7 zTR$({L0i!99){)P{3MzMrSZ*oA54$rGG0J_({RqEMt^CuOu2oxIDQ0P=9%NkGbbUzY^V9@gD49xy}X&v&nO{|EUhc14mi)P~8 z?b1lbnLwWEy-;XAlO!WyD}GsKXG;cRP(~*Gcja;^Cs5qhAh562b*mVPDp?u8ViEB7 z8xGrEVs={$6g*HCO@e^ltrxy}{9Alz!p~hspW6Jq9!E!Az=mt53VkpP&2@yj^!8W( zr^vebcsLKzevfx&hk)n57pekhdS51P(jzuMpa?~=xf{KtI#WAXfd6~}@_!wmmIfs{ zr~iO(bx=RK;jEk5&KC;f(5pl>Sd>zm?Y|7Dke$nDL#KG(^__du3a$rv$xR?@{TL6R zC$^sMR1Pe^+R-Nao#po>YKmlIL*k4xkjG_S)Ikl@?Uk^s1pp!2?w$X|li{FSeG^pO zZb9wZ;s3i1XOd;5R~L!`_S9{x`&AzLx(!K0FA18*@oYr@xhUG1Pv4seK;eoF#Ey2B zH$w~FSn$K)dpmE;45P3*qihET1cCSee-~vZ#(@+XqwCn5j1UHOupugIWegBI=;*CN__1>l1@3!v==RtM^RJOuExf~6X{g#M-yxk~; zCXx}v??FeuWbXKyX$%zjoXR0!RfhVudq7Ol-x?9XMq#gPfd)4>8BJ9^nLs`zQV8pS z4RGEf1bU;}w|f|IXexv}kMHc%eMnaCCL%5*LW6O+yt?<_h5u)j`CbH!?9Hcc2L< zV6fk7PczHec^O(<;2l&-wKaCKxJd)c9(}_-aK!fkov!fHoh{7y=6&FT!EUc={XG)W zB&ZIC%6dbfN7pjcQ~Pgo=^5S|b zPyF5e<#59xj&+Fz+t1s5xBk&XXC~0Ldo1eop;#sXSEj$S#(=Ux_@hnU4cb0YHxvN` zr39kT4S)$vd6DN2@Xnnt7*IRWMfGgdcX3>(G(YoiSAK<=_?Z2r2 z3SGbZ)A;C)1Kzm{WN%2=I!4ww-kQHYLrWCa z@Vd6&!L79j(HsQ80go5G3#WK93%I{$q)zI?I$%wwE8 z&x2Dz9&&cuLjooa;URA1!~8S;`H9YhPEUIbh7hI`B!%9DnZSp|AC4*g{jeH3Q+7N1 zDwfa?lxrKHn#0Bf05F)&eQO2^2ev1LNXtvBn_fG`k^i-g|5^F^VKQXit)QO1kNALx zR{4+8wgxEn?}q^DiBV^4thS-!RnWG50T@OG)OO9+s{9)a;MYXN(_(r&e=rGu!qGPY>3MHA2&vtGmcT0aXY$ zd!^t#j3&~I|$`NTwn!fWiM(GtvX(c06O5oeuycpfJjoZuMhd7NH^!oZ;yt; z#M`rrr4<~1LSGSKiV#P4>0QdY-b39vlO3b+pWJG5e>+$N<`#g8nwVs)3lwgvpQ8%$ zt^>I-Q14{OHZcJdff67)Um(@Lr35&1!imtiCO>;S-3OB5b003I_z&wcL%DT5*j!ob z%QK49E}c(gE8;sQrF421yj}%`?mWYy zlZvnZz*z6Fnpe@sDVxQVzgD4YeI0cN)qA(F{Rgi_utCowe{MarxZf;eRygeqhf5pN`VP4_!P{85hfknIFuZxhS@_E>m# zgJC)UfqQ(DcY{|X!)D*+WcdgMp%>sM86!Vwb1Xnbs<{sh=ACT`U6s|;TZN|S`TA05 zb~ICtfsZ1C(_r(XN5vZ$4k;hPu7RMk*kIbqH^|My^$ko%fFm4=qq)ID2?X)XlCDrc z-Q^Se@?2_{4-I(L2NDiJ))85BHbMuXg-Sv~*~5LPPq}T*7axL#XWlbW4r+a?uuWP# zFutvTx3v#4`614t)Azd}Qg(&L*)5o4m(kTb+~P|N^fZgd&}VI~cL3$!5?|-XZzRu6 z)Sy=XlQf;_c#CUy>ekEZ)`TdSC7n`xH6BU|JptfUHMF#?zGcQo4E3St?toja!-1Zg zzW{x^W&A-Q0DL*;qxh`|3i3i!Mgg2#Wqowc>QMOs1rqbpuQul6r<9ThR0fqgADd*gcmF!pV(;x0@CL4-XsyWPW`Cixc z*{(%|FKkx|G7Y5`L##m!bvOBl<$hpN;}I5;?;M&oJ@WOiWxnaIC)GTs!XWcm7J2gI zIgZjHzJq5595Z|Z-2H2Cb*V&fZq9YFObCN^D3bPvYv^Ec1~Nmc-~q&fF>#oW$p%>7 z(!qxH{&L+&zgiFs3YfCrBIhdtuvP7$rBMamn9KUm*rdV`izy<7z&scRVk16P4=bC8 zx0tV#*BH^an*KRdy!qC{v|WT4Qy(3QZukeiofmh6$_exgcq1!myWuaro_dauy36Oi zX=$;Qqoj)6Lxhj5l}tU2xt`a^pL$8fQ=UJ}`1EZ}X`jlCybZq;-PkB)`0^Ui#47x1 zL-M;r9|9~aCU_MfLE`u=;Ehx*X`o?pDpiQbJ%GF@=}jP={$1IGe?Td}&?)j;0k2`S zk+PVr5G%#fugn9uSI+myCt4K!^Xzr~pCzZ6U|^ z3I|ic!yJ}4oD8)YbyrEDw#!#)=oi8vsc)Zx=nDPG+wX)RGN~INb~eO+uR^`a@t|_r zdAM=v!*Uts)j2bE=Vh?GRf6L zl}K9Z!(WRoe}m%qZmsw37d-LwNM;lMD-ifar!R)ZG(`8$eYpzqna092-t{)l1<|V? zP%OW(+FweDYV>*wB$=0{yl#gb-wwVsv>FXd7J;QrcQF+{NCnQ`#%$3dU9q@jejbXe zVuTa+Np4IuSCo{p!oiFOzVJV*9ek&9MY(!w&s1!(<1xM>UYlF$-?BY!0c~U&Z5gyJ z>?q+lnqfMv`-n)4Mca5bB%U8dtm{fh^aJCS0NX5TYe9o(%B{m!FL9Kj3Z3bV@_HdU zWOcJ_-AD5ip%K$6%=`S0y z^d@&8CDgNK`YQYN~f^8i2&;0~Y&(U?No*ZK)t5@;?a6RAQl&+-5 zP5N=Y*CFWm;l}`<1J$!@r++0hf$Vxe)?G}b@Qswqy#=v`+vfxLf0R^hBbCIz#PPFU zV|5QZwWu0ea(}qlJVOgXF6m-SOkK6280%o6ygZ~dbIxE zbqLT8W|(@h2WfxkcdcN_DHYQRN-milc|)%mD_XXkt&r>grn-Jx0-)UWnYX#Fi+g>9 zn;;$(!M}W+GEUZ+OGz1LV1-bK+P|$b?m48zu3oDITj(eje-e>Ypp}U&tBYlSoRE^o zS%m%Ux{wwJE?c^h9O7hHDXj^*@PR!eRM&NELMsXbn+&Ge!P2q?3E*&s{3N;cLM#cd zg2L1Lf3!uvrx_T-q!FmM<)iBf>i-_T&Y1y-l>B)x=l7rWAJZi14@mp_e*gKn#(#g^ ze=p{r3ID&3%75RxwSx;ez5YL*Dp`Chk!DB+lE=^Q`MkYTThyG&*^k>iJa|XN&#MfQ zRB4FtSpbBX54Xv!VxOe_0LR_)yL#s~^7SmvLv8{*!*4=X> zz`Z=Ms$vWY14B3h{K)6PH90zxMN-IA+p+4#C7os^!^c-JFu;)`04^VxxRDfe-6p(q zc@0c(`{(0%L?O-z;ds)E;)7je#4M!*QRr0=LP~?d)NJ#K7_s(m-R2%oz)BFCt{N2pS2LEEwYYxUGhrQNrp)PsA z3aYyyEve#kp8W`51f0nDj-*QER3hOqh^!6&;c?85YOvC}D?rs5Lgm>w&&iU2i zZ^8}jhD7NbxfM1K;-V0OYpzCp8I8=^?MiC=*LNP=23(+jI{-md%0orl5!66qgKJO_ zC|?ke8ig<|+4=uk&H6*uPmhYNZ+CdvKcMwe10+rIK$qONW+QT3Ybr14Ex;{RDZ9;S z0uc47da!@d}BTDvqoi%_Lp+ z(;k%@yJ4FZXpCxeemZ0Z&P1o;!!}^912P~UWS0r)11^^VomudJ`$?xh1O!Gj;v|F$ znubq;f0fV<&c!VUW}i(d|Ay@xq@RK|h){N(CPb?T2t*xRr6p(OVxKhwm9i5782O%$ zfJF#XkD=ZrYIXBNr`~gV9`=)Jd)@TPRa4Ht6K-R4EC1Ba0c+J1I zUFKeKu-q#Hd7niLI;!b*VUAdwMa3awyzo)!&)!ibWE&k&R=Ya4QY}CZhgkvI3a`Sb z^}GbM-UAmTx7hw8SH8DP=|a4qDh<&Ms)2@9qg|WnJ@k4dU%XydpG`I?0dm6*;Ngw; zFBQ6NXPly=b#WXgK=I0MI|H+S1f&npO&%dpSz^&~&||Aw;+rF>!@{q`7JJ&om@lfW zs4)=@yw#5~_*q?HOYkb?DLRC^*=Y0(92u-3eYlw`OL}VGC3~&Fn@C09sl1-S^`b7fWli z^eZ*8F)=8U>T?7&Ks>cy?|rCW zKoy}180FJ|XUk69Dt@s{ECZysSAg=EQ7i6_t`cHr z6G5iydjGLyQCGdAhj^Tz_WoSscPm+0M^|v#68CC*WIPKo(*9fvwjLaxQN>}2#H55?WFD%`kkn925w4rwfY_bJvr!L$}wU1Y! z((1SU{BHV2FY3vAvm+R<`Hs~$ka^>OTCmxrOUmH81ei(+XC+1V9s_Np*eHRv0jZ(vbWc1wq?#r@dXeT|^| zQ?5wiA}g8{Oo5h|E|yBzj1EDw+z09F_$dFPKjv$;t4hQv>n`nSp_-lFKkBx=>s+3BG6wj`zJaFQH-(r*m&)f<%`0v$B1*r7 zio0I*yMsv9;Y>{1stt8C38gV{l}?Gh*?bfJMZ=+-s0-gU>EkCqymGqP8%c0N+sMx? zB2>}%tb>A5hJo+`ybbtQ^v34GxOxS$S&LKr-Z-WYYnWX)fb_UKkFTzbR$y|ZMS(A- zW-KNlXE@D4OBfeK;V~p)n_oxcYpNnSGx61FJ{j!?f$y91W))^V9w09yZ?D41+o3IOrhlm4%_*TL@ zLTkXG;b4^%H~1xOR`OU45(caBXdz~krXa?JRRMFT^^_waMMc;umA1+O5*4RqMn2ZB;EQ4@9ze;IH`Z?p z!Li5&Wujl+4Vb7KXGt;KdAPEHInty z@Ikvz5j!uXzfK8UBlzBjz=0<#Ok`UfnsM9)EOJ5DalGV5Xy@j??-~iyvLA+KMdAAl z({(kp968~AEg{a1?23=_9F9NViKv#{9-Ntp5)xr)%kPQBNfUX|Zex?!fu1@tL|k6i z)Rzm*Jq0JKv@56ou_uho?oD2uX+Ig2M0js!jxth9j4 zM~5ceJ_}t?A{!L~E2n&Uv_n)J8QyA558=|8o_B>u{2low= z-Fl8_@BDh%w9UNYlR)F#?onZDLme&@h?ba@h>~EOds}9Up`J;-m%5L67wR+mmFJF*&-ZxKKY8;TtBmWYysaHry5s%Ux=VI(xtqka zm_Zvu7>5_}s7X{g>iq%ei5SKvsT>VTIO`dPa8O=>MVb<0)wdiIip@t;B zWW~tv8*bdH{|vR!nPOa`ac_&Jr5Uph<`}n&sfhO36G17nMj4m&G5mUt`etZkvmo8( zh~iUx+b)H3247@Yo_=#aJwK1mGd)J%F3FbeE9)w`BU_pBTx4j#+Y7pt>a66fB#o%7 zBKbLYovMHM<^?aRE zuyBe)4wheb=Nz{^x*dI4BGe&4h5zyJ2I0AK{d?lA5djZA#;-`f&vBDIQ!YanSK#t& zt(RwipM<<6nneE9x1@dx*9R_plif+LyP~%1mnkV!cO5xsOPOzJNR--Sp*bbeQ?@hI ze=J;utuZOcFihOggg#WZsZC5gD<;;ZWKE48lJ3G~$!rfiAb2R@2p=B~Af#f1U zLmVk;2fqGAjKmLOZ5tfL%m1RN^+XBi(^0YvRh?S8y18T3$pV^an87Wgl!XSt6Me*pc}^7#d)7_Z7)n=-ANpc-xKgmKtBuca zqv^4c*FH)IYM<3_(uh{Y_!p&-*!1U>-qO*B`?ZYaX9|bW7XA9EJguhtCkJY=`U2Kl zYMAC_LT&SNqR%GSHaeR4y&8xt&;J=)FM*q&#N_nEltgrxH$>(JhdrzdM75zh_^?lV zFC@iMkBaJu9qpOa#PITb$&8o^5cFR9l6r>sMdXz*C zrV72+pl3TozccjX>k4jZWDq>KjW|ChmX>P~rZ!b9$|dZUl@u%49&kZYBZoUq%$0C{ z{NAnL5c~kEAwk-6f2>A$uXjMUaR&Q|8+U+P*ecgniQYrYI=z|1Y&({$c{Yh)kJcEQ z#iEaFGN$*U#6|dr@;^nr$XAY`$`gs`ep63+@wSA}~2ac{x{v@(~kiJdm5JQj66 zedp4BiU#e;vstiOcoIfRcpe-P*74AtGpIf}k)lQIM@6M?7!u7ADe39huK*=ef5zGO zt>E@cBM^K&Dbs*cW-)wOt@duOdYfifGC@doP&F)sRZ+z-p;46igqO;GwrL7Ow7t;T z<8or~miW_ZlTY6YNvXvW`b~H1SBq|AO(!T$EQBa{(syf};+$_NjO`#>8bjh$8j&2=>|W^hLKqjykkRqb=@h}4@`bsuIxeQV?9#$# zT(W95-^yEUT;;DNziBeNvk6h6#LIf+C2$E}kTcduCbWvTom(OVnTmvIfAo;?+p5nC zi%k9KuZ)i2d$~p*9=CVT~9d5AhFUkhd z`AF62z5TV=g(~UJ_B%^mR%cp-@4Cq05|k=xh}N64dG!a=ow(W2QKh3wDaFgVxabmz zHZ_-qE!Re3HO<0xba}JI)F}#iqMZ9^|3G56^nrU)3{fki86o3-qhF=Efe{xv-g?qM z35Ho?r}HBDGdIxo(+*SlzK5n_ZSy?UMX-Sbs3_}w`nGHx6o%2J1x+!c+U=#M-LGPur|MKtf=OKWC2eB&wSjEC8Oy00h-2HDkf|8#NxL$!qP^>d$*25Ln5W)Sc$7lr(<&EnQ4Rpj(U? z2jAt@f!mF<$Nd9W>yH)^xbs^bz=j&@%dpWi#8bJgyfklERs1s7ymV{gwuyCh^GArm z7k<0nkNcd$MO+J|HaDk;OYA~}F-A<&{o+>IKC(3TrSVzJ{Zu2R5o33SHDcr&IILt| zRM`B!QUp{}aSSf^8_EGE*(a_b^AfE|HZ^0`_1TenHB1Ft+*gaMvEHJ{7@)sXITT{u zx}C3ZpHzqn*})44rR4q@m4>rG^3O8teKZ1pXIi!bF+`QT^^W$`Ee)^dhRQuW2Xw!P85;Ptc$j+jz`u%%@ciS@j^k4T#4NXIh;7_cDy zbRfibJ0$-=_}>fz7}|rPsb#}vJGv-ch@%&=Qyo>D#8;PJezS`A5g;|(A~oT~YOWB3 z=QWKHA+tOil9=sa<-O+&()}V5c_ZDGuuH%Yqx5}*g66u-tp6EWox8Kn!3k@0W$4Tb zxCFsL6lB-d3AYI(BRdkDZ|4K+9vGA6Sr9+2GjxRv05uVmG-XX^8wbaTV?gMcj8)_h z#DOs^*f;k$&y04IYlAY=DDkD@Dv@Slh9Gi}zy67y`NLk-W@V%zu8-{xA=x%&wO&|Xs9M=E+ulu!`=Yv6kf1mz$CirKldtB#%*4dE% E0R-)R!~g&Q diff --git a/specification/assets/images/provider.excalidraw b/specification/assets/images/provider.excalidraw deleted file mode 100644 index df5c5784..00000000 --- a/specification/assets/images/provider.excalidraw +++ /dev/null @@ -1,431 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "id": "sFzbmoq8x0HyykU9HhKbf", - "type": "rectangle", - "x": 946, - "y": 235, - "width": 40, - "height": 360, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 97747724, - "version": 143, - "versionNonce": 1741772596, - "isDeleted": false, - "boundElements": [ - { - "id": "GjpO8NH8C2w3d6tgZEw0a", - "type": "arrow" - }, - { - "id": "YNZgdJRPYhxEAG9UTiiaX", - "type": "arrow" - } - ], - "updated": 1656091357618, - "link": null, - "locked": false - }, - { - "id": "AyfB6rhs9QP8dDml-jTtM", - "type": "diamond", - "x": 1104, - "y": 301, - "width": 230, - "height": 218, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1169897996, - "version": 109, - "versionNonce": 1736986804, - "isDeleted": false, - "boundElements": [ - { - "id": "2X5Ue2aHSLNyoaJiVed-6", - "type": "arrow" - }, - { - "id": "GjpO8NH8C2w3d6tgZEw0a", - "type": "arrow" - } - ], - "updated": 1656091357618, - "link": null, - "locked": false - }, - { - "id": "ACCE9Pv-d-jAR2g3-eEcn", - "type": "text", - "x": 890, - "y": 400, - "width": 152, - "height": 25, - "angle": 1.55517259817442, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 398017588, - "version": 157, - "versionNonce": 1160434484, - "isDeleted": false, - "boundElements": null, - "updated": 1656092204660, - "link": null, - "locked": false, - "text": "Evaluation API", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "Evaluation API" - }, - { - "id": "XTsFx3AIH7HTI_Sd1EtQQ", - "type": "text", - "x": 1180, - "y": 398, - "width": 80, - "height": 25, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 468363700, - "version": 111, - "versionNonce": 72997556, - "isDeleted": false, - "boundElements": null, - "updated": 1656092173540, - "link": null, - "locked": false, - "text": "Provider", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "Provider" - }, - { - "id": "hk-L4sS1BEfbVBOgFS7g1", - "type": "text", - "x": 1478, - "y": 390, - "width": 164, - "height": 50, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 735367860, - "version": 227, - "versionNonce": 523408436, - "isDeleted": false, - "boundElements": null, - "updated": 1656092191304, - "link": null, - "locked": false, - "text": "Flag management\n system", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 43, - "containerId": null, - "originalText": "Flag management\n system" - }, - { - "id": "GjpO8NH8C2w3d6tgZEw0a", - "type": "arrow", - "x": 994, - "y": 413, - "width": 100, - "height": 2, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "round", - "seed": 2119779508, - "version": 144, - "versionNonce": 1893866804, - "isDeleted": false, - "boundElements": null, - "updated": 1656091357618, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 100, - -2 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "sFzbmoq8x0HyykU9HhKbf", - "focus": -0.007982261640798228, - "gap": 8 - }, - "endBinding": { - "elementId": "AyfB6rhs9QP8dDml-jTtM", - "focus": 0.013761467889908258, - "gap": 7.6049836494533025 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "type": "arrow", - "version": 247, - "versionNonce": 1119338804, - "isDeleted": false, - "id": "2X5Ue2aHSLNyoaJiVed-6", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1342, - "y": 412, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 100, - "height": 2, - "seed": 1010136244, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1656091362726, - "link": null, - "locked": false, - "startBinding": { - "elementId": "AyfB6rhs9QP8dDml-jTtM", - "focus": 0.04091743119266055, - "gap": 6.954931105143189 - }, - "endBinding": { - "elementId": "OVJNNaVaqA4rfwXZ4m26c", - "focus": 0.043664558253417675, - "gap": 13 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 100, - -2 - ] - ] - }, - { - "type": "text", - "version": 315, - "versionNonce": 165520820, - "isDeleted": false, - "id": "j3MxwuU4vlV0o75SwNm6-", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 681.5, - "y": 400.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 103, - "height": 25, - "seed": 1401550644, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1656092169786, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "Application", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Application" - }, - { - "type": "arrow", - "version": 202, - "versionNonce": 1322315020, - "isDeleted": false, - "id": "YNZgdJRPYhxEAG9UTiiaX", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 838, - "y": 413, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 100, - "height": 2, - "seed": 873715764, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1656091357618, - "link": null, - "locked": false, - "startBinding": { - "elementId": "FkWpwmnzGSQRmo6WPzc-b", - "focus": 0.01163027953478882, - "gap": 6 - }, - "endBinding": { - "elementId": "sFzbmoq8x0HyykU9HhKbf", - "focus": 0.025277161862527722, - "gap": 8 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 100, - -2 - ] - ] - }, - { - "id": "FkWpwmnzGSQRmo6WPzc-b", - "type": "rectangle", - "x": 630, - "y": 318, - "width": 202, - "height": 192, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 694797236, - "version": 157, - "versionNonce": 46623628, - "isDeleted": false, - "boundElements": [ - { - "id": "YNZgdJRPYhxEAG9UTiiaX", - "type": "arrow" - } - ], - "updated": 1656091357619, - "link": null, - "locked": false - }, - { - "type": "rectangle", - "version": 234, - "versionNonce": 914824204, - "isDeleted": false, - "id": "OVJNNaVaqA4rfwXZ4m26c", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1455, - "y": 316, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 202, - "height": 192, - "seed": 1478245516, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "YNZgdJRPYhxEAG9UTiiaX", - "type": "arrow" - }, - { - "id": "2X5Ue2aHSLNyoaJiVed-6", - "type": "arrow" - } - ], - "updated": 1656091362726, - "link": null, - "locked": false - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/specification/assets/images/provider.png b/specification/assets/images/provider.png deleted file mode 100644 index 5e9e030b9f62e3d1679d4450f6fa8bfbfbcd3ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50264 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 API(Evaluation API) + API --> P[Provider] + P --> FMS[(Flag Management System)] +``` ### 2.1. Feature Provider Interface diff --git a/specification/sections/04-hooks.md b/specification/sections/04-hooks.md index 9f58d343..af7bbaa6 100644 --- a/specification/sections/04-hooks.md +++ b/specification/sections/04-hooks.md @@ -17,7 +17,15 @@ Hooks add their logic at any of four specific stages of flag evaluation: - `error`, immediately after an unsuccessful during flag evaluation - `finally` unconditionally after flag evaluation -![Flag evaluation life cycle](../assets/images/life-cycle.png) +```mermaid +flowchart LR + B(('Before' stage)) ---> FE[Flag Evaluation] + B -..->|Error| E + FE ---> A(('After' stage)) + FE -..->|Error| E(('Error' stage)) + A ---> F(('Finally' stage)) + E -..-> F +``` Hooks can be configured to run globally (impacting all flag evaluations), per client, or per flag evaluation invocation. Some example use-cases for hook include adding additional data to the [evaluation context](./03-evaluation-context.md), performing validation on the received flag value, providing data to telemetric tools, and logging errors.