From b22d515365a7870615e06764a704db48aa3db132 Mon Sep 17 00:00:00 2001 From: Alexander Dyuzhev Date: Mon, 19 Aug 2024 21:08:44 +0300 Subject: [PATCH] blog post about PDF attachments added, #786 --- _posts/2024-08-20-pdf-attachments.adoc | 108 +++++++++++++++++++++++++ assets/blog/2024-08-20_1.png | Bin 0 -> 24262 bytes assets/blog/2024-08-20_2.png | Bin 0 -> 14528 bytes 3 files changed, 108 insertions(+) create mode 100644 _posts/2024-08-20-pdf-attachments.adoc create mode 100644 assets/blog/2024-08-20_1.png create mode 100644 assets/blog/2024-08-20_2.png diff --git a/_posts/2024-08-20-pdf-attachments.adoc b/_posts/2024-08-20-pdf-attachments.adoc new file mode 100644 index 00000000..86235f26 --- /dev/null +++ b/_posts/2024-08-20-pdf-attachments.adoc @@ -0,0 +1,108 @@ +--- +layout: post +title: "Metanorma now supports PDF attachments" +date: 2021-12-04 +categories: documentation +authors: + - + name: Ronald Tse + email: ronald.tse@ribose.com + social_links: + - https://github.com/ronaldtse + - + name: Alexander Dyuzhev + email: dyuzhev@gmail.com + social_links: + - https://www.linkedin.com/in/alexander-dyuzhev/ + - https://github.com/Intelligent2013/ + +excerpt: >- + Metanorma-generated PDFs now support attachments. +--- +== Introduction + +NOTE: PDF attachments feature is available *from* Metanorma v1.10.0. + +Increasingly, organizations are issuing PDFs that contain attachments in order +to incorporate machine-readable content. + +Metanorma allows specifying the attachments for PDF documents, and generates the +hyperlinks to the attachments. + +== PDF attachments + +Metanorma supports per-document attachments so that users that only deal +with one document file can easily incorporate and link to the +incorporated attachments as native document elements. + +Sometimes Metanorma document needs to link to non-Metanorma documents (files), +but which need to be distributed together with the document, for instance: + +* program code, + +* XML, JSON, YAML files, + +* PDF files, + +* executable binaries + +Metanorma already supports the PDF attachments for math formulas in BIPM SI Brochure, +see our post link:../2021-08-26-pdf-accessibility-for-math-formulas[Making math accessible in Metanorma PDFs], +but now we extend this feature for used-defined attachments for all flavors. + +The attachment can be added into the Metanorma document in two steps: + +. encode file attachments in the bibliography section of a Metanorma document ++ +``` +* [[[anchor,attachment:(file path of attachment relative to current file identifier)]]] +``` + +. use the cross-reference to `<>` in the document + + +.Example of attaching the `sources/program.c` program code file +==== + +``` +== Scope + +The sample C program: <> + +[bibliography] +== Bibliography + +* [[[file1,attachment:(sources/program.c)]]] + +``` + +Any cross-references to `<>` will be point to the attachment. +==== + +.The resulted PDF with hyperlink to the attachment +image::/assets/blog/2024-08-20_1.png[] + +.PDF attachments can be saved from the PDF file in the compatible PDF reader (Adobe Reader example) +image::/assets/blog/2024-08-20_2.png[] + + +== PDF attachments support in the PDF readers + +Not every PDF reader supports PDF attachments! + +.PDF attachment support in PDF readers on different platforms +[cols="a,a,a",options="header"] +|=== +| Support | Platform | Application + +| ✓ | Windows | Adobe Reader +| ✓ | macOS | Adobe Reader +| ✗ | macOS | Preview +| ✗ | macOS | Skim + +|=== + + +== References + +* https://www.metanorma.org/author/topics/sections/attachments/[Attachments] diff --git a/assets/blog/2024-08-20_1.png b/assets/blog/2024-08-20_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f03742214165e41aa9fc2a6a63dd28ce3f4836ea GIT binary patch literal 24262 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

