From c43d60439cdfd0fb520a0c73e6b287b12bb0f150 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Wed, 6 May 2026 14:59:08 +0200 Subject: [PATCH 01/21] version: Bump to 0.5.3 --- README.md | 4 ++-- docs/genhtml.py | 2 +- docs/getting-started.mdx | 2 +- docs/tutorials/karl.mdx | 2 +- gallery/karls-picture.typ | 2 +- gallery/paciolis.typ | 2 +- gallery/periodic-table.typ | 2 +- gallery/plate-capacitor.typ | 2 +- gallery/torus.typ | 2 +- gallery/tree.typ | 2 +- gallery/waves.typ | 2 +- manual.typ | 2 +- src/version.typ | 2 +- typst.toml | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 6e7c604b..e1e3e5d0 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ For information, see the [API Reference (PDF)](./manual.pdf?raw=true) or the [on To use this package, simply add the following code to your document: ```typ -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" #cetz.canvas({ import cetz.draw: * @@ -127,7 +127,7 @@ just install The installed version can be imported by prefixing the package name with `@local`. ```typ -#import "@local/cetz:0.5.2" +#import "@local/cetz:0.5.3" #cetz.canvas({ import cetz.draw: * diff --git a/docs/genhtml.py b/docs/genhtml.py index 7f2f1738..8d1c0bf8 100755 --- a/docs/genhtml.py +++ b/docs/genhtml.py @@ -10,7 +10,7 @@ from pathlib import Path -DEFAULT_CETZ_VERSION="@preview/cetz:0.5.2" +DEFAULT_CETZ_VERSION="@preview/cetz:0.5.3" def typst_template(code, cetz_path): diff --git a/docs/getting-started.mdx b/docs/getting-started.mdx index 8031ae36..efeac7b4 100644 --- a/docs/getting-started.mdx +++ b/docs/getting-started.mdx @@ -8,7 +8,7 @@ sidebar_position: 1 This is the minimal starting point in a `.typ` file: ```typ -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" #cetz.canvas({ import cetz.draw: * ... diff --git a/docs/tutorials/karl.mdx b/docs/tutorials/karl.mdx index f9a61956..66e1a2d4 100644 --- a/docs/tutorials/karl.mdx +++ b/docs/tutorials/karl.mdx @@ -20,7 +20,7 @@ In CeTZ, to draw a picture, two imports and a function call is all you need. Kar ```typ #set page(width: auto, height: auto) -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" We are working on #cetz.canvas({ diff --git a/gallery/karls-picture.typ b/gallery/karls-picture.typ index b86771bb..bca249d7 100644 --- a/gallery/karls-picture.typ +++ b/gallery/karls-picture.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" #set page(width: auto, height: auto, margin: .5cm) #show math.equation: block.with(fill: white, inset: 1pt) diff --git a/gallery/paciolis.typ b/gallery/paciolis.typ index 812f6806..ada2de40 100644 --- a/gallery/paciolis.typ +++ b/gallery/paciolis.typ @@ -1,5 +1,5 @@ // Example by @samuelireson -#import "@preview/cetz:0.5.2": canvas, draw +#import "@preview/cetz:0.5.3": canvas, draw #set page(width: auto, height: auto, margin: .5cm) diff --git a/gallery/periodic-table.typ b/gallery/periodic-table.typ index de6660da..9eeff68b 100644 --- a/gallery/periodic-table.typ +++ b/gallery/periodic-table.typ @@ -1,5 +1,5 @@ // Copied from https://github.com/janosh/tikz/blob/da1b4582/assets/periodic-table/periodic-table.typ -#import "@preview/cetz:0.5.2": canvas, draw +#import "@preview/cetz:0.5.3": canvas, draw #set page(width: auto, height: auto, margin: 15pt) diff --git a/gallery/plate-capacitor.typ b/gallery/plate-capacitor.typ index 66aafb08..278bc7e0 100644 --- a/gallery/plate-capacitor.typ +++ b/gallery/plate-capacitor.typ @@ -1,5 +1,5 @@ // Copied from https://github.com/janosh/tikz/blob/87754ea/assets/plate-capacitor/plate-capacitor.typ -#import "@preview/cetz:0.5.2": canvas, draw +#import "@preview/cetz:0.5.3": canvas, draw #import draw: line, rect, content, bezier, group, anchor #set page(width: auto, height: auto, margin: 5pt) diff --git a/gallery/torus.typ b/gallery/torus.typ index ffba55e8..585e27c8 100644 --- a/gallery/torus.typ +++ b/gallery/torus.typ @@ -1,6 +1,6 @@ // From https://forum.typst.app/t/how-to-best-draw-a-3d-torus/4744/4 // Note: current settings use about 2 GiB of RAM and 20 s of compilation time. -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" #set page(width: auto, height: auto, margin: 0.6pt) diff --git a/gallery/tree.typ b/gallery/tree.typ index 9e9a3c31..235f2cf9 100644 --- a/gallery/tree.typ +++ b/gallery/tree.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.5.2": canvas, draw, tree +#import "@preview/cetz:0.5.3": canvas, draw, tree #set page(width: auto, height: auto, margin: .5cm) diff --git a/gallery/waves.typ b/gallery/waves.typ index 956a42af..0895afcb 100644 --- a/gallery/waves.typ +++ b/gallery/waves.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.5.2": canvas, draw +#import "@preview/cetz:0.5.3": canvas, draw #set page(width: auto, height: auto, margin: .5cm) diff --git a/manual.typ b/manual.typ index f50ce400..0e87bcd3 100644 --- a/manual.typ +++ b/manual.typ @@ -93,7 +93,7 @@ automatically resize. And remember: up is positive! == Usage This is the minimal starting point in a `.typ` file: ```typst -#import "@preview/cetz:0.5.2" +#import "@preview/cetz:0.5.3" #cetz.canvas({ import cetz.draw: * ... diff --git a/src/version.typ b/src/version.typ index da052ac5..f28a4ad5 100644 --- a/src/version.typ +++ b/src/version.typ @@ -1 +1 @@ -#let version = version(0,5,2) +#let version = version(0,5,3) diff --git a/typst.toml b/typst.toml index 472ef21e..a5fdbffb 100644 --- a/typst.toml +++ b/typst.toml @@ -1,6 +1,6 @@ [package] name = "cetz" -version = "0.5.2" +version = "0.5.3" compiler = "0.14.0" repository = "https://github.com/cetz-package/cetz" homepage = "https://cetz-package.github.io/" From 572b6d5ae823d8cf15e564656d24a8db9b952605 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Wed, 6 May 2026 15:03:06 +0200 Subject: [PATCH 02/21] tests: Add Torus Drawing --- tests/docs/torus/ref/1.png | Bin 0 -> 2186 bytes tests/docs/torus/test.typ | 62 +++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 tests/docs/torus/ref/1.png create mode 100644 tests/docs/torus/test.typ diff --git a/tests/docs/torus/ref/1.png b/tests/docs/torus/ref/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e08a3a095d3c9654e26455572edd284c7925f0 GIT binary patch literal 2186 zcmbW2`8yPP8^*uL+E^--%qj01$_&P#EM+^w5E?skiV?~-GZ@R*DMzBrFpME{h8B#O z>|3_6za8613}q*brIS*kQeN+0@Ltz>uIu^XzOVcF{BZyBq}g9ZN=lrR002l@TbVlo zAkciUcf^DaoJZgb@j!&z+d5n9@9)pe&0#Q@%F0S5B_%8tJ3l|qU@&}qe3C=KsgvNe zqTuP%r-OroO-xJ@6BFCp+lPmTrKP10IHr0a2@g7oL1r8X4-ZdHPA<3$d|bhNCqNnl zv>hPFfznLC%mn&cKt>9n%t0a^v=@WIv;!<4#{z^J(1HmmK?M~Q6b>CaBp@IlCMG5> zE)F>iWRC!xC$P1(m6DQ@krtAX5|oh=7_I@*QUcOag3^+}L=Oaefl3;{ID)wjus;np zxd${5asyQ50WT*|ln#`jAjAt;8UiE|34uV+X!OX)2$@Vqp-_c|g)%ZSrlzJ|US3gt z!0@7e&9YpzqkvbqE3`9gkL`6l#M1iodu%I9i5)y(!q0Y|E-QC@AI2?gMY;JDS zjLVJzATnZY{+n~unk63RGCb=TU&3F3$EGiaj!Ti+Vk`g+UOJ4&U2)VpZC?t!+U5(H10I_f~L^W?Uy zl7f#^Luov_vEHUxCqhiTBKC}THH@vuD$Ty%Rp zJzjY>S=Bp1a>AxHCCX^kvB!|j_T;@;3cf^~{nJwJKcTHJpQmo?DZl4YOpgUUi5RLw z=lNNQ1yW7dIZ!f#=yDbh0iQP;1nRmQnb1DzUkWKNDbyB4$QWR)=nHbvJCPCJim(Qb%D z@?p9+f3kYg^%%1|uN?hH8`V9Y@Sv9$9_lvWRAKzF1>Jbx6q2h@K~{)$V0NefB(j&F z+we5l>PC;zZ$r0O{hBwF-HKU5?#q-4N{<+?CQyf;J#()w>zBR^Zo6&d*({<;la)na zmeut(Qtps~OIlm>bV~&&yvsd~!DLFpQGAJv7tU>B3Sq6O* z&@~8!Viq=P@T>bJE1L^pV-gwtrW18Il7#Y>fhS7auRJ|%_3d(f0C#e67N10K7(~1L zo&B=<%Q5u&UW#Mcf<^yL1i>Blw`P@5UKL4D5&8Vu)_P1)iQD91ochrT(H9hT&daIV z?;1IVGoeqyLO$>&%3U{}cz)j9VkalNRj!i0aVusj2`Aj+3O=ieTQvUr0=a9-NF7dC zo|HCW#1tVod!Kc-qmc+qZ+4(L?Ou-VyF)Dg(_6iRcmAw-I#D|ef%}(BS6IRHV8rAp zcd0bIZftTwRAJn8TKJjR@6PI{<6omHzs`O~cJ{jZ4F0PR=TZOcFFuBT@%B_AoM0sJ z-Z!@ihSI(m`!mHvd1lZ!23Bz`7{2%;&@wztjfp=KwPaRvGkR%3ESdh8bzK(k&U&9PFWkNCiw~@O-DSI_}!A*cekX|7``Xv4-k z&ob1Oy6{O4ay1lw+W2wl(H~P*KT?AGnCEQFUIYg9(d!3oUjyL_Lui{pIY~!nuL_us z`6a90;VVqsQ1&n=ohi?|Ki_tIsjQ7_JB%t+dU9YVa!R-3& z)zq~3fAFK%?%Hg;q}M*v?1NBYEN_zd+%o4ZiOx-3ktb*KqnazIgK~2Dv7~F->=hXd z)bIsw{1V4zMy1i{WAXNtRa-(t^T4sy2p6JC%iVOSXEW7fZ|Q{U#pp=o9s6}T7isJF zkDTw-e8QEOp)9UCShDjsbcQsUpST&!MuZFQ)?P%!ng)`Z8;P})FODa*TTYBWkZ*l? zZ0?XE>JeOHatudvS(+x;wmn!9)^%ARQ*`Ypcn*LA7y3Xq3|g3yP|ob8E)>mzHZOCp&$U-~L6= zb_}qVoKsbLjXwLlFVzhL(Ll#C#PExb`H!Dk_8xt^gL&@#aK5Cd4Y9Vz#cMb5R3fIr zsZNysA)DV#rVrzwEg7FE=>ZS>%V0~*L=$o7gKt!SixnN&eg&)gFT4q?y5=A9b6uWK zDmeK2JGjWLCagpJ&EV3y`6<)Ru0_(s*e`FU1I8Qk;dP_vnbFUWA!iOFEo9 pos.at(1) + + hide({ + circle(pos, radius: cetz.vector.add(radius, (thickness, thickness)), name: "outer") + circle(pos, radius: radius, name: "mid") + }) + + intersections("inner", { + arc-through( + ((name: "outer", anchor: 0deg - cap-angle), 200%, (name: "mid", anchor: 0deg)), + ((name: "outer", anchor: 270deg), 200%, (name: "mid", anchor: 270deg)), + ((name: "outer", anchor: 180deg + cap-angle), 200%, (name: "mid", anchor: 180deg)),) + arc-through( + ((name: "outer", anchor: 180deg - cap-angle), 200%, (name: "mid", anchor: 180deg)), + ((name: "outer", anchor: 90deg), 200%, (name: "mid", anchor: 90deg)), + ((name: "outer", anchor: 0deg + cap-angle), 200%, (name: "mid", anchor: 0deg)),) + }) + + compound-path({ + circle(pos, radius: cetz.vector.add(radius, (thickness, thickness)), name: "outer") + + if show-hole { + if cap-angle > 0deg { + merge-path({ + arc-through("inner.0", + ((name: "outer", anchor: 90deg), 200%, (name: "mid", anchor: 90deg)), + "inner.1") + arc-through("inner.1", + ((name: "outer", anchor: 270deg), 200%, (name: "mid", anchor: 270deg)), + "inner.0") + }, close: true) + } else { + circle(pos, radius: cetz.vector.sub(radius, (thickness, thickness))) + } + } + }, fill-rule: "even-odd", fill: fill, stroke: stroke) + + if cap-angle > 0deg and angle not in (0deg, 90deg, 180deg, 270deg) { + arc-through(((name: "outer", anchor: 0deg - cap-angle), 200%, (name: "mid", anchor: 0deg)), + ((name: "outer", anchor: 270deg), 200%, (name: "mid", anchor: 270deg)), + ((name: "outer", anchor: 180deg + cap-angle), 200%, (name: "mid", anchor: 180deg)), fill: none, stroke: stroke) + } + }) +} + +#cetz.canvas({ + import cetz.draw: * + + torus((0, 0)) +}) From bd2b1e704a8d7504875f7bc344dc3b4521fe1535 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Wed, 13 May 2026 01:11:02 +0200 Subject: [PATCH 03/21] Fix Mark Inset The inset is respected by placing the anchors and must not be added to the path distance again. --- src/mark-shapes.typ | 3 ++- src/mark.typ | 5 +---- tests/mark/offset/ref/1.png | Bin 0 -> 1055 bytes tests/mark/offset/test.typ | 25 +++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 tests/mark/offset/ref/1.png create mode 100644 tests/mark/offset/test.typ diff --git a/src/mark-shapes.typ b/src/mark-shapes.typ index b9c29adf..d3a4ff7d 100644 --- a/src/mark-shapes.typ +++ b/src/mark-shapes.typ @@ -205,8 +205,9 @@ fast-line(..pts, stroke: style.stroke, fill: style.fill) let offset = style.canvas-thickness / 2 - create-tip-and-base-anchor(style, (-offset, 0), (offset, 0)) anchor("center", (0, 0)) + anchor("tip", (offset, 0)) + anchor("base", (-offset, 0)) }, ellipse: (style) => { import "/src/draw.typ": arc, circle diff --git a/src/mark.typ b/src/mark.typ index be7e5dd6..2b14df38 100644 --- a/src/mark.typ +++ b/src/mark.typ @@ -278,14 +278,11 @@ style.mark = none let mark = _eval-mark-shape-and-anchors(ctx, mark-fn(style), style) - let offset = style.at("offset", default: 0) - let inset = style.at("inset", default: 0) - let mark-tip-info = path-util.point-at( segments, distance, reverse: is-end) let mark-base-info = if mark.length != 0 { path-util.point-at( - segments, distance + mark.length - inset, reverse: is-end) + segments, distance + mark.length, reverse: is-end) } else { mark-tip-info } diff --git a/tests/mark/offset/ref/1.png b/tests/mark/offset/ref/1.png new file mode 100644 index 0000000000000000000000000000000000000000..0b727b01fa9853191198627582ef55a21cc671bc GIT binary patch literal 1055 zcmeAS@N?(olHy`uVBq!ia0y~yU#O&x%1>8U zSgx&d-CVCe!1sPn$NxzG^}4G6eVzaNIGs1unI0d#>+0KSYxeK2D9)+wY;SLW|Ni}! zb59TW#o4ECoF7tbUw_iRc&|rLOlVT>fx?#eE)M-s;f+(4TyJkW?;Sc}>GlItSH|U3 z-uLjHv+4Nu?b{i0PiI!N+D^PJ?U>je8nnGQ-?VO@R?-v(S+nccuPnl2EKA+gl5Vzs|vun^_HglL;dUP>-X>9|3AXNKDuMSU%dUaNB=*6`v3f?fU3p+1+)JbW|CvlZ0 z0|Qg3r;B4q#jUru!h?kaCD;-U2n36%C>-$<4%qnpUiH%O-4nMhXn6F#{O}7NHV*Bb zNzW?v%!<#wxoW+6^Zk?iLV*U60H#LY3T;gNnY&`wGN!Gcw57AO=C110oV-prYfZpr z$8BoMN&@t+=sMd@@lZ)ymM&ztcW#}0tawY5*%g;B*7E1VkABgd)3t7^ldkZq?^+^3u?z8ktP$}!5g-j5a zu2{Z$`R{k@7cTN%>b-Q{y7{X-*Lv!P^zW~-a??7zKUwS5OQ?@#NB`Tou~xO4H}tgr zzw-Yf+cbBV-Mw@n;`#1+)rDz%*Vzx=tN%W0@!S}<6}NdzYZoYXT$#$Uch}83N>^?y z)VuQUgGkiW(oB=1_qlweY=0I<<@l@ zE$p6pNxyWwP@s_OclTfCs->109&7KOFk$`LZtNE__3CBgoyWGGjxk$0kB@{Tz`(Gf a`48J6NhS;T$zJP08a-Y8T-G@yGywpi<;~py literal 0 HcmV?d00001 diff --git a/tests/mark/offset/test.typ b/tests/mark/offset/test.typ new file mode 100644 index 00000000..6a47450b --- /dev/null +++ b/tests/mark/offset/test.typ @@ -0,0 +1,25 @@ +#set page(width: auto, height: auto) +#import "/src/lib.typ": * +#import "/tests/helper.typ": * + +// Bug #1099 - Offsetting "|" introduced a litte gap +#test-case({ + import cetz.draw: * + + line((0, 0), (1, 0), stroke: blue) + line((0, 0), (1, 0), mark: (start: "|", end: "|", offset: 10%, stroke: black.transparentize(50%))) +}) + +#test-case({ + import cetz.draw: * + + line((0, 0), (1, 0), stroke: blue) + line((0, 0), (1, 0), mark: (reverse: true, start: "|", end: "|", offset: 10%, stroke: black.transparentize(50%))) +}) + +#test-case({ + import cetz.draw: * + + line((0, 0), (1, 0), stroke: blue) + line((0, 0), (1, 0), mark: (start: ">>", end: ">>", offset: 10%, stroke: black.transparentize(50%))) +}) From d7855dd495b8391f3d61275cd023d0e87eeebcd2 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Wed, 13 May 2026 01:15:20 +0200 Subject: [PATCH 04/21] Update Reference Images --- tests/angle/ref/1.png | Bin 85176 -> 85093 bytes tests/canvas/baseline/ref/1.png | Bin 23014 -> 22871 bytes tests/custom/mark/ref/1.png | Bin 7610 -> 7569 bytes tests/mark/anchors/ref/1.png | Bin 27427 -> 27423 bytes tests/mark/auto/offset/ref/1.png | Bin 107608 -> 107973 bytes tests/merge/ref/1.png | Bin 14983 -> 14968 bytes tests/multiple/marks/ref/1.png | Bin 3286 -> 3326 bytes tests/rect/around/base/ref/1.png | Bin 34500 -> 34550 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/angle/ref/1.png b/tests/angle/ref/1.png index bf4ecac562abc0ed523cb0ace4fd96d94a76da9e..6e9eaa7f7dfb6c11d4523ef9ad1e8046294690fc 100644 GIT binary patch delta 14584 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 diff --git a/tests/canvas/baseline/ref/1.png b/tests/canvas/baseline/ref/1.png index f026ae3d186a94d2a8e5e0635e4cd1076c11bd15..7ad1829a6b79784e853d57299912ce2de686bd62 100644 GIT binary patch literal 22871 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 Ts#of5zisrdnrPQ(I)wiRG2RN` diff --git a/tests/custom/mark/ref/1.png b/tests/custom/mark/ref/1.png index 11ec3460e7937a25696489792432fbe21d086262..0262b1bc3e1bfa7f703f5a5e0216c0bf6f00794d 100644 GIT binary patch literal 7569 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 W;0ct-FyrGtV-Ous|5%7or literal 7610 zcmdUUXH*nHw{4F^$yqW35+vu$Ad)i(Lq;+ZWdH%8NrMWAlDJ(^aRsc6F^zu{1ZJrQ)Ol0D#uWP}d3o zE`h`|h?0a@!yxb4Ml8fzn!@!ih!*U-@8{7EH_yDT?kXk{uc82@qeZGHxLE_{=H{-} zfU2#AohcCD3^+JAI668a93A!t`xzMMnV6VZnE-Nf;z3SH0jWv{E>lA2$w=r)NnJTu zn`@BKtmq5b`?-p0Q59~8>)cTHIb#Xn*rz9m(e zep%5eMTrVg0ZUfKEFnI$tms8W36h_ySyI@IgO!1dl!20hhK7co7D7!;MNdKAWM~ghOBo1uC$b>-d;n5X2ss%*Mh1|O01ya-loUvf1d_r4 zxDnu{q2{WgHg!L?w6wG-BaM%fgNuucot+)Z!cyVoj)t2D%Sy?xvhecq^7Hcx3JS{b z^7KdEy>PI&2=SY8wn5uiWNB#x%SmbRa3NI{D-5*D4YaRwbBc(FT)TEnUIJiZ0HBvC zv>54vdDvxWsikSCt~1afc-YHD1@>X`3{+G|OSAp_tOxH>FCHblc=6)$<;!p0yt(LT zyV%^g_;GYGJ$Z3M>0)ZakTh2Z062dd>E3`xe%ZyK%(Nlwi7V8P)EhG{>f`I))P&%K7%*9-qgzmQI^@ z@r}O*BMub=A|iYi)D{YGnfQ&Iz|#41M%ln{@>E!vIC}&(;zp1~RuuxJ_N_R$XeJ z0biBL;}FVwY4T+)@eiH@B$5STsl}sP*0y*21U!r>Gn7w%o0#BY)qM0TGeiw58WYQ= z$6a?x9%%8D1SQ;|f;}r}b0PCBDfn}jwrrXijOzB+VΞs9DZvTWoCrNNqcVf`?{H!u-Kk}5n_*ZEDR(J_KMhcM(vVsukAOoMr%u7 zfibr@clwlMw0z5)6$?ujs{kCen=}Yv!(Q7NqCyyBMM)zAR%;+(TAUWO?GlA8nf!M9 zY<=P3`~GZ^pATJJK%RX00>2-$%YR3iqfIn(!r%$v%`Ma7WGLR4@FJ-So+OgaV0B5& zA7d}H13c5G#UZde9Nnh(1P_0vtbF($W}?IDTwq9z`cZo&r`y!}lN74({N;k5_KU}6 zuGXxekHvnv_qtpId*FsmeCSRD=i$H$5BbZI&+hFJa5>$9L*Koym%V--_MR58=s*b{ zN^$D?6kCbF{$h~4%=VS&dq->fATH#$86BM(<$XXq^w3aC3Cf$!Od7%j9q`2i#%W{x zsXF2HbBlp{>n0I%nG#B4jkTTDcenBlX&Iok>sd}xEzJAmZw~?~Tzm2Kt?$0M1h&q8 zeY?I-vSq~rMV>vk-}xcsz*0+&UDzUM>fI84cXfK<9O#$yq@t|zre222qs+|rdHv;< zaV=zkid@aZD#vcp98*LtHX5NKaem~zgUN39I5|uDt4XzLrDrTzq7*VnP*O(SnjPJD zt?+hTlvRgC9uW@0R$=V|_l*zX5Ac)OxL6j0Jy+5{5aurPXuq(kJ0aryRe7r~$+0~z z?S_&;j>46_!6sP_`{`Z?`Xo={mHC^@0%j9*fwx8*9eH`m#<>9tzV`XG)0i0K;#(|rL~`~yDTne zRKKA%a;sa#ToJpV(ZnkNGu*ciF9iNt2}7!CTj~gKO3j*%&v+xAzc`ZZ=G)Z;`t}V; zN{l{W$x|2F4mDN$_0g_ZlCTaLhT9-l^J+C@WGt`$uv^3q37+Mg zTNL6-s!wDk4#m{p&1!2mWF2;?e~s==Zujr5e5|zOIZ5cPy~h=G_~L#Y!OOOniz=?M zaSuN_3h3`4oYL=x<;Qq}F4&$2rIEARIw0ntzVUlc_vUr-?I@?WpQ;s*4_L52PG4*} z1rO(H)U}6wM%vz5hzOT{Ls44b_1xG85XSz<$KCN7rtV3@RE-|Df8TZ?u+{zIAdx95 zt0n9~cV6~#Q(@+{EolR>lV3-*2FhSSE{vqr}pqLcmR&vjni~$XyOT_oZJ(X{F%6Q!pk|%Q;1GO?$prM z+~1uTQ$z&lo_B}CTNUG@Jg%jauJe=$xC?9^F)MYEHb)TI~WZjr&4Y{tYzfCR^#Wx=!yT zSLmMrjyd#_42&L+C)Ip0Mq|ryxj}g0V00t)ohb(rPl4>uxf#LQV~WrRc_411`J%hR z43;}r9#}LKC)7y>MV-Q(s4iqz$S?w$?w||C`X+Oie3z{#_3)f-$;EFtH*FC*PDug4 z=E$KPNU-OqJg_glK>k71voCSX;UOx8BT$ak1R+gC;F2l3b!QqC@->f!g9FQ6tRZE3aI&zIuJC7-h;T#fy; zLad>yGey|o@BFRjA(|+yq-cd4nZIWmM3Yc1KgQ!}WyaeYMC`WsH&{ z>?s=en0NliJMut$-3n0xX9;kBA-jB9uaQb}490pmwx%PWpybQ=hEn2i_!2jM?C9oA z3;f~xBNmZsk3}53ytXVe>E9tjL9zDx*0dzvhaME07`x#+HOlg^GXIGzWWfN~wIb@P zbU^HG82H|P;H5r`!};XVua9JJ=()5e-z;b zAK@)&E8xXt-FUPXr*s|0YX8?S2)H6AmYmvVTsv@Oa`%*bkcp_7PFZDClIIF`7n+t_ zKVamMt?S5G>oL!R;H0QKJD99fMBPp3t_eYsaDKO-J?Nk z+!Z!=8Ac$NvccoaD!2;Yp;5z zSAtb=CCD*CyC&?3@x(?H#)j%WQAf z)HSW-x32Ob4P~nTF;bZ_fYD^@=W;)Dfr$@vnRr>0Y8RqIIP-O=d>L=)B`t}%JP)wm zVn4ILZ>8@X23(vrAmTT<{+KPD_Fr6l>zMxeCjL)Bll0_;97+^_Cvowd@7a#Q_1_Gz z{iU9ZO>RNJUh)jr&nJn;>9{;FDC!t;lVo9mZP2vor{WJ75HE5 z`Q$-c`BdhTKm#7;9GCh!jnGFBarFRSXAp3G=StX0q3RQZex;Fu{kW(vqo$epimv-l zd-h+57V^r%JV0I3%tBs9?A00rV$S~gQNkml_XLND{vUwo{~-nb0SbBl2hjHz5Bt1y z@+$_2=|lawI!W+l#dBnyn9KU_ixQt(dy*VKJ+{}I-6CP4D^Z^(3aF&Z!5lrnm8DCT z(jU1wR@SEyU__P?o`;9znypukBkL$Rw$i)miYECshg0K9>6*d_!FL5;{SyhA)rg`; z3BCh(d~8K=0e)9(Pafvz3;y-2@Ew<6!!3A&uh9fL;#$Y65L|+v8N`?fCG~iQ!BwL~iosoj{n}=hz-7 z_B|UW_-5mO1qYcF{D53?3?I%8L2Qv|u5}pxsJ?f{1HZX3|3?^LGAJ4E7VxbcaH6WRRX z?8c(Z=zhDeT;%?zk1QIeHSj{&+3vJozbu^m;W}VlK)D-Im&?J5ucDya?P=GZOWx^H zrn!4CGF8aCr~!+m7UJ+Mkjr2DvK;62c>ne^H~uM9QrW$rWt_0}4gW`N`JI^;!|HgJ zf&u8Nbu(yC^y&n`H-ivIlK*v>>=Jj(jk{I%D8jogQ`g)EiI|hDf|7RvAB?Pt*Yto> z5cC1%=FW@;KKAkbuUeNWC}QE^2i!9nSzL51W6o0WQ1Cv4mt-&i2fdH;=R zTgiN{ikw8hU~fZ5L$D*e;HK>gw;kr`9=TM4?&H)Pj0cAJ`P!+PZ&MU@XaC{O3TBYE z_)LKNaPa*g;jZXyM`y4jguhKyT}xoZ2JM%ChnGNeqFv8I^_*os5Ef>lRV#dwlyPN z^J{mevOnMgWsn&W{~5RVyE9}yg!>}owF;Dy!ci!Z*;$pp!l>J*)JomG(>hv#53%KXvpJQ=CQyfZ_Oqr z%~p%30O88XzuyP~)E$T=wewF63msR?eNIU)1`BbM_m*@f)c5;TU_Dn{K@QpdSWhsH zy2C~5EA^DL46LRg%yTx^eRfhld>YDjv`-&_9cO{UV;n>#|RS0Gcbg$8~upv8rb-<^qTEzIXEM*zJpmYKca zl^0GqvvSC4W%yRPsq_LKMTMS~dy0oF-PB2(Pg)rZi(u~Td6{Hvf^;7X%ZKdd6W0YU zN7CZYAyi3aGnyBTTAId_RTq z^Vv)EQYma`chd#Rp(bkW9Pe+w=k88GK*A;O+Vg5s&w7>7HNPXsmAM>BaXNm(m@W5B zY$_dmw3aKUmyko5*4lm2yJf;@rqVc3%e7@fwFi48i;}24;pBA0ysWJA*8I*dB6^Be z!;S}m;s=37B7cr29!QH8cEUYC2Qvgmu#n<{j>yLGL=H>wCrKGpV2z!-m=5aV1;!MTA&CiK%xm*5q_1{>}|$(CHz zE6x(EGjv$$q)Qq`f{tPt#`T^KdO8|26sFPvc*#os?6)som@P|XaSKc?A02ZZh_m1D z=rPvQ8Rm-X?VQXoY6m!YoiDE_!OBNlj%7}1 z6njGpxIW=0NfqN1AP(yg%(chFXKaeyP4@i*!274 z=)T^0NJ4z;nFFy0X&EKl!W^B5*E==&mi3;m)7>7CY^UpEGe>#o4jJhSam-I}Lks<= zyU)ri`7=k5LViF_QX&K!{T$Pi&_xp^A?$COdAs)B-GkcSi4lCtDB+kIgNwKQ$5g?8 zrGq*poqfQf=!w&&8lOr@`Gd;^co-XnqgAupKY>}T<-kLZ%1xV6m}?5U2#!bWfsr}- zv^++Y@A;~{rBI3r8?v)jaSg?dfwTwljb4%{0q&F;xsv=x3AV+Vep)fjozBTh>6pp&3q5%KP)x-gWaL}&90(1BPERv!SFSxvq}GkLvwd+?Ugmx$*h4?-bri@pt}|zx zwA;mmp^F18w)Cv|u&L`q85H#?hCMYxjeNHjVn`T= zu3v2R4qEHA6_<%USs53s_l}^c^gPSYzs$B;K4&`_$eHBV{&ijcl_dXy++_DnWixT^ zp@22EDXR}bpg(i7AnSaBsOTwDTy)p77EO>VE&K8|MBFBd^{a(Lne-1l_j|p*UMLp- z(q>ufo4+dh#JNbEqN2&0_m*DQuwA>C2J8*_x>p9tvh}ZD^YV)neQ^D`r|~~o8?cu?a;=5?STii#oM`V3vnRro~FP+!K7VlcR#1TxbKIb~@ zayMJUjah9I`h?o-ZQP#h4|#(+Hzdq0#ucJjp|0?RV+~8cF@-Zqbi@rZrEzp04A!gJ z+%nODlt;CA@CJt_I|}pg(hfPtI0N39OqB`PfUa?i?cO)P3e3Bc3ZINu;8M!ij zeE=UDqfCyLDF{-ge7hGx|C0wml$DyRbfvjhM=v(g`EN%=+W_nmrEg)qmw+dgLqT>) z-HT99=f0l@3K_&*9u}LpNv^W_CqTJY_iWj$^zNT7ncnH4T=4=~{LvGi4}+edsWj8Z zk(&(VV7CUlhKfVsE&P*#K$=HDq(Km*k*)ZAkgHel<)Y^#3P7Qwo@%J2rC{Ix(h!Pe8!i)Y$NolcTF z*pke(i3mf&9&o%QLn1NRL|H0Kc`XX7Xh=YmJqS)9YV0uK;q{51rhYmr3p=@Xh~hHs z{oKg(f}vPp&ugsP@s0Zt(kwUi;dJlYt01AefuF@j|j7R1WpSa*6y* zyR+Jp-rmcA|A|*|s)?r2Y1Nq<-#o=F`{Ee##9;E1G%UPI$1M_=-B^v~zQ5Z1>^r~G zfpH9yrA|-#A`LSO&(&(*_bHs3Cq+L7Az|s;Q_0g{Ac&g=P<>1Slt1MK2r#8|2p-of z@BYqHSL33>nQNwbFEsMis0*A3d8sPY)847BCdB_GERx9pNQC$VN)@SG?AKr9&84OVBUhxoxgnZzVx+TI zO;@#E^vOPM#nhjeA3xmg$Vg7s94KMMOeN!X`pir;5eD!J`;;8FB6R*t8J{d)O+GJu zW9I-48E69|64!9F#*ze8)7GkggP&#zNVZs;$l-+yj56jO9hnrsK?GPX?4XaVA_4gK z^EOn+pu?w7aA+KAs%5(~C93UawF{!rgg$hh-o=QjXrO?_W4hvoxnEwcqiNEm@w4Q9YelaeIs)AiWty*R$< zcaTq@5ueIIB}+U6h{IZI6~)-2ftA&a*BJ`*iJUt{m5oIWDAC|G(acc9cN22ot(9 zI^cq<2oP9ts)i+854>|JtD|a}{BRiUr<;uj$;gM7J4w+)=l^mI$xg9Vopz3WhD@*f zR&B!v+NW5vFt$}&ORHY?@puI$=xaI8Oo{pOh)3ZOsnrMo@f6QYd_ZRHEqB2}gdfqU zV_v(*Z)b(mVSgCzC2bRA#bgU2&66vC)$N(^&BZmsoP;?z7=dY1Stqi^g3T-kk!kLf zVN9s8tlFb)&QIg*^3a*%1Vw~K6eC_br>7;fC7ms*2wX2-wd-^E^= z$@5HJ3yVeIoA^E{?XKsY4bIG06o4+5;`H5QvbOXum|l7fZj`-!b4Sx~Bxq^2bUtUg z*g85pxRSqZqXAnDdT~O4rxxPp6e{X@{XyajM)9o#NAzL>#D{JxOeuYqo2~!FneK&q zX}1ft4ElD-L;pPU$l;4GU4?1z9wQiEQiK@2 zJ=D8ywR5ttV1aFjD-?@14evM*-V^*FK?l9uLklzk05r6x00IY(Cg7)D7zQX%ngCJSlIOJIy72>604$MjALm^l_CG|aLwu`$R7gNVM7E==stAOl|K#j1`mX0bE$@EOvW3l_u5il zIyKL|azqV9zc&^0_CosAys@M8Chtu)pBgEW2)Irobz8PlHRm z=KcBfpXxNBK)7_VNrvJeJ{=SS>H&jVjL-o(F=pVwiWE@iAvB7E1eCiyaA|b8fVyer z!YN&yUlC&{+WZcn6U_@EG@^JB?Gp67ft3UUKSOk1)FFjETYI)Nu(LV1{fYo%ng4d? z^YFJZ6BQr2#f7{N3;Uac(>4Uyna%V0A=bMQdRj0u_KD2OZZhHa?>f?i1?A|Tzpu7T zm#4wR5gdfIJehl2eEB@IjmQB- zZPW6KzjRR4><&`((w7U!RJ#6$kQ|bOZa15*p1zmFB z$1guYV+S-|i2;XJ6y$UVlJ^Q~h;+P6T~yj3qAfE#zWJh-4j7?%3dE7(qv-=KX!gJo z76uTAj*XDE{FZc4HkeM6{)6UA&uUt4Cmt2pC+iu<`vRkMapCJ6A>NE$Q6O^B0e3Zs z$hCak4PmG=Xj`~wr$-0<9QW}ncf^>E==Z#UOyi(`srTx@LbA%%M>HYv>ODP-%WUYgkl__&I?-#{BbWe3`hJJhLzgjCTZ% z?Mgzk1+vC`!TK*g_#PA4bT?tnKbxYRl_O=z#SapsXV|QSd3S$eAtW8#Jz4gfUYIw@ zpf%0dpy4inY-=0+cy=RKj$w z=3p!Tq_x3h@6XhXm_Wsb_oegd(m+a5?tbrsv;=4et7Le_SCCkCc1m-~Ai!Z`fB!CG zb>WNn&plD2>+kr#-|(KX^DMAz`~3aVy&_r{ihCS>NE<3+IoHuvG46(-fa3R9e28WA$`@M0xwY^ z7jB+K{r%|r_bVPRqAlA^MK8n2d4f?>Yh7DnxV$}2dDqi{5@IcBnNj+3ixNR*Y_Cc- z^qtl!%dxpVcSKd--kH9*V)3mjZ*lKCO<>GPGFAIbx;?{6qCY)C7|QjL$%cY!u=$QC zfWrTrb^BvYeBxT{;vAch+v{tKB40C{fj6SO!x`*yiNi-(+Ox`aiUpAIVA0}`68}Bv z-h9|upf69D)H)9}SExe>m~kAu-A4UYmP4sY8w}!}0LXM$SwZ7q&^8+A40M>@ELMdM zLeF9mE5<5jqIe$XvB8q?Z6qpdj_MwSgaf=ZLPSg7TjXD#m9k62mK6EJNDms&<43gq zo4;`&M0RJ8N}vA;mE6yj(u{>NQI$0xpR=)GZYL#W(IVOe|7e$})QnHp&v?rE{VfP) zZrE~;%=Nu*kQ>y}pzWl+43a187?JTdDOr#3tBwsmwUz5xdfMHQ`lzHbcOB9>0AXV2J=YMtsbX!WDa>L}tMd=l#0tX$eu zH)>*KIxUM-dwZW0KEF-aUvzt{LI<_fsGR+b|M~CjnT}u8@_os=Fw{vK;f@R#u1un) z6bORHiTWARAnzq&f;7_}$iyOP_g7V`YK=G%^;B&;ngR505f|YQjwHA%n;RCqLmpc$~&oKD{SyMQF^TdlvDVLmN;#V^3!z zJ&gbbOVAWJjo;=|a1c=sIF0Brm=n0#}@@e70VVs$jS0V15Y6 zk)!%9=V0)tnloFjKK!#}V1uomjP{GvxvB%Ec~TNiY)Vb9JS-B=q0M~3H!9sBA(R85 zV`(W@citkjOUwROevjdR20AyOj!6RWFcTYHSuMG3HqdtaoH4w}c{}B=MLagUBK8~X za$F!TAlTtjS`(&lYX6Q$j+Z&6A?6tLpnJyEoP8mGT7}I*ZEIfoG-aV_Nml&`6$J?t5}5Bg(*w`#^p?c2UkhBse~u{jQ!@W)rMS7!fg@1N>`orpS9i*MXb;cV;oBvwzG+~ z1jw-=zom?=ZAu>_)Y~smDlxHFmY1#K!~3H*23IAlO0ox8I&n{ohqSbwGlAVQ`wzqN z;c?>WBoh(pG^%H>ABm25FRLi_6boq^#L_1Bg!(K(b|fXpGu%y$Rjx!V^ekl^bhf-9 zPU|=EC-v~Nu2SrX*moT!@~)>RkE3sPgQso9?{31c3qHoa11)tk0u>ZbfGi3Ul){mu z$Xb$6YE}-|j>`B4khxr^rZZ#n#1bXwfCdJ40@^cFO0xjnBD{#dmP=yZY1a97>Hq3Dl#~N9@F9$s zy#X|HAPle>xgg2g8kedV5i=NljQN*s%()-_+z2sgU|k6fI3l7%ZzBP+_0<6>DmuW7 z0K#FpJy%q!=(VFQceG2%Zqv7F`x^}E#C*0t{oFA1&f;XV*Sh@x4TOY%7UKV#)RQAx z>dJUdp*NmGe=La~n_cR^`|!&41^=eGdUD_r*|yCKg!J}bI)%q=ZQ0l{?+k|}L=*{& zvtnwpKY124=(;<*6g26|RQyT8XLZ2ZV-30w{wO@)aYT?11r?nWjUyjZJ@K4tON7)c zY!p`GyxrhV{Gqp>Scc@7CyyLM>}kA5jD7h$*i#PNE>Q|O6hz}wq!v65qHC6c7KHxH^E%qzz75c))u{_`{rNpiS1VkRgN zV({bog@p6b{rQ!VA+TSbqbLFH^Mwp)PK9UuS0|l z7Qx4PL?WZ{f#9_zUNk92Ouj7H$T+#m2#G+w;D(KCa{L6*NV14PD8sWy&tGbOTpdOO z_tw)N`FM+_T|tjm4jBL$bP{av_8}`7Qst4F*8dR0F94yH6L0{)-LSn}A!5Z@#r(jxsQkDxv2rhGudZC-Mh!l81R zWTrh+30ey*OPHvXS{jzc-l7f7=p3zLhr~fP-_?AKLSb1m><5tU6n+<7E{Fou&dcYz1=423Y zz0moqu{|5-nn@;m^m|f>l&-aWG^hp0;^IL~jGR35wMMoQeaDuinYOGf0&^%lf!JL=xwSG|=Ft%8Y$auy z-6y`GY`P~$k7YvcsfizJ7&(zIeBtye^U8!u;qTXNE&E?Cw1dgkd_;&seocLp&9Aez z?|7UD0ezDG7_Ovh^<>*FdPV^tuXMpd5qJ=a!57B@Z%oAzhf?d-{Cml$M*ge*E>2J? zI>Y|#l-YVTuf~@MZJv|m6(q90$#R7hW%NuIHRpIBbez^&g4&LO!V)Xe7ckI=({+c6 zQ}?a1#POs`@6MUu+d=EiM-}Pa#md>P7X&`Nh06YWi}ll#ErLwQlglmT-G#=buHEh3 zy1V;d!HC-4g|^+`uc(0;s{pxh4(iefJ=)De@oDhL@W?#khuiz9f#exgBcFhxqaP^q zL3E(~@Tf~l{BZ7t`aJb#d#`QA=f8_Sd>mZ*qkS1ZDR|Zw438Uw&qZ`9{mGvS$e(am z&e)>d|F~%*Ht$+xb=!mG69+kVzTok_3$S;0L2wfJU9YdGC6P(ql`E{8n)l43zK<;0 zy39KaE{AxTzF(LZ&XiEb{YF$aW~v)tz`2U%!}14i$w-FGL{w@25v-+*I4qfX4nz5K zJ(T{5j;Z=J+CAW7Iw;D!7-GB}7^EQrfkLDSqE0C!8Izum(?L3<`!UheUPG1&AA)?0gKTfnngr{U7Gsjy_^Sp~Txk6Akw;WH72K_@Ou25b7oZi|M-qiXnx&jvs! z%7+Lm)EDDJ?*SXJ6w{vKmE{NYpT`!z2Je>?VAcJs{q<0|7gX`LW7K3-`6~FeGz_!M zmE>N<5pq>>QdT_?%g0$^Z+AOi^ll|^g=krV!RkZaiI97KCZ5Lx84`)rKvjj-1j9_u zz59B!MTT@cNv_ScWccc!WI0-q-@tYgIE4VyduqB6)oT()*zdy(AFT$d7rk#f;cXTh zNlv>-xSpd_W6BAQZoiMO9v`ZYX$zIQQh9j$$cJwH>-LYwVy2`mE%&oy(nSIHwO znof>+a}jFwYa=N%Pf$MfyObpT;ra5T5}$&idxsUkd`qOq$pe?G=D~mmzX$w=3_)Ws zbCZ33JyO_Q-^D=(bw1hr>=0=PUPW{CQ6onKWZ1ZbmOkG#bkmcg7JiOLp_t*(daWUpwYYzh=(YeQmzM$3}w7`S^2tcIwT;!^aZtPkL%GSPT z9Qx#JtsBc24>&}rf(~{0^r@MO44pRhsy@L%v_{uscizqE`x)~sNP4LDs13Ef$?mL_ z!sjt?c zh_SN)`FnMfHz;_QTeq=Xt z_3zmD_DWaDr>;Kk2UA}j!dE3@Ze1g%Ga_I2iwkiOoHOlLycFAhvL1FUMW^^$B35e8 z2M&gLhz%;c*C%Fm<;NVkG(zB~dQ)AJXPuJJj;|kMIr|bawT@yPhD^Wz$WlK(Fw8lh zZH6L`4@_>2uMLc+l7&@JnMizKZg+B#F2TMtoBPua@iM7T-1R12!F}~u%GZEcMlCrK z<haXT&H^Yo zWsh^4Ok1H4@(*r12p4$@8PzN(;ru+AC*saJuChri5ja}n&O-Ajwyl%DC;vnHcOX?P zvOwfo7Q;A1A>@lnu1qv9b_=D(3nRv3V=^eWr9a)=d&IG{9VHvHl&xNDfIwK# z(?P%0LS_?RR*d!}@0^4hz-2L=_=jAPlGfs;v(O$et0t$%ncD3xG<7+H{G;~>!R+w) zc0H=r6UX&kes3AgbP*Yqi-(Fb66W+1JQIUFu)JUEJ6pfYGhefBai&HHF~1i3a{Exf zqtsQ3G62)PBb@Ktv-yo|q4dfnwCkkoIEK|3@uNnjVb4(>piN7OyJ+v=X_rQ&(LgV_ z2Rx^6|NeLKjspelTp+x4{zi4--6K;K@c(F@IMOHoHE$I}yH-sNrEjC5SC_mj@z8=J zkV8RrHuV{@^uhSX%YhBM9d!FfY5ZMQPFI&qWN_6|tjM&?xRQ)B0d|9!CF>@Gh`Zhc z1{tKWV?^V{H?08{;vcCbVY(b1>I9!iI$R}Qzsk=cNKL(jH&OG^wzQ|Z9fUr-RBhwr zS_PgkG{<-0S;*Ho)uFcj9Mqbr0buGdAkIL6z95v0N4=s#a z=@$-W1+QUtxzdZK1Z@)NK^z?J~1GN^}g5XBx-E|2T2}jOYAZYUcTEc$@ z32J382Lfm+1qixas1d(79tYEr2Ah#^{F$dZ6yzZ9eAbe{m}16bAlK+g^GRhR$n0mh zDuIkBEmzd+2Xdjhjs25lvY1GONDDP^B%uN<(%}7M(UU+2%CWE!$lVlE1uYHgZYL}` zYkLAFxuqOT+~;ze1KQzy??*PFGG;{D@(ezALnC~>rIE|u+M@zq(fX<(& zWMEp` zk^y){mr&tPn>eaGvJi9N3AIzKar`9cjWiX@$WohrRJ}$cIwHW22mVUw*$VpKmizI~ zi(E6l0JdQwbdez=w)y~>iX+Br!M52!&X1exw>pX_P<+<-P3G>Df`4#I$DHZNMTLi- z{ey3fq~+U_F@X_fX!vnQhQ3gU5dSPVxerWEr`~4Xnqmdc)NE83qO>J#%(5i1@7a%l-AMn#zSiY)UE!X200`l*9+hM zL+|ti#S7kKvF0*n_b~-peZZR|vIYgc9-_lU$L;YbB?|gg&MJwXo>Lbj(~hA-{*@<) zK6@r`v?65mL*4TR7b8vALQsAAdIocuP1*jQAaV}L4amqbp)4s1MC*gDT?qTm9>U+i z|BTbb6KgeSy#A=5`nHKiThi0duYGEzRw-7BTVf_+YI3S28s*>_XK<;K#LyH9`tn~0 z+eJG&yR3}GW{nn4BD-lNntYD?UrfII2SJ@buSy#Eaemf29_Xcoqzg}pr6vbYtiRmZ zxE8USrp{REPT$UR$>**t{NxVXZ&I23`^S@c?##adfOu8jiCn@Z z%1uj$XrzQwXqpD!LX)}D$cL=#amcyiHG8r0%&M6@$>=qZ1>F@rNyJA4{Jfaa~3w+zs@JdYfjHfaJc&Z zknt3rY%M=Qafc~u?`sSeO$Ij?<*CS-;>md<&-;I+bAW&bRog~%@CsJHR*cMTPY=?e zbMvSAQS!RLWOt5NLHnQIEX9gJni%fj;$=iC6Zc&m&^P3q91b80!X%t~Bdb9y^IW!2 zNp5UnJt;<&ONDTCSkuS*1zk`)fuO>v@2P?Y#JI_8bEDmwX7p(jE{ z-A?t%{j8O--AaheuS!Q(c7Rx}{>9(Xc<$DJ40o0ht(O@YMtu{%j&5LLdpxRKg3Vq| zxo+Q!lEd1gp{X%<{hp$(*6iXu3k64>(ZVG-Q@xCo-&$(N7=~{v`yxr(=D~Q)e&KJe zv-GJ0JPrrHCpx{$iwNz#kjgsbv5`Xe6Z7TUJ71F;E{H z>^R7!$oeu9PN|MH_P;wu;sY_!p8Rh!5OD}e$idDTMHPJyYyP}#_nAvgOS(xFToSHU zZk@u=sGrU|arjCMwF`tVz4$>ot4H$Ta-jh4de8BDy(F2M=N_%lZ?Tw_%O@gPbQL9m z@d^%9(c}+F#8x~Qb_`e=wlrzf*F0aswRl~eE2&bc@jtdHI1P8~xoeWyk+YH#g(LDG z8KTEC2uk=dXTK<3)P96#W>BzJzp#^N+Ji^a^Bu9!yr{Jj2v^TdR`3sFj$~%*jk<1N z+*)s3shT&Px|tX{1|3T~P*55k_fAROoe&kCR5XqboEgWK3E_JSs6;mijGQhc_Z^45 z(wiOrSxt{TF>wI-WaUo?W{3_;2qKPEcN)2iZ5{g=6^ROM=EW;*7q@=3avxFuda>jh z@n^zysB&S??(b=419`1-=SreCS9*Z2q~c)rPsqVDX;^{BkVGAus_jN1%L{h~n0z!|8@W z%Ho1)O=s5mYPZmK$d&ir_@t=dE|oT{&W&wtbu(T$^A#f&bJ*W%EyM4c=Xh*TXDug0 zz*Rd~iwbc&PprP@%47zUV8AW6Q3hPrdbirpx(oBQGESo#{}nF95SG6aLZXU30~U*7 zDI$rLW%BRB;Fb%$*_K25GikYHUI#u`o!-m+_Z{XHv-VQ=t8r!Wt3f|BuJ?Z5|J)G9 zOPhAT^uF)^BD4OCG;-d&d739l0JEpv{BXv5D{-YgIxOZCH&fE!euA!+V=@xYqIa5K zR}d2;HlN?g*{oqD1%Vt?8dAGx;=TM+B$1k7uV2AXAAbpYd(K=RKP^NWlfD8rKe4-k z;$Ql9m~zF}!SG83`a z7OJJj40(mPC?k{fBoClj?_eZC(Od@{+0wI6W#gZoIy^!K(zBZ|I8)#jaT(g4OL@nF>&W3tK2qgSGwY>E+dp z^RvHfWMt%dHo?gsCLRMc5MzhX?C%SUZpl!V2^v@R7w8usHJ z{h7*GettfUxaaO7@_}ld%QN!Kyj_2^lcvtdK$|V`HyOV&n)gL3a@DmSk4mVjw${ml ztHyqYsBvOq;))3U07jZRI5;Sv(%8_T>>~b&A3O8|>i)AIvsy)Zc{@{i7bOl~;K@x$ z;TRQ1`KkV1CkO5rwbh|0nj#~MDy(B^!NQ@n(KEYTY=cu+x|vvamr+UDQ|$iM~Q<#C%R3cVFqF|NaV;mN5q6Jt8{@fPHgJbUHME*Mb&^HGc%un==6z7L2e!36L2SGz|tRm7T$lLT~NM{smH$Q+-kT I-0Z{u0js|GH2?qr delta 11192 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 WM7rrPyDEBQK?-uJvL({SLH`5&`W9{g diff --git a/tests/mark/auto/offset/ref/1.png b/tests/mark/auto/offset/ref/1.png index 43dc826b18f56623877746c9393996d286d4af87..24529b08cdffbf86ff7f5708866ad6c987a93f23 100644 GIT binary patch delta 13537 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
-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 P0q|#HXlYP+?ke#=#=kmh delta 4157 zcmbtW`6EzktNNr=Xl?UkWP zku0OgPWClq8#~{7^M3z1KkSdv;YGG#}`Z27Z12` z3N!&viOY+@|0hMJPaMnFEJ5j9{%Xjt=!aDmkoN9ebSK>^6yY zjT+{M%kahsbbQzK)+b$aXBpz^vvk*1py=qp^$^nC(lln=_b~GKQWc>{rI#?6EHlo`{8|>oS*p?_J_H(>r5$`AC~mrXmPK+K7PXR2DQnC3Y$QeH&g9tEy_c zP(ij3>?z%k+l!l$pT*HU%G*63e^&4Z}4 z#kuN=JVX^=?cbB99d3LYLL!Wur;tw?J`rQehE{&vo~U~F?z|lv$O%441*d*O?Q|FE zxp$CvCYlAYtki00-u^E8qv7@q8*NO~6v@<-kB?99i9y!oHEvk6dKMs+@Jj`YC0d0n5Rx=L9Wj{^D$!yI~n%H%}cU zc~L&kuoWS`7Li7Sc0Sh4HXC#AM|hQiQ%{~mpHb#Lw9Cl2Q2z;Dr-D&9tOhHxa0F*% zlFq=ym9jK`0hIHZV_(R&4JUneoA=6rZcuH&s-Nxg2?AWnagxLCwJg40$*;@Ri8y(!^ z52To{9de=rSpH*iS)i`)_Ui4kY?=t}F4~uDSV&uL_r35RfL0RW9&8?W63K}H9>9@q zQ3ya{=AJ+1bXh}UYO|Dhx7=sv9tyOp!-W8`hI9JXrlw{e(j^sTG=y}mMY9&cOk zPyG9kTB=djpDU}J?Ct6*Wcgx=F@&`jow%T08m^6eHNlV4m;tnn2hKea!-{#Dwb}{V zM>ATsbSopDo{W)^xEXSm;>jFFpyv*6ZpV8SmxB$hd z;j+HH+74O@tRBHl+VR}6xIMbUivG@==h7UEO!@NN&ZyVqaF|f2keLjH$?xcQk|IPg z{|s8&*qo-o+T9Z{5|5qA&;f8j;VCq{^UI~zNi$>b_lbZap-i0?-jCP$qqJY8ODZHYiU3XgJ* z8n};j>Gt^hxiB2~wmT4>?yBOtE|@y&yCl48F(H53sI?9HJvGt52!)Au3*gE`;>7ea zTOH!;%|5s~Qy%99}7P&XWtWb_qeszbLMh$$W4LPPsF|@C0uRoK0!Au!nn6inYw40 zE(h1VtS$Eok%$fJr#j>R$YB74^hEEAwm4sgJ7r;Pchcn7m^4u}r>7TUJ$}f>HTB}H zGt9CRrH1jp(C6I9|q~e$!o@~=drBchqQG6=WQ5HWc{_*kgnO$m$w&T`vF{g!jx~v%>8JGj% zHGV1~jyb0J9jsHEaz$DNxYpteY7|q`{VD(6{b3~`3?WW5X<>^6}HNokbmv zqtdzz1|$4v&;I(jylundL?Y2;WOVek%IC$NoOyWz>B6$9vA5E(-rnAF!5{^+9R!)L z46lu>uh=cER8=+Q^HSnjtEf%+=*dZxD0qsyE;6LADyJP62i{_??p|^QBthdXSU1kp%U4#Tf--mKtNv zR^5#+DLz3qTiFD11yn;Ay<_nnz<6B_QR(GzWKBA}ZOc5Sx4+_ofppt@w`$4a&H8~@ z9eMvsD1B{sO>1PfP4s_ zOsqGd#I26@z#Z$@7I}r(S$PiVH?7ZmbxXNZp9@J)h;m;OjbUF26q?XUM27ena4+7~ zUR1HN+>iLTFM_!%L!mXX%#Wvv>n)5o-Z=MykY#_B6Xy@+;eq!Yg23S+MKghCpA!?0 ziGV1&m-g?CiR<&f91=2Ly`Ym?=2mLXvdxC4>*5-V-eUA21jF1R6y)TjOV$n-7IjW~ zP!eYKnX~*QkwTAaRy~BJ(t)I}kJ^K|gZ+cm4-u6Ex@hzq0{YB$L-xeWa)Y zolen4bUzPfiIhOKOxRg5Ri;NPY{)+TLDzEigK*Qf zDvpNU8p-tiG>qoR?_)P=E&e%o?2%PRGUFD~5SEecMoPfauCuR4Bu2G`kq+oDN-n+N z62D#2_z}2MGzRH%kFr|p8+i1K2_N>V0pJT$j}>?KDldfRw?ooE ziJbvD*pXhwL3o1QrL1QR?nJ>SC`!tUwXdDW0r(~{!MV;1oMl6Tx`CzRfmPB6;8{)$ z*BMgt5yT-#U*2KS{~G~VfMiJNRyC36gtQjlHCm=O`qkzR!uLu>XxfXl8v0XC#62&i zAIli*9%VrW0+g9&Z8F*j7bQTo`ck|*;@<>c@N_8A_WZtGKa0_^5yQyEn-NN)%30=? z{73nCw2t5bHTp@*h3FFqRGAR_#! zC6>_Rdtp=ZpsFk zgsk&3q&Rz$Lqaf$>8(bt&+=>Ig;}g=pPg$k5SKqz(qVm=>sHwZpOyCJ#bTKMx%}|g zi|o8*G6{ohrR}E`;y>d1KMm#n1*bi7?%^Gmhp~KK>*fF&CzT3qH>=$LJT}rX#c?PP~x zUDzpS5*JqTUJ@4`fDeE5|HI#luPIS#52|~iBR_HryH<@LEVjTFR_Dy0inY+nn00|= zNY!wn=AFLwZ>sODbg{gFg~XTvJx;mL67>hKkT=>3*3It7<6%PSBAq)fmceGZJR1Cw z+H1p`B5voMM`1U7Zt_zp~Xu_980>p zz?)awXS~8|YAo+n{9a*MaSlP_#(W9CFZp1xm8%Z44FWhg(UTAPZT=WbRvEl9(-gT? zXHzR!HD3#ge6h6@IWN=4bm?vKDzy>`1dGhkm{OWloHlUvEjU)^x3O}%uZRnQM@EYHbqkZpl-v>s1Z{0?R4Ucb z&`?oP(Za$)Nl6Kd#m2_Qs;jF91qC@eItB*^TPSVF$jGQR(us?U6L)qvqBr_r&~Z4d z0eX|4pP!BXN6RN7J)V;g9eLdE$U0b+QlYC$w z^N3Zf#eNhDrJ$f-xm8tMT1<6vFx;lrO^;TRmnRSin>K9{T)R{dc&6<}gqY9vIj~Qh za9>>xCI0Ki_zOXh+UD`vYVm~tF~!pfy;1DuIPP<7+#3?x9~2J`h^MCvwX_VhG&6K| zkTK|39G0oG!*KmNC0Us^6Fmb3`NG1&sO?+2O${wKZlG@8A~4b!H#4rTu8xX|B9qBZ zPEG{{1(ueU1_lN`K0e*u-QtYY@$qqSTeH||w>a3}LZ(AiN@`u0?O`kM+NY5(ErBk_ zHy`=Be*8%qmVs4LungV~w{rX_ zrrUAph18*ExAP!(F1@;bb6>)J!HzKQNU{CP=DfGi?R&B|D}5voHz7|x1#>GRj*y21 z3^Pc&EaEP7hAV@=lE0)SU=h^KeRO!re>qkPxiY=Qubu$c|GD*yFX2)H3G;LiR!x%d zv#DGO=c9BHoqWS@0^whebWuXm=V%h%Ym_bF)(c33qRR+3XCZu-i}0^bTsjfft3>!~A;M`$ZILBX zoBkeQ(^7+()&U zJAb6*wI(@Tzll$ulLdf?MNXs82wpm4I11P#d9R3zP> zhgpDDbHirQ=^i0~gI-*uk1iPLMHEOTNPT+wdO+9cS#C3#N=_M6Qi0r7N3%T~qXW55 zZV&iQHIL;3sgwh@mHEQv>CtsO1)i&Qca`~c)6KqF7~*ne_TIANZGs-w`qDeLuj9>t zrk#VySUfUzMvJQKWu1ZgHeBOsx-nHWBo~-x~lk@9+ri?yyPRe{B0~G5<$u^vo+M z6R1a&*Ntq(aYY^&abr2;$5r0DQH_xPhjc>(K1j3oFbFQi8gf%#lr^snj0vBbmi- zSbtLg^V<5Wq@rwPW2q{t9{LclbGqlCFzXU0*;&s13oB^mOII9$@O}4k-A+!j%Yrp< z2PB*d6tz7!KpO)_1~)wBca}4PZ0g}n4qnGUzk!Rkqm!g2ew2ZFoM+DnO;%Su|HRq@ zqz5!Gdk2~`@^_tG{Ud^Qwl5L)`_cLoLUSC=6vmN^*zxg>IllI|>+Oeu67ZnaaJH`< z?$}K0tOm&_JO0gi=4ZS57-4)s0?i0kPP_@8p4`+%dkn&mqLXcX0!?>e5*0_& zfge{_Bsb^y+U8L5+1~F#!jv}J4>(jqaQy2&r;c8h-nqr)F2*ZClH5sq|Lh}4PS)$4 z@DC3l@@D2NnFaPrm*+yEEby3Yw)_470>z(<_qXQZ;H))Mq#yM49EE%GLs`eDsm^7& z#$@*+d5xtR$_6ptDQn{9tr*H-$K_NE_H#d&ocE|HY1DhOB%I}WdcK>@^m;ikz_4`> zbwGO+6Q1X$(vQD$SUFxEI1urg|6v>WVuxSnH$|VHms6@M+~8|*MP}AAE!L{ertZ=U z&1c=)V+j7&LozYGc7Ta}lNIAjA{Z`PoEs8m2V9U#`=Gy;1^TYx%&`h{l#Qn{)DGEm z&N)Agy{7|@%5NXd_ajj5Wtzp(In6_vS2FRe-tGQW!?OT}bLD(-7G9=QKS$&pdIvnv z{#8l+XnlhG1e)pJZR-JuRQe`JMp??Qyy>+lj;r&9p7$Zi!>&dwW#e!A3S37O-k2K{uuv{B`76>sPTGssrYI+CN7qOLR z@^@5P5&k_E5T*U;=n3ST6s*d<0V;3~ke^Idv0tmH><3m48i5_YT-P9%1dgNVb(B$ZjgosPt9lS1OQ&lX9- z6{vMwT!b#WJovSvqhoR|`iCQx*;QT&mo2ⅈsNnqA-?wrfYfB@g`GCNHN8ygCQ)` zjtaqh>X&|JSHHERC<0ZhH1CF`g)4$6XW#=***!yX?DDho1T5R^5G<6E5T6Se|XxoMY*-#B}Yd@TIuj3%50k#fVO zb@yDkKrr5A_&^dcGqvn(Fz64r-9YMa!_~4)nb`8lY37UYWc*ReadhyQU~Wv)BoUzZ zP25{9_}&&C7dFfN4YlEL+B4~mpQF^jy*;n&SFYW=vPa!P8k1un>xF(W`0$-{orHBbP< zI&t14acujK>1GH6QWEt?S zd^W*{F$7Mo&;V|3CJhL38u%8QnnDb_B;rkRfYFfn+4By4kq=Hr@Pw0qg=Xr#=>B}x zYmL-pV8IH`f~p!jL`O?Ga(rVRH}GK^V8dNXY-w`nA39Z*do#p5_u>q0HbiZgTl+`v zz_CtG&J>gPmUr=~P@mdfW4@^B!9 literal 3286 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 KvD-(3GXD!?Ujrfl diff --git a/tests/rect/around/base/ref/1.png b/tests/rect/around/base/ref/1.png index 78aa8902cc0feff4571042c12b4b0628b11024e6..bf3e8449b3701d5e61e23c30069e05dd92a14ed1 100644 GIT binary patch delta 15007 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 delta 14871 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 T(*0lH3I=U0J Date: Wed, 13 May 2026 01:20:20 +0200 Subject: [PATCH 05/21] Update Changelog --- CHANGES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 8d301aa7..206b537c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,7 @@ +# 0.5.3 +- Fixed mark `inset:` style getting applied twice (#1099) +- Fixes `matrix.diag` function typo + # 0.5.1 - Added the `boolean` draw function for path boolean operations. - Fixed border-anchor calculation for small rounded rects (#1083) From eb4749e4cb679589cb8d9696672b9229b8164160 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Wed, 13 May 2026 01:39:49 +0200 Subject: [PATCH 06/21] Improve Matrix Tests --- src/matrix.typ | 14 +++++++----- tests/matrix/ref/1.png | Bin 105 -> 0 bytes tests/matrix/test.typ | 49 ++++++++++++++++++++++++++++++----------- 3 files changed, 44 insertions(+), 19 deletions(-) delete mode 100644 tests/matrix/ref/1.png diff --git a/src/matrix.typ b/src/matrix.typ index 1cc8d2fc..fad0bd5b 100644 --- a/src/matrix.typ +++ b/src/matrix.typ @@ -19,7 +19,7 @@ // List of identity matrices of dimension 1 x 1 to 4 x 4 #let _ident = ( - ((1.0),), + ((1.0,),), ((1.0, 0.0), (0.0, 1.0)), ((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)), ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0)), @@ -31,10 +31,12 @@ /// -> matrix #let ident(size) = { assert(size >= 1, message: "Invalid dimension") - return _ident.at(size - 1, default: - range(0, size).map(j => range(0, size).map(k => { - if j == k { 1.0 } else { 0.0 } - }))) + if _ident.len() >= size { + return _ident.at(size - 1) + } + return range(0, size).map(j => range(0, size).map(k => { + if j == k { 1.0 } else { 0.0 } + })) } /// Create a square matrix with the diagonal set to the @@ -69,7 +71,7 @@ /// Rounds each value in the matrix to a precision. /// - mat (matrix): Input matrix -/// - precision (int) = 8: Rounding precision (digits) +/// - precision (int) = 10: Rounding precision (digits) /// -> matrix #let round(mat, precision: precision) = { mat.map(r => r.map(v => _round(v, digits: precision))) diff --git a/tests/matrix/ref/1.png b/tests/matrix/ref/1.png deleted file mode 100644 index 797166170ddbe8557bb696cc4d87a47ecc520708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y=7MrNSMg~ywcfE06pPl)UP|NoaCkv;+BDtfv& uhE&{od(e;($UCI)d-=9wd Date: Wed, 13 May 2026 15:21:39 +0200 Subject: [PATCH 07/21] Provide a make-ctx Function To be able to call and test some cetz functions outside a canvas, provide a function that initializes a valid context object. --- CHANGES.md | 1 + src/canvas.typ | 62 ++++++++++++++++++++++------------ src/lib.typ | 7 ++-- tests/canvas/make-ctx/test.typ | 9 +++++ 4 files changed, 53 insertions(+), 26 deletions(-) create mode 100644 tests/canvas/make-ctx/test.typ diff --git a/CHANGES.md b/CHANGES.md index 206b537c..65d7c16a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,7 @@ # 0.5.3 - Fixed mark `inset:` style getting applied twice (#1099) - Fixes `matrix.diag` function typo +- Added a new `make-ctx` function for creating a new canvas context without a canvas # 0.5.1 - Added the `boolean` draw function for path boolean operations. diff --git a/src/canvas.typ b/src/canvas.typ index 84d685cf..69e8afbd 100644 --- a/src/canvas.typ +++ b/src/canvas.typ @@ -9,33 +9,25 @@ #import "process.typ" #import "coordinate.typ" -/// Sets up a canvas for drawing on. +/// Returns an empty context object usable for calling cetz internal functions +/// outsides a canvas. /// -/// - length (length): Used to specify what 1 coordinate unit is. Note that ratios are no longer supported! You can wrap the canvas into a `layout(ly => canvas(length: ly.width * , ...))`. -/// - baseline (none,number,coordinate): Specifies the coordinate to use as the baseline. Setting this the canvas behaves like a `box` element instead of a `block`. -/// - body (none, array, element): A code block in which functions from the `draw` module have been called. -/// - background (none, color): A color to be used for the background of the canvas. -/// - stroke (none, stroke): Stroke style to apply to the canvas top-level element (box or block) -/// - padding (none, number, array, dictionary) = none: How much padding to add to the canvas. `none` applies no padding. A number applies padding to all sides equally. A dictionary applies padding following Typst's `pad` function: https://typst.app/docs/reference/layout/pad/. An array follows CSS like padding: `(y, x)`, `(top, x, bottom)` or `(top, right, bottom, left)`. +/// - length (length): Used to specify what 1 coordinate unit is. /// - x (number, vector) = 1.0: Sets up the x vector of the coordinate system to `(x, 0, 0)` or to the given vector. /// - y (number, vector) = 1.0: Sets up the y vector of the coordinate system to `(0, y, 0)` or to the given vector. /// - z (number, vector) = 1.0: Sets up the z vector of the coordinate system to `(0, 0, z)` or to the given vector. -/// - debug (bool): Shows the bounding boxes of each element when `true`. -/// -> content -#let canvas(length: 1cm, x: 1.0, y: 1.0, z: 1.0, baseline: none, debug: false, background: none, stroke: none, padding: none, body) = context { - if body == none { - return [] - } - if type(body) != array { - panic("Incorrect type for body: " + repr(type(body))) - } +/// -> context +#let make-ctx(length: 1cm, x: 1.0, y: 1.0, z: 1.0) = { if type(length) != std.length { panic("Expected `length` to be of type length, got " + repr(length)) } - let length = length.to-absolute() - assert(length / 1cm != 0, - message: "Canvas length must be != 0!") + let length = if length.em != 0 { + length.to-absolute() + } else { + length + } + assert(length / 1cm != 0, message: "Canvas length must be != 0!") // Prepare the coordinate system let resolve-number(x) = { @@ -49,11 +41,11 @@ let y = (if type(y) != array { (0.0, y, 0.0) } else { y }).map(resolve-number) let z = (if type(z) != array { (0.0, 0.0, z) } else { z }).map(resolve-number) - let ctx = ( + return ( version: version.version, length: length, - debug: debug, - background: background, + debug: false, + background: none, // Previous element position & bbox prev: (pt: (0.0, 0.0, 0.0)), style: styles.default, @@ -78,6 +70,32 @@ // CeTZ itself does not use this dictionary for data. shared-state: (:), ) +} + +/// Sets up a canvas for drawing on. +/// +/// - length (length): Used to specify what 1 coordinate unit is. Note that ratios are no longer supported! You can wrap the canvas into a `layout(ly => canvas(length: ly.width * , ...))`. +/// - baseline (none,number,coordinate): Specifies the coordinate to use as the baseline. Setting this the canvas behaves like a `box` element instead of a `block`. +/// - body (none, array, element): A code block in which functions from the `draw` module have been called. +/// - background (none, color): A color to be used for the background of the canvas. +/// - stroke (none, stroke): Stroke style to apply to the canvas top-level element (box or block) +/// - padding (none, number, array, dictionary) = none: How much padding to add to the canvas. `none` applies no padding. A number applies padding to all sides equally. A dictionary applies padding following Typst's `pad` function: https://typst.app/docs/reference/layout/pad/. An array follows CSS like padding: `(y, x)`, `(top, x, bottom)` or `(top, right, bottom, left)`. +/// - x (number, vector) = 1.0: Sets up the x vector of the coordinate system to `(x, 0, 0)` or to the given vector. +/// - y (number, vector) = 1.0: Sets up the y vector of the coordinate system to `(0, y, 0)` or to the given vector. +/// - z (number, vector) = 1.0: Sets up the z vector of the coordinate system to `(0, 0, z)` or to the given vector. +/// - debug (bool): Shows the bounding boxes of each element when `true`. +/// -> content +#let canvas(length: 1cm, x: 1.0, y: 1.0, z: 1.0, baseline: none, debug: false, background: none, stroke: none, padding: none, body) = context { + if body == none { + return [] + } + if type(body) != array { + panic("Incorrect type for body: " + repr(type(body))) + } + + let ctx = make-ctx(length: length, x: x, y: y, z: z) + ctx.debug = debug + ctx.background = background let (ctx, bounds, drawables) = process.many(ctx, body) if bounds == none { diff --git a/src/lib.typ b/src/lib.typ index aa00d816..233631fb 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -1,6 +1,8 @@ +// expose name +#let name = "cetz" #import "version.typ": version -#import "canvas.typ": canvas +#import "canvas.typ": canvas, make-ctx #import "draw.typ" // Expose utilities @@ -22,6 +24,3 @@ #import "lib/angle.typ" #import "lib/tree.typ" #import "lib/decorations.typ" - -// expose name -#let name = "cetz" \ No newline at end of file diff --git a/tests/canvas/make-ctx/test.typ b/tests/canvas/make-ctx/test.typ new file mode 100644 index 00000000..6e37062e --- /dev/null +++ b/tests/canvas/make-ctx/test.typ @@ -0,0 +1,9 @@ +#import "/src/lib.typ" as cetz + +assert.ne(cetz.make-ctx(), none) + +assert.eq(cetz.make-ctx().transform, cetz.matrix.ident(4)) +assert.eq(cetz.make-ctx(x: 2, y: 2, z: 2).transform, + ((2, 0, 0, 0), (0, 2, 0, 0), (0, 0, 2, 0), (0, 0, 0, 1))) +assert.eq(cetz.make-ctx(x: (1, 2, 3), y: (2, 3, 4), z: (3, 4, 5)).transform, + ((1, 2, 3, 0), (2, 3, 4, 0), (3, 4, 5, 0), (0, 0, 0, 1))) From 8436fa4096a108e9dbf05201cf59f1f2224dfd44 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Fri, 22 May 2026 12:14:48 +0200 Subject: [PATCH 08/21] Fix Perspective Projection Fixes #1095 --- src/draw/projection.typ | 7 +++++-- tests/projection/perspective/ref/1.png | Bin 63981 -> 59992 bytes 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/draw/projection.typ b/src/draw/projection.typ index 4b469440..17fe3b16 100644 --- a/src/draw/projection.typ +++ b/src/draw/projection.typ @@ -193,11 +193,14 @@ drawables = _sort-by-distance(drawables) } - ctx.transform = transform if perspective-mode { - drawable.apply-transform(projection-matrix, drawables) + drawables = drawable.apply-transform(projection-matrix, drawables) ctx._perspective-projection = previous-perspective-mode } + + // Restore the old transformation + ctx.transform = transform + if not reset-transform { drawables = drawable.apply-transform(ctx.transform, drawables) } diff --git a/tests/projection/perspective/ref/1.png b/tests/projection/perspective/ref/1.png index 0aef1aec2341dcc285a236d3f842716493abc887..1f94979eaf2da7567caf8c15051a44edb4565dab 100644 GIT binary patch literal 59992 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

9pj8fr)R_HPIZg7z-;U`% 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 literal 63981 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 DH>5Z3 From 1de917329e96604c779ee139075487c7a2c9d4f8 Mon Sep 17 00:00:00 2001 From: Alexander <62144797+AlexanderHD27@users.noreply.github.com> Date: Mon, 25 May 2026 14:27:22 +0200 Subject: [PATCH 09/21] Fix assertion messages for Catmull-rom and Hobby curves --- src/draw/shapes.typ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/draw/shapes.typ b/src/draw/shapes.typ index ad75690c..a3ba8acb 100644 --- a/src/draw/shapes.typ +++ b/src/draw/shapes.typ @@ -1692,7 +1692,7 @@ #let catmull(..pts-style, close: false, name: none) = { let (pts, style) = (pts-style.pos(), pts-style.named()) - assert(pts.len() >= 2, message: "Catmull-rom curve requires at least two points. Got " + repr(pts.len()) + "instead.") + assert(pts.len() >= 2, message: "Catmull-rom curve requires at least two points. Got " + repr(pts.len()) + " instead.") return (ctx => { let (ctx, ..pts) = coordinate.resolve(ctx, ..pts) @@ -1764,7 +1764,7 @@ #let hobby(..pts-style, ta: auto, tb: auto, close: false, name: none) = { let (pts, style) = (pts-style.pos(), pts-style.named()) - assert(pts.len() >= 2, message: "Hobby curve requires at least two points. Got " + repr(pts.len()) + "instead.") + assert(pts.len() >= 2, message: "Hobby curve requires at least two points. Got " + repr(pts.len()) + " instead.") return (ctx => { let (ctx, ..pts) = coordinate.resolve(ctx, ..pts) From dde8df8e61c7282257bde533afae6282b7ef7198 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Tue, 26 May 2026 14:52:33 +0200 Subject: [PATCH 10/21] path-util: Fix same-z-plane for 2D vectors --- CHANGES.md | 1 + src/draw/boolean.typ | 4 ++-- src/path-util.typ | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 65d7c16a..3113ca36 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ - Fixed mark `inset:` style getting applied twice (#1099) - Fixes `matrix.diag` function typo - Added a new `make-ctx` function for creating a new canvas context without a canvas +- Fixed a bug with hobby and boolean rejecting two component vectors # 0.5.1 - Added the `boolean` draw function for path boolean operations. diff --git a/src/draw/boolean.typ b/src/draw/boolean.typ index 44f54b6d..d550720b 100644 --- a/src/draw/boolean.typ +++ b/src/draw/boolean.typ @@ -75,12 +75,12 @@ // Projects a CeTZ 3D path to a 2D wire path, asserting all vertices share the // same z-plane (within `tol`) and all subpaths are closed. -#let _path3d-to-wire2d(path3d, tol: 1e-6) = { +#let _path3d-to-wire2d(path3d, eps: 1e-6) = { if path3d.len() == 0 { return ((subpaths: ()), 0.0) } - let (z0, same-z) = path-util.same-z-plane(path3d, tol: tol) + let (z0, same-z) = path-util.same-z-plane(path3d, eps: eps) assert(same-z, message: "boolean: all input vertices must lie in a single z-plane.") let drop-z(v) = (v.at(0), v.at(1)) diff --git a/src/path-util.typ b/src/path-util.typ index d601a37c..4e3c2d27 100644 --- a/src/path-util.typ +++ b/src/path-util.typ @@ -93,19 +93,19 @@ /// `true` iff every other vertex is within `tol` of that z-coordinate. /// /// - path (path): Input path; must be non-empty -/// - tol (float): Absolute z tolerance +/// - eps (float): Absolute z tolerance /// -> array Tuple of the form (z, same-z) -#let same-z-plane(path, tol: 1e-6) = { +#let same-z-plane(path, eps: 1e-6) = { assert( path.len() > 0, message: "Cannot determine z-plane of an empty path", ) - let z0 = path.first().at(0).at(2) + let z0 = path.first().at(0).at(2, default: 0.0) for (origin, _, segments) in path { - if calc.abs(origin.at(2) - z0) > tol { return (z0, false) } + if calc.abs(origin.at(2, default: 0.0) - z0) > eps { return (z0, false) } for (kind, ..args) in segments { for v in args { - if calc.abs(v.at(2) - z0) > tol { return (z0, false) } + if calc.abs(v.at(2, default: 0.0) - z0) > eps { return (z0, false) } } } } From 1dc0edc34b6b8f278f18182abd5bd3f68bfeb18e Mon Sep 17 00:00:00 2001 From: Jeremie Knuesel Date: Thu, 28 May 2026 16:06:46 +0200 Subject: [PATCH 11/21] matrix: move transform functions to bottom of file This way they can use the other functions in the file. --- src/matrix.typ | 328 ++++++++++++++-------------- tests/transform/transform/ref/1.png | Bin 2141 -> 2852 bytes tests/transform/transform/test.typ | 7 + 3 files changed, 171 insertions(+), 164 deletions(-) diff --git a/src/matrix.typ b/src/matrix.typ index 1cc8d2fc..ff8f6c37 100644 --- a/src/matrix.typ +++ b/src/matrix.typ @@ -75,170 +75,6 @@ mat.map(r => r.map(v => _round(v, digits: precision))) } -/// Returns a $4 times 4$ translation matrix -/// - x (float): The translation in the $x$ direction. -/// - y (float): The translation in the $y$ direction. -/// - z (float): The translation in the $x$ direction. -/// -> matrix -#let transform-translate(x, y, z) = { - ((1, 0, 0, x), (0, 1, 0, y), (0, 0, 1, z), (0, 0, 0, 1)) -} - -/// Returns a $4 times 4$ x-shear matrix -/// - factor (float): The shear in the $x$ direction. -/// -> matrix -#let transform-shear-x(factor) = { - ((1, factor, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)) -} - - -/// Returns a $4 times 4$ z-shear matrix -/// - factor (float): The shear in the $z$ direction. -/// -> matrix -#let transform-shear-z(factor) = { - ((1, 0, factor, 0), (0, 1, -factor, 0), (0, 0, 1, 0), (0, 0, 0, 1)) -} - -/// Returns a $4 times 4$ scale matrix -/// - f (float,array,dictionary): The scale factor(s) of the matrix. An {{array}} of at least 3 {{float}}s sets the x, y and z scale factors. A {{dictionary}} sets the scale in the direction of the corresponding x, y and z keys. A single {{float}} sets the scale for all directions. -/// -> matrix -#let transform-scale(f) = { - let (x, y, z) = if type(f) == array { - vector.as-vec(f, init: (1, 1, 1)) - } else if type(f) == dictionary { - (f.at("x", default: 1), f.at("y", default: 1), f.at("z", default: 1)) - } else { - (f, f, f) - } - return ( - (x, 0, 0, 0), - (0, y, 0, 0), - (0, 0, z, 0), - (0, 0, 0, 1), - ) -} - -/// Returns a $4 times 4$ rotation xyz matrix for a direction and up vector -/// - dir (vector): idk -/// - up (vector): idk -/// -> matrix -#let transform-rotate-dir(dir, up) = { - dir = vector.norm(dir.slice(0, 3)) - up = vector.norm(up.slice(0, 3)) - - let (dx, dy, dz) = dir - let (ux, uy, uz) = up - let (rx, ry, rz) = vector.norm(vector.cross(dir, up)) - - ((rx, dx, ux, 0), (ry, dy, uy, 0), (rz, dz, uz, 0), (0, 0, 0, 1)) -} - -// Return 4x4 rotate x matrix -/// Returns a $4 times 4$ $x$ rotation matrix -/// - angle (angle): The angle to rotate around the $x$ axis -/// -> matrix -#let transform-rotate-x(angle) = { - ((1, 0, 0, 0), (0, cos(angle), -sin(angle), 0), (0, sin(angle), cos(angle), 0), (0, 0, 0, 1)) -} - -// Return 4x4 rotate y matrix -/// Returns a $4 times 4$ $y$ rotation matrix -/// - angle (angle): The angle to rotate around the $y$ axis -/// -> matrix -#let transform-rotate-y(angle) = { - ((cos(angle), 0, -sin(angle), 0), (0, 1, 0, 0), (sin(angle), 0, cos(angle), 0), (0, 0, 0, 1)) -} - -// Return 4x4 rotate z matrix -/// Returns a $4 times 4$ $z$ rotation matrix -/// - angle (angle): The angle to rotate around the $z$ axis -/// -> matrix -#let transform-rotate-z(angle) = { - ((cos(angle), -sin(angle), 0, 0), (sin(angle), cos(angle), 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)) -} - -// 3D rotation matrix around an arbitrary axis (ax, ay, az). -#let _rotate-axis-angle(ax, ay, az, angle) = { - let c = cos(angle) - let s = sin(angle) - ( - (ax * ax * (1 - c) + c, ax * ay * (1 - c) - az * s, ax * az * (1 - c) + ay * s, 0), - (ay * ax * (1 - c) + az * s, ay * ay * (1 - c) + c, ay * az * (1 - c) - ax * s, 0), - (az * ax * (1 - c) - ay * s, az * ay * (1 - c) + ax * s, az * az * (1 - c) + c, 0), - (0, 0, 0, 1), - ) -} - -/// Returns a $4 times 4$ rotation matrix from azimuth/elevation/roll. -/// Assumes the viewing convention where $z$ points up and $x$ points toward the viewer. -/// - azimuth (angle): Rotation around z. -/// - elevation (angle): Tilt above the xy plane. -/// - roll (angle): Rotation around the current viewing axis. -/// -> matrix -#let transform-rotate-aer(azimuth, elevation, roll: 0deg) = { - let rotate-z-up = transform-rotate-x(-90deg) - let rotate-azimuth = transform-rotate-z(-90deg - azimuth) - let (ax, ay, az) = (-sin(azimuth), cos(azimuth), 0) - let rotate-elevation = _rotate-axis-angle(ax, ay, az, elevation) - let base = mul-mat(rotate-z-up, rotate-azimuth, rotate-elevation) - - if roll == 0deg { - return base - } - - // Roll around the current viewing axis after azimuth/elevation. - let (vx, vy, vz) = vector.norm(mul4x4-vec3(base, (1, 0, 0), w: 0)) - let rotate-roll = _rotate-axis-angle(vx, vy, vz, roll) - mul-mat(rotate-roll, base) -} - -// Return 4x4 rotate xz matrix -/// Returns a $4 times 4$ $x z$ rotation matrix -/// - x (angle): The angle to rotate around the $x$ axis -/// - z (angle): The angle to rotate around the $z$ axis -/// -> matrix -#let transform-rotate-xz(x, z) = { - ( - (cos(z), sin(z), 0, 0), - (-cos(x) * sin(z), cos(x) * cos(z), -sin(x), 0), - (sin(x) * sin(z), -sin(x) * cos(z), cos(x), 1), - (0, 0, 0, 1), - ) -} - -/// Returns a $4 times 4$ rotation matrix - yaw-pitch-roll -/// -/// - a (angle): Yaw -/// - b (angle): Pitch -/// - c (angle): Roll -/// -> matrix -#let transform-rotate-ypr(a, b, c) = { - ( - (cos(a) * cos(b), cos(a) * sin(b) * sin(c) - sin(a) * cos(c), cos(a) * sin(b) * cos(c) + sin(a) * sin(c), 0), - (sin(a) * cos(b), sin(a) * sin(b) * sin(c) + cos(a) * cos(c), sin(a) * sin(b) * cos(c) - cos(a) * sin(c), 0), - (-sin(b), cos(b) * sin(c), cos(b) * cos(c), 1), - (0, 0, 0, 1), - ) -} - -/// Returns a $4 times 4$ rotation matrix - euler angles -/// -/// Calculates the product of the three rotation matrices -/// $R = R_z(z) R_y(y) R_x(x)$ -/// -/// - x (angle): Rotation about x -/// - y (angle): Rotation about y -/// - z (angle): Rotation about z -/// -> matrix -#let transform-rotate-xyz(x, y, z) = { - ( - (cos(y) * cos(z), sin(x) * sin(y) * cos(z) - cos(x) * sin(z), cos(x) * sin(y) * cos(z) + sin(x) * sin(z), 0), - (cos(y) * sin(z), sin(x) * sin(y) * sin(z) + cos(x) * cos(z), cos(x) * sin(y) * sin(z) - sin(x) * cos(z), 0), - (-sin(y), sin(x) * cos(y), cos(x) * cos(y), 0), - (0, 0, 0, 1), - ) -} - /// Multiplies matrices on top of each other. /// - ..matrices (matrix): The matrices to multiply from left to right. /// -> matrix @@ -464,3 +300,167 @@ return inverted } + +/// Returns a $4 times 4$ translation matrix +/// - x (float): The translation in the $x$ direction. +/// - y (float): The translation in the $y$ direction. +/// - z (float): The translation in the $x$ direction. +/// -> matrix +#let transform-translate(x, y, z) = { + ((1, 0, 0, x), (0, 1, 0, y), (0, 0, 1, z), (0, 0, 0, 1)) +} + +/// Returns a $4 times 4$ x-shear matrix +/// - factor (float): The shear in the $x$ direction. +/// -> matrix +#let transform-shear-x(factor) = { + ((1, factor, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)) +} + + +/// Returns a $4 times 4$ z-shear matrix +/// - factor (float): The shear in the $z$ direction. +/// -> matrix +#let transform-shear-z(factor) = { + ((1, 0, factor, 0), (0, 1, -factor, 0), (0, 0, 1, 0), (0, 0, 0, 1)) +} + +/// Returns a $4 times 4$ scale matrix +/// - f (float,array,dictionary): The scale factor(s) of the matrix. An {{array}} of at least 3 {{float}}s sets the x, y and z scale factors. A {{dictionary}} sets the scale in the direction of the corresponding x, y and z keys. A single {{float}} sets the scale for all directions. +/// -> matrix +#let transform-scale(f) = { + let (x, y, z) = if type(f) == array { + vector.as-vec(f, init: (1, 1, 1)) + } else if type(f) == dictionary { + (f.at("x", default: 1), f.at("y", default: 1), f.at("z", default: 1)) + } else { + (f, f, f) + } + return ( + (x, 0, 0, 0), + (0, y, 0, 0), + (0, 0, z, 0), + (0, 0, 0, 1), + ) +} + +/// Returns a $4 times 4$ rotation xyz matrix for a direction and up vector +/// - dir (vector): idk +/// - up (vector): idk +/// -> matrix +#let transform-rotate-dir(dir, up) = { + dir = vector.norm(dir.slice(0, 3)) + up = vector.norm(up.slice(0, 3)) + + let (dx, dy, dz) = dir + let (ux, uy, uz) = up + let (rx, ry, rz) = vector.norm(vector.cross(dir, up)) + + ((rx, dx, ux, 0), (ry, dy, uy, 0), (rz, dz, uz, 0), (0, 0, 0, 1)) +} + +// Return 4x4 rotate x matrix +/// Returns a $4 times 4$ $x$ rotation matrix +/// - angle (angle): The angle to rotate around the $x$ axis +/// -> matrix +#let transform-rotate-x(angle) = { + ((1, 0, 0, 0), (0, cos(angle), -sin(angle), 0), (0, sin(angle), cos(angle), 0), (0, 0, 0, 1)) +} + +// Return 4x4 rotate y matrix +/// Returns a $4 times 4$ $y$ rotation matrix +/// - angle (angle): The angle to rotate around the $y$ axis +/// -> matrix +#let transform-rotate-y(angle) = { + ((cos(angle), 0, -sin(angle), 0), (0, 1, 0, 0), (sin(angle), 0, cos(angle), 0), (0, 0, 0, 1)) +} + +// Return 4x4 rotate z matrix +/// Returns a $4 times 4$ $z$ rotation matrix +/// - angle (angle): The angle to rotate around the $z$ axis +/// -> matrix +#let transform-rotate-z(angle) = { + ((cos(angle), -sin(angle), 0, 0), (sin(angle), cos(angle), 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)) +} + +// 3D rotation matrix around an arbitrary axis (ax, ay, az). +#let _rotate-axis-angle(ax, ay, az, angle) = { + let c = cos(angle) + let s = sin(angle) + ( + (ax * ax * (1 - c) + c, ax * ay * (1 - c) - az * s, ax * az * (1 - c) + ay * s, 0), + (ay * ax * (1 - c) + az * s, ay * ay * (1 - c) + c, ay * az * (1 - c) - ax * s, 0), + (az * ax * (1 - c) - ay * s, az * ay * (1 - c) + ax * s, az * az * (1 - c) + c, 0), + (0, 0, 0, 1), + ) +} + +/// Returns a $4 times 4$ rotation matrix from azimuth/elevation/roll. +/// Assumes the viewing convention where $z$ points up and $x$ points toward the viewer. +/// - azimuth (angle): Rotation around z. +/// - elevation (angle): Tilt above the xy plane. +/// - roll (angle): Rotation around the current viewing axis. +/// -> matrix +#let transform-rotate-aer(azimuth, elevation, roll: 0deg) = { + let rotate-z-up = transform-rotate-x(-90deg) + let rotate-azimuth = transform-rotate-z(-90deg - azimuth) + let (ax, ay, az) = (-sin(azimuth), cos(azimuth), 0) + let rotate-elevation = _rotate-axis-angle(ax, ay, az, elevation) + let base = mul-mat(rotate-z-up, rotate-azimuth, rotate-elevation) + + if roll == 0deg { + return base + } + + // Roll around the current viewing axis after azimuth/elevation. + let (vx, vy, vz) = vector.norm(mul4x4-vec3(base, (1, 0, 0), w: 0)) + let rotate-roll = _rotate-axis-angle(vx, vy, vz, roll) + mul-mat(rotate-roll, base) +} + +// Return 4x4 rotate xz matrix +/// Returns a $4 times 4$ $x z$ rotation matrix +/// - x (angle): The angle to rotate around the $x$ axis +/// - z (angle): The angle to rotate around the $z$ axis +/// -> matrix +#let transform-rotate-xz(x, z) = { + ( + (cos(z), sin(z), 0, 0), + (-cos(x) * sin(z), cos(x) * cos(z), -sin(x), 0), + (sin(x) * sin(z), -sin(x) * cos(z), cos(x), 1), + (0, 0, 0, 1), + ) +} + +/// Returns a $4 times 4$ rotation matrix - yaw-pitch-roll +/// +/// - a (angle): Yaw +/// - b (angle): Pitch +/// - c (angle): Roll +/// -> matrix +#let transform-rotate-ypr(a, b, c) = { + ( + (cos(a) * cos(b), cos(a) * sin(b) * sin(c) - sin(a) * cos(c), cos(a) * sin(b) * cos(c) + sin(a) * sin(c), 0), + (sin(a) * cos(b), sin(a) * sin(b) * sin(c) + cos(a) * cos(c), sin(a) * sin(b) * cos(c) - cos(a) * sin(c), 0), + (-sin(b), cos(b) * sin(c), cos(b) * cos(c), 1), + (0, 0, 0, 1), + ) +} + +/// Returns a $4 times 4$ rotation matrix - euler angles +/// +/// Calculates the product of the three rotation matrices +/// $R = R_z(z) R_y(y) R_x(x)$ +/// +/// - x (angle): Rotation about x +/// - y (angle): Rotation about y +/// - z (angle): Rotation about z +/// -> matrix +#let transform-rotate-xyz(x, y, z) = { + ( + (cos(y) * cos(z), sin(x) * sin(y) * cos(z) - cos(x) * sin(z), cos(x) * sin(y) * cos(z) + sin(x) * sin(z), 0), + (cos(y) * sin(z), sin(x) * sin(y) * sin(z) + cos(x) * cos(z), cos(x) * sin(y) * sin(z) - sin(x) * cos(z), 0), + (-sin(y), sin(x) * cos(y), cos(x) * cos(y), 0), + (0, 0, 0, 1), + ) +} diff --git a/tests/transform/transform/ref/1.png b/tests/transform/transform/ref/1.png index fb0a4adfd59a3592803c21c7d538b7aef42e59da..3e1d68018f923237233066bf22d6105a518e1fa5 100644 GIT binary patch literal 2852 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 diff --git a/tests/transform/transform/test.typ b/tests/transform/transform/test.typ index 50ead3e8..65094ad9 100644 --- a/tests/transform/transform/test.typ +++ b/tests/transform/transform/test.typ @@ -19,3 +19,10 @@ transform(matrix.transform-scale((1, 0.5, 1))) arrow }) + +#test-case({ + import draw: * + + transform(matrix.transform-rotate-aer(10deg, 20deg, roll: 30deg)) + arrow +}) From c002e52aea835464a6034fad4c2176441b3421bb Mon Sep 17 00:00:00 2001 From: Jeremie Knuesel Date: Fri, 29 May 2026 09:01:15 +0200 Subject: [PATCH 12/21] Fix typos in rotation transforms --- src/matrix.typ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/matrix.typ b/src/matrix.typ index ff8f6c37..36943df8 100644 --- a/src/matrix.typ +++ b/src/matrix.typ @@ -427,7 +427,7 @@ ( (cos(z), sin(z), 0, 0), (-cos(x) * sin(z), cos(x) * cos(z), -sin(x), 0), - (sin(x) * sin(z), -sin(x) * cos(z), cos(x), 1), + (sin(x) * sin(z), -sin(x) * cos(z), cos(x), 0), (0, 0, 0, 1), ) } @@ -442,7 +442,7 @@ ( (cos(a) * cos(b), cos(a) * sin(b) * sin(c) - sin(a) * cos(c), cos(a) * sin(b) * cos(c) + sin(a) * sin(c), 0), (sin(a) * cos(b), sin(a) * sin(b) * sin(c) + cos(a) * cos(c), sin(a) * sin(b) * cos(c) - cos(a) * sin(c), 0), - (-sin(b), cos(b) * sin(c), cos(b) * cos(c), 1), + (-sin(b), cos(b) * sin(c), cos(b) * cos(c), 0), (0, 0, 0, 1), ) } From 011e4a4fb9224c7cbc59acf540d82cfe165b94ba Mon Sep 17 00:00:00 2001 From: TheJanzap <16736682+TheJanzap@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:24:12 +0200 Subject: [PATCH 13/21] docs(coordinate-systems): Coordinate length can be changed by canvas --- docs/basics/coordinate-systems.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/basics/coordinate-systems.mdx b/docs/basics/coordinate-systems.mdx index 83f2444d..3c46e34b 100644 --- a/docs/basics/coordinate-systems.mdx +++ b/docs/basics/coordinate-systems.mdx @@ -7,6 +7,8 @@ import Type from "@site/src/components/Type"; A coordinate is a position on the canvas on which the picture is drawn. They take the form of dictionaries and the following subsections define the key-value pairs for each system. Some systems have a more implicit form as an array of values and CeTZ attempts to infer the system based on the element types. +By default 1 coordinate unit is `1cm`, this can be changed by setting the `length` parameter of [`canvas`](/api/internal/canvas). + ## XYZ Defines a point `x` units right, `y` units upward and `z` units away. From e1f90c222f7d48812a5d31ff6856f385537e8a97 Mon Sep 17 00:00:00 2001 From: TheJanzap <16736682+TheJanzap@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:25:07 +0200 Subject: [PATCH 14/21] docs(canvas): Remove deprecated length-as-ratio mention --- docs/basics/canvas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/basics/canvas.md b/docs/basics/canvas.md index 1837b1b0..e36bae91 100644 --- a/docs/basics/canvas.md +++ b/docs/basics/canvas.md @@ -15,4 +15,4 @@ You can now call the draw functions within the body and they'll produce some gra The canvas does not have typical `width` and `height` parameters. Instead its size will grow and shrink to fit the drawn graphic. -By default 1 [coordinate](/basics/coordinate-systems) unit is `1cm`, this can be changed by setting the `length` parameter. If a ratio is given, the length will be the size of the canvas' parent's width! +By default 1 [coordinate](/basics/coordinate-systems) unit is `1cm`, this can be changed by setting the `length` parameter. From fec0a37555906db548a461446e862d5e614a286e Mon Sep 17 00:00:00 2001 From: Yerlotic <108224581+yerlotic@users.noreply.github.com> Date: Wed, 8 Jul 2026 22:22:47 +0000 Subject: [PATCH 15/21] Improve karls-picture.typ - Fix spelling mistakes in comments - Make angle into a variable - Fix rendering for angles > 90 degrees --- gallery/karls-picture.typ | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gallery/karls-picture.typ b/gallery/karls-picture.typ index bca249d7..38ae69fc 100644 --- a/gallery/karls-picture.typ +++ b/gallery/karls-picture.typ @@ -7,6 +7,9 @@ #cetz.canvas(length: 3cm, { import cetz.draw: * + // Control the angle + let angle = 30deg + // Change the design for all elements after it set-style( // Design of arrow tips at the end of lines @@ -48,29 +51,35 @@ content((), anchor: "east", ct) } + // Position on the unit circle + let pos = (calc.cos(angle), calc.sin(angle)) + // Draw the green angle - cetz.angle.angle((0,0), (1,0), (1, calc.tan(30deg)), - label: text(green, [#sym.alpha])) + cetz.angle.angle((0,0), (1,0), pos, + label: text(green, $alpha$)) + + // Draw the hypotenuse of the triangle + line(pos, (1, calc.tan(angle))) + line(pos, (0, 0)) - // Draw the hypothenuse of the triangle - line((0,0), (1, calc.tan(30deg))) // Change the stroke for all upcoming elements set-style(stroke: (thickness: 1.2pt)) // Draw the inner opposite leg of the triangle: // "The intersection of a vertical line (|-) through (30deg, 1) and a horizontal line through (0, 0)" - line((30deg, 1), ((), "|-", (0,0)), stroke: (paint: red), name: "sin") + line((angle, 1), ((), "|-", (0,0)), stroke: (paint: red), name: "sin") // Place the text halfway through on the opposite leg content(("sin.start", 50%, "sin.end"), text(red)[$ sin alpha $]) - + // Draw the adjacent leg of the triangle line("sin.end", (0,0), stroke: (paint: blue), name: "cos") // Place the text halfway and position it below the line content(("cos.start", 50%, "cos.end"), text(blue)[$ cos alpha $], anchor: "north") // Draw the outer opposite leg of the triangle - line((1, 0), (1, calc.tan(30deg)), name: "tan", stroke: (paint: orange)) - // Draw the tangent equasion at the top and to the right of the line + line((1, 0), (1, calc.tan(angle)), name: "tan", stroke: (paint: orange)) + + // Draw the tangent equation at the top and to the right of the line content("tan.end", $ text(#orange, tan alpha) = text(#red, sin alpha) / text(#blue, cos alpha) $, anchor: "west") }) From 482095fd796d6b2fa21f6b604400744c7613b0fd Mon Sep 17 00:00:00 2001 From: Yerlotic <108224581+yerlotic@users.noreply.github.com> Date: Sun, 12 Jul 2026 17:09:15 +0000 Subject: [PATCH 16/21] Use polar coordinates Co-authored-by: Johannes Wolf --- gallery/karls-picture.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gallery/karls-picture.typ b/gallery/karls-picture.typ index 38ae69fc..0c066907 100644 --- a/gallery/karls-picture.typ +++ b/gallery/karls-picture.typ @@ -52,7 +52,7 @@ } // Position on the unit circle - let pos = (calc.cos(angle), calc.sin(angle)) + let pos = (angle, 1) // Draw the green angle cetz.angle.angle((0,0), (1,0), pos, From 5dd425f76f6b1ae1d3a182f5fc1600d17cafbae2 Mon Sep 17 00:00:00 2001 From: Yerlotic <108224581+yerlotic@users.noreply.github.com> Date: Sun, 12 Jul 2026 17:10:26 +0000 Subject: [PATCH 17/21] Update gallery/karls-picture.typ Co-authored-by: Johannes Wolf --- gallery/karls-picture.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gallery/karls-picture.typ b/gallery/karls-picture.typ index 0c066907..0170ffd7 100644 --- a/gallery/karls-picture.typ +++ b/gallery/karls-picture.typ @@ -78,7 +78,7 @@ content(("cos.start", 50%, "cos.end"), text(blue)[$ cos alpha $], anchor: "north") // Draw the outer opposite leg of the triangle - line((1, 0), (1, calc.tan(angle)), name: "tan", stroke: (paint: orange)) + line((1, 0), (1, calc.tan(angle)), name: "tan", stroke: orange) // Draw the tangent equation at the top and to the right of the line content("tan.end", $ text(#orange, tan alpha) = text(#red, sin alpha) / text(#blue, cos alpha) $, anchor: "west") From e65ccb4df849626553712f77ccadd098dbe602a5 Mon Sep 17 00:00:00 2001 From: Yerlotic <108224581+yerlotic@users.noreply.github.com> Date: Sun, 12 Jul 2026 17:31:20 +0000 Subject: [PATCH 18/21] Improve even more --- gallery/karls-picture.typ | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gallery/karls-picture.typ b/gallery/karls-picture.typ index 0170ffd7..ef28aa23 100644 --- a/gallery/karls-picture.typ +++ b/gallery/karls-picture.typ @@ -1,14 +1,14 @@ #import "@preview/cetz:0.5.3" #set page(width: auto, height: auto, margin: .5cm) -#show math.equation: block.with(fill: white, inset: 1pt) +#show math.equation: block.with(fill: white, inset: 1pt, radius: 2pt) // Create a new canvas to draw on #cetz.canvas(length: 3cm, { import cetz.draw: * // Control the angle - let angle = 30deg + let angle = 212deg // Change the design for all elements after it set-style( @@ -21,14 +21,15 @@ radius: 0.3, label-radius: .22, fill: green.lighten(80%), - stroke: (paint: green.darken(50%)) + stroke: green.darken(50%) ), // Design of all text elements with an anchor content: (padding: 1pt) ) - // Draws the grid behind the circle - grid((-1.5, -1.5), (1.4, 1.4), step: 0.5, stroke: gray + 0.2pt) + // Draw the grids behind the circle + grid((-1.5, -1.5), (1.5, 1.5), step: 0.25, stroke: gray + 0.1pt) + grid((-1.5, -1.5), (1.5, 1.5), step: 0.5, stroke: gray + 0.2pt) // Draw the unit circle circle((0,0), radius: 1) @@ -51,12 +52,12 @@ content((), anchor: "east", ct) } - // Position on the unit circle + // Position on the unit circle (in polar coordinates) let pos = (angle, 1) // Draw the green angle cetz.angle.angle((0,0), (1,0), pos, - label: text(green, $alpha$)) + label: text(green, $alpha = angle.deg() degree$)) // Draw the hypotenuse of the triangle line(pos, (1, calc.tan(angle))) @@ -68,12 +69,12 @@ // Draw the inner opposite leg of the triangle: // "The intersection of a vertical line (|-) through (30deg, 1) and a horizontal line through (0, 0)" - line((angle, 1), ((), "|-", (0,0)), stroke: (paint: red), name: "sin") + line(pos, ((), "|-", (0,0)), stroke: red, name: "sin") // Place the text halfway through on the opposite leg content(("sin.start", 50%, "sin.end"), text(red)[$ sin alpha $]) // Draw the adjacent leg of the triangle - line("sin.end", (0,0), stroke: (paint: blue), name: "cos") + line("sin.end", (0,0), stroke: blue, name: "cos") // Place the text halfway and position it below the line content(("cos.start", 50%, "cos.end"), text(blue)[$ cos alpha $], anchor: "north") From 776576726f37b364611c351d69d6660c27d06fc8 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Mon, 13 Jul 2026 10:39:05 +0200 Subject: [PATCH 19/21] Update Gallery Image --- gallery/karls-picture.png | Bin 70809 -> 111124 bytes gallery/karls-picture.typ | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/gallery/karls-picture.png b/gallery/karls-picture.png index b3a602eb368416a04766d9e6c27efd2fc38ba420..a9bfe226fb010508dce794713836d3b3309f138e 100644 GIT binary patch literal 111124 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 Y1ua$*27krkANYS1@?HNt^s+ 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 Date: Mon, 13 Jul 2026 10:14:55 +0200 Subject: [PATCH 20/21] Fix Content Angle Calculation From Two Coordinates --- src/draw/shapes.typ | 3 ++- tests/content/angle/ref/1.png | Bin 0 -> 4293 bytes tests/content/angle/test.typ | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tests/content/angle/ref/1.png create mode 100644 tests/content/angle/test.typ diff --git a/src/draw/shapes.typ b/src/draw/shapes.typ index a3ba8acb..563fca70 100644 --- a/src/draw/shapes.typ +++ b/src/draw/shapes.typ @@ -1136,7 +1136,8 @@ let angle = if type(angle) != std.angle { let (_, c) = coordinate.resolve(ctx, angle) - vector.angle2(a, util.apply-transform(ctx.transform, c)) + vector.angle2(util.apply-transform(ctx.transform, a), + util.apply-transform(ctx.transform, c)) } else { angle } diff --git a/tests/content/angle/ref/1.png b/tests/content/angle/ref/1.png new file mode 100644 index 0000000000000000000000000000000000000000..9795ac16448b153b38ed7094c391d1c08b9c3355 GIT binary patch literal 4293 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 B!qET# literal 0 HcmV?d00001 diff --git a/tests/content/angle/test.typ b/tests/content/angle/test.typ new file mode 100644 index 00000000..9fbb0c7b --- /dev/null +++ b/tests/content/angle/test.typ @@ -0,0 +1,17 @@ +#import "/src/lib.typ": * +#import "/tests/helper.typ": * +#set page(width: auto, height: auto) + +// #1032 +#test-case({ + import draw: * + set-style(padding: 5pt) + + line((0, 0), (5, 5), name: "line1") + content("line1.50%", angle: "line1.end", anchor: "south", [Content]) + + rotate(15deg) + + line((5, 0), (10, 5), name: "line2") + content("line2.50%", angle: "line2.end", anchor: "south", [Content]) +}) From 4655ed67e8221958e503379c589f9894906e5303 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Mon, 13 Jul 2026 11:00:42 +0200 Subject: [PATCH 21/21] Update Test Ref Images for Tytanic 0.4 --- tests/style/fold-stroke/ref/1.png | Bin 3122 -> 3121 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/style/fold-stroke/ref/1.png b/tests/style/fold-stroke/ref/1.png index 42bef5fc9e7c6219d726e4f094d2e28be289aef9..4b226ad0676134cfd8228677cc2846066cfd4150 100644 GIT binary patch delta 2375 zcmX|Dc|6qH8y;k9D%-f0Vvt=~LXqW5nrz7xO|p#!S0ek8WWFk7i)tz|Wi&1l5yo1Q zWyqd2!o`FUqaoW&X7~-&@BDE-=X1{cKJW9q&mZq86E79NFV8_QRZ!&s@%aUsdncEi zQ_M>B<_IcBZtHz?KjcCR$iXR6S>p0~k7$$b8S`g93EMbif7#;`2(g~4x3DNl#2xer zK->N_)NdNM#f;*j1OXY02{VSyvCKv0Z5BuXRYSYW$2YWQtG!&wO2FE4>Ihc6yymj2 zY^S`tY9f%(AcN>#bks|yx7jY3ClP|&U3c^Fb}(;ySnk8HL_G5m#U5teF{FTT500D` zX>M>^{}GuIx!F?tZix$93KhX>?h&wC!biTlA%tdjnlbf0$A!4Yz^@-84A~_SN&|KZ z-@zmiMk~~JS@kHlLsgP;H`$0k?2qIrTZOPsA8OQF2K0O84R)!z(K)b_oD$d=D3944 zJ%2A;iO1RK*4pN@WTWa~F8W<~4m~WBK#%luC7Ux7;5({|sY8n}((|`$tmZU2hgg*O zTHM5$gyqH_D1Z%u%3v9sf^zp*Fw%G41>xUaswvBzfst}r**WZ{u}M?vuv1V`>=Gxp z=dU&-{tZYL6~p5*=GUJ_C*sEjB_QBc?mr4i(k=bpQA3h-g8hbdZ!|QR5UdbX%F%?WMI2p>FxA1?YzhN41%p>r z60CC3DD`#7)>P~2p~bnAUt}?PD=wd_xPCKFAvm738&kft<65LFqIB9NeOIx4of{~5 zy27dA54f8NQwF2x$hz{T79);+HR`>tfC;wuUG4kgmQdjLd^r7=QAT1>k~?5u@!$Lckcf((O`!eMwMuMkFZ|nWF z5ykk^DV8qB`Q`dDs{=ik;R)4LcMCps^6YeT1Mq<~7$@^!(t;ez-B7u=5uJcCi(7wP zd=wY!k402YGp2D$U;ut&bmNoK#3=5h4#jnH^>|?3DiE>8ZThIJQoo}^wL_P}4MujO zgt`)q3l&qOQqlQ2jv>-g6HdYW=uY@PU)oV4ssH6aazxaMf3DX-*f`6zu~FFJl$FiFJhBN=Q6k{W9ly zr8%W0u3);bm#mPfjD8Ey)LJ*|uZsI8FKp3IqVBy2WmUoeYuvxV>O7s& z8SkDVhyi5~S#rvA+X@)_O!C)s%Wmt8?hU4 zmrv1e=`3|;WUcJwE*JIUPvg8*U`oHWYIoIKS_8ds&#(v@`L5RSbG?3zMYbAoz&^N_ zQn|mzI`dhiraB*R-?*LnvHxB*&tU<|sVsljA~o=mlJ}vlX76C3`V+)qUjy33rip!1 zcbB*zko21|tM0`G>gP39gmTeVEkPUWOS}df2fjGKT7#I|KvgA-{~9+gldrvwNFqa> z=3dH(qPX+J1H%G?LxKjo+FqF1!MGpj@f}!u+<+Lfa=xGB2qj&_$q-x4%|83u^%dHr+jZgqIuwVpg4KP~5OF-&4=tidHlIY>44bz)XO=m2kIY%{ZmBY>!N|Jkv{PI~BN zn#21*ZPd-C5KN;$%o5jRCVcxwMueTNX558n#@O57?D@^It$}KL-8!FCK|W9oXgeWy z3{bPhTi8TcDJtn7cOTiwb03+IL)Nz?O9Z5#oI|cHy4e_x-Dm^aNh0IpqhKUcoR>eg z9?=BSo!yQit_vSBJWV&HFXQ(kTt)VmY&ex52c#v`;Zo|!sj=_= zGpF|w;v0*vTTmCY8OILmdiY2fbTv%H!y#UIiPZPRnAt-QUlS2>#IkM@q);rHNl|N|Cu4q~)5DO>%{IDN@#KIvRm{0Ru-t6r# z6T$~TiWz^N%ixeH-VbH$$Q`KNlq+jOJJBbYkX=yr?XzFuJCVBEm40jbG{2~P`F1t6 zi4xZ;Nl;JMtt+eWqI_wnM|*)~{K@^#USiwL3s2r)+?IEY7Ek!AGWR=f(MUk*P?_>M~7x5zq}c}?Q`NxkB82s z6ofH#KnYl{O1c}V!PBmQL2Ys@YX?;YIQag+;!4J1=!|-h8u>8GNb22xV^4v12K9pA z68QaEMOoW941-$Bob`rp4~q5AlZS9KG!{%Np{3;;&Mt!aQ8rx#)6#2jP@6oL7SJSG zU)tvy`1Jj{c3y}WI!)TBcu2=a9q#)&)Y<<$Gv(WNmZM**+bXh9R~P#nxzbQk>Nf&*ix|%BNRS*FMU+4cZ;XEL}dPWo_)$*Taz1Qx9L@Yjzvp_c>-pok|G2OF@Oj_g*ZY0n*YzdKy_0)%RCtZ7rX`H> zDkwa;_XihR<>MCK4OD*w+l?u{V^kZ|Jp5Uyi8zSCco*qgVp9}_9|oZfB7~rma5U8y zZDjEs*RQd$vG8-S5x2QAZkDVl1yPE#;N9a2b3_;bD&#;6d~LK%t|#a+o~!8;20?L- z(`G|1!^QG;emTkkfDY#!TL;fbpMtaoZQ8^9H2zZCRv)s9Hn)WpUfL2xfNaU{f;}04 ze7v2xWtRL{8G@Fv%6juz9D)OhE4d^SG&eKbUci-UbTevtn5S`{C^ufiH<*xj?49q7 zG^F*=J{RCdLqy6p8x7{^0DEKhUWen7b^Ej}%zV<9!v+ld>;`#3cwM? z6|E(6dpe_rX&K{NQrXy>WB^+dLgUP+*mBB!JsEbq-)84$`50hpi=BX+n$8uLjg?zX z7>P{gG}C|c;ePFqQu%fZ%V0OwQYHVXBC+Bq^5xaFy;vt$iN5EpV)N;(w ze~w0AxS2lxmmk9Ri_}^1YZC+(uyAptvBZ4)sn9PKrD|gRWn-z%@t+nov7gWaUpGrr z+ryKL9)w8wxXbpfj3p@I;&;g6*gF8IFJsa31-p9Ydn`XWou}aO4r@KjUvZV;Gpl%d zAA&L#mIn#T8((VG_k8sucR5_s@%ckeuFXO&q4Q;85}QJU{O9n zz79Hh+)z7TohceHUVSP4P@`Vs;Y#WH!C!UB<}!;VoGt{rWcQ86ezC0VkJ?ZeF&(48 z|F|+Y8}cmnoyUG{m$x8tpidjBuXjzFU%#=@>Uuzw2E#qrUF}1^X8PPK33Xi)ZI=%e zf`{hpV!R_g{Wdz1f^gQ=*!Ls7QUA1>2v3-+aLnj*oP=x!uiXn3)#3bH8A(h1NVo({ zOtM)Je^eY>9H>Q&2eQ*=bh%#{819>b-2H#1QXXZ~EUeE=Kjrt`fo*mWjXk=iC z{FC6}9WmU3LKt`VDjRP-A~d=DLnu2}6)IWnx69n%g-cx%ZY_s(vi~BsH&>>+`WWwi z?4RCTfaMJ#02`>_7J+*Bxb#;=As}RNh+Pn6-CpyErSxyFt>PX*@lMMwsQLXPuMIb$ z)pzUD-DXqj>j2kP(wN44N?pi#1W{Qz=Q@xGwZJOr96Tap+HVr%4g)lGoRdOS@6|dC zD74bvk9Zvklub~7W>Wj7`s9x*T4;l*AX%uETGVNR$4?^4q#8)3vXUTUQ$zaTw)DEe zAqWTw^R=eTRfPt6&>U~Zb_2GSU#U>}~I<=(Oy+b?sRb1?z% zyDcD4Z)reH(H{LuA7U&AoRmnIY1aDU_zPTz(yoePEfA4VWP6_Y#D*d1kM$KLc;~p5 zY9=1lf`RK7UW=TrMTRwZB3%uaiJzK0UR2Mv1{MAAm)#Ank>*i|s)M(?x|e-p zh~(!k&D2)mz%7B$=#70(ZdXf7feyu(W9DU)4 zVweVkZ1p2ikx#byFt>#5i^aFT#ww?HK9D9Br?W}^Y9<30QuJ2c#9{N9nc?XvLY_|Lz|0iMYF1T`T+|GV^mrGmK_WO7=>h-dN7 z2)`kq5o#73zx|=@@jW}_rZt>!UUOy@b+=-@?c4NNYPNUp3FyYq?Xf4r%Tu(u+V7zm zMIUmeJEWlx>gfBXGF_qwqG5ZT=cGxXgN7YT=q64%IA(mZ-YA=wHI6OR;`Y4}WtMg> z%j-0!QwDkq)_RLp=S!|7nrSbQkadCAwf2Y@^RosVkcDD84)|mVC!a1`Ag}->5vs$` zc%6(1PjP{uN#&Ry(+q~j&HW}0B~ECS$j2&IUwE-n+Q-hkHCQrST4gF{{mj-(g0w4y zR%N6m5?J`!!u7WfV0sKJyywbG_1w{cg$bUw6PPj{vD7yMs#s(eJoQ?PZgJ1%Gol>d zq>PLRe$2BqYe~zqEuBVXFH!fn-zp2%PgQYCvyuI4%c;!Ubh;Cy*GM9OLaAS3S|18h zW$;@yK(m8WsuC`|v|OYbjhczj?xmtC0`ukbDH~~%w2uDV0{ZmnKTLJ$jwuLUT4}kI zM!v81clgX{V^e2^6WJrCGjgr;$$V$pXE-QUgVt5D*miK@a@-1RXtDeO-&8#M8Qv$N z(*B#Dga0eNW%cu~fcr{1nR>hM3n~i(O)7^&A+^6&&)Y1mzz-~6Gce1jTcP&`pIT2< z)*W{rvhUNCj|%tA*(ssM!QhBHkKi8d5W^{nTL{bGyv1u|udj=E@r13I?U+>|K|5>f KWK(K&1^qXFj