From a7cdcac3ff73c3c979b90293fc5609fe34436e74 Mon Sep 17 00:00:00 2001 From: Adam Chalmers Date: Fri, 5 Sep 2025 21:33:20 -0500 Subject: [PATCH] Store rendered solutions with each test case This way we can always see what the actual solutions to the test case are. --- kcl-ezpz/src/tests.rs | 39 +++++++++++++++++- test_cases/circle/solution.png | Bin 0 -> 65564 bytes test_cases/circle_center/solution.png | Bin 0 -> 59522 bytes test_cases/circle_tangent/solution.png | Bin 0 -> 60054 bytes .../circle_tangent_other_dir/solution.png | Bin 0 -> 59436 bytes test_cases/inconsistent/solution.png | Bin 0 -> 39406 bytes test_cases/nonsquare/solution.png | Bin 0 -> 28782 bytes test_cases/perpendicular/solution.png | Bin 0 -> 38742 bytes test_cases/tiny/solution.png | Bin 0 -> 27732 bytes test_cases/two_rectangles/solution.png | Bin 0 -> 51970 bytes 10 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 test_cases/circle/solution.png create mode 100644 test_cases/circle_center/solution.png create mode 100644 test_cases/circle_tangent/solution.png create mode 100644 test_cases/circle_tangent_other_dir/solution.png create mode 100644 test_cases/inconsistent/solution.png create mode 100644 test_cases/nonsquare/solution.png create mode 100644 test_cases/perpendicular/solution.png create mode 100644 test_cases/tiny/solution.png create mode 100644 test_cases/two_rectangles/solution.png diff --git a/kcl-ezpz/src/tests.rs b/kcl-ezpz/src/tests.rs index be9ebc49..072fe24c 100644 --- a/kcl-ezpz/src/tests.rs +++ b/kcl-ezpz/src/tests.rs @@ -1,4 +1,4 @@ -use std::str::FromStr; +use std::{process::Command, str::FromStr}; use super::*; use crate::textual::{Point, Problem}; @@ -13,6 +13,32 @@ fn parse_problem(txt: &str) -> Problem { } } +fn gnuplot(test_name: &str) { + let reinstalled = Command::new("just") + .arg("reinstall") + .spawn() + .unwrap() + .wait_with_output() + .unwrap() + .status + .success(); + assert!(reinstalled); + let generated_png = Command::new("ezpz") + .args([ + "-f", + &format!("../test_cases/{test_name}/problem.txt"), + "--gnuplot-png-path", + &format!("../test_cases/{test_name}/solution.png"), + ]) + .spawn() + .unwrap() + .wait_with_output() + .unwrap() + .status + .success(); + assert!(generated_png); +} + #[test] fn tiny() { let txt = include_str!("../../test_cases/tiny/problem.txt"); @@ -22,6 +48,7 @@ fn tiny() { let solved = problem.to_constraint_system().unwrap().solve().unwrap(); assert_points_eq(solved.get_point("p").unwrap(), Point { x: 0.0, y: 0.0 }); assert_points_eq(solved.get_point("q").unwrap(), Point { x: 0.0, y: 0.0 }); + gnuplot("tiny"); } #[test] @@ -36,6 +63,7 @@ fn inconsistent() { assert_points_eq(solved.get_point("o").unwrap(), Point { x: 0.0, y: 0.0 }); // (2.5, 2.5) is midway between the two inconsistent requirement points. assert_points_eq(solved.get_point("p").unwrap(), Point { x: 2.5, y: 2.5 }); + gnuplot("inconsistent"); } #[test] @@ -53,6 +81,7 @@ fn circle() { // a.center = (0.1, 0.2) assert_nearly_eq(circle_a.radius, 3.4); assert_points_eq(circle_a.center, Point { x: 0.1, y: 0.2 }); + gnuplot("circle"); } #[test] @@ -65,6 +94,7 @@ fn circle_center() { let circle_a = solved.get_circle("a").unwrap(); assert_nearly_eq(circle_a.radius, 1.0); assert_points_eq(circle_a.center, Point { x: 0.0, y: 0.0 }); + gnuplot("circle_center"); } #[test] @@ -81,6 +111,7 @@ fn circle_tangent() { assert_points_eq(solved.get_point("q").unwrap(), Point { x: 5.0, y: 3.0 }); let circle_a = solved.get_circle("a").unwrap(); assert_nearly_eq(circle_a.center.y, 4.5); + gnuplot("circle_tangent"); } #[test] @@ -96,6 +127,7 @@ fn circle_tangent_other_dir() { assert_points_eq(solved.get_point("q").unwrap(), Point { x: 5.0, y: 3.0 }); let circle_a = solved.get_circle("a").unwrap(); assert_nearly_eq(circle_a.center.y, 1.5); + gnuplot("circle_tangent_other_dir"); } #[test] @@ -113,6 +145,7 @@ fn rectangle() { assert_points_eq(solved.get_point("p5").unwrap(), Point { x: 6.0, y: 2.0 }); assert_points_eq(solved.get_point("p6").unwrap(), Point { x: 6.0, y: 6.0 }); assert_points_eq(solved.get_point("p7").unwrap(), Point { x: 2.0, y: 6.0 }); + gnuplot("two_rectangles"); } #[test] @@ -131,7 +164,7 @@ fn angle_constraints() { } #[test] -fn perpendiculars() { +fn perpendicular() { let txt = include_str!("../../test_cases/perpendicular/problem.txt"); let problem = Problem::from_str(txt).unwrap(); let solved = problem.to_constraint_system().unwrap().solve().unwrap(); @@ -139,6 +172,7 @@ fn perpendiculars() { assert_points_eq(solved.get_point("p1").unwrap(), Point { x: 0.0, y: 4.0 }); assert_points_eq(solved.get_point("p2").unwrap(), Point { x: 0.0, y: 0.0 }); assert_points_eq(solved.get_point("p3").unwrap(), Point { x: 4.0, y: 0.0 }); + gnuplot("perpendicular"); } #[test] @@ -148,6 +182,7 @@ fn nonsquare() { let solved = problem.to_constraint_system().unwrap().solve().unwrap(); assert_points_eq(solved.get_point("p").unwrap(), Point { x: 0.0, y: 0.0 }); assert_points_eq(solved.get_point("q").unwrap(), Point { x: 0.0, y: 0.0 }); + gnuplot("nonsquare"); } #[test] diff --git a/test_cases/circle/solution.png b/test_cases/circle/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3c5088bce1e73318bca1c8cfa8cb5a2aa6e13d GIT binary patch literal 65564 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 c((U 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
  • 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 literal 0 HcmV?d00001 diff --git a/test_cases/circle_tangent/solution.png b/test_cases/circle_tangent/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..743257ede426bc71fcaf1a38a8614d4c475e0403 GIT binary patch literal 60054 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 literal 0 HcmV?d00001 diff --git a/test_cases/circle_tangent_other_dir/solution.png b/test_cases/circle_tangent_other_dir/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd1dafc1981a2350a450449b37d89539291949c GIT binary patch literal 59436 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�T)83j>wFY#E)#mDdBcyNMC>d>({Se zym(>xWnDRtkgKzeFUX_#q;U|{&PJAwHutx@N15~0VN?pgcDXV)+X+P~#zV%BM9+#2 zGXMoVc<=xu1!@km$~^_!{Xo(y#Iu_Ncz`Cc+K|;nm74K(he;c-F{o7oNX14p%b@jc_%ehp(m~{>+yO`Nj_=O^E_TRGE)%YdDfhw zrjq=g)G3)$Gh=V|M_?GCauz$~^{WXCsjExg`B?~oJirH+30oHz4TtaoNxp`~YKg(t zLJ>`>SA`?3trz7HC~EoH;+% z5BTVKw|Gv1{}$$Xp!?u{CC<%;YokAa>QJKqd?6t|-okAIDiBhy{oZV~oRS(nW9S84 zv(vyRyFtUvu|)rvk;A#dwrEPaGF!PKCGwb{30^jn3y$!TjNV>it#RX1uO~O3u)~ zrq185VR)g14p}`pEZi$yiOUIVijOBkZz2pGq6CDKv5u`jGLjHe#59Ryg5K-9-IF*J z4GmH^$G=so^elzUdx_6-r@4}~o{eVfDPMgT2(7QYobQyyzU_xIqJyc;S~r|KbE{?D z%kn|rGfgx#P=~Q+X6Mcxw)CfrcLxio5>_6vBfi8{XwM3w|v2Mfwu?At`53%8zXDbXzV=tvL?J z^|gdZ2mxHwk0-B_-UobOve0;s>DDVu=>}+lIH8P%X7&kaA6UHFsOr1f@yyPgd^ukF ztl;o*WD{s$kf%z+X;9ToC~GM*Iu;QgwVrdn_4*tt#U#}n3Ff4y@1d*AVBPogAULX% zNIT0zlCjU>Ut<_}oQ0>aTP0}a!7PlUmwe(?N7ptHW9h?NJW*|G6Dl_v9u;nFVJu+1 zb+bV6;&Uk43WDB08^ndH)ZJ}@+y<|AFEl(w-x>&_U}@fOa1?XT2IHDvf8C=viQ=2Y z78p9k^H5*(ZRSiD>nR;Td*C2`O6k2fVB&O6jP<;Vc4B+?m6vcO({DuIg0+x2!G8Wq zV3KdVVPyMf9UU*Kmwx<<%u%&Wq%(|m+Zj!C;I~U#-&uc&uYN&suN;5CxbIE#O%J+s zN)ZGiD{L0)qrT3kB+Io4SBY(z3};3;Nq_O#YkGMMPz0;L@t^K9WKV&bBd0eHpyj^5-SX8@BcpcD8&oZST8tb zVP}bVec9XaWbXUDl~Eh#fOFUIp~3e5*ul(Q^6VK=z4oo9*m{q{mUOpoOjnn;nFLn+ z|GClP7s?EqdxM#ZoL!9twj!*q7OJ5Bl+rU-pV>5!WiwP+*Ckrg)iGWApif=ErWe3> zX*tm|D-+SAetpCfAkm*5&0L@jx=6d5 zck2Ab$vh;kliqT!L^|X%}TL*_7x(A)cd|U_) zW78`R_rG{-Jaixo{`@y+PT!jRdkGQxKO6H!^_R-G%+%$kZsF(l_3a*^8+(G68>YIjwOMcJ zL2j_+N0jt1EM089W7Pf`GDbLE#{{v*mk#@i=8CxMlV27mHEl*m0^xL9Do)*Rk?2^w zw0d-?v%L|L5r>6phleL}IJ^3`FurSTU}6L6L$t*8McDTRqnw{HYv^aeSV^MQ3Oql8 zT9;mEUtUK?0xSG~tag<^k8(hVYbX)zWan!{+>QnpSIP2N{E98k3u_xbFS`|QO13$- z;bC4En$<;0k8KQgwHoG%dO|)&VNg3`eb9B~MiR_y;WH*)&r8f!d zz74=x`CdY`Bbjk2BlTWstsb&D72MpISCv~?t8aIjR)B}#Nnv)bA6zWsCG-ydrQOAw z_D;j~?O#ret)fS4$z9b=duB&u5@4MLtKX6cR8gdNuo|ae<6Ic{vVmz6{>06k=$ea% z4FG-3D;{KRc4j6K8KT5f%b9ATrOnp@<9s?QN*qLo4=3dU{LD=?Ao=wu1Wt{66~4(U zq+;rtg~q`(Wf&7P=FRoNnVq>{O_0>X>maK#&-icelUpr;@gK5he$OZyh!(WYY*$E>hUiz4ayeTyJTlmCe$Pe&}tLL)B1%ZKq9>LFl z+8dI+J8#^*wvYdWKmbobM+r{eC^8SF62HsG@4mJ?5R$IG2yeCQ%})ek4^SeDZ|yPC zpF)%$XGP5+qd1Wx`eW|6)e*T%`G(N!H2djyDp++HCEDyrNytKgF|ovnb0WJhoLun7 zlMOmq$%OAgu~0EE6Jzul0HYh6vvj%^KO7~>H8t_R%*tx-B%dr^qz`SKX#;meCuH&h z6XAdE`eXaWq+V^yVhw>`j$7{s42@whuXoW8Kjp7&8*5qb%r{MYgl#~FEhq#_UiawS zQS)5{e@3F#Pe=M7JZPk>lm^Ql#V+8LulJ|yEqTR-q7)8fB$!0GgxA%a2d!v^D?n3c zgl@yU@f*_cosXD;(?6-?r1*xlj-D8_058te~ZcFqzk_{*CD6T*m$}gcFgjnk1sS zxVuqCOS8v2M{~pJ1}zOPw*^Ur;k$NlYMolto} zu03uoq2#{#iSp{525Lk+mi+0$Nmlh_`W>SBEgc}K$Q`hgf&xD2J08OP8P*GF z0{_#^(p8SpsTt${0bV~jM=W1E@fmh8Y0WZBU(2m+?wf)`e!d|r4*&X~Vt)|-Ox?|P zZt{5fKqVHmrqX#{OiqP;rs%)`nF&7JHj( z2Ckjxy6Z>Jz;NAM>)3U7W-X!5$P5U3*D9Gntm9Ltdu1cJhl!cm?H_A|NBu=u za!>g^oG3a5`K#a{{#ZnV&8Ad3lCbW}$=@kWK}nGoJ8!)-pleb{9E@(DsX4Me(*$DX zW6wG$^}@og1?6#A=;qR^-zr>srqI@NdBRq@z}6`}O;3;-F1*MiEm&YD)D4x$LBBK$ z)m}|a4IaJb-=(F8#Kim-1DPNrfJT_%^_e!-Pm@IU=g4OBW?_Yoh_qyi=D!&sT*9d{kWC!^wNQ_jNg0KhHs<2O< z(7m9N&CZUknOOUiO#|_56YY%Q_}ry_uIZo(M6#JjM@O-0!q<%PBgFT#G?s^V`yx%L zM4F>hIp0>p$;S^m?Ft#bS%FZAk~Ip3Iua}%@Z;9*_sj&sIz9h03dM;VzSb(YSc%bQ z3D_)!!QF5BxjIvPf@Zo$VF^x5Y%I{bi9Ji8g-Be{eAEQUhGVxwwnNT?$mW&#;{ z6>@X`r2W|L9g<;E1Vz|nKFf>YJ>|e_KMM(X{`g)9G4CM|@IYLy4@l=pcDQ~3C8)A@ zvXqn*H3LKR1@%?L`4zD23;JCRFEL(JIU4ZY;?Z6Py{0EdPv|tLdFQBVKX%DGQU{MQ zwDnKYTa*iJzN<+~ z&6bs!`3SglSj9tn%^%Rwbi#u^vg4S0ftFT5zlr{3<$;h5c>9FoQ!~?FNwP?ID0i;h z2>J`Zp8olkV2t?s_3O*O4R0PY>FE}mgv6`itdxBG{5^NrJSODz#F+;RF~)2z@V89-b{6d@w+}Tcx5(pv>3ME1Evx18^S|A+ ze#L{QY6|^7dL9bUQ5y3ge^)EW=X?6y-{VR_6XotC7`m02#h2Y>CoP2taZ2d32(LG$ zTKY>(*HrBy!|Lp3YN%g5Gkjy7Q%8K8=B^78X|X5=NEn#%1s=&Ric7ucO6f)XF|mD^ zPT6$E9E*pAR_N0eLus5_^LJ?Du?Q~Y!5UJh~s1)-%Ce2k&FtphKP7Rp9`r0 zj(*)Q0EdNgMUNg)aZ+l^gCiCT8gow&_ftd!tq5KIoZHiNcfTp5?C)3IA0f~LFkzQz zcJ3Z)!FLa)H#z~~;}^}C3?8NLe6G;ul=XK1lcHjyqHsYm(b(QjBlskTn{B#LcqG$_ z4O&o-)DMP1mj}Dw`&}9rn)6gt8K9gq(bhg(9bDU-^wCo-b3a%GCOapmUGcir4*m5T4WPcB z$N&%aIt}l?7CrT9gPgj`X${100-y{FvB5>yu1%6$@>3Y8`IzHe!@J-lN-+-Gg998G z*y!c@cH^ttLl=e`4LwWEL46n%0b$qWQh?Lc(1u%DZLQ5w~*cD^1D8P3%z2GuGLr);r8-f`fqQM;{Q z(G=~u?q zG@=Ex-~6uIWFVG+n}#Fi=O;!$ukS(km!zai=y^jRgTb6A6==SK>vMv9B!05Fas8KCP@Q=gp%N;Q?uv zhq#19M_od!ECnUybX35fV3mMywTn_v3UrJ$ul<$=Jir z$>z{%bkWQ`KO(NsD<@s9HC1|jr2wXtFbO$9II0Wx)Y5Vb(VfKaG1G`*ycboj0n&qk z&zsB3XxD>a<3+}@wQoVsy_+W=$C^f-$3b+mG<>%F3(9U2<~yf9Oa%wXU5Bar%GN8` z{m6*MdG;`EkG_dpS>>wIf_3m}p`;8+_d>4=#K*(}=RLe$AhG~(Au1{=Dw!X(2Z%cn;r~=YgX1u1f?X%6oDnaM?l~X&Ce5j5T(?g@5;i&3pDePeBZqJ3G^tS zhCc=R^#%2p+GIHX{{BRQ-Zk0T7LfSCnwG~(*SMxV`@xJr)0V{R(mgp@EAbZHY5C6$ z1lR-@4Dmse3*ZXZcMkcxoP})c9E_bb*|a&#h0Oh9?ss!~-RVM|Z7GAt{-w)HjxDEJ zP9#Jb884z%gxEi-T{wYE0_HAuT_y$xonSBpVGB~z-F|Sn8@?eSAy(e+#fm^aFnaep z+|#f3xb0z}D`L3n8iCdr^gEuQy#lc+f-G9bIK=f|8SJ5YTTLh&= znM88wMm^a7{9=2jwr1>Mp@rbU{VG&9#+rNr{i-}2h2Imq%MAyW&pxhbax*@C z+5!jP)FgVL!!lj#p`oNSGdugr%8Fi)AA|sObe#}wy1VlgSc1e-OG?NjD|?Mb zpNs||$gENaGg?c0b1s@|Yy9Qc5ns3Yx#~Z@_qa$y`CpP6_JZtO5nUQqyw3!2_&G^B z8Ma0BzQJy{*K-kHnc2ctgv@@{UiRI*mURJ6fwsmGc|Gza@q6yTs0$R`-?A^6kP$2I zEYguuP>xPzuM5{a+D?XB2n-K$&@x>Z&yXSeV!J(|T@rJ@xkVtZEgmXx6P4ay+aB6j z5P%>-=;-JGz;E(<`!**#`&!+c6i(gA^c2lcRv$TV6*COPKmQPK>;nAP?J5oH#+krL#CfQeu{Fr3Jdd|w=1o&e>xR((ErzDS>uGD- z244fI%4xywuKg$}+f>q-APmX2!pZe*3l^v@=ffIarg%jCP)*MnyzG zmZ;#c9C{T02p>c42}R+us4;)4@iT=`LPr%ZF>V+a0x4A}KAQwaFPYmHPq+LEWn@HP zx^A_~EwfFgEKPgpi7offq<)~?ZJ+%xTcn|pRD&6^gTBn~e8dG@BtbAp0#H#*rY9>!-!i{^ zA=1~Mh8A-}gU}lxTgcfkpEFVGQ4Wq_vG@QF?+}uM)7lV7ZR?7Z#kC@@2Tl{lb~5jn zfC>i;7-mS4c$~6R-bXBprip#uuV!_8NY#p2mBr`}^BOm9+<;^X<9)e1XTHy0ywAzL z0j&Ul9ge@-pN*#~ybJEQQlUlj%cL#%$U}S!F?ZyxV;BK#s#@=hQz#;eTz-Mh+y_uQoFh@ zVpzld0u^lMTlYY&A1hRx%WN|o-4XYYclLS&p+kyIcvycla&mUonN5ZWCxwZkLEazG zOv8WlD4dBE9pvz<#G;9QcDA;kA@xA>@v;AX#4idMau-Sz zF|)LUM(PwO2tfx0>a5e_V?MWCF^q_mf5@yqe1%eXi1;bK7t~u{xMx?@e0UX@y_-Fr z(A}meEhk40IsML^@0zPH=7jjWm_EA}0ex~&5fNxwiPvT80FK%MVW6?WPCZ>6KoM9j z$btr5ceuK`UJqi~&9zu`VNC99W*8>y9#d|*tn&#JJK%4RWIGND5z1qI0$jsA2%hvWs zqwBz(mj3>J5PD~8BNOp+bhO*OwRUbO@$m4EC2-QY*4F#FPEG4SY*XWo%gkCl{^e0pKO1{Gv| zy$@h#n~4gg7cb;vh&(*bU}6gw0vSF6z|#Pwe01iVlHg}3zGcOpA#Q!)V|%kIeBd1( zA5U=q{{GRl4-EERj}*={25?-ii%5CR4+<+JMW%-36fCXfDAII??z;ZnQCf2T<{p&O zJi4=RFYAp8W$X2r*00paNS7@KHjIwoCxQNPAp!C#@67cT!h(V{LF8Cu+_`!`5cFmV z2|BvEx^{MjwYB^R?*9rU-K90sXHq%QO z>4Sc(5AA@e~Rmaa#y|v$37M~`z9y%Qyd`ezkSU^F*s8$>VSJPOm zKPZT=P*b#TsZ_hHCFy>?>vG7fe=}X;srt>%Ued66LVQm$T3IpDy8nS@4KRxVBVAlD zp#`tm*;(*87}z^M9JeVd{SAXvU_2ld*86wX5r!VcDDIv-BBi0GUIs2fqd-qBW(<%y zWRN65A1uT}M%|zfA1sFR6T`x=5%Vyqh)PMS2y#Hn)^Dtjl;NE1?Tg+xq2BgQVL`ph zU7D{D<`p@zqr~9f*&o>ew1y?G*W*aWBcaS7z-ie3Y6j#X@4C4NL@sq+@);FwN6oR7 zOJz56EX7K}Y$Zsv7pNeCDa?@JcrH#f5zdr{>I;<5Q6n^U(C3)=F?pR25>_1Y07pfg^C|N7O$x(-Ep)Rvobahh)b)?(LcL^fn-61(P1@KVh%0^`}OFVy;0(jvbO3j zBTFe6WqDPJ@=G(5-&`FGZF%=J;xHI6QCb>XoHvQJ6Liq#A3_Mv&CE0dq06~j+rQ!r z>BH=YA>lGj3b4YijMycQLpMZodmX`JW@1Kdn!`dtav(xGT=$v6%`i;=nAI2LPFr4LivfDI% zbh%pm`}dUn>lPZIH~7jn-Vq2Nk@ftvZ2t1Iwif^LLP1r*`vKATY3H9mwlEP7i3G-D ze!;YxyuAF{Fjkz#oXM4koQ^I7qe7IBJJ#jVvlH63jH7{!uXK4~Qn{3N*^^ka; zYuWi)LH&@(gHJMPQ1x4n7CmvZQ;LJ3*raC;iy+Y~dpLsdE&WD3`G&>s^;wDnO#76q zCKvd1(wXq!)c%2eg(+hVRn@j>t5MrPiNG$MDt4O{iUc?&3Qp!l>5!m4nYSV=JL&9# zS)NPf_4id{{86T#yK<_%1%WpNQy3mA5xhFbMLbpb@`!){Ms)fKwlwi!4m?xo8)#}( zHf#NSuAYjb0lsBmD`n+kXMs`%N8Kl>k!}4iW16JP^&Tb)7TCE{RPHOvPKrA{eh*Opw37 zcYccU#dS+CWq99V^=~Lwg$?|z?+GyhXEcJj1 zSJPyQF>W-BjMe1l^xxK<#5NC@e%_-uKe;qvxJixd>t{qT-T52spYMT5Z(W#kh63=F ziOJ&pJiA-RJoaGpq~PJ1*~AaMIaIe}mk4*wAmWgAs*9_!a-V@85n01}$nx=n{na`y zTh_hUNyLKga&-a!@;~ikkRz7+Gs1+(K&}M?e!1t_;Irc}BQg50#p~+gh(k}n+jS`! z@$%(s851s;vIHIj^m~A#q@$kJdY&XRmGnLPXVH@Xtuso@#)dfdw3NMNoS{A5OaITx zKZJ$?>#~1zL^bW{4AmWwI29G#4tqYKP4hkJo7JBC2EU{9`rp<0TuuG#uFIA|j$2@H zNm{Jy*&Hh?j(+}G=MzlB;%i}mfEAzH_G?<&0zgNUo5EsZ{^!{+GSbx4l%`B`atyG} zDgFd3h`V?i9DxZ6-VmhjfSZ~8kkO_rClxV5#V)P z#yL>}RAa|7)t=@8#`(I~!4BEC1_otxucgNTd%(Hjc>_>Sf{P>Cy1UagjbP!s56^%9 z?&@=3eQTq8u88s6N_ymJT3U&-lMPDf$&B<$C4Sr!H^lSssH>C`xtHcCjwn~Gv5#)} z<^_LyQyKA`x(14eu~N%-Sj1y>ULH{6o(l-_`ww5Y^_Y6Pa33HEd9x1Z8`+lDuf`5T zx`&(h0Yd<91Geb7;7o=$MwbrHc&Q^Y;!07HeRIkBuQ`&!BA+1=!q=W%?J)vS?z(nM3Smk<*xjI^4 zAj%j+bVET#zC$W- z4sHSd#RF6+jETRtvZ}kfJgZ9oP4XWLml~%h(9(G}svh%c$ziiaN$f*N2;f|3qfl8s zIzReuwy~v=t%3p1`2g+=M#EnfR{`d)`hUI7{v%>hld!%2UBal@Xfty zB+EJ1wC0Lehzcns4Z2;03y`L5TuzY}f;;jnzoiq(-e`FXZ1 z=D}4%(j*L1+#n)`=aUo`7MjDvCx9Tp@W#nQm)>bSr7ulPI3YzqT~lH)XaNrrsjRF7 znl`q`nLd}k{tNF~L$Bz#!nptx#oy0<-frD2yZO%Efd=ubxf#gPzrjp(%j4w*Sy?od zAK)P_W>%tPFND`zbj(n>iZU4l1d>2dbC;CV$8Piz;Dm@e2~gqkv$j5ihFMU+ySiWQ zl|BMK2cAT8!xsP-?uR;k^J`k?`P_IswKg>^Edh@s^+^OwGQo3o5HBHc&-(#LMUdTl z-$wf6UOTkU+T(yNddTg?I&IeWvOoaFWC6p&qYo&1diMUe_Rc#hs;q1Cg-BZ>A}9(< zh886VDmg14h#(*tBnU{5D3Wuq$O0-^vVe#rQ8E%05kYb+$w34pN>OCKUE1Hi}C zX3bwS>#|(6dbK6@-gD1Acb~nV{rp_t!44r`uj1*1LWbjkb9iaOtJc$wSgY2{Ki4i8 z$~|5l(}U^qwZ)7hCR-JZ3FLAnLPLhQHqQUd0%eR)KV;Ya1V3QQvbM$t&P#(zmX?+v zGo;1$aVC9~Z+zOa8?jhyXHi>WsS&f%V$cS^;w$?SiU-w}$HM~BLVgOLNrAPWp_ zkF{Jp?dij)F^x|qvQUF)!&9?DkmI~K1c5;-2)iLSuiCEnEB~RUqSEob7PR!`uS6Ej z{zMJk@Z^ImB-AX}{``~d^yMjt^mUu1JqXKnSYH!veg-lT`MM>cVPR?x-p*!z>KvYN zZ|hvY?+<#h6}&PNIrTx6&}Lo_(Q>H!x6I5xQSp*K-V2c+M-zd$bWnN}iZf5upfQ#R z99mQ+FR_Macsw@mr!)eq7wO8j%7lk%9&sR$kRcxy4dvrxVPO#vaBfQyK59MF8`Fe( ze86og7mKQEZ*PD9eiGaajvl3)m2j?h^niQ~Y*`fL{EC~pYdt=OO=)Q{czE`NK#fzM zl$11rQL^AiH*_6C8cK06n}LA=#k7recgoDnggotI9y2RQfeEkRdb3eX;AR220lP)q z`nrVugv_m5PfAKkwiZ|yjkK5_1qVah$_R`Q_%S3z1VFaRoM}f8MqJ-+@4>{i<=tDf zH9fc`ww|E9SE*n?V^^~&JD3fzQu=ue?tkdE;Z)}Qq|o|uOhcMgZO|Gb8O{CCk>sXp z8cSZN{VxqQOJSnNgRQyCGsj}B;-48Xb3VT;n3wwr))$BpLLo!NaA?j*Nyk-uAWa@%QUY~@v=Uf zTRg-$5n9J*rl;9sZY;cyFr3?1x{-C6hi56>u;EO(_WRc}Y{#W8N3xZb6qCA;=8aQY zl|xJ&TnpR6T5+?$t*x!vn5%426;Kl4PgJLlxs5A{!wXb_$rv=pt$&3)Y^Lfx4@%OB z+Dw{0s5Gt2P&+hSlBf|Lggg!_3kx)5czJm-&TOxovXa7&zcvm1AsVJ+&9Jj}9jkK% ze}ajcO0zRFa_F4A zJiTIzCom^V(QrMgYHHBc4mZZi$_m=_=U!P3bJ2ah-U8!Td0iF~XaN{Z-tDqBFuZ{B z8o01Qrgivqc#!t4_|&Ov7k1~HGBO9<9wnNWYzUKx)y!4lwN8^12&CxT)|D4MvfPrY zJQffXROXXYULH?j3@#13-=L=>V${yowgwmAli!nAW7QhEZU@QY;&pN_6O&0uqmi=K zk2c}L#A?YoO80Rt(0mMW8&p#8^Zm-({iCd79p{PHNo=a!S!_POc$_nzlATO)P%&RK z4ho*JvC!65RbK8X=4`q$o!IVE;x6;)?gD$C6ObQa9Upfc&crksvG{n&-gr2UZ#SCX~B)Kc8+c(C~QE1iu)pNcqdTDP*2l7Bvm zyVvAbaH7BIBKTp6|m*zDxdd)$*nK3$GT=qVE|d{fT+x z?lvcVTczAV{7kNceW>9zG(FTKJ0t2sg4)hLx&D#+@Sm8>#gL^HnM&qY3ynUwlTN4Q z+T=5zo}(7u?XaWxu9s}=#I2N$-VEz43);x7ki{ro;uCBWP1JFef9%s0YU8n@x4Kw< zO5^9)X;vG31_QDK$+>EIZH??y%*z2!vgEgw#uJVm>ux*H(3h#6<-JbKJe9+LwfL$SElj7T!9@e0MdmK5|2#{tGT%J2^~^Ysl62>p5*zef63z zCh4*nZZlYeM52h|N#Es6&-M33F&dChWp*_|C z=i0q?1^07ZTk2DE$q_iM`YV(NmRf^dnJrC?`|m8OTQ&kQ9cWYGz@`sYfLRdQDx zb}tY{>Qr07I32TxIzR5Km_dGF-tDKaojTOt#Yl+7X4uJOd)aq+^hFgi3||*L^8I)l zr9aJSoo9;PyulR5Yu7oQtY{a6m{8LdjkR80x*TyNwq60wrzmJ(_@npVm|Jg&#+sc( z<8St-oul8KSuBn1>nv1qq3H?w{Usk*(6E$3EAbA^M{)Zrvk#=M8-EZi$%>&1>LPk# z$5YAeljz7h>vDqjXEv*Wdn+U52R;3|IlUw)%GEfj^fY?E6OoerY4^NG-Zt^EYuH=W zOz}Ncy5rH=rQJ`lzpjOOti$-u%-Cu#Ub1n&qB5|zLa4F9l&xGl(1_nrSE>!aNGZ2W zi8A-W+FyC8g4t=D3or6<;Z8`|X|x-8N;{XmB;GjFUf8rg=VouWP@QTx@niC`*ZVLZ zy!ob>mdk4q>TGSHsz3*f@qOo+&W#eo1W}z@H`B!V z`2rVtKZ`v}s=-q&2wjPi%@8iWZ=V0W%QSBWv+M>_cMKjvP9B~}=YvX)Zrq7`5m&25 znJ{#>aht=BJd*>vh^z}49Gsh;Se@gEABeAY9lM#67sg{OmZWfw@JyVS+5_?JbGTo_ z304CRCz`mE2eAV?xSb2Q7$*_MUatWIan}8z-Veccf2uYg+3wTEl`O5gZwSN{5H24E z&D6|HR`kHRO5y&uqH$}C3%B&u_ZF)$e6ye#haslMz{{+EK}cO82=Q%uM6Z(i6={i>P$@mRW;7f)VM?y%q+y|B6AjOA|`ab_NU*E_BD5aknS$hK#U`>37V z%J2FySZArW&l`8=>K1OX@b&iVY9U;ApL85~GXF(hT}PINo{=}(oKwwuB26%PjmI?| zhg5iU7nVw`jjd`fpY3u^<6RJ{i)qbh9(}i5Bg5e~{ppXwgbY}4Qvzw{i1xbRn#rDh z(=xn;?;ZMbRAYliKw$VrbA;P8Yq%`0`ONWRru#(K&;ANu!aOv%ygM{w$uQ4Vbey5I@_ur48coo(nnOy#&^5u}%>g)ap zxlc#eEYA5azAD$)n$6^Q3gv*aH{7#LR#a9JrBrzcvoZPYoJlR8ePT|v=^~F7d7x)U zU)K#$N=F5a@#^*$`T1(<72^DSYhPVD{Oe%#zSuC5kAL&Q=A-5dE#=IGBd}{4P=v4F zavK?5-`yrM`GZHSl5!hg#}8{XdyKWgAI-yhZ4%r@*`tCbZ_Axm8)kU>@yjK=0|p|u zoHM?^Ww+}es$QB{D%l9Su*DWgCr(*PZ2^;7Azh^-qVBNL%pCvSFmxSKvKU@>$>lxPL`eYfGgm5 z*Wc1_+IehAS7@+9>0ok;Xw-^RM=V>`XOH#xxIMfL9VN+y0>detmlRaYJ32Sz8&mFC zwftPvT`#>2Q)I9yz?sE0dbDP5+oX z^VP)R^zFn83Z8Z!!j$>NRlIg1U7|83g}g+p3%M<9tR-kx>t`=qQmwG|UYl=U)Ww=y z2wou3<@%vu6iLBwHKTK<7}qhIe+iD$9MC-@%N<2K*G*1>p-|OPDdlmslK*zWgtI%& zq+jwEFNnhA*9-)b;2Ly78~ospDCTkxFU|`x6O=j{<%CblS@!$LyADY%Dv+ zw~DG6P(zjLfw_^@)!O>VnRGZqG!B+Q zeDlhNOO0k(sj$Z}SEKzi=1W8(I=rP?+1!muo8HqYAF=L7%oF2``zjyddYUb({`jhJ z<-SF+L*6Oo``ODLSrOXp!i}! zl@+vmG#8)nt4l+R2C-ncTXr`;mxVd^#%e;ima5C^v-*r_NH1Nww{f~j(>sMeRS9jM zJhr_vqM_-va4+bq6X_|b z!0PI@dpk~frJjXT2t38+z#12@Tb``-k9ktLyda|z12JS-czxO z^0kadM%A3FA5&cBv)Dere7DEj7gLN0zdsMLLSC&;U$^HSO5=q3k#h7&^pYrS%Qg5=!vy~qOTtF65x$!!`AcyHCIqM!Rw1K0sB!4BH0 zKkt9WlCTMU6OVmuB~w+6LI3)t6ffb~r`&Jrci~+<%xp%kIk~_2W8kb`lDBo`>!EfY z;i}0`jq$uTU-FOV+_mVyWRH3^zmObhI_XIEYXaPt%jmn?l)b-N?{Y0}70oOg%SL4M z_9J%!`)aNvEar+>r!~Au&YVDrIvYJWG)@UVOnSG~-9`edx-7=V28XiVD9Gm_$)~{G)x1Ab$qN{MLvX_4mK52auc>|qr1!gL?RHy5^<{RqDojen)QB;k(#QPSWuQ_3?t zKO^8QKh}|USgQ7EtRGaBjURCT`lV816%b;~h4I~c6TId>I?`4O zCOz+NJ-`xG71X?0bf2g#^u$|@Bs^O0B>NKXHM13|LpRVLSwgKdCTV}t2oiW89Rk4y z6dpky`UX^aU>WbY1))q@uF|a-`;DRLfy{{(!LM;N@uw>!`K_0`Sr4_-7=62QO>ktA z^9x70{oF*!ha&;h53t+HwrPSEuSS<=&bdp7-}qkT%cRG`(E!3DNJC_)f~}|}xDuZ@ zp{Azh00JCH?TBw3x`nAbG419;ILq~8vuA5ZZ4FtT+;BhU3n_f6F{f9eoliPON(dFd%_V=w!0&p-$QEKFB5|oBe`lfga ziUA4=iZf>_efIa{_L*|8eVPg{lA&{ehe=O)2ao&UGphL6+SbC-@cfe-bcgV?G-Jbd zJ!u9K-0O?grtVbasRHa8@Mya5{#?o&EsuGsaa%WM_i05G4z^-24&xGT@iiev+ftXT zd15aL#|4L8WMX0x7q5Qt;$zR6q>o=^RTU>yC>US=Iy#!n;uim?(wCa#STD}Axy!}| zRwi%P6)t;KK-_H3NNrxYS6a{}z^znDOy}gCf78oUzc<+(bsWuvUfARs$*ia%a|f% zn>HgzO(-x(pFC;iKTkT3y7qA0h{JJ(ChQ&5zQ+^erWV*|o0 z=p^s*z72&Zef{Khqb44w9Xt#hs6&Ii4_nopaV!t~SQ+S0B)NCoZEAT{S@M`(*%y;> zj>)VL!Ou~j#A}NgTm~ln5{CPR2C?+Q)ydoq&AfzM# zJ`)~hneyCDBvN849rpTZWzAz`^ne?}BR9v~sQi2zuibsoM+848sbDZi$&!f{7B1Q> z)qvw)H&xA*Sl9I0!1>h;7&J6MME$gjeAy7>z@YNBEYYpXOiKeyLue^_&?7a|IbK2g zV%%%OHo{dM1C<0Yxq`fxt&g^*CP60yPBx$KUaqW1p?r*IX3p%c34DB zts5R2=mhbE;uUDVyw;AragU%tq0o4qRWU3p9iN2?qzWN{19d3)55gWNBSX~YYM_3N zX9Db%?r-{>#iOHIt{M%(9X#z7k69%eA24)oMy^N!@S6n)p2t~v8Tsi}AE#k+n zeKO2rm~YZ+@UOrG{MxWyy+(J21a*goJRG<#_tDqTDAe;n*z9Mi%EOKbt__Z2^gB=T zS2WvtmJ6=>S29A+%s0e4>OfEC*4jThfH!U+|;xzs}Bh{KuI#$^)p2WHWFw z|M;4gfdRt;I;rkorxO4NhI$|D+WjgpBo2p<5HdRfEsFPx$l!W@eWHR?FrX*1giRk| zgY=J+Nz#8W46V+AkZ^#L`RCWPCBGd%1>gKTBSH9WgrWA8J`ewd;&+@+$QJy4Tv8Y- z(g6SeW}J=3FQ3rkB1Y9+Bz&Ukn5p1U!Dm7r*J@W^ItAwo$I+abp!&U!fqO0_2jlsV zuYr=yLT>Ef-=_l`jNe(S!~eLF|I1+|Y`rf1>&6w`cZLWSCIRg6VO;2>;7<6yBy3J{ z)VpAF^7nCJNL9~M6|>$y@Q*8rOBgdgO&C?eCyJafov!r!m1p>S^8ZdDpipFR3sypd zg9*u#zyEfloF^tez8w74L6+#^f^XXN*2JTKpJKhg=?ck?mM`9pg|*< zMh`RagTJ8%;ZnsPwK0qbQ?h>k{JHp8)YGSW`ubIGrNAUb0cT@oNKmK^;v`o1#kVH=H8P+FLo-Jm)HRsLkV9>4 zRRkS5=r*wxFq?FC+<6&5R|kD?E_%lq7-~R0q3Z^J;kLs8^URmw*F7Li-rtk%*W`g| zD0B3$=Z0dYKk_HC4@|49^WNdA@7nmxaq^3$b&8dU30jM(IuDjZA=#!OvJ&xw9 zHjEq8GaVm1czPoXa^etNfE`>W{f$GAS_kdQD73>QD6&1d4w9<@kB4DkSVB%K@FPac zAe}z53N+nbj4#sD{hayeq2#FxoqZswT*Kj}AGldsz9QFZD=gEVe*=2^yu3V6gvCKJ zT|l5KB7+!w0zn1~P#8$ZLopeI13+UT*mr@f#X@eLdtKlZ^PdtDd*J#A3**Y#S}P2e zl2VGehx3C6tDq-?FU7)%gW}c^64Ic5JQL0aMJ&+pspdF>B)K?aR#r!6khfh-Of(t)CzkaoQ35Z@F{&94!JjqYlR0K31Kq_%^!T~HK#eFUZEYqN(pfBMUco-B= z*bo?odrh5w>$L=}?C{>jvu6V+pgrLRf3)rEvLZ;kN=Y?~a5_O5l$i6exVF7I+V6X}6x5c5(1ZebWzWXN5z&&R-y|%U%OdX+_?fZ+a!@ouf z+{mGuX?uA#JCzMXb@F7VLMH7AHbolHBdblO9h=G6(gurE2^Lge)LT zwlME30^>=rZu6%AOX3&Gsovl-pI&PW1FrK5#sm z5S(~ZRCYK?PvY4*ityK!f5^ zVnIb81V{-WX@(zaL(d{FdGLKwQfdR8gpkkP4)h&#hxbFO(+rzS3cU~vG&CR@#ep)t zthjh*ywK9<5-^e+9g_rXbhqEv)zuMzKA<6nM$aDZA8dXn$KwpWFj&YxW#93~Bz0GSLN zIEyA{8_dtu_MnM|6WSMGhJqLXJ6l-*;at9^6(jh<6O^tH=lR=Sl?qNxHH2dTBf=T{ zuIZRR^!ICNDKozoZ>W8+v1}A`Bj(AItLTuhu$I==HTe1YGb1^7-oRs_P}%?QN{TSh61!_^*ow;EWq$!aK1b*)1g|XcZUZOrXOcby zO}f)M9o=y1!23PVx{G3BNzN}90UcAkt}Oh!B!~@heApa5Jv+PEv0p1P5)Qf_0qfVL zrF{`5Mn;riYN(leZ>H;#sA!e1FAB?E$tfaIIk~R~a|@LBmuP7@;Ux`|Z^1!63nqOW zsOjko44=>5A0l=o7#DNIe189)_|P>!(s0=fmGj{1YGq?1ey0w#!?2p5o6ilvt_v3c z>)>o}-)Ue}hYFWfgOwBdoyN!0f8yW&ehC)+#2Jfs9Kbx3B;0NUav@i53 zz-wFe)~zDrMpCIyu%Lk0sNk&GfP;cQ!JeCs7Q-tj&4lc-` zxS&Lb4wOoVo+7yQ&>h**)>c|pmYt0DB@yByWugIVO3)lx?NdYJIMyCT17}b12=)V@ z(tE@pz6DRfuVv$qFD2pYWDpZD!sSM@6C7(n*6ac9WU&8$wiL+nFu6i-LZreG1KmHc zjKYP0Rt&yPBjWfHE@7#5A37amMd^KCk9VB+MZE*?5a6OeTLGc*GVe#=oCLhT{S5O$pED?4dgni0? zDL(qI-Q$0SQ^?oPg#OP1&3`j8*nOf+@A-D23W`uc5h^G`1x2W!2o)5e zg8my^DMAHBsGtZH6rqA5R8WKpicmojDkwq)MW~<%6%?U@B2-X>3W`uc5h^G`1x2W! z2o)5ef+AEQ87xWhz-ViD%LIp*rpa>Ndp@Je*P=pGKP(lAK zKmwtHB2-X>3W`uc5h^G`1x2W!2o)5ef+AENdp@Je*P=pGK zP(cwYC_)8AsGtZH6rqA5R8WKpicmojDkwq)MW~<%6%?U@B2-X>3W`uc5h^G`1x2W! z2o)5ef+AESP=pGKP(gv>icmojDkwq)MW~<%6%?U@B2-X> d3W`uc5h^Ik_vODqW&R(MHUD4!`oE!q{s%Dj)1CkT literal 0 HcmV?d00001 diff --git a/test_cases/inconsistent/solution.png b/test_cases/inconsistent/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..a30230e0375fdbf1e50ef47095270e9867017f0c GIT binary patch literal 39406 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 literal 0 HcmV?d00001 diff --git a/test_cases/nonsquare/solution.png b/test_cases/nonsquare/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..d6db382b30d10f99f96e6b97d7f9913251c94577 GIT binary patch literal 28782 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 bZIIeFNNpRWwhjL4|NI)YZSa40+u(lya7Ktd literal 0 HcmV?d00001 diff --git a/test_cases/perpendicular/solution.png b/test_cases/perpendicular/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..74a940417c86dd7fdd4280576e6811399be7d4be GIT binary patch literal 38742 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 zᰌj@sFfr5~*6X59w^KVwqw1W^dcQ{UWrxrf{ra4(}IQdOLFAA8ya19Th^m|Oo zl*6**JlrJ)Mz|ItM3QIcDP-Zh^$_!^sLg4;ok#xuL(s%fSm>Oe%&A+}3!MN$SqQ~> zdFqkA?n0k^bpT=b4I7^wV^izouiBA7&(-WJwV#l`aNz=^8VL1`e)Ft+tD*j`E-VO* z1s2mb4c#)*nwMMmJ{J9CN^QmLfM_g8B&5iIlcHwsD1^VtHBH{tt=UXaeZzS+DrtwMbG7AU z!Z)^89yPM2YlGFx8CQ>naYAf$#R6%CiSYrwm~}%HZl|NKJAJQA>tMYLXd`f#*#F@QqsGIy{4`1h|H!eDu#c_mq!fxv-_Iv33?YyQn?=r(*Zj zSA~VEPyt&$`B3#%KC0&3JJ`Gw$Bt=k+qr>b5p48e6P_9j{bY~Q4mhE=JethfFiD_! z-h7Hy>X14ow21(a1mnLu_=64OpFC-WzYbZ9gMSJv_i8FC;m|9?@l8ye8t_tnci!gX z8*uqQ5#M$J;}+k(10VF0IrTPX(;OA9HkoO^t?qIh2~ywhIG3VxMmi`i4jj-L`E2G4 z(y%NT$o;rN{oxU2Pz*IWDb-S)ll>jx#q!L9dX_mT$2_=N}u&7 z2)--bR)VCcKrzqtaM`36FHS$YcCFBCUc6JL>{5N2=>9Yg5wFc62I&MzeNQR3O}AKPBCTTmM30Pv?MRY!WK}LdyX@ zXcrT5&K!>6tH{l?CiH(IC3cFqXr}w^!BOCRV8=d_8P9zOl+m-(H<53v>l|O%&p%D= z4+3S96bZdq&j>+aLyOB=)9LwOA-Xjz)jYS>3)DtdqE5#GtITKKJ+ryC#3xDcffBUB zU?HQlL}m3?>e>#YReO>3U)mBv2*KX+8X6ehy}Lxse7>`^qt>|qYZ|7`szct{&%G745czTIs|WMyR)T6wea^Tu0DVBcz@r*4ui?|%Y6s5`BdhIEoU}CCqY{uz>euBw`hS+C`pdmFpGkg7U$`P z^A*g6SW7`MsV}^)PB9U1Hysn&Au>n_34kl5@O-vi$1A!Kx6&@A{QO-A*7Y~DQ} z0}H|xIk^zp&*1MhFd(88i$+%#yu8ED6rjAtKt|KX5yA7SziQX+eWbXCj0BxtaQjFH z@mUR?5ifID9IN&v+1lJ3uN=_^t(BHm+2W~% zPj5osrE=lS+*~rKc-#aWRnooNM*!QG;a=d z&eKO%u2n}y)iV#nGNrU@o>?81yk_`OZw1OD(*B)3}tDuA{^ zbi9a%McWG>I~weq3R-iGK?hbCyo*R11 zJ@jH!k!bBK11{Y%4JD;^2*;I?y!_WPtsbBAhQGy+Wq{fRg; zLvNAk1Oh>L1veMq-|xJB5o7fG8iP^&UrBy{Rrc{j-v5=m1}L*h;1Yg$=)X(hy!5|z zL?i?dkkANq!kz?)s{IhS>`!RJ;({z_6P8vhK}u1s64BoNSv4Y&F(sC=oCQol9kd| zLH>je9PN`(f{TcVls&bCGFh_V)`j~;~%_UqTLgXirK9LK^bNkI`2$Dtwm)pcPoE5^t}>n78CxoQe7 z-I-| zU5W2pZ4c1F5QE9K1Yh(h6fOto1O)|`Pn#iuDWwJ%5;~qi8b`uia3kXtlnw$fGmywQ zD-lS(?T4fYev|W;ymW~a2|!*>IFQL12!MqJ8wCZ0rXV<3a4p{uXuy6Q-EA&3R#wCd zV;dfk9wsN36b?*M)zE-0*9P#_s{d|JGDZHdRf7*##Nmr#|7(+RpoxIb1<>#R;DO0V zMfu7u0u_Q9TL2@#MYD!MKiCl@RKTtrs4CFVhqG_o19A)|jm&C92DX`4bR-eez3b>$ zO3$iL3Lq2A1>^x77ZVece4JQ}6MKIj5Obi@6VSnM0#KQOlWs3c9*REY;Ic;(nc)dULcO_7zO?*309-f~37QNZP#{zPdkK{3h zDk6{G>@aTb1~f|mahvV2W(T+RZe+w8dEAZkSXd&UNQYkQa+}dAux7O#N;U<%QbR{P z1gYCpYBE@cVZeZt@R<#qjT{`=(1@OA+A+=uSfm7sQ}`PCbZei`D)5&jK|85oaU_nQ z$Hl{N`36w)tzcg_8~Ge{)Yr!bo_LPZ`M3wlnMQCNJ<#`&PPW_fo#p&ZF>0a+qXdCK+PS>2u2LRLr~~LXdK<$0c2Cq24>ekz#BSjtH>{b31^A2K zOVN5lQ-XqUbP_l#zWKwh8%icXE$K~k=ui^1>JivwSu1z71@!$b!T zy!J5UI&((AbKL=Whfvi(0#$-aP!zz>3%lkBa%FxbE+V225(6k9{kDB00KnkMo`n(v zZqLQd4fc3JS(ykO-5n<#xhv5WVWiy900)#^-Me>`V287@ftp0+Rgt+8U^_U%k1)x8 z>3#hPo-C9LCfpI=TQ{xSyYlqeGY4oW21d{IP04zLMOn9SO z@;L-b?H(R6!z`)PW5 zARROqXFal=@I(wmtuVt;SVf#66LM1k74M^)7Kjrc zq=POA??a?W=<4EH4uNNJf}#weJ4_gN?A$JrqZe zmVqe{6$lK@y|>xW2&QuJc5U?o(l<9?n8_Rf2w1S|#dc`O|4;@<37FDS%-jF3seRsb(0Qcbg8a50>9QafgAZB$6 zERN6GAO!BDUPIK`0676OaQwcDAK=Vf21>FLrWt(sV$yHBOF#sEe!o6<1gsFPmJfA=ANRM-FMWH0=vF8ru2{HQMcs4o1dF8ru2{HQMc zs4o1dF8ru2{HQMcs4o1dF8ru2{HQMcs4o1du0NO+{HQJ%86Srq)rB9`g&)<0AJv5) z)%7oY#Q0HN_)%T>QC;{^UHDO5e~fJSe@&PD$Ab^>qq^{;x_)V#hnCF$+KlCYG57#K zstZ4=3qPuh7&m6|9}o1ykLtpY>iW+ozT-!A<@n)8bw%Jub>ZjO{7=oX`S34C-u^Ec zF8kN9k@!(v_)%To{vqE$1^lS4|Ml~;@uRx%qq^{;y6~gA@T0nZnI`~q!tkTI@T0o$ zqq^{;y6~gA@T0o$qq^{;y6~gA@T0o$qq^{;y8il4DC0+U{q)Z%|Nmj;K7LdeepDBJ dR2P0!7k*S1epDBJR2P0!7k*UN|A(Wx{vTL_d6EDC literal 0 HcmV?d00001 diff --git a/test_cases/tiny/solution.png b/test_cases/tiny/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..ffde6d32577a8e32a2fd89de992872f0bd860d16 GIT binary patch literal 27732 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 literal 0 HcmV?d00001 diff --git a/test_cases/two_rectangles/solution.png b/test_cases/two_rectangles/solution.png new file mode 100644 index 0000000000000000000000000000000000000000..53633ae31b3b81748752866c7637339f267a7941 GIT binary patch literal 51970 zcmdSB1zgqZ)-8+)2-1=QA}!rW3M$2mP1?&R zS81+3lOesDnQA((V1l7}e{QhAYHVs$EZk;cueH*-mOhT;17_nlj}M=#ld(^1KOA_a*iWT&C))H7he*JfUZ`u0 zoq{p-AVP6aQ0`nLr$Rx=CKV7zK~dsyK*0ZR`33D1%8kJu+|wwJa#E?!qM)eVlte>8 z$?^Md|An#j?Zy5u;oZ2px;lxp#j#SWTeq4p*s5(8I!PF}T3TDJxJemRDTLh|wideJ zHT#&$wDZekm9wU1ys+JP?OQArW#yUK*{|(P1^l)(4_l^j1q>5VC9^ z_xG4{OQiL#XrP+*(k1MM_F*@dk<{xY2{`symNxoh>z7%N4!lzJdGZ8}ip%Un6zBTN zXff^m!@9$HHbnT?nAYaI+d+gEDTFGjt0$5xZ1iyBaXF{hs?^FNlSMpx(nBIAqR$F_#Tu>Jp6ofBAis{$X)b!-ZX%h7s zlMX_Xp}yX-2h$YfQ*pB+aCteoa~If>5{=kG6RZ(kgZ?zKPT|BPDF&BbMV zWppcmKDol<+Z&6h{oHA?2h|)FeKecFc6N3_L~OjIA(S2)Vqp}*XjIgap_h3q2eOsZ z5a`ESq9^w7S9y7Po7Z2GoTo^H-L{L2T3bTMKF`k&*0}GPbj0v*bH`mA>08QUp1x17 zkaz`gc(m?a{${G!tUHuav{t+PesXd$e5#zhJWrRNmeyN?`X@a-O4!(8$4B40<2XJY ze%p$P>Cd$P{6YA5|C5-Qn3tCq2M0%r$Jc;f^NA|w^^KXvGpA1rIIpd&ub-?Gck5NV z^tz$!`m%T?9B%h3rb&bd*nWJ(?y0Um1jDX9+ST4{EvP+^**D+Q!w-#z5#;MuIkiVI z;?paXBu9;2G`G;#7|pSv$bI$d6?{{Yp!4q6uWkp6S&|{7JICMGG19bBWHm2n9I)a@ zI&OTdN2T=WX>6osU@)I=kIro1tIE%__LvFYc=z~Bnq(MZOiXyVfq+<4vTxxO{Cg<5 z;Lzmc(OT8|RJE(UuI{AvgPKbe6l+UMZquH7u#?*RSnt<3@2-yX!92(6dyR6-TUabM zVv8OQs49-?s$X~#+T(=?=dl_Z7#N5nPl$?2?==?}7gx{I*lfUHtEjAWT-o3NX;1b65z4FLre4JYT< zZ=X|$V#>Tvyoxyzbdz@G$8BJsYinzK52i{=ru4nOH8(eBz^uW}fT=D@NlA%}R5dlt z>^0{m#=Pl=*=t!^Y}$1&K7C9`MD%%Kq0H`+gls~`TUg|ZiVBCtK9k;;w`F6PE5EN* zm1^bpn(LHWs%dD9RJ(4$BXC#^F%uERig+GO)OwD~{9H$!w+;a~oZiPC_YUSeV)4c0 zreE?}kK91}wpu%)f+i15MOyV_&wLwvOs z7JJj)bru#@!>>yjF*YCiVN+62QcmaIWfPZLpQ;fS5~6TlDauNAlS%6hCgy1Pv2f3y zKc{e=!xevTmf~s3O-e>a2HR$ScJ|@Q2*>w!8O{P}x4ZaPM0pzK@4TG+#k|PU&h$kGSbaxB%9PRAl z`5q)^q-*89?wTLZ%FJx(=#bS>&hM}Oob2x5;cy`b0JK_F?P=+!HW&mWQ`(u$g0w*=R#jh0OF&Kl^C;FZJq!bC?$ z$HwNny*4*DH#@7MscFGY`e}Byy1E)3Y#cfBru9$GWhV5fN4$A+s;lLJNv@Wt`uCmX ztU*gQor)_SdHMOJeYjc|Muv0^0^1#~so%LXx3)Hwugy1;Ubs{Crgl@CIlr*5r@z0y zyIWD?c@wi-$90#D7wk)OZIOs@*dpug(M%2Dz8FLT*RP|a`f29xeb`wZ_VMu%bX;

    #BKWv)7{qumoBmB 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℧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 H1+e@AA~zPZ literal 0 HcmV?d00001