From ab55126902533e64457c8930f9290dd7e33cdac0 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Fri, 26 Jun 2015 10:31:48 +1000 Subject: [PATCH] Test mask updates --- .../expected_atlas_hiding2_mask.png | Bin 9880 -> 10582 bytes ...omposerattributetable_showmessage_mask.png | Bin 19137 -> 20659 bytes .../sp_buffer/sp_buffer_mask.png | Bin 0 -> 5432 bytes .../sp_shadow/sp_shadow_mask.png | Bin 0 -> 6575 bytes .../sp_curved_placement_above_mask.png | Bin 0 -> 4985 bytes .../sp_curved_placement_below_mask.png | Bin 0 -> 8547 bytes .../sp_curved_placement_online_mask.png | Bin 0 -> 7618 bytes ..._placement_above_line_orientation_mask.png | Bin 0 -> 10255 bytes ...e_placement_above_map_orientation_mask.png | Bin 0 -> 10240 bytes ..._placement_below_line_orientation_mask.png | Bin 0 -> 10240 bytes ...e_placement_below_map_orientation_mask.png | Bin 0 -> 10255 bytes .../sp_line_placement_online_mask.png | Bin 0 -> 10284 bytes .../sp_img_buffer/sp_img_buffer_mask.png | Bin 0 -> 2656 bytes .../sp_img_shadow/sp_img_shadow_mask.png | Bin 0 -> 2373 bytes .../sp_pdf_buffer/sp_pdf_buffer_mask.png | Bin 5156 -> 5293 bytes .../sp_pdf_shadow/sp_pdf_shadow_mask.png | Bin 4526 -> 4547 bytes .../sp_pdf_curved_placement_above_mask.png | Bin 0 -> 6669 bytes .../sp_pdf_curved_placement_below_mask.png | Bin 0 -> 6843 bytes .../sp_pdf_curved_placement_online_mask.png | Bin 0 -> 6487 bytes ..._placement_above_line_orientation_mask.png | Bin 0 -> 6613 bytes ...e_placement_above_map_orientation_mask.png | Bin 0 -> 6323 bytes ..._placement_below_line_orientation_mask.png | Bin 0 -> 6323 bytes ...e_placement_below_map_orientation_mask.png | Bin 0 -> 6613 bytes .../sp_pdf_line_placement_online_mask.png | Bin 0 -> 6336 bytes .../sp_buffer/sp_buffer_mask.png | Bin 0 -> 2628 bytes .../sp_shadow/sp_shadow_mask.png | Bin 0 -> 2323 bytes 26 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/testdata/control_images/expected_pal_canvas/sp_buffer/sp_buffer_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas/sp_shadow/sp_shadow_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_above/sp_curved_placement_above_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_below/sp_curved_placement_below_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_online/sp_curved_placement_online_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_line_orientation/sp_line_placement_above_line_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_map_orientation/sp_line_placement_above_map_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_line_orientation/sp_line_placement_below_line_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_map_orientation/sp_line_placement_below_map_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_online/sp_line_placement_online_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer/sp_img_buffer/sp_img_buffer_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer/sp_img_shadow/sp_img_shadow_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_above/sp_pdf_curved_placement_above_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_below/sp_pdf_curved_placement_below_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_online/sp_pdf_curved_placement_online_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_above_line_orientation/sp_pdf_line_placement_above_line_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_above_map_orientation/sp_pdf_line_placement_above_map_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_line_orientation/sp_pdf_line_placement_below_line_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_map_orientation/sp_pdf_line_placement_below_map_orientation_mask.png create mode 100644 tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_online/sp_pdf_line_placement_online_mask.png create mode 100644 tests/testdata/control_images/expected_pal_server/sp_buffer/sp_buffer_mask.png create mode 100644 tests/testdata/control_images/expected_pal_server/sp_shadow/sp_shadow_mask.png diff --git a/tests/testdata/control_images/expected_atlas_hiding2/expected_atlas_hiding2_mask.png b/tests/testdata/control_images/expected_atlas_hiding2/expected_atlas_hiding2_mask.png index e544f221364d9f2ac18b31653c6310d03b88a92a..67be7e76ce3c293555e2cf4db6594e006a9aef76 100644 GIT binary patch literal 10582 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 XmiyM_@xO#<1*Ah3Kj-{(_TT>p1-dT< literal 9880 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%0D`~(_Or3uXS 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 VsQrZACz1!03zyHQoc;6G{{SWo))D{! diff --git a/tests/testdata/control_images/expected_pal_canvas/sp_buffer/sp_buffer_mask.png b/tests/testdata/control_images/expected_pal_canvas/sp_buffer/sp_buffer_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..e19a16c0427bd97c5b36fb69dd1b8c8421cdab33 GIT binary patch literal 5432 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 Qls-Wa8%OJU%Re6f56V)qsQ>@~ literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas/sp_shadow/sp_shadow_mask.png b/tests/testdata/control_images/expected_pal_canvas/sp_shadow/sp_shadow_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..a3048df40d4902004a7503e7d0087c9746fb8934 GIT binary patch literal 6575 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_above/sp_curved_placement_above_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_above/sp_curved_placement_above_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..a7728803b22430d455e64615e51fc2bfa068b208 GIT binary patch literal 4985 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 H`27C?;QesG literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_online/sp_curved_placement_online_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_curved_placement_online/sp_curved_placement_online_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..79a513e9064bf96a1968a5b3d91cdd8598077ba1 GIT binary patch literal 7618 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 QLs*37tvffdsy5I52UgEPO#lD@ literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_line_orientation/sp_line_placement_above_line_orientation_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_line_orientation/sp_line_placement_above_line_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..ecca23277277b43738f7fb7ffb2d63fd54576d85 GIT binary patch literal 10255 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_map_orientation/sp_line_placement_above_map_orientation_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_above_map_orientation/sp_line_placement_above_map_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..19895da5908eef00c0b21f6819942de576007733 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_line_orientation/sp_line_placement_below_line_orientation_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_line_orientation/sp_line_placement_below_line_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..19895da5908eef00c0b21f6819942de576007733 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_map_orientation/sp_line_placement_below_map_orientation_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_below_map_orientation/sp_line_placement_below_map_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..ecca23277277b43738f7fb7ffb2d63fd54576d85 GIT binary patch literal 10255 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_online/sp_line_placement_online_mask.png b/tests/testdata/control_images/expected_pal_canvas_line/sp_line_placement_online/sp_line_placement_online_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..abf427912a16902b23129668290bb93018c3f83a GIT binary patch literal 10284 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 Lw3G`knT7lh<3^b+ literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer/sp_img_buffer/sp_img_buffer_mask.png b/tests/testdata/control_images/expected_pal_composer/sp_img_buffer/sp_img_buffer_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae3471b150cacdc0cfa51158ccf410d2a9d3733 GIT binary patch literal 2656 zcmeHJ`%@B#7DnZ!_*frpMy{{jX?0p(xt2!atJTsdEiq?N(AG>-Q%b}V#Rr+`HO0#J zs@(E*&Cpd;@=3-jCHdHNK}8|g2t$!H0TqGE&i)Vgr_RhbXU_TN%sKP@a=wBKfoBYK z&2#|(fI)!2Z!iF$(VzxcXP>&W-G8g8$d zWB@={Gr-p;Eg8~3vF$Y{jt`I5VX#X z6Ut*w*9WB+CK)DBFFg&FDL9dO1fT(`eOlEpinyTYZwt4)Zbf8}NLiVg%3XQLN^yu2 zjJqslirBlm#GgYIf&OEHj0^`T=L3xR%epw+N^Z$HTk@aBn^qr@HD{N--Sz2_9aVDe z$O!RFy7G+JkIj6@kYj%r4W_$Gr1H{3{)4qtXkMtDo9sl}VgIQq<8%(5r`p;1uSVB` zUL+3bAfB$Hc4Lh)B|8gpRk$3?^2`eF%2a?%a&f8Iy{^j4@rObtzcXIS!m1`lM|1j- zxfhk>fyHv|7c$R-F-)n0lS(L>8GSYRuc&baXA?YzxTM%)v*8o0X0AIbUtOwIYgCJeJ`u}b zYjGu<<1noy2~N>n`D9>dQ?P-P7K<+m;?8?~FcpeICmb2sT{v^NyD=Qimf%(Fz}MT` zOx~pE`C11V2r>&ZtCU4(xarf|bDEIHoXuj75gAuff9s8Cr`Y%Cs+)8$ExFY+j#ZSSpXd=$(y96@2Oi&iWiMiYSA2;HF8oI(EZ2eMX5AqVlz3MF)@ z%x*@we52iWGath~i|2`Ze%wS=$#j+X!t}o;Pc9-{ynCS5Jgi_}oTxdWD`o4x%??Zn z1O;xbJLdy2cAF8BG0nT7%n6!ep*e*l6W(*``~dvZrPkS-)+zJc_i@ofb(|=}4JuC_ z*f%9EZ~}4n~`IKR}r$BF2UY8^`*F;AMF09p6${J zhTQhDB#xs|o_ciCgu24bA0>(9GW@LYCZj4#OzKnMoHk^Yn*_83 zLsKRc>uX?at@ZG?bq2smdwc+Qo@u|hj`S}N?Jct#sl&HK;yp-4^}SP8JCGad$;{TZ zxq~7HRAlh|zQB@qi3#N%=%Uf`)j3?%ai7(`Bq{tEETO_7>r{3;oD)YZ!-tC*Z?E=1 zRbptJM-ROtmNtB_%6&>%a7SDdYd0a>pYf>N;d2!b#QjZ1rPZ}4U8j#Mb6lf*^+M-{ z3(YH4NIpi8_GSrea%}6oO9R@~a)DI%K(Jv>06IO@?o>@%OAUzKHQyH1`Tbjw#{4Sc z*jLf~ literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer/sp_img_shadow/sp_img_shadow_mask.png b/tests/testdata/control_images/expected_pal_composer/sp_img_shadow/sp_img_shadow_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..544de5c8eab7fd4edaabec86408a317429fbdbd1 GIT binary patch literal 2373 zcmeHJ`&ZHj6#q6^fJ&KWIWu&<4DB&XOf6yfNXf8el$9x#IW^QQP}2k%mSruaHnq^C z@_l@_02PU}hh?c1l@{u^ttlEW!vKYlv9mv7zjV*}oO|xQ=iDFe<9t5(KZOM&EFCQY z06^eF0>c4dUZoihu=(bUT_AI-*+D4&cp}Vf*|4MM%`rSR2*G{h!gQHugJS{bT|$6Bn^nMyujT)1EZu&{LJk(o8L;CY z6`mBRGVb@=Mw~KA)%}d$hEw<)Q+m!ERZyMC))|C`bOnJ`Jo|aH%~56TjbB=#GmLbC zDiH==*xvn~dbYNFtXA4IY`67f^G?=#AmB94$hq`z{Fudz{jIFxiczb0p%emlb1W_R zsAcN0WVQ)9(TaPo$ufSK9pGTmUem+~EBR>eU}v%@k?T5W2Nx^kJrQud@Qd4yP<6#y#9Z?b< zLBbP2;@ok}3%xLf$Bi&!KQGyoFMdvq+~QDxIHWVsQVI1Yfj}{d)P1+8&gX2~pl`G( z(_OcrWP4)BtV13q(3&tP1XVehozz0nm)Rj`fgdInZcFq;yQt94q_7%pvSIUi>Ypfn zy(CYaPBXWhYW*GS9!p#q7~lA!!SBkjZ7^AdNl;OjT*c>0(3xc2lr4k7S=FXL< z)5i>dJrqTYBL*UoufM*cvbpTG;a;ek5ixy#Nt@TIoZxlp(7Zh*hPA zgVx_3Q5rvEQ-4)VYOrO`GKEfYP?B7eMRR)Gquqb(nw}PEqRSLL^d6)PMR}FIJ}-N>xUf6sw}9DF4yA{ZSvks_>O%ZHqx8#_Mg;P_(9+c zHleR3T}%Hs|6x^b%#NK`uv}e{__lGf`zDu-3dU-yWPAGqn52Xx#Nh%iWe&Zddo8rh zF?VoS0mi!h+_!3I6+LY2S8+(bHvg$iP8KSVOwfbEMvUV|pG64 zeNRhpRF`2H%(iTzR>mzV9tO+0Za-oiRH9N2gx0q%4^0v0$j5jKX=5SaP=1}L$ORV^ zx+_b;dBFa`MHtk{-*((2ARTClRqykuh2#+?rnC)C?e7B8=G z8`T|2kt#~Qa+Y9V7q%D1PS_YLNG5c!y%HrWI%9Q>eY-9V(N;CyL|zB)E63@n{wEaD zEVQp?WWEdJv`<)lDuJLH4AgSKD^1`+2<4C-Q0eT`s&Vs zoQ-;Mgjm&H?xp!9QCey7LEOqSY7+igd_6o z#=5TTdNutRX>o=!=wL~-bz1*)Wc2bmadJnlXMrzP`Nos*s1iL@)XQc0HGw?7bb8i~ z+w-ASlCi?04{6)NzF%C2XEAVl_7F$F64(6hB}~Y&*S>O}zOv&8KSN7g(^#f<{yn~9 zWP+&o#v$YhFHPEbookvp3Ig{UGDt`RMEbO%hH^&h?R*}5vOB%yijYa3@*Qu$7|EU?KxhWQT^Y=3nC literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer/sp_pdf_buffer/sp_pdf_buffer_mask.png b/tests/testdata/control_images/expected_pal_composer/sp_pdf_buffer/sp_pdf_buffer_mask.png index da263c3a4b6c3b56cc5d2b5c8daa95ee7ac3882b..f43b81b588486aa83550299aad7ac635edb8ddf7 100644 GIT binary patch literal 5293 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 literal 5156 zcmeHL`CC$J*YtennQ1;rJ^M! z&ZG$B1fQup#a;|5of)&iu=IU}Swd*7k8$ zR#qkg3&%~A;$hG;odzWX=E|8}eys-ZH)KUdowAyM!33q4?f-k6o5)x%%)9xgc25E* zmqMX@jkYwwY%+uJ9AN`_TBf8rJi5A#oh+}HJLWrb^~)Ax^;41@`mmzV3!?tB7# zjolK?u97}nq|Xs2n=)d`?@p^`btgHIC!%lQucki<*;; zeV!mi|LLcFHYFY#EB#i~O%aUI&(StHz+E*p8jS|~63YL=6`k|xa18E?Q7D!u0OmKZz08LK72Mb z7e$-T8?yGey9jJWy>A_wcn5eX#Xcq{FgUd#=-b6SM9=joWcRnXC{s&D>_-s$HP!B< z**@D#K`JLo20&469wP|{7bWLyRh2UdnFmorufsniYVRFcur@VaT3RaW{P5cBUDvfe zz!y~S%R~0RGBh%>L$`HZ`%+^$Ns|Y0{|GIwr*Rv;dDD|PH}2k1sEdKgnm_$C_~i)o z5H)=P?}{E8toZv|>{l>W0mdE(tnor-1H0)l(!*pjaY;5F8r|QPCj@*2F9vtzFnxZ} z?gK^LE!HKcx5B`{;OYs#(XQrTZ1O)7YtslL{#0iUvgmjIo3*IouqeGXhop~O(FLY7 zpTE5_wfM)L{eR}`97RDI-oeS_7FibI&1Onm>!STyJD-$Oo*}7G9gf#m0Lz(9Ukln0 zv+}X2x!zNVsFE|rUFSZqZZjfB@A+t*dUkyL7z_e>CHdTH7&#Wc$QU(4rlY!my%>tn z>}NOgEckrB9e)B*4lD$?*3cDNvw)}UxYo63$(y&_t&o?7br_IY*&rRTWDI@1g-`YU zWUHG?U!b1tY(bcnWkdRq*vMk-T$kJN@gpionAvQGw6Cf0LQQ{l^OU0yx%!2rfM^3@ z68^kI*aFq*eSUx$QhNN^X7$o)Llxe33=o+4`S}6VjjZl(xNCQK?-7bqMMXt0@lQL> zLV~WxNXr`?J?lZod7M2 zCb}CxR||}!u-Tz$;^pgnQ6UV89Ha;Ia4|Cy+J-x3WKarcCBjoG7YtX}cn}V^7nIB$4l1N;{9S3J@yjxwDHonwwTmFNatjsoAkFd@bq)g^H ziDXM8&mVY$;WThQgTY9;iV5@yi1F|#JNeR`eydh4wc4BWj!cFl2v-i@_*1)u;d}oF zkj=+?liiJ-H*`%A;%=i^nRJa8Phs7*3$@kWd80M(1MqbK5Kp`F?Rg6qi3ViIA8PmYfQtv+EopThDOv8Eat<+_wqMV2}Ek^mkL z1E!h}(EVVD75=rN^wZ6_i+3?2kr*CZnv;_wl1@YuaH>MSK7C0tpBP|iX-Vh7i>p?z zDC(w2>uDsRaF>ij#6=coiq>x)n*h)acLY#HO=B5;h+G%+;A$9dVw`6;FEHAvj7s+* z&mV|VrIA<~S39551Z4dkIWmG8*l)qoWC`Bk47~>n za$x&eZ+L1{Ee>~O=F`n#LhHuh0Uj@Zdw=ycdqaN1a)4zK@4Z4MOAqI<^`%&Hr!cB; zEj=aW$0F^jL;6*hk3t^Wv`iGWPTKI4(J7qiqm^K}G<&zDl@(M7#w^XlfK>Xc)!b~h zCUerSsU^^oH8*D-1BZv;CVGHS$8_5YjZ$S(01u(m>k+=uC2=)%tiG1ZGFf-`S&W&3 zE5*lB*OKpD^*yP^ZXELXcAn^2EeQ$D@sKbA$bRH_><)d?wtE4!8eE(4*S@tX)YoOc z^|T{qNk)qFs61zf^whyPKEOOWqwFrW!Yrc`Lh>O9j}-M2&Nn2uC%!Xa6e1(E8ZOkV zH*Rkv1(`if-R#}?6oeUG3IVlBl06spabegU_8iEf9DhcZe&r0tQn#9>-VgeEfsd${ zlPu7y5=dr6jPx}kzT6DC{odyAVe&r~ru5!#kcZ>e9%-usCjsz5=tB9=fm1QL-k^%% zyx~VbF)T@v2Y(EfdSKM^QWcXERo>U)-J0uJqdqzQk2l>L&T8ayBm3Ih+eMAqYRsV# zQtZSZujaK)#%M3b%m#+bAj|4Q4sz&hlDpMyD?3|soOxSAeS4|D9H`c60-sAF0gFQL zwg?}@_*#ykU%-Mv?G2dHq{P0g4ru?Pwr4_+jCr++Z^P6LDxn9jr z;yhHGZSbv2vX1S;TZb~MTOy}X>YSXo9QldMSr0;F9YN0O3h1_dwm3;~nIsxN`Q%l? zRW_HysqNge8t-G-Io_ytRbghc>y(D058^?>$4yd8OiQ@mmK!}-6Q8V03Q0py*CZmi z6MPviEqa%k8a587mh=Ab^naNAQJ}ET&dpV=uC}cX>~U*9I4_M<$K4-ynniOB${*)(rF5kWews2T$pT8Ftd}xE#Sm`Z!YrzH4R0KPE8n_mNBm# z@1D%i+479vPjCQ(3C>&QgOw0K=%>wjF`J6+lExnHV$_Zf4ppTptcv=RoC50d{mAw* zAin2T??|t{nRz{_Nsy=2BIgYh0eJ-+!l;xS?X|v6sQ7QZnpx#?)!{H{9jqwJ+k- zuVAXXQ*aY4<&Rom37UeAgN>vqOiL%}Z(=YvTP$Q9H!ZWQaA4p6>dljs)RV2GXn6@3 zLsW3HrVEBm3K!agaz+6%h@aCDSj$$2w^pWm%ATB#lrot?pTlsXj3hNL7>YX2i+7UR_{-D3N*ICbAXi*a=rcdX^<#)A- z-|UhQK}QcT0!4^*Qd(MHI6{%qmbE9gGX13H5!&E0PpMo^>O2=A>yT5xqfvXYovm}0 zj9QWehSg$NSz68l`e@=t+K4skeDgvAeF{}!88Cf0l)#^>#Z4S8u3D(Cd+rr<#0Yb7 ziWR68G0yWpyq9P3s)ekWMnd7R7Vc_Y7|#E0QC736(6tF}Q!@C;wbg_}NRL|t)KD}- zH9$(KXxz*c`FpYdX;5QwCp~MT7h6sNv^79zH|eNE3_woBgYjoMcGd-)Yo*kAKvut9 z%@pG#i1XK>7_m1Z>$g(d*J1g7n$6D*+i3t*j*1-0CwwZFrMW8;`G&7=Y zP>|*3w?X3vvgK|E0A5)}E~T$<*6J~hoa4LSpD>YE^)3gIY}(;@g|cm?WTzaTLuMxvn768- znnT!qhxiOcC(NLy(GzV?CKtxKWsM^EL1XZA;X}N$gOJFbLo=R9-JzVf?~nkjD?*YJgc zFnE<7+J{YpRypm~88c|+2jdV>y(wAEe7x4N1p3}hDtSqF?&wTsNMSpbGsS#_La!X0 zp2{^x-3-_g==}lADf+$&==4hR2HQ%2MaT{{VzFpI2fllU zG|CX0$mMHfa^gsyi2lUAXCxxlrUZX|vV7BLPhjnGd_124FuiwtrqIlYr-SRirv5U1}2A zr%{r~vmViP6L2ddD`fC_{wQrc?MR;ps1ps`AgJ{AhOWv!+xK3MGR~K5m63NIV|UL7?GKc-IX$h=J{5Z36vdh%hq|w0U+x*N@G~c!e6UY> ztXcHL$06k(gBuYVTTIe#9Whx0wl-%eq$_lrWW;{*ikl)iU3ay@N4oWF7HzYLaf_j{ zgm3Q?7o1KmC@M^jEWP$qP%u{7sc@#|Tl9baeq#;X75LK>;+x-J(bUq~kZtCG|KP%R z8xt0I*#C3v5b%w2f9NoC_{}W_1(g~@_Bc=U!{PHbf_-844f`A!!AL_xqfpIB z#4cdR>sJk#85`RaxTkK2UMIFJj0<#M4PN^aQJa~GO-*%>6wUhkX$~V++DQ*#J6Eey zGxf4gEv#*fpc@5Jsg!ktBe3vsJ%!71+#-?=|)QuZeV1!kPo+-A!bY)Z>pAw z>>Kbdml`;)AMbt3LW5F9FG4g_0plSaJU($7rly>(PwKHO^w1DRJZNk1)c}XoFnEf{ z!MqKY*lS-ziSygfs(DjMPF%!DUEU}4SuEC^u&?7a`dZ{ork?D?wIQ*<7SAIz66eZC zb)47Nh{)PYsp92Qu{g#ii-p!(5x4HDgqCS(s2cLiEb z3;|i_0Tnb#i&X&%LOU)JpC)FcKJY%ZHBINLA;k~X+nTg}cGzO>kfwRyA|fyOt6*+} zV2Utl@|4|rEl=~%Kh>GVe$r?_u)h#OIM+ihX!E5l4D$|;52%-d>LvKY941EpZMxEf zwDU)PyIkcszypfMtF9LGMOZ>O(^=gF1_?qCYVIJAb#P9(Ue)=*=@JMBXqP14&%$sE z{mz8uY#wHJ2ipQe4_v^|BX+Ad*9AM=P}R%o%DUFgx$b~OVv52HD^F*wM}Lg9GU!@a zNzCry%wV4;en_a0$l%5OsMQeBMp}$bLDpnJ*@tr3W@`n}AYBBZl?ovE75>o8(#zSb5B6b*2A-s`6rhg3YF6Z&E`hi>b@xIWqSO+B(RGB8 zLgD$Hjd4>CME^Wc3mqDV8|3_yZLA3xavA>zd_J5U)bm{Y8{j=$qW%)Q}3BhoEIv z1HM&QEcU9w9DH?UbyYk4{hre$p4q2M{-x;*5Oe&iaFIpV3$}uh3Q|;+(??=#+;h=3 z1rSD4JPu|((8~g%)Xx=ezh(Ye%Cj*Zrq3o%4s1%rS2VB|`mNhbAYps>$pj)1L=L^4 z=Z00#tPel^b7~#Dm2yTS41iRJd;}G=K(}w|P3Uc}#z*e|Cz&32REBjx?}(dQ`v*gp zQP*&XAohFtmH1L=%$(E|*A5Il?Ya%&Q-X)kd`yiQ2Dh_S^`SZATi_&!FRO1NYDeFn zKRkY+pU(5qxhR%FutIPjP;e~)!>tUg=UMdxvaiwbAPMNItCZ-JCbQM@fI2E(Z93)#W9nGsCrBvl z4x#Dw@cE0O+SgmyPx>N`EIQd?{*&4`F7!R)yF<_TMJ?C&5TZ5HaV@2d5f`gZFEa7$ zr^f(%NQHLA_f9Wgc|taR_(D5|NgZwE1@%8qik5E-B+xxf%`eg1Ug@|D)N;Aph$pYy zD$XAoLPP4?%@KT?S0vkVPmhNV4)66b`#?=vj2}%!#^J(}fuFPCN0d(Qo2m-m} zHfHLW-*8TtpW+C232auk{w(b8t#9(m{#MUGCwV*}humN0w_u+Il~IePD`cavxAg9c za3;ULJ!>brl&FNTO&&2drpzCm4oSYI{W-U<`5d~b&M$s0DLkcT%REy`Rm;HH5pl$x zhBfBENHbOChdmY@NCMi=DNtu)gE)Bw!O>e(s7&fjdnN~U0|xk|e8K}}xed*``W>YAraA|lw8-TdKW`4@gS{MVsu z$mS6-x5mCL^ zRaf=P1}Jb}VV#14$Ir5ht=)L`)0PF}GYK0%463 zpTEr>Nu8&SF1pRuG^D@!gQm_{?i4gEt9E2ETsz0dJtq~D1TJFN`whqr_5{brNDd{0 zaZ6-Z?ZUHdNh8b-^U@xl4;2nw&mCOLpPW4~W$hxgzC)c?A)@13!=&<&m5(zkVj%17 zDm+bQ*u2dA1!vjmiAjeOp|}%on<{v;`rRV$pe>Ws-CSC;Xdlr#4KFGxq6BwHy1`6F z22&lur%D0)LK{-H+4%WwxRb4>VRoVm``2tYlkSFq@Ln5c*ZyhSM^{Ag7hKBcXZqaQ zv9BRoOd@lQHy5@VnpK#yJpq7?+W2;ytnAfUoU=lZ%Ro!R@4|%!?+z?)Ss}^5(ngtJkgHBWF{r&*QT2K8f46hN_-o}s|NW2;&Gy|< zF798Ktxa**?7dKG`GefME(B2=lw9I>w6ASmpg@FE zAec*?4U~Nh&b;_=r+CBOA0wzGqSLuc8!VoEV| za(#SiQ@08jGTW5#0S0?aSZ1CcWKI^Wua7)(Ho}`>hr62(SN>noxKB)3jS)vubC4zc#SiW44KGZ zy4-t2AmH>I3#cWmrpeD90P_fm0Hn4{OTdz*5i&J%C`yO1DT$Ust&qAxw4hg4sYY#g zK~twAYB;cX!Bs;PIoq`v6X1M%H?!@fT*`G6O!tzH1?}^=hRXE&jZ8eTWphgFPrF@j z728*8HLj_YJXPAcR9IYbIoAmKX0Nh8s36)!;pH=;(uo~gRBmcRcd*~Ln<&(3Xx@YF eVRv+;MmO6JX}yc;olt>xL#g~TtfriY!F*ZDNTeMV zoMdT=(v4U_8(N`?BfIv6I=70J8tR+tZD;d3rwQ>TjE8(Ag15CA^+BDuIAPx4M4VSZ zdm`DdI$-={S}Qx3p`6z#7shfin8c%@#`hejUbA!;QZlx!%Z>vlSt2b?1(l5?E^rx9 z{hxtigJ5SdG?-E8iMM!iIo!UyJArZ=kZ&HfDTNB{Kk4P#moFQo0s!xeW`q&rS5;-v z@+1|52_&&ao2!EEuPtDwkHNd8y(T8JGcz;Oyvw|&w_bA2tVq*`Ah#+W+KR%PF)SAA zOT10fsxyT`v8e3l&(9y1%cU!0wg6HrfJQft@*;11=H`DjG0A7n+(tJ_id*zqK_?** z+@%bK;t1I8UGWW)=-R&D=LWBvV+L;=%IiElCKS6Rj1hPy@SW&t0CqOK1T2e;2d;~@iYX@6LHz> z3506(!7RB+=9o!m&Y0H@$GGI|D>&#GS+?F`$aix4ivmEzQmLv&ryd*0P^>D}vZXrXABM$Mw0sV|zT zUZ7yqxK?}PS&0;`tywk^x9aba1EV@Stgk})CfOcX@?xAUJ%=DzZlw&elXYA2ep(x! z_T_DeSE%bJ7Qoi-u=wEQ9F3oe{)B2{FNfWxut=aT*{0N>u|()GKE~(6!B0RIHcuwN zEuSnFJWw}a9_Pli1fHt+CH%kJNF)YC!c%z6>7?ROdl$wGlE|F-KK?xj)&Q8TZfmIX2oEYWJy7*Z*yJ<&EEuLW`}832qjGc)@i!A@y`e8c*?JlX*>#fj#J@!iwE zsuxI;U?jE*JADBVb_AXZKX1s2ZAFP}15F+3`clUzS%qz3pUCnt$l=bbPfv6ndGOJ3 zht};bva900aUC4KKB|1ZJ$RXPHTH~dQMi>Zeecr+(J5R{V3U85!!5AdiXH>v(B9_S zntQ6|fSGaTrTOF$$b5%xr4ZA3* zUVH!4Gqf*DCRoh^QQugb_YvB7{1PIIsEL_mt=VBCKB${|B?c2xFGbeXFD+7f-f(p{ zA<@rDdyhB*a+;IW2-`vH^>|qlOP@*7sUECrb_RzBG3iLG6Rd7BSigvBIt_|kMc=;z zNokh^C1Jf>E_Xw^(jifpNki{O(nDFu^HVUMU*9@GEzV)v^Y~*OaPvicmP~Upiu}K& z3_ZRGsR)jza5pwY@Hh>mxeje_^$`37vnW!^U9vGWGzxv-uAK@>SlB)JNNvX?TbfG3MDVtlXNvb|bS>Ns!Q`Q)i?>&J+LLh;tP zUMtG@hB$t^WJzBbGNM;E^ti2wvCHhADEt>$Y@ z;nd0HJbKe0IHXjT!0GTIXb9=AAkosVncxx|EsydhCnnxAnM@$Jy-h%(MMbvHr*SxN z`k0XSs&@f}MUa;)1Xm(e98f4!;m3#{jqixQgAdOPi;()On>m1gaAr)^`>O6^vq+}* zx9CEM18pgT8x(f2wMxIpRYgKx`)K@5>Y}f{`eUPo zAx6ne0{i!|;aI!1EgZs7Xl#uxr#kt4E1q@-8fu1WGJS#6NBap^BD{1lrqRuag&reR zPI?`FJILskeVcr1JPl_#Q(HMIsqW#w*(Sz3X+y{FpM$W1P(O|4w>MTh9vz89qd$Mt z&z5l;R{O4I^45x{cd@3PMgDlr8Tc$%l`Z{KxS;9#es$jx!;IKyb04a9o&6K)HbVlC za^uRv&+0FCfZE1iO|Lf%V}z0<+>?K4MH)5qhv1S3!l7ZRZ@cn|=aoAaAN;4I9{q<+ zD*PHAeq0_pR$^SbU~Pe3-+$ME7{B6m-5`k9-Z?P#+aky3JmtPMSw`J>8)nV(&`PqYi zOe{G6e4w9r{PxC`KgQF_2SICK1bDl@7qYzN%I=ATLy)p7zhvDdl6=HsGwl_|r{b8` zID_CuU7JzzVoGP+K0KH;bW|A=zrW%P_!2%9F6dtv&bh!<+B(ix6f9q~sqBYMq(4_e z?Cbj>;zR=NkO$i#ZFc3Ja8N_29;g_do)FE3%#_zJniEjHpIFW%Vay?OoNN23faU9h z8Iwb4_C-q>(#5O>Wt7W#s>5&<_C$NP5Z2@s&xx|j--5;ww6m%0Cw}+sK%SX><=$Fr zUWk4B=;V-q5WB1OmCtu%Q@C zv_k=e+gRW(UZgFi4x?AzSXC74s@G>Fot=O+2Gh^Ea8-8OASmaJzJBSs=vX2k_Lzrc z$$F9l6n6`KLKPUm$*nCkocAhc-&_iO`p0>MO=@@!1{xEJj~`KV96u*qqXB1R^F}Qw5@sI zfRSSk2DD?_scLzNYu)Fp609nzZ`_wz_xZHg4xa>t`eon`{Y%UDfr!gA`&ASRnYWq6%Ia%z@wDm+uLBE?u>n?EchUoWdoq*P zmC}BPmn&UTlMtOoE$2#0OVI;{)M^)Cth@cVm4{m<$mK6*gcdnHpmeK#z17{YU~S90 z70aiO$ItRv*m6TjtM&hZ&OUh*FAqTLt>_~o!B;{wEn8xmE8i5z`g6DD@f$paTpL6Y z$#f82OV44=mWl}KniTGHjZV3-CvbD7p$^B(g*~_sYWYNL3p=Y+} z$N=}pq;$1kaTWzi+I8#q3h#k-c+(W=uWdqB^PO!>^d|REjGVrQ7qX39=E?dU5FR1-}-;=6`9ij diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_above/sp_pdf_curved_placement_above_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_above/sp_pdf_curved_placement_above_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..03c63c662e00a21d20d271bb499ed63105d782e9 GIT binary patch literal 6669 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_below/sp_pdf_curved_placement_below_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_below/sp_pdf_curved_placement_below_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..9596636b30f104af90fdf45e4d1a5c1ec4b1c8df GIT binary patch literal 6843 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_online/sp_pdf_curved_placement_online_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_curved_placement_online/sp_pdf_curved_placement_online_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d60e047a63aa5ee5c098916e64f8494ddecabb GIT binary patch literal 6487 zcmeHsc{r5&`~Ndz6b^+bX^M)HEyp@`l0710OZKI#*@dx&PRfwNv4?Ck*|!tN5;@Y) z2xFTg`iMEG$eOk9?R>7^zrVk~e|+b<=9z2ec|Y&>z2C3bJr7NcbvfAh*$@Qb(AT?q z13^$P;LXQ!2!1(sHC7ouFacNe@htEnu(+r4MF6{qM1C3b49$aGn@ACh*!I$_MT>E+?niW}=%wt?4Ix}ll zXDn`ozhXnCKZoX(7K#Y%krIwSiWj=Xf>tCJsZi5g$6Knd3!)G^KdkPF6DJH&Yd?OJ zNwKf5FIw_ypY8EmTU&ckT3WhCD0$&@*%FOl8zS4QRH(vx$22rK|DiYC%`z_ax3#Pr zzm}YwEU>bL;YM=Go6!H97kzHTB81?M*|!lsIMtZ&CBP~L1%(xr>-S%4Xq$=Mf_;Jy$o4n27x?Uh()#r9mB5*QT~HLbjdg`0#_pC+8vgQc$0F9P*{89J#;eVwJADj;y_L7&&HJ-&CLDioJ zAABsQeU6Rdc~wakWWn>q56Vi| zpU^fvc@5_c>a|MI4CTB!rEZZ@!1&}%!rr!d+tT80PZUBzlH{BiN!|ExSJ(Z&W@-|;3c$|m>kV#o_OF@m1wO})gD$&`=1FW2rG8jXS$=ov%!7QHtt;$x@qexy-w(z&yfvD( zv|}(-zpF}J{fv8WVRXpt8Z}u!9rVuXFS#{po+<=pWQ*09`EHfRX!Y>#2tA*IJc|`f z5$b2Grm5R+63WKCB+XU9o~wUK4_h>NwNx64DWro7h4#Wm%&HOzQ=?8bA`0dFnw%n( z+FIA0{e8Qqy`OE5)v;dS1B+Txqx;J87nYbcpLaW%Cg?WNX%xyMP-T0s&Cbs5nb5Ck5@q?5($(%}&vW38!sDrn&7z4;-jv40=H}K`iQ8}Ywix*krVMhr z_h^uCg&j$T<=ilrUPop)`DS^O*8|5gIOfp6QXE@MoD!N97eKG~I(mqy+wUc$La}@E zQ1!64T83}zRYBCnZoeFV=?$lvl*MLGu&2cQXsk6VvB* zwYEq|V1z<#NloWJ+i33XBKX*WQ!kpCFcmc#s+piz>qz_Z$9B#u^CgMI!oN=pFRnva z2Sr6y$r@#BoXM=FtnS)||3;X~V1&-5<}*SKyDa@avIupc+mh_|R%N z-TXVF_E+;__O{Pt?-81-e2*VbLV={D?@PA4y4d-)-izucV{313xXsJn@3z{1iQXc65`VvBJ8zq7ZgE2%Wsc!q zX1&%GQ@?j&-$plLl$^Y<*gRPYA|BMro*rF}Lrh6M&cgb&8_hJ&wg$zsjP*`N7UD#eTwIZ4A zW)tR478j}N_L=y?4+M)}mz;>LzWtKIcnW8I@ikMbw!7%q+D zGifb5gsIE)ZgRf)-RlfK)-S(+fl{|?bL*Qu$`ksVgTIl<-Z>(y7`>v9vX3uWp-7Tjb4_Uyxyy~Jm{vXC8{cv+O)Lft&^Jn zU0dG|`(pX_BJIBh+dy9fAr^vL5)1XNU%#$=RMD1J&_v86IoLUq&c?C`9N57$;_84r z6(Y!zFX5oHT)WWR(jqoxbDFi@GYvDA086YJLZ6@E1g%=_s=UVKtG-7>&87@DRW=wm z7@T|VaBOox0m+e(*=AI=?+@BX?G?)!1qB2Yi6rtQIBsPH6*wBZrR|sh9__3hkHKmL z=~s?>c}Qn^d5x!Agv^?gb8I)5ytB|p2=ZvwA1*()N84pHue}pioZ4KUrDUW@&}r4y z3d}k8zxj%?2u&Y*K37LanZAZ?rn78X%elsF$N#;*PCGsRt)ygfX;17riIaJ z_W%+UiUfP0qR6it>B0UTZu@}DsxudxA>)WM&nDf;#;z68W{tx0JDW=esaK)HJMyJV z(B~#}@)({Obds+8%bmZ)DHg_)hls4a+$MGXUXA9I+iveR?#K>8g@tT_a`)}qH;~!F z?)K=rxr(_2L6&#(^f+!JR}2O}oV+bhaiKl6EVeIjMZZvTZ4qHx-`Vqjw^8D7k9vb1 zPQ)E1qGB++_CbSCiCnuK6S7B2#s8=zLjrxjx9djPuvy@}F86%ITEUkW7mVRHaelvJ z-QczPm9C(ws+wl#>&OSq`i?ArYq?{bmzSHEm&tt5eO{3g{<}dpUiUy0Qy#+@ zXQl6vi~tMPScgl?(E(b5pZ=lQG&GItx?D9C(x24~8C0JPUL^6(b)y9CYjo3A(-@&*_BP&&@{VS=b(k~H|JlTPzV7ki z>4>rv-y0+|b_;VgNEYZ(ZA+A($%bsJ5LL_H7Fd5o;Pr5qpy#LE$YUfHmSIySz6P%^ zFAGvvWwZO!JKy53(iXkCFxjsTMQ@&mt**)3XU&)oB)QdfV{Qq#p_O=5 zir%*QrC(i7{ZPel6OH*2Ac>#$UIj2k7@66Ld?kBvFF>}dgyZERF{G?1-BSI5pIS#G zryfozJBtOnEF%Q}`f?h*K1t>uo-u*rt$u+3LOe92vTcORKiqj{ZpN1| zt4|uNVi?j!mYaTm?q_S+w)8JX!&?|&;|_lj;N^aKdxOJV%ZVmE>5ChloXiE>;Z|p@ zI8+IWi3%h64>V#MNVK;l25<11lRhD{`W5T$6N8bA0o0EO4EIZy2@=_?+NcaqCzI2R zIWbj4{wlkwiD#VJPv%w?3our3xAm%T$UTNWHiOIRcbl!tR-sbvuUrc{=rKOV5{Xyx z7-`{;0K;VOJVpp=XjTi7h0gl8h45#u8hM0BjNXQHoUm zlK#b^A?#5Iw#QZY^G@XWA12=TvDuSc0skQ3CTCxJTo6~G4gnqptR_~t&|6LWpdOl+ zksC^e1O$v&W#1mTJjpc13??wExJl~K=wk$MJkXl___5N9UTLYU$tj++iE>atvyPO1 zJ0%_CvTs|FxUdj|Um9j|P=Lcv%e=vFGjI^;JuyGczRv?lD*9lx z^SGz4P=;i7qR~{9UKVy$5ov+&xNfTM`F1zYT}P^Y^lLDMgG@^zFP8XPW)`=ZKYbOV zh&tZkxNNCQzy**zA}}dicSnO}n=2(RUzP)mV`s@xXmqhQtK-)$bH&%ZI7z(T50iC4 z0Ar833;$mB_|XPLNRE#^FeJn>fkM(OTlZj86rCHpjlmv8vmQ3fS8eiP+azsx*NLC# zsYw;O#FWUi8a>mUdb;t3xAfQ>@ig7E87lF5(Xt`tTDyB7G{q zHcL8Uu$R!R;4%OdraTpYubM$A+q!j;8W8XJ$J*+@oD4uNph1e1b;GBiT#xQ!+8_Q> zHG%M*dAOo-5nRxnI(bsY&_>%-oLML6#)jyHKNe;p+6Y^PAMW7QWB?n8Z3=py;&bHl zY1m}#a2HH@KTMh*z3{y63CCS?Ioc5%b@jmHySp!eI)A_SQr3tvngFMJ%9o?9;x&}a z)-N3z^qIWlM$B$Zo>cC} zN;t*qQ|&k|+tlKy<*Y460LIB`mP zLg`#+TTRi?j!?(mZ;$aA^CPF%s~@rg@m+&PxVPE<6YOIc{ur0b+Y!#GciTxI36rFw zwYv3Z&U1%6R$5j2{K+Tt^^5Capm)7HQ_35N=IQ22;74wCnLwqmJ=SdJ=hrz$n)0|L zj{gFL0T5&-i^fB?d3J9ziOg~iNFMAxkA!>!GGIB~M|FXR9c(aznPm?KYzjcV!IZ(E zDrF2>rP-qIlI0TlKY)EZt>%;!$_Y1O=5NfSzZs2-o=>YIpJ+ z-9lEJiW)mH(MB~%cbye99}VKg#6U3Kjr5M3lzZG)^O^SU zHz{=Wb-dn1Nuo2*BnIO)-(cw+)Pp^EFGfX4N@)Y5i3rNrs& zi>19;C~_QEbcA#7H%z8v^SGA<@%y;&<3U;TbXUXI#}XVBacNTMWiFN%$7XigfZ9{@ z)#b298mz>hmCTPURfY7y>_v*5a{eu9x~SSE>@jXi^1tS&_(JY=d<#B%X`dTG56nhDXEAceRhD z(7xPdDMY>XJHB&oQ8+ogo^EHHsVUEjN;2H?KcM~cGCQ$_BB??E*O;cb5a_5;h)b75wc~BLF^zYaqzJn}6hG5-suM$8Xa22N64Keh`i^H33LEZk!^P>DdCKOz)?8ImlHDxzN?mvIIEwkH3g$7_NV+u zpnQ@<*c6H9sjEQ7{Qt2*N8c~}x`Pyo+{h|f*|U!l5PXb83%6Vc>{BZ)Rw~uUSUq^y zDu!+TnC-1w&x)dtKVo*oAiQ|J{1*UIhEC+==V!Jd2-r-Z&kt*BYYW_x1hRhm6eER> z<}FK6OF795=u8%SBq$;x0**vHx%33ytf~MwF#d8Tx#vNfFjCDQvxfS2cmXtAlk<*J z?wRd$q$5m4Yobny9R^0idmcc-5eH?wUN{im7xuh2I5A%Ln4?c~>V@W- zMfa?CLADdksOkFy!^;U4WMO?Ufg>Nc4ze7>@hyBQ*8RcP?c4wN(5*>JEdH<(Foxjy1Wp?ouAjQurOTRy7j30KL-JG`@Y6t)#@V% zE#N~CX5h2($H?^4+&vkg9=~@_Z69z?zCr{ag=0`vKj0R&8fGxpJhQY}&^Sp}XD|%Ygasp<$3#{LUrr|1bZ$4W#a>{b=0E17@1)Yh4c>i#CUP-`MYcD&RJ~|4f2AeA>DS2Uo zrU{usfyE=thECOBjaUK#1!;*?*qT|1=3ano_JQ9DZMoCbj9+{miys`1B z*MsuiU0NUx4heYIJI<~|;H~eP=gqKS3g(yTbo%LyBAGjASnOU3i+x&xUp?32HeZ1< zSv|jhnzPjnw-f^pn$)Po>fYXZH60Ybz-4U&4js1~aju@`Z+=ANfIFh#5ZL(Zl9;wC z+wv8a*cxS}YyWiLQ0`w^UYQ$m^U)ZTOM?oEgSfx=)Gtqw_P+F9SBXtgTVG`!RUJFatBZT0rb_n{iExV*ePL;(-5^v4XB_;MagDUu{V4?N8sjQ4VP z;r=qWqAn$P`q>3=$mCVOHwkE1U`?M`+Dv%2v}GgBhDaX_){YL-Mc}~3b5gWYLqbAq zoJm)Al@2h#TL^tL6%8AIq=EsmE;5Czwn0Gwiv3PhVS~qCsi0&CNdx26sBpEmtnG+3bk$aPRenz{6nj z$YYIuV|2Rr$!DKx9*pTDxxQkWJUMeiRkOj`l7dMQF)@Q(T?PXWlSGV>T%`#a{!$0y z;8!br$f2S};JjcT?g0p16C~Fkqk2!8tx28V)Kf4m9yP{Zsk*&sh6h1s=jmWf*3cD= zgF9=9J2ga)WwJQHN)8#v$R}Y7Fd@_Sgqp`9&OXC}@db$dAZWN;A@CalH6CwhRn&16 z*}s(IGrX#Eu}1=UchalpX_(&8w2v}iHYn4n!T)!9*SoD8p=M>caA5IZy&qA>^DF{J zc)ka0*sFMqH8(p;uur_%DiECJ`#4&)5($jh(8js-iN2mw*2*$jlU9;Y4@ec$Jit zG)ex(O&h5j;(pg~bwTH%tAvk6_ObhikMB=*Bu8nTgA0!r*c_*6YHD`hk{L=TZP+*5 zscgRZowIdpqU(Zma`zsGyqY~b0-eOTJY`L z*gC(5BzN;8kBemjUiwJbWKQ%&8mzL*^}VroDQm!JiMbKv&^6`HvRCYq1Y|pZf*H^T z&Gbsgii~Tu&p_H+RC*E#7USvI+JL80ljp{d!1(@LZSdrf9?E2WxOS9Q<5GVttxy54 z_Jcn9Hd?Vb2vQrK07q}zKlw13`ce+(8bb1YiGFAEIH%ByL-pQli zfSR28)7r6N?}sa|Gm9BSB);ynVLVb{Ymmn!{A3p)RW}D9n%3*fzQZb~dKCD(3MKjC z$6d%P4Q;1;M9sW43}<;B+2H0XTeoG2OXJdDtk79c;z$j1GM#A?kF;O&lp$6BSX%3o zZ*7P~U-^uEGxXKvY_e8aWtHl1> zms>TQDT68vK2NE9n&qRTuW`==GXW@uTH=QD`e&M3TL=9#2FPSHcWf#3vrc*CF6@dX zg)?ryQme}Uq}ZD&-{=A>du#Xx*Ce#_TtjJtUzqkGfuycUW7{D=ZRJ@`Yl>QTW?M9~ zc=t=m{Zw`%85i1Hv3`K+Rm<`kyR+&KkpFd}|6hS+o{=;U*ce+=V_*8-#~CD+>0Ei1 z&-klL=bSv0PWLaR7kgK~^-c-5Gxv|gI`4<^DJ(=|^L3*yNs(BN4OlETBrI&`>&@X4 ztVQv4!q9xPwJn=v8`8;)c<@haRrfS94a&73htdh1>`gcQPQn=T=Igq*bq%;@{!aCt zdfBR-if~~SM=27(aNT?*a!p~&aQ%t*vo>SdS^NDmN1M_3Z+4gvrShP!UtE6F_A8bB z(aGG3OmIS=oQq~B%;rQ_PtB_**l_HrOZs!oLxeC}XI=Fm2YMHmhOTA6LIlyjqhTd zvMm|SEk&~)NzEMn>0R}6f*mm8;k3X(KwGZWIxKWMv{o-$+w3Z{Fc~jaLJ|&zQC9m( zoNwd?z3DoxJUpQc_D!QX0dfE;jWYS;;S^pju?*vSALm^5Dt^|2qH==U*eZC??p2q$wW-#go~MP9pq_Zi7*nc5L@L@eUs;MS~Ngp-8d!*VU>9I%3XDamxz#r76vs-hW zDn2IhqC{eMTh+jgqZRqCCKAsvU|VM}cm)Ium<4dc>pIeBw~Zu?9xdvekW>*|drMU; z`}H!6-z32ofyzloVd?;vDSzz};QTup+sdk%w?F&+Pp)>Dm`%QK{@F*d?ryz;M?2Wj z(OVl1OKWfK3)lZvC7jxYd#p?zY`93f^D;!R5O?{T!AP)uL)4tID}2aOwj=z!5GWjg zJOC>{AWiLc@~NR3)6M2z&ECqNl@FnC`T$~$;p$cFjETA@#$hl%i{z;{PgR(ltt6Gt zHoOmi1=SLwU4-DiEJp&*-^(0w7>EA~w{r*nP|o-8JX}D)lj5=wW~dy;h}u=0Etqe+ zZL!|;{taWY&E5GKF24%rzH3}q5v4`?SeR{50_+URJ#L;HGNf3B6Ppgt>s0*$vLRzZ zkh-!T9+yFuHw)D|0~gK#+!S!TbkAo1=%uBlvto*JE4>tWDTKh2J)#37X5J&_KTax{ zb*@u|`%DAlXTsN)8IOCWZY(4)`vUu22u0>`>8M`fwsYQ$7?uA#-1PlZlc`B9TM$mS zbOt|sco4JkXX4A23B5&*GeQ6abY_isPBqeU@X04`XLQ0{<6(j<`6Q44fJ`sTRoH}~ z%ceQ4V7Go6kzo~ga=*S7JWhLK9X$MeU)~I3Yg(&n5r;LT->V8{2_ zwPF1Jd*m<&y(nBW_qVB2T_91kQdfqsw;Ai}>vW#m0{|vbe-oyI)_xTahQwKKHTk=l z4%7`U=FEgU3#2A@;}7XtR}CpS=AO+>{l#Ks#}r|$vnBfcrrk<3O|$pbj+n6;P9Oh@ ztb5*Fb4X>Mn6U2q>*|zX?c*QE-|ROIffeI~o?zRUj(;oMN64YAP5(evqGD7_02(wJ zjra^F^C4BX#?`g_@hoMc`SaOnMQ{2X;khT){h-`@>$7N=rg(q@WeAj%O(X4ia~}?e zTV{{l)?C-go9SJ8>lkOx{_A&0m6NzK1`qJFieD`rk(q+-{Os)F!T<#GI{dZW15HmG zPj`0M{3e>37;o-+IZxcKG0Tyyt9}v!h=hnoe!8mqX=>`l`ey5*PJm7ds^ws?Pyepr zmnS3j(hg0zSNO6j&)%ZO6i4^lmcP_WO;$QR?~9O&-Oa~)twh+vp%`#vAhrNLh|>}u z+Lq^rn0ZriI+c-7%w92J!5{1E&06p*)V;^9sLi*i0H>oa)MiD#_6bYbiAL`8mevM9 z^8xDYrS_u2;xU(vaG(}kIL54G;E|ef?eGP_X{Q#xuJyU*XJa*wjkyPxW@F>b43Vw@ zxfUk1!>@kYa(?!3bEflA_l`WqFnwi1%iLB4V!zE$44J`J^O4Xjk51^F`I2xxD;>P-Fm?AfHA7oLrd>ewz9;zYLBV*J-7VjM)Ppe%*|bPq3hK= zv0r;uqs);-qR6wKXehfHJ~Lq!e2Yf7!4s$==)Uy3bUhj>dG;lSjnoN{Ry(b;OfK zjA>v_q-Va%*oLYFZy7iGTT^W?T+Ppfq82P2?JB}VQ z9+I~p)ZxlHUZ@RAO-46gZE)?la=qY>pZ)l%cD_l;iSYz5 z7_h`{MkoBdC448XmzI_+IH#yL&rn#JQu9vo)H6BFd3Hy~iy-07hq_-3q z?A4xDRsJNUSad1_g<0S}nE3qLw{L>$TeN2S{8lnh;q_v!5|u6Q1M=^blxuH6IY+=y z58}_hp=24w6v7j;di{G-_UDB}^{^_L-K|er90qkS+t3xuHqI(ajz?L_<~|D&rvu#E z+}!NoePL_R{%h`^8_pcXrP=59zM1Ew&Z0u{mo7r12FTofM8izaXN3yde}r@E=fZOU zqV#&y)I{Q_{klPtT2R<)k1(DTHK3z`&;sFjLrUg&3hJ2ofLp+IF{hVCRw(xr5ZVhw zRsP%Is|4-Frja2oEg5Umqbdj(kWU~$fsO+DI_B%*6BftlMJJ7x4QQGW{9q=Nz?_^T z{V2ryf5iOG+p92X^Bod2d$}+UM+{;hUdWV+l0w9tJGPe}8SQ;A}-AcXb z*I?q-yS!b{AP1&{FcMti@#l&}L`c;@!L2MW7g?0NP&dB_jHO`%kRe_brh*Wo@EwzZ zoy&|C6IU7AHO`}0B;wko(7!Y}|KXTo*bipJX?X0?e!ts%S^JHwZv3{!15G9wQ%JWl z*$AxI6|1O-A_209xkRMfW)&Y5H_n^c4BEVtOF>I;DY){Z%=LsJ^+b$-fOjLU+b9_5Z6K5wCa_rJ&#UxUtyCbI#o&6|+mI_9QXYVdL}yt1qDjR1;at# z2m$kSC|2bMjjODkyV8-Sy!(wF0a9L+|A7DQKIn@t7& zVI~p*3n99k)72$VeHct;#f~X!&m*ZGCR{JQ2_V2hS7FChA9u%D8wkM{qp{(6>UXUH#ZqKKK zhJnG`yOC+jOI!cO7n5m@!T)41?)4!c-LKs&*#qwPvt3MpbD}weJ7bNSf1&}}gARyx zt|CUb@*r<4kBc7?6baC71*WltLFzMycYzKc=;EwJRU#3f#kk|bH@C!xz6g=3ce>E8 z-b{-@pWY@D(m>~eqHdGni3jJ2HBc$m2eQLac|X2Lr=L#_3Vd$_$1@A|#G@TD#5&+m zAZeJFa#dB~2L(t7MezF<2VM#=uC$Cya=G06w|!9iIj;kzJrW>I|A$kSk{NU;_Hl5i zOXzu_QW|r1Vc`*D4-}~XQ85i5y8L&J?m#ow_}v^EBu4LOSY#fl4hLzed5N1su>-*w n<^tf$0LcaAp#QI3e&4RjwhJp9Y^(wQH-Rul7KWAjSL6Q+m=QyC literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_above_map_orientation/sp_pdf_line_placement_above_map_orientation_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_above_map_orientation/sp_pdf_line_placement_above_map_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..db2b4c4867e9c21d4b40bc9044f257a5eff8d6ec GIT binary patch literal 6323 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_line_orientation/sp_pdf_line_placement_below_line_orientation_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_line_orientation/sp_pdf_line_placement_below_line_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..db2b4c4867e9c21d4b40bc9044f257a5eff8d6ec GIT binary patch literal 6323 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_map_orientation/sp_pdf_line_placement_below_map_orientation_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_below_map_orientation/sp_pdf_line_placement_below_map_orientation_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..80f2d51813f1b4f48f9694d8ee36162b711e823c GIT binary patch literal 6613 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_online/sp_pdf_line_placement_online_mask.png b/tests/testdata/control_images/expected_pal_composer_line/sp_pdf_line_placement_online/sp_pdf_line_placement_online_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..de12a8c40fec44a62a5c30e7033ee6f16f09ac70 GIT binary patch literal 6336 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/expected_pal_server/sp_shadow/sp_shadow_mask.png b/tests/testdata/control_images/expected_pal_server/sp_shadow/sp_shadow_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..d086b335d252a80675a45ef3fa738b9aa5d884f1 GIT binary patch literal 2323 zcmeHJYfzF26#Y>-gLzQQycYqcyh zHQ1(yI=hIg0xBSusk>TGrhq)cN5&{3raTlBm;Uen{nMSfbLZYObAOzm@$*l4R3Jz!Cmpv}boV;_`(>lpU^gTuv$sM@;IZ5LLouMk*;;jJ> z7KH->-r`8$JrIP2E6EjPizo$(TqA%mTQ}eb$SS}N49$a>VenV@f1(A^(lhpXNuih{ zjFz)$(rKftp{dIrwS4@8!=<|tm2OEs!au-Nw$&3kDAq;c2XIQ&Gky0UKDh%~*uqB9 zrnQ+%S|pxlZ&kA;OuIEaC}W%~xY&*UHm%p9{FOl-5pUm0 zuM9M--EK+{F2VQkVHRjKTApi~QyeUQ6F4|%!D7z(sg0&mW1uoL-xU$+M+|(n?Z_E? z{cD$ge)>mi2!d4D`$D(BSU;{Atw9WJ>u~Q<%F=cjeQ%+eR0;N@4y{;T*HW8)m@wUO zV?;r>-Z#)ao5RguN>sF<))8)}{Jvh24$5kga|XSKxhya2@`a*BaUOck;1g8%S;^2C zzFTHgZ>p}^R8OF#xkogV1${CqtY}`b1@v%j5QSf_HV%Ps_$;Cdipr+e-O5s-B2?RF z`c;N@wV_?^zL~Ph?Og4xw=R~GV)c~KMDdS`V#4xAq#Zb}+(X#h%_WM+BbO<5cgkan zh}5y$6lS_Q9dqyby^^HK&{qRjWJ;|;(fMj-zK_Ds9u|#RJ}?u3v7ANCeI9R)l5E<4|Tz zH;n6Z@tzms+kJiubVii^{+M3ZkTg7meLR1a^(H6tQGkZ6!3VYrVT=n3sViMUejjs8 z-*C0UbWDZuwJ#DI9dd^&B=4Pa{p$#v^=GW%BB4+?x+j>~)88vr8#QV;XGy9SoeFxk zuTS{vGO*cnsr-?s9WQqhwZ{it>4|l7y~3`zDE>QYlcvz1U4PqSVx> zM?IJ6H0z1oYvT*h6Yo2-^+$jHiT+_rrb6$W=_Y!)``tlk%p@_obog{QdahoZsFAFh z?(3ZFA>J6ro(TAcIAG7twLp+oJL5Qv{&M3V4qH!rTRTo3^}wWfF;4ZRb(e6Yx;ol= zhpGTyEz^7q=afj=SlO}FR!?a(S|<&=gWMLVB-FOb%Zb~^=4h)>%YSXu4}+nOKML0h zMz`Y#}ucNLFaw(CuufB=XmF6*boqt#khE_E1*z32LO}M)`E2K0J=_hy0)Ft(uEOrHz z^={+|+IfN6r_niU5Eh%L&N>-R!sR)Y`}eM#ADohne-V<3M$50_@>Nv-%S_B{I8mk< U7H162n_Ufn+#4NMACgG=7tQU0ApigX literal 0 HcmV?d00001