+gcv4H_^VZ5`lixG5#%+>~U{SPwI$VIA4vk-b z_C7$hV#K>bFH-*N$)r#}VP*4c&1kKz!I^{HbPU`nc|sQv7?Cr&M0Q*aGFWy^$FE`M zZ?#{^5XgCet8K4)-$G2v6R-~QgI$B)tH2Bz9pFtcr zYu6Fn3xA`_6)9gm?3wfs&2M$BZa?p2`?_1^a7bc1G@bsLS>QID;6Tftv&Bfl$|jLI z&!z63oc66~=~B>uXo$iS92e6gP@ZYE^t{Le*H7X@3kPzr5=o0{2X7>Ml#;I?Ihpxf zV;zwk{t&@pHF@SRexkLayy=@_y%>*plN`Kyi|+@*6nEaEgD`#_RuP4u4bL?RURIe$ zo*d}tdo>V9Nxtd_3_~5)O}nq>to@TI5Nh zJIRjGG6tFk95n2~+H&!_L2L{*hlQ^vU}(k1W*goo0f(JT@%#L3epp~8amRvBO#Z}8 zA$=Wc0<$X;d$lrApQq+e8UnJupk-n7f>AwX{@zwq98RM}Zv6p)zR{rs_jgU%q6m1Q zC4x>w49_Kt7o3MfhH8#Ce7Htx6#}5>xkWBvpgyP7Psp8o!pR7EB3XVz_i}`^BkP=TCY)OOPyjnu3OU3;c9Z_wv%kfv!N#l-umleMYu}C-wAa+0-n1OnH{CeZ{G)f-mMMoJ6TZFLy+#=7i zQf$7UJbfLUh<;rzJZ7KyQY1eCxAIOJv#@o92qkNwB*zow5&@v=?D4lI_>QsWy)2tE zaFsYq*w8_WVV8BHg}-kvUUNOA6tNiHJ$3y z)ciE>526eS!trQb(z$K$Tq1bJxrJZhK}(>ddQaoEsca>~yg|y_Im|JIwKt)<_-FVS zL`U@u^1h48y7;n%;A3^dl(s<+4s%7mi-?uaG8TfXQ~QMA5Nrpg=Od-#kPf-6L|ATF zVJ)qr&dF}0%k7)$T2dTbzY=Rt87L`Rd>=6CHb9)JkH^i$`~B3L^VF7VVbxMP+h`5_ zD+}d$ivh3r3+0f+!0jQJnUvBw<gTzPyG%w`9as zT!QOdd-y44+)c;>MT>O{^&>d8Bgw*IHg$5Aww+{olZehi(@U2k9%8cg?o82U7Hl&^3UAPLm)t_@f%AyVI-zZ zDb!|cjS59bL}q57I`&;`Za2bNQ*(PwFx`KM-498uL+iq2Hhk9y1KuTsO3Ixp)hg7V}!1;sLG#ag-fZV9ujXY~7)T zqgz31C-opKElqYa_I-~(jt;YpmO0jNq&c1Dhc6C;7?rlhv?zw$gQvm*M!6atssFx#UgU(5(S0*%_zFr9>$dlbl&v(Goz{J9^I zo}ZJIJuD5U*|^ zieL^{Eaaz@trLSSQbDf4GsM6ZKBz{h6iT>El51Gb2J91IL5k>efBGRs z$X44Hc7&thj>6-4Ts;v)vgX+DF}y+qug%A=Nz9Sqk~`&>oamq+!>;-I^p~$I{fY8+ zcE_jreGQFUZT^)NI13lQ4#bS#(O|f&xDU z!~_%Dc4m`8cnW!iE=&}9$SvN=9eLxym4xib-mjf%cNHdfFNC1Mk(_9c8+NCsy`eRG zLZ_UEH|xU&gPa}=CHJGu?!ao%y6GwOMHuNvkkoje*}P?^6Z?`^42E8`A$SOX05I!=xln%)un{hH25bA*RkEjc!FlfH#71c8)lCR)gg5jmn_UA z!;5+|V}|pDTMQSP1KgIr1Y<7ugx@t$Zo9NTGagXcx3SVFc7bNCWIv;0#2YT{&2eTTvIMGkuu1(hCK^Ibl6|A?a3BGgFX=)NXfmqLu<(D`TiK+Nqhm% zdTLOH61wTNG=B5C@=VjqG|Sq^c4X5?9_No}`eTHn>>WX)Rn|xnPUa51pZ-%+yVD>S z$iV!_PpGgvIik@D{wo&m4uG&?I?v*;@m}v0T7X{b?zqUF`1fnHe#`w$XKHQ)U4JR1x;zfFEo3reJHSI4N;E3DqgTxsN%zKbrnr!=Qq% zjlA0@7;a1WPM_bm+cwuncQQleF>8w>>G}qm!=4*-7O5gLj_*y}hd#$o{_3}zliVAo zo~3k!OlJn!!>qa6Lw}SnjK6kW|82JxDF%Til`!=Wm$(YSc@?I+q_VXKLPcTp8G{fD zt(wB{{?gwVzU*J*68KdPv>++oLEtZpAC7IMfeEIX1EKPSwYmE3Imz;2|2e|)W$PAZ zhCf(pJmMbytWD{Q!Kk5~`n{8{w`_J|SC|rJ+#^2BtccDsqkcCd1%G>j*ZIgQQ*3*X z;ltr!Ij!AUmAq1HCBHNAUg~+OeJVT7CwQ~c@~r(8R`8vhu!58Semovq*^s;m6>%o^ z3KZNEbynpdmdJ%^qYRYX@!{?w(=3AbdIIjY(5Sbzfm?&d3}i6!ZMGjhgWTVDQAWFVUZn z{HzP=a>Q{mK-Ah4cQ-;>bwa#=>X3EQBu0H|5{c@c{Pw!$WzLASU&m!O+}%I-KcomK z?_Au~?T-oIBxx}#(B0hL$p_n3j3|QIV4oOVR8QLOl(UdcPmKv-nQ+C%bSmFDrwNoi z@|2nQJZth*oulmPZx2ULWQLsjHFN=iDh?^XQ2U}fkXSX=r$I8UQgoM8Ei){z&XF*S zaW1}H*}e#jX}tX-qFaS|SNA&6dZFT}!nBIE8`=a~NpnN;?<=3<+;6&S9bLxk<@_FWJi)gGL6>IIy z%W%7T4{NJDYFWtZJX<&gQZnI5iHQA}sTpbZcTLjie- z>%+(rrUGp!+t?}x_p4wa0YHZ=@W?Q{5dEL$nfUIC+UM5<&0G3QK{qC}q-&k-u$ji= zZkl_(tV#fTwAnIeJ2PBrR5<+03jwn*qoi8il#vl!Q;%!$%7=K+(+j{L+tyh6lLLPp z0*Y@rS@|;PMqL2j>&Fzz+rKGb6L4O=YNV?7bGP;}tUUS=Eq_hT9eUW0+jj~L-(2qx z*)n5z`0m-^= zC03M;d&Pui?rcsoFg$suV8FB_*Qu~5VpqHO!7(qR&q~WHDj=kp-&_5IA%Hz z^oZJ|_pCeqf8HBzN@pb-_8iw0cP@PiYiadP4PHiMcC0VOh8$%m0ne|uWFYTGl>NpL zg}U7xzEqj8!uhvo`;ZlEcNH#X6y}$hn@0)iDd?HKwoIXB^KLOR+=dTO4aD6|KNr@_ z$Vn#41Xw@sPC?i2VY#k}I}UWGw_d9Nc%Qv3m2%ChF7WKn7gK6xDs`LnCX2KN$2^2) zqyXDv_(}ple2guU!ch$coi{jO27QHSSl&#y%I2MRmf)}Z86H}%Z`11QujqAOFKx|# z+q|4RT_H54u>nlr{5smX2#W7LN41l^z_7EnK_XE2dri0O~3V#k?pne#vC1FLqTy}s{7KII>W;^e@^qrv9zsgb?Jz@ z%Zuh^ySnQeKPby~F&$hPd)5S> z*C)Rcbfm&KYyvM&hH+RkFx=wwUx=s1rNvGR3QS*&mt~brl99`7M(Xyl%KVFKW|TI{ zQ&$nz%L<~@I)X0ql@+!LtjW?2|ENBOZBv#kovIP zfA6e4qW*V&cxYUyMwg8{5p7A5ppCclX3zHuj)x;oK~U^61fV(faNp-QaE61hITce9 zdjH*=PEPyY0OEu@U#0K?z)3&9>b{*oADQ5hQ6QaGxe4Ndml1Nuo?=(`IGYUvarn(_ zXF_~@fXW0xYvv08JbtWdptNeT@$h7&`!!ASJe%MusO?n`7+ti-9{NJs(R!LhwE=W5 zUphza6(b&$1nu#!_outkbuuMI%#OGE>1mKxU>tlCoXD;ne)9f2ZjentGk zUOpmn^rWIqV1Ve*y;-y}NS=nIV1iC$sy0~(S{zzlI~T$fYq{z2Ei+_pBwVWQo5jZB zj?d`bjm41l_c}B6J2d_g#*nof;fDVDl{RNRRmK^x`?kEtRL5o=xK<5w5345?ZvsP5 z1qpp2dk#&8@a}h5uOavc`+#;^uWUI>)qGWz4cQLlhtZLCP~M#lk5SY}{mG2=g~_i? zPAZHxL8}3y?_7g~H_JKdxb+3bylK5sVG7+!yvm!OiEeb2V2Qw$#vLdQd?D166OiHd zxAD<7;Y{5fM#1T;m1;)Ymjr1Gv-hCl@WFoE@RbDI{=>&Z!+HE)f_;X(%!Ij((8s{s zKSB<)KL5x0gzCvlh{BhV_bPX8EbNEz!I8n6WnbGIt(l=C)m(K;8}XE$*SGu`c+BLfyH9Vhig2!~KHKjLQ52w(x0 z8{?4g_EOvpu;%BE9z0A?BiWfyK1Pikk5$|$`Wo9^%T-sgdRKORg*w`V;Ajx8_g3ao zqIy=0#|!te;&!O624M#2>xT%YDTq6J=$!|noYCt$5T@Wi#cuhW+13E;dtCCIthR_5>B>!*|hjZ=a39zSA|gJtHMWIFg*P^Y$KgaAI|xFh34O>C$i(JqQgNVQ&|`F3_sSiC zr69OE3qMf9M_A|RDMKFsqw&5(`Sb9SnV;BaqfB1QuWK}E7mwf zw+*u}&LP{`M`=Cq8?{)8!)2@8cr?}^Sj19q)>Is>VVcmD=XuSi3w|5y+MSW!wxZNl zF2Hdb&s1qBBJDao+NdF(jF+o)G<-jn&@@@qT6iSfUP+?7)kHG1QGvr=(rWTnN*E(# zXw3G~&g??Hc-af^Nai4hxa6_cvw#S(OgO~@B{)v_n&otX$Y+z@)P?Fj#zynkYNNu- z1KG7Wo#lT9*x)jKSip9;%JH4m&2pnV^v!jS2FJQ3%Zlki({HHabQT{aNg76p{dmyK z+$cXw`mvp*31s7TciQoh`oKz6(#f+QdU8yTn=m?1mw&SjZ8i5E72~r|pB!kd*>tB? zr41q=+BoYCtH~AzA?M(AFSh>dFCN70IY-EfQa-&fxD2#84mYkD+AQTZFk&rw7iW~G ze51hQdou1HkHh5Y`s2+WVc+GB|BM_mbBVZ+Z+&y4R4Gel7C_ivKZ_NI(``1rzs<|o z9BTnW_cp#)>gmq(;E_>VN2ySip!vXWpEn%^Nf5sPw zvl#?Q2X1_KI*yr4A*E$wGa5}Jg^hi(ikGU)ckcvd3p65kjXJPWSchg z5guVD+v6$h;%4hgQO3nn5%|9G+qpZnQ( zWWkZ{?mM5<-@E!sGB(Y|;ssmyt>X^(F3qsyWUG$q5>G$0h^7W&5Wm0nN58Mk ztkwE-W_Z0KEl?D06S%&*UhBNv)EcX@5$!fH>M^<|6{Iw{@tOEFv+moi0eTx^lxSvC zaFqZK&}yB>)Kn(gQQh4yahw&CHt)y@8h)a68s8-#X5~GdQKG4tn4By|U+C=hCkDMl zRn(X#AIP`cvHvKMURNSkR;Zr|Z&4XmZxMuymI?-G#QL${i29hX+iqu#T-6}GXZ;(H zZ**3nDJhFv7X!b==QU<3`zv!B(!UVVh!Bkd=EGqvna4B}U=8nDGLFe?l^5GNfvfY1 z5Cg0NcL}{qLUx?MG&sK)gj^RyZ)j0oE9C-pzRm^!d-E@6QiYc23Y)gk)$ExqaRG+Y z)7@!z;?04wrQh{`u;C3MJ8sWu8lNp_{1L^AWUU~fl~}1TLohHAN31yyA7?~r{`L#I z)DtBEfE9P)0E|;}Z%7A1oLxIWJ3a}mXPp(a`EBW+JRJkF@f3GJxA%bZ;O_%Txm>_0 zjxKBc1?pse5!)-Tzg`EzP0?dBm%X0nFDftrxO;u7@LeyFs*xh*JrVtTp~d((0UQGa ze#&oqf)h~wXifYs&A;J10JWk|fF{3hd=JL`ev?EO7)qD@I|qc;|3&uiWU0^fzeu81 zwSb0^V@pg)*FWsEK zua=@hcabtrjF(DRE(k!1k= zWNbxtcIB}@wr%rF`%CC`rO03dk4=LGNODq-czGdMgw%3wwY{j?vde9O%y0G2l^T=4 zuGp7wW}GYfPV(c8Q$-`Pf~#L{klZINSVdoI7T8U8h3OcZuy7U`W9BXU5+;*_k>6>` zuVUujPik?;>sqBiohX+t_Oic z3v!42FcouhD&5Uv{g0jV37+|$6Jk~_lm5Of7a%Sn6ws2qUR}3F7y&d=B|Lu_$>m+9 zV(zZ`GGg}TO2GTMD*HE(K+7v$v-Zdop!Ck@fYap&e|}W>AI4@Li)97%ooeGH0=?pY z+9q0Di=2D--%iQ?Iti@w4?_QGwLm${{1C%!=YNpS6@wwx85nH$|AVv@1gP3OYZg9y z1B|Hr%M*5#{?>QsAC~$(KfK(+e2ep6#t3A6Tw=H3*Z$Wt>x~e+N56KJP)lkiW>sZt zJTwP9+`&Qd#1(FZwa^@MF%4X;ZFu64-a5=rfkpT#kK^VB&1*9%*j2SEn!N=4&yBdk z6e=|p7UqyRKm7&bEtr!LFu&(~cXtP(Iq;FXpix_1`YjQRZm&J+;a;eOz#;B*$E082 z_JsOq@WI^+9kLTv%c`)eN#_WCJ&VBoRsWtVGSvfMQmxWVyV%riFct#@Zk8vtul=b8E!@U!^(k-}iI0M(BF?!gYehFo7NJ0Nu+ ze;QVN*X4@&7X$p41@duhCHPtJd}qiElvVqK4`kg(H>x+t$)=I*o^6DnK!8!)U1v|VPoX%Fw68L$4 z7{2e|p786R1nz|_T9YuKxo5_Zb*jAmGWKGK&_$1w_NKd+N02YQQ{Z^^b8IyC4_NEr z%P(KmM+5|7H1x~^rzJYXfgi)&DwX2AtH<(5U{-72m&; ztSYpg{PcPcTGyX&yk1@5>#F>g^aJU+?rF0msi>E3j1itqljLnxF%Bo~}gwG&3zYOl+KG=POGut$5~3>T_({GiXl$ zxrUOsH{Yn$20X^fuA#?k!^8sato?Z-ydhwin&I~Sidh&1xPHt0y|&p{R6acWx)J|o zU-HtAQtD4gGIa~MxCuC66K&{O0`U~Y_zqhHH5tnO51eBgv&&XNJov0Sy>^6NJGfud zu9DNW<^ha&MuWugpH#2Z?o7AXlq}#p!#qyN|u%98$`nU)SZ-fHsrjhB@ddB}7+i)1d=XHL`)$0?I zlK5ns!~gSKAG_bQ`6lqy0e#H@?WY%w@%2Yy<2qyiItWBePS95^D*&3_|CQ^9zE zHyi+t>E;zH9MEg|D{1b{!*)t;Aq+)b(c1R54^;Y&^GmLKNnD+rn#k~65v}#SWbWDx z;l7M7E~Yw8%vES_U0p?cn3`78dw{D(l)p3rMRTW|3A*Er_+QT*q)k@j`~4unR$Z9= zrIwpTEH;On77^Euj6}7^>y~52;VPZXt4Nraop_P07U4dFzm5a9F*jq z!H4$}g_pr4+go+WM!=vK%xWi+l5%ClfO|A*PQ4YoE6u$iIR%T&p(R9oJ5vKcW<5$~VV|OnSyY8i{W~~ze#n92T%zIy$~wPy z<6H*vu|zmBr*2RJ=(P9l8o*xSxhgPJo7w`Q@f3TBKY_nZWwbQ+?M-bccqlnwz@6ybX9o?JfpNA92ztQIv9i;~PI6S2QnSHi`&m3te z^C=;ACty1&x;mSrcHEaHw~A9o93!o5xV44pm@OH$t%m(4 zAS!^MM&ipwPJj>%AP^Dixe*=bbskPd+au>gK5g<~j>AxSQ`=XQahMU;jD%H4(SOSG zlaU0RoiE9I{>T*BZ^@lg60Ytp)T$_IbicNJhd|H@C{4*GQ&pZN%Vj_I8wFJ>7-)DZQEmGceLZ-xn7+(#HWA-6C7^GICbwbsOP`C$bC9V89B!FJL(e~Wp0x(+m&QoKS}Xes|vu0g`d{99d7(FwSFo_0C< z)n;|#GNLdslFKQd9le_M1$jT1wFq&WTR+CtBE#9Wd$ifr$d+E91Ks|%Dq{L(PCNNO zyb@6WhG1nOFIk0SJNqOM*&rD7`hizyiGmRNmdu0c?gMSfnLIl=L2b!mVk0_LA>K+7 znzUkndcoFq+48h%x+Fp>Bza!8eErz82!fW};;Q-|D*oJxQJGJB> zTOG0kwNSkOcBMdC7iyO+!bueCUV}f$@k}zY;lVEz{KruOkW^b#GMmeGMfuXxXUu%{ zer>h)!)QIMoIk0?8^I7=6TrQn1}mQ-c4goj0xIx@`}c(Jv&G*>bqL_3L~ZhLZ9wDq zuM_wVeZKc$F3yw7yRBXW)sw$chW~L~Nd)iRyI&>)YJ}Cjv=3sA(-Z=Jwa-( zb2Revn*eT&A!2ZCj+MGbXx(Os&UA#(R&b44cy+$ZxQ5ax64GzUP#c^^4a9y&f-5$w@6H zQ=05gx!Ck`tViNs$76NrW0THk2@zqHf#f8W4?U`?8@qwGRhwXXm{rDHv$+$RyB9v5 zt;L$(sdST_zj8N`8Fe{rbMk4~saWi%L|g-E#BkSpmTAd)5m2rSx#~ZJwNdtQ|U> z7k(iEEiqVuKOfpt)!w8trZD1denoxTItTEA0L2kR*g4?Fbf5f&2U zfrp9+g#Pm0Kvp(bEkwAvcAItP;j5C`#h^tUWYXc}Rz&-m|N2TBZ{ zpzCRr-{yuEp@l-k+$wd%*+eX+wV+Mz+x3qy3Haky=F|q=e=Fja4Tpz6$=Tn+r(G~=^V)~y7$M=f!uc8g` ztvd(k%k!_l4>9i92~ZRMLQSN0L5@7DTSl-6mMkO*+L|ag^(nQVFG@H^Z>L?>R zCTdy+8KRlul56*HCzqP;{p)`2|D5+dJmc?C&GXh%`^W>+^}-SpT}%pmzhcwiI2dC z*TdFRLUzP}bGS10E6!S*clC`_YZ`@G{-+m{XviZV(nNnHqyX=DorN^9u>FcF{3L%} z^O+eJSI z_^t4>p3?qapDBg8w!jJ@1TDhMwJ7P)FEy>h;CiqZK8wAiNwzBX9na?V#*`+kOr?_n5Ky3xzkO?2qfX8vgrPZzFI+ws-21RXVUmCG71D zt9OrQ-+?-8?}v$HEB5s!UfH(+gQ)MQea%uS7C5^AE%ae{e|tWT84vn#Eny71D0dI% zQA=J;y@-(Ng=_#2tc8)R+3PH|Ea#iQXd%2Ur%>!OEMB4~COM{14t& zv`I(PRdD%|h%Ua5m_evNAZ&gZQz8n;XQXEp9Z)f!aCOB{ZS}8K^o4Ia`VewouA@^tYgbBYRHD%n}(3?~`ByVi8=(r?c_12ZDtIfC|TOA*bPa^6+TCxtEz zVSrmwn)hx(qU^ z)TwR6?uGsIdn(MjHGrr<>fv5ImQxVo*lHBk>B+daE)XclAO^$9!PQ;yHNl$RE205C zXClr6txloIH2<9ERe7%lO5sgERO`%YoR5{k3_cL!;fXG>oG`<&(1y&0z|mMwXVh%< z?cVQa6|8-@-M_cL_Ty0nuDn0d2^HVHHG zQ307b9?}d&xCS4Fri;oNWe#*D&FSE84p-d_M9`j$H}7I;2mj_-?Y;04qIa~bB?}Ee zkB$y}$g7{Xr<7gD@h8HcU460SEU>I$<&hA~0Y5>kq3y1w^ypHdWuv&L&5dBJSX|mU zIqJe^bN*;kQJ>C?rMJ+9etr+P+)2Ok<~gGYuXU`Y>@xS9joG1O{@jOcDk$?t6z}hv zc6{odiek^+o7k;|^pv#b2}|o59=glRf{0w+#|Mq^#Y>2&pv;UV2kIQ+v9)w{WWYqfCW0u8!_ z>QNunfh;-gNkuutG^rndJuYg~oT)A>jT{N@vrYrqeHarR%lgKpmvMYaVhaSkKjWpg zdWsNKWbaNat=o%C%epDzPi+;=gSJ3A$@?hcNm0 zyYTinH!#8WoAmonZ_Oh5=$>hfP8P$(N}MwCwEdBEGr`oY6ZYEXZGo=Tk25Tgtbp>S zH(i~|C#y;j4}{Ui7KhMXR^O>px*7IFaeQ_7R7~XTWQAmKF%^+x)kPf$rowunKF<4} zGVRLn4B%ZAZ(;0B$Q6fa?J_e>8DHbtS=Og+ake(O694xkOQ?`_gi(RYBFPt6c*Ub))sy zMTYS~sj`-#>^9EmFO5@FU9U@-HRXAf4aD(UhU9whu1MAqN!=>Ia)JPET3N9vlVL_yVgU)V4)a$`;n?>QjLG&T~BvXggLBl zh&25V3$-6D2I`t-ggVu#y3bN8dXNflX1^V|gjU?ky+{869vsTlx3Afsw0A#!Eb(n{ zmfdJL{$w}&7P*;yi_~lJoo%ub^{h2x{c&c~?qLOWbl1TJ)lVU%ReEXU8@+5_?gQz} zY|=~Thd|dgXGcPlZisI3j)4fTf_WoH39UUI;jmd|k@3Gq}lHawL^u$Crs? z6Td;D`Zlqwx>Q01wD+|NwiolVsRr|>uUK@$?^ns|xKwU+jhderPd*0nL@HM#H!`;i z=cK$WxVadv?mcLJq}BZtj$hK|k*=Y>bVBVQicwgg%^zTwTEf;5B?FYbA`UkL6EW8$ zJG++H9RYBvKkifary{4Tg;kS)r`5J(%(ZSLc0UHe7&~)AR;ei9{x^UF`4i&v)M3+qf zD5IA^UQHwbJy8$tFrIt-I>(}Yh;SIdX~qj7A!7}&XC+)CvC+la@E&7cSudD*Wuklb zj-6bEp-Rt1Kbo&jSv^7|sip!pHx*ei4!ep3kf1XXnzp5Z-jRZgQb|+=4i?kmHY4B^ z&+X=PY2Rb=Vy2LKuQ6AMWN95yuK33-0rHA^_pTM`!u*NB97+^P>uQoQWKE={Db~ z7r~DMBSWrUm8KOOt#;oOARDEv$h%d0Amv z=qM3RePR_(VT&2Fw=*5zL*U_S@wRZnuT@meZsMJ?o%R6^a+=uwu)43s+}26S_?wa^5IpycIL> zcAx$TXByLD>SuIWa+#Bnc~_8mZ2Vf3vM0Q9pFGjY?X0zvOGpLskpHK=1Xx$NcUT+? z)pe#0YhdW78_Qt?oY!$KPYH?<7|HFtfQ!S?=;0O+$jp%z)FLrn1&Hx!Q@XR}^{0x) zKNfpk(S8h`E;eRb17X3-Z~9g$Y8ug&kyxa;?EDu_=M=PfF#=8kW|Vh>R&ykwyg_Kj zdquND(NGo7u?D92mjZdH2+`p7a1~_c5bLK_;tHF7KfQ*YnJ0+IQ75yD>ZXcQe<|Kg zna|x$1Z{zrnAwl5Nip#Z7{#FL4XD5OVck+!RuO%Ot+Iq!$k;4IYb&dZcIDTC7v#K_ zf&7m0drXrgWkwxs7l1zmQ+Bxv2k^Lb*Bz?-0xUn;)mV$wQ2?-dQf1wkMpQE%7-kLR z?RV&bf18_qPh^S_%n3I*ML2jM$bht7*2KHR+;f_f%0l}!q5|>0ZR_ZqO|zgS)cp>8 zuON=hv$K~zXpNknd7h{OtQ@{WaM1H-ZR-2j%mG2fzy?6xXX(k60Z3^P-R=&%sVut< zC57WDVd)+S@3HM?;phDF?GQd%z7UAmgp0U*`b}V1bC}=iQcD~71 z!Iy3w*C@cQwfSBaa?<5(1%_*GUVKJ3?jHOvvo}=klC$%r+r-1Xwa&52L&tJg6QrY* z|2>L*4-_*Lzmd)pZQCV*iD1hR6DYoTeJTeOWi%dnF~nhP%(PO19Lm0Z&0$=LH2~eV zA5I#5>qskdAeIbZd2Y)W3@118faz^{l;NO;GV?^Q`vqKSn+&8#7L=F7J0eK<&T*yV z$2(;{AJQ)y8}w6rZGl%iR)}5OVwEZVECNq*jl*ns{znlcEpk{ATpqdGh;VsfL;8)~zwL~g8tDu)Xt@&t3~-|Lhlqjg0Ujg1)_oe-pGwCXKeK^r^R;oMIpa4(GNUmjOo=IuJN%S~@~+9U*>xmUGq zL#Df-6<96}BN$(jicaQB80eAE0rLwhN0h-_>&=Rkcl;XUEz>J32r%H0ApV{ZmnOU*LK*7_=`1b~85QyoohUc~&E(18+VoA*=L)QTSsSKrn4$eyj z8>98&EuiXXyGO+GW?O7vzG$$;Cgh8yR*T)rKNWp|)_;GtHUCsI^?w+y3A^}Fl}hzL Vd-2`%-=uxnEzNDr3QbN%{|hU|ZDs%f literal 0 HcmV?d00001 diff --git a/assets/blog/2024-08-20_2.png b/assets/blog/2024-08-20_2.png new file mode 100644 index 0000000000000000000000000000000000000000..75977507c5d030bc1f7086f836b8b164a8bfcb9c GIT binary patch literal 14528 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