From bc97771d6a7e45ccc220957bc889966e717ea40f Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 11 Feb 2025 22:54:52 +0100 Subject: [PATCH] added documentation renamed weight_functor to weight_function changed some default values of named parameters --- .../PackageDescription.txt | 1 + .../Point_set_processing_3.txt | 37 ++++++++++- .../doc/Point_set_processing_3/examples.txt | 1 + .../fig/poisson_elimination.png | Bin 0 -> 47373 bytes .../fig/simplification_comparison.jpg | Bin 69579 -> 39404 bytes .../Point_set_processing_3/CMakeLists.txt | 10 --- .../poisson_eliminate_example.cpp | 60 ++++-------------- .../include/CGAL/poisson_eliminate.h | 29 ++++++--- .../test_poisson_eliminate.cpp | 20 ++++-- .../internal/parameters_interface.h | 2 +- 10 files changed, 84 insertions(+), 76 deletions(-) create mode 100644 Point_set_processing_3/doc/Point_set_processing_3/fig/poisson_elimination.png diff --git a/Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt b/Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt index 4a6c6ec2996..a6d0001f17b 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt @@ -75,6 +75,7 @@ format. - `CGAL::vcm_estimate_normals()` - `CGAL::vcm_is_on_feature_edge()` - `CGAL::structure_point_set()` +- `CGAL::poisson_eliminate()` \cgalCRPSection{I/O (All Formats)} diff --git a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt index 7d62380935d..e17cf4bc5af 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt @@ -650,7 +650,7 @@ functions in this component.) \section Point_set_processing_3Simplification Simplification -Four simplification functions are devised to reduce an input point set. +Five simplification functions are devised to reduce an input point set. Function `random_simplify_point_set()` randomly deletes a user-specified fraction of points from the input point set. This @@ -674,6 +674,10 @@ Function `wlop_simplify_and_regularize_point_set()` not only simplifies, but also regularizes downsampled points. This is an implementation of the Weighted Locally Optimal Projection (WLOP) algorithm \cgalCite{wlop-2009}. +Function `poisson_eliminate()` is a greedy down sampling method that generates +a subset of the input points with poisson disk property. This is an implementation of the +Sample Elimination for Generating Poisson Disk Sample Sets \cgalCite{cgal:y-sefpdss}. + \subsection Point_set_processing_3Example_grid_simplification Grid Simplification Example @@ -755,6 +759,37 @@ for more details. We provide below a speed-up chart generated using the parallel Parallel WLOP speed-up, compared to the sequential version of the algorithm. \cgalFigureEnd +\subsection Point_set_processing_3PoissonElimination Poisson Sample Elimination +The poisson sample elimination is a greedy downsampling method that calculates a weight for each input point based on the density of its local neighborhood. Subsequently, the point with the highest weight is removed and the weights of the remaining points around it are updated until the target size is reached. A custom function to calculate the weight of a point can be provided. + +The poisson sample elimination has the following parameters: +- *dimensions*: The dimensions parameter specifies the dimension of the sampling domain of the point cloud, e.g., 2 if the point cloud is sampled from a surface, while the ambient dimension is typically 3. The default value is 2. +- *weight_function*: A custom *weight_function* can be provided to calculate the weight between two points. The type of the functor is as follows: +\code{.cpp} +double(*func)(const Point &p, const Point &n, double squared_distance, double r_max) +\endcode +The default weight is \f$\left(1 - \frac{d_{p,n}}{2r_{max}}\right)^8\f$ with \f$d_{p,n}\f$ being the distance between the point p and its neighbor n. +- \f$r_{max}\f$: The \f$r_{max}\f$ parameter specifies the radius of the neighborhood, i.e., the neighboring points that are used to calculate the weight of a point. r_max has to be provided if a custom *weight_function* is used. Only points within a distance of \f$r_{max}\f$ is used to calculate the weight of a point. A large value can thus cause a large running time. The default is calculated based in the bounding volume \f$V\f$ of the input points, the *dimensions* parameter and the number of input points \f$N\f$: + +\f$dimensions = 2:\qquad\f$ \f$r_{max} = \sqrt{\frac{V}{2\sqrt{3}N}}\f$ + +\f$dimensions = 3:\qquad\f$ \f$r_{max} = \sqrt{\frac{V}{4\sqrt{2}N}}\f$ + +- *progressive*: The output points of the function can be reordered to be progressive. A progressive ordering will increase the running time by at most 2 as the function is internally applied several times on increasingly smaller subsets. The default value is false. + +\cgalFigureAnchor{Point_set_processing_3figPoisson_elimination} +
+ +
+\cgalFigureCaptionBegin{Point_set_processing_3figPoisson_elimination} +Poisson elimination on point cloud with 21k points and results with \f$\frac{1}{2}\f$, \f$\frac{1}{4}\f$ and \f$\frac{1}{8}\f$ of the input size. +\cgalFigureCaptionEnd + +\subsection Point_set_processing_3Example_poisson_elimination Poisson Sample Elimination Example + +The following example reads a point cloud, applies poisson elimination to reduce the point cloud to \f$\frac{1}{5}\f$ of its size and saves it into a file. + +\cgalExample{Point_set_processing_3/poisson_eliminate_example.cpp} \section Point_set_processing_3Smoothing Smoothing diff --git a/Point_set_processing_3/doc/Point_set_processing_3/examples.txt b/Point_set_processing_3/doc/Point_set_processing_3/examples.txt index ea670af1b62..2d2c4413b30 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/examples.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/examples.txt @@ -23,4 +23,5 @@ \example Point_set_processing_3/edges_example.cpp \example Point_set_processing_3/structuring_example.cpp \example Point_set_processing_3/callback_example.cpp +\example Point_set_processing_3/poisson_eliminate_example.cpp */ diff --git a/Point_set_processing_3/doc/Point_set_processing_3/fig/poisson_elimination.png b/Point_set_processing_3/doc/Point_set_processing_3/fig/poisson_elimination.png new file mode 100644 index 0000000000000000000000000000000000000000..9d023bd3850dd7bdfc1a135f3e44d3c9e155a29c GIT binary patch literal 47373 zcmZ6yby!=?6EK=ULU0YPMN^=-6i;v|kRrvs6iRU^4gpH>0>z6o&;o&?r4)za`r?J+ z?(Pnk-}l}7&)w&lXJ%)2=ggk7dvz$e;Q;_ekNnsv3C! z0K{$o10W?#9rehh@l-PO)OC5|>22k13qV@Eb@t@bQqp4)t)bc* zH8pMk?qdcFpaX&dz(-2`5$OM4`cXds>`}M>@v$C35QqgJeZi;Bz(f?Oc@+1Afg!L#F>;Kf$k$C<{ z{lBdQ1qA+A`bnzQV2rv^3jnAoR#Qai`Am;D4Y_YWKe>F?tvA3***-{sFBn0OD@CQ3 zb&{={G}Dtc3;$QC+WAIE)C#d=;?4VTK_>zpC&@=jKdsxd!|7g4{>3 zP&$U9T^g9qvj@#)_V4)7x7}MC-cd76J_+caV9J0cwz{h$5Zb)6lZ-|MekF>0(2R@R z@wyWSQjje-P*YF;U|zVJtS23x(Xxl1qhTH-?UQq3c7?F854!R7QG zw4j6Bzc=yiNr@5N4JbU&nvwT>?gb;xUmDQER%SoW1|^C$_}<_thmu{yzy8TNmnF~b zhnmVVBi=}M7*KwDAMN*^RF6|%LR}G&nFDBq1udaS^v2QRSOXmnAsg}mQY6#p?hwE zGyK&qEQS&sSdg zZuLEu^WMzMzsvLcn>WI*2==T(^Ut^MhCN8eQQ0>UgoGA&)|X}v`pBOjt8K5VVq&;{ zZr^bsvr6!;vLj)2Bpd9a76u39Eri@pBw(DimQhtzSCeqHm-B&M6mu70hrz(U@AG}; zQd_@x3_d<;^*+vS0XJ|%rY=5xX!3;8|G^e%awnR5q@AgO#6ono0HOs3zxuMUN;C%1 zCKvBSmx9mSx(ujY9ZDDZqlamkk4W8 z$;)k<;-IjUY*5R@7enHnACWDJxZ6YXv~G76`V{RRcjaWUrzT>6aWZYpzu5iYQohz- z2EVHV0pRTr__yceci6v=fJk@J&9w7vJj5PuV(L-3D5UEf!9#qTIEW)sNqNrV)u}?B zOUqk+PdgqYkkNE-Kgi9e>x;|5CjBq)nUsH*$s`&waUmV@=J}<){G5@ z?>|(YE3l4KnI89}M@QOEQeT*FN+=;`Nib(3Cb!&}i0o`u7zu)dIFy{(0?1)!9$z~t zO#imZaqcF6;sa{!h19`0n>`qXwL@6EfB$8HlR+i{(oeieD*CD~3~s1BW&uheq*5?J z0?~`&BnU*d1u*~DfAe$hKBaIV`>^z!g+siM5g_@N$ntDoHNg4q%e8t>duQW22-AOX z->^*2`b*Ir2PfAs{1O;;IDawqdA}R-SXh8}McDeY+?>TvDR#_=Z(4q_6z@dC(b_IG z;w;ECz+#BOc2&W@vDHaPGuVl#LD^vwOs#Kw=!LXf9sHK)7ec?Ioa8msCR zf`D=SgN5%zksD2)Xjw3hPRA2~zAGi8iI2hk z)%E__CICi*BfhE~vpv-jCo2E#tUQDjH`;!+eGslnTaXtV@cF>gtvGx|1{t9VBxc+^Dy{rc(qAG9s^)7Y*(h(Ua zzhYbYyP4**g+S!!kE;Hnf2M85rlI7$talt{VY1j?(Zu)$W$$&I&_Z{|iO)MXB0AhH z+V}Z4A*+OQL38uF{#w!b)5SM2XwNz74y`?T7_h>X?CV2cLSCYZl2Z;iv_LH0m}7tp zX~{c$D=hM>=hy(=iQD%K5iqw)2M1i_79clfa3034y$@N$e zTfNeEVC4O1!}raJKDZLTo+M>qs65e8*C_uYSMjBM$@e#2h~=fU8Emww3ftY@TXqE|w*+yt5++L0b9%U`P{E|MN~p>mXb` z?VW6Is?8uv$4+#+T{if}4@F@RbP;6t0c}ZJfE#T(t5Y28tJ*nz=(rs|OdIv_WKTX4 zh%!F308$cgr)g|{i=YxLF_}+;*Y&aPXR9HZY#0!Uds&^6791&cPk!|a4qAf1GK9?a zHJe9hhR`9pSn8nbVIRMpmJ`(B96co50E>~DY zrf3w8k0kp-To|$}0b58yCnuk%ZPbjbc3Zq7D*GyKT=S!}VH*s_FF3p0L4TIBydUxs zF=B^#swrDWBKdMU)5ICuzpji&x`TzuGiXo1$PDL2<1&K)Dnz2oqy-M;a*%n;OjG@i zwWwt?7ED+Pd9YQ(|9+6`c3{zkP-f=mYxD~}#uof-nE*Qf8Gm#8WiYIKj=B-Ttxv3W zah0XIC;o@&nst}VT~jXTW}39S)pty;fg!GKuW4F3Opvaro)Hr;d-LTt0{3Ckut{*d zpy)Md;X~Mh+}Xc0gc7SflANgdkB7wm+Q7Cg2{hWma9D-eE{!@^6?thbS!L-O8Q+^0 z3r3YCg)0wK;B1@u?Cf9na#~=e!1db74;z;Z-m2Mr5mnPZ7=0pZ7WC9ae6H!?X1b5|IL*C@yCk5->hUa00d zy@i%oPC24N!};6(`%#|kdA*-{)#)So);EA6`Bcg1d*(JXbUK z@1K_8EE<_TK%eEIz2l$4*p4IcEIE#6E41*IJ`2Bsl=WUE0ZdvqdFq7hHmnBOPlIbRS~*&n6|ro6Y3ZYS(- z?ekV_uPJkXPd~L}|ykMp+H^9OOVbTuT@hYT(xG@EhjR#y1K@vbI zI_mioNwYZCf&Ht>>qTp`I7l*zx)KFsCr0O_{N)$4>j?c^!xxe&??7fJ<){-u6WoIZ zrjfLHe7&hLL~EY7ydBg`t}S5B3<$dnNaISnpXLlWwCpZ>-t?14ergcs+lyUCs#D$B z&lDk8)nL)3H3GC`aBPYf7h);MoN+wpZD^a43+Qt=q~Zm~McTJjvSyzle{5uB9igY& zH4}fDzl1Z+c2ws-0Q9qEElkRYl;qm4op>Ysd za`qQ;XwY6_mUoevfP-76IHInPHXq*UoyPX%c~Grb9N&|z*R;dsA)#A&S0V_Ky2@37 z7gza|0y(z=Z0d00ET+8Lz2n-A*XZY{P%R~1QE7oF2A)5A^J5658My*5tXhGW7F?7) zJt{rTQ;P0^Q*1tor}iW|?j+)8a0*9TGdeyb(BgSp6W#OG(1e?2QRVXC-av&lRKl4y9=;je5A0M>Q8uHXV=O%Jt>6 zqQctX@G%;=Q-Ur#eS4j3mg1}LUo|IiY-i_W=d;%x)yi=QtSiwX?Uo?q`VnFBic>^a zFPgCWpFTnf9~$IVYrD2Z1kMGj`?9Odsjjx_w|Q_q84<&j-%tR&tai0Ly&KqZ7#HRj zOGp^O(ZpQLsmy_<7Vj+;OYh&eQ6MxST9#8GjiisRm#&W40gfX;xdIkkquU z=TD2puZCW$FJCR>IRW$QB;x`6&OEFbj7rCk`9FVt>@Ku#EWV!uPM)dtuAu z$?yf8QlJ;|Nbh>rQV|Rc4dwDLXIVNUPIilQd9MvlL8VMqa`HqMYb{sM)Ytgc*Gs3N z2TFUDX0P1xmJ$j1m=1I)l=YxbF#3EtVv{SVWoPX7*Luh_WyzOlLt=GG?R}Xa?$G1~ zHu2TEAG!S4HFb+77EOxy<5#%zyTEEWEe4QG>|i=JOwW)NhfTdimh;C+uY(3F$s}LR z$;y$)TPAb!f&D`TCRFtI!4KH@0|pgmINHLHAdPM=Zu&|xLaxt{_9D|B)0~GtKrd6} zCi1OMqaCDF{o@6Plt;l`R3mB;S=u9a#7QUTB5!j{&+be{GreiGhz*s`dOYNUO!hc= z()lwzhG|pP?A)dkqEo5G($E#udQZ~`V`)h~NN&?0gtWW4)IHWA5~JkFX+}cFZ&_^& zw=@~Y>2o%QPje#tvzf(Ilb;?0R87>ceHwdv$%V?h-;?9Qw~WzNb@_=^9qwkR4AdiS zGO?~xcdYRz&hxo@o}Pp6U~}Tle{%Lxd$={}zwxdtngN6zU`r@S%1QMJ=Jm^eo*~By ze-RuWuf|R@@i!VauweZfRw3ANq;QU^o#yUm35OqUKUyV~yKsdr2Slhh6Da$|TBRo5 zHwpu$N9kw7>JesKzK!WQlK6j)GXSv7=!kx%P%L2XFQt#&#QPFbWXY(`Vl4Glv|?p9 zYOrqw-6(2omx^ama}>MX?GY*k0wt|JfKjaQdt^E$~>LkO==WB+Mi`X)Pa(+~b6WoOAy&o%E< z9b6msH_P7(xwIG{!ZK+mkgiG4H92N@d$$QX+}l}7f0q~R>y%f%d;8%(nzBwg{|?** z3nlFn4E6V97pqo=0r3Up^B>?J>agWHS7vSOzuI_&?led|rjwUXEKTcKU;gp2Oa)*z zlJpwULkMaDHz3?QS$-=B)*s1v>k^j5{6Ynm;!g>TSg zn=tnk5I97;6Y^xH^X6SN8Xg9Ya%cYIe$2qv@dNxVv(Vtg`{D=$F<6wjkfAMJ|4<(R z>g@3zYiQz|hzyVZK>A9qzOS=x17vNyvk*zdRrBC{eeyzu@^| zOhny<6T^tDJ9Ft*$02P?!MUj&sUSL7j+Sn8b0JeFMrIHSTN6mk^`;4GUd| zkqZFmNh3{AB>-C1wUhZ;u!|@btgQtA^Jw@joxYX)LX!2duQ32PDlepdfS}7cgx9gbxg$%Mxhn$%>l6VmeF(M3L-SG zFT$S{qfzl(k@jjH#DUMHdzC1OS;Nt0A$BsTVUo5wLVL^l9&HYH9aW2Z+ld+f<)5F~ z5Nw)(@a#Ij0rX{qQX{j^+83QG;Bw-asl&Yp_qR*t*AkfI>sIti2Pe^gXCevCY^T4T zCXpblddxOK2+zK#$l)mfOr$t0n#v&bSg}A8@QbHi%#`bzL9eioYYaA$I?;BH$G06H7QP0+2>ORBkBFOY2Ooqe-g!d5+W^km zuK;J`voIuCPXX$U*=ND{+SsMohhGAC>Y;eXf9K?bB|+TxT826%QS1 z`2kn$OejaoUMTmJR%BRo*U`_ap1b!@jyv0p^?-5TfJO^BNvgs`2pVg+^VCu_JP3$6 z)qN(&c!jnYj*oE$6^Qly!bPa9_;@@+AZ+9cEI;J9(mZWW!pGy?FjYl@NwimwmbsCf zd~$l=l-sSGq5A{!-G{ zf=i4{TP3&G60>>+j@jP`C^0u3`7$+mF2_e$=Bw=N*KECxB!3$HL2@SyEuAcmzIAYsn=@coj;wV>annA#gNKP(K-Lrs5_ zKpp~*dxseH^DlQKn}co4(6=!tM%59Z=Sd1xK&B*%=_79k|2BB1b$sQFCz0IbYbvq~ zl%=-MB&gixT8OO@3_M9&_CWG?u+o!%8RALgb=Dd0Qw%P3Vsw)=LEX#yf4iDu-}1Cl zdl(4IG`%~T@gsLUfM`#SMS0#4Nb|A_b<-QZfnL++UYzS9izr7t>6UU>N;`h9?_1vD zpln#OPa@zlq{F2AcwhZkFK1$rLzb!9&Po9!aYmJw11vV%3%p4?+81pG00$-c|5ip8 z;>C0S<26CzIlvH6^XXsjy5cAUDRzaC1mxw}mOE&kllD}z6?Ix2CiPDiVbqdA>T+{O z22XIvq0#lnO8Q88C9@~*S*_}orC`+Xy0i}R%&on19cmdffl##J2ee|qn}!8UgCXa6 z;e9OANRJ4rwXNHk8jgqO(3~w{S<@bHw8)RUJ#{&GKd`ULgvT_lh=YC8KH>UP1OXm6 zVRq5wZXARAZtCPp6a^wTNdP?r%N_s2BrPSNB2x?x3-QdsFDe><_@kSIzN=tI}k>x_GkO6BlER3+Q z@342vRxoY)-Ls67_@^K90>ANRNpBUR{DxDly^j>{%1F@mmma@W`RoSO9m&QsBXcqi z5@uYlGb9=Pup(}e ze}=U(h6?HW|AipDaH!-;!d9i~0yn(B_D}+B`DuBBE(n`fID#JZLev@Xw$-|xSYoW@ zE*)**$mZ8=wwB6Q5x+=bM!x|})nU_WNXG79t9PRkV@X%Ew2)n|E`#kG?^S0(%O|7#l1#^kZi?8A@~;!=H$X$&V`X9H^cL{=T;FFm(4m| z?#SnwV!!cI6;d3)ehPdNWWVd}!jRt=vKjs+zAY_K4h z1;c|cxlI2F!@`7O;*f-+n3?i zQCH4L?c{i0kJPJBa5ei1A*om}`42|qN`$*KZ#B4e+8^G&t@!Sb>!2Zlovq&prioj; zyv;h@+(4h6QAkv+6@8MmS!42H5e*lKNi(vx94UM<)o&mYVFI`1h*7IJd=^2 z4*q|cdq89qUwh9rdaTsNR0y5LYeoLv8KG6c2ng@~@+ZjqAkFwexU)>SQ(*F9>C9(s zEV$aBKGRPMyMboJ75Lje8mEMrq;S>$IK$M}TPEJ0hfs`07$3cEdRC0p7pDL9YQOJh zfTY&%KY0?9PkgKB@u5AZjBnrYxx1b-KHF1a9utk~MSq=bxOE23X>b*Vh|$^G0Muh< ziO=F|xb~jsY7BDXMw>jGJF{bmdoq^NKMEx3vqG5)za9EtPaOtq%nL)tP#oy=Q%yda zFJJqvp2fewMwn`6v!a6wgduA9p7-N07IzF7FyPKy6-?Eac z28=Im)FiH(liFkqGO4OI2Vx^*mH27e?l*DAUhqq;?o%MYM4^A}4edm&$tF0vyHuX7 z4E;DF-Ce2LT6~3*)@6Q3XT7{&lk&{QUef44af*aw;BB&b0wL5Ok48aKhD3b6JU;B0 zEV5=VkDuqV!UI`k238VAX4RLX{hsG3hsia^U6&yuYZ^v-Qe%fW6Ni_N++!;5qsBCu zB0kJAfY-1vwyN{e0533FIS1s$@0YanVT6Q$B<;bfMbPDDg==eb-VJG{Vz?8b!5|V6 zL3Zfy9&Lh$P~!gLxA*=0>hGp75*bHb!VY`O&>xD{qbb#qg?$>fn|A?rdeuB`5Yjot zzby!;7V|tdyZNwn7wNF&(vMP_x#{@*nK?MN=f6`!kKrDZIOY1ZS)Ycf_V&J*)-IEU z|87dejc~{qXNjc-6vD7gqETl9vt4)L;Q)V(PbvgC=aUx1HkdpEc8AZfmQJVb>&_7QeN>OHWn~WrPucQUMtDh{U+=4ptLK*=HN2*&rNuHuh9WMys7T{ zfw>l7e7D=1fYG+qm7I37Z*7$-x!Of{g#vkjhcXrt2p+BMel3zA`L+;_2jajsA+KU) zKYb2U+=jl4^a4Ne<&9^<`mV3XF7=}a2H-F~&J4mi?}sKm$gp7sza+}F_>OdTm5?9{FiU5woYT2MXH=(On;VRdRdGzP_`}~V1kf(ClpJ{l<2v)kb#wh(_K3pwp81baeE?;u`BUg~L_w2%x zKrb+9X5LS*Vf$@2i9k=2dL_ueM@kp~75kuL+pf&562I*UedxW7(H8ge!HF&cus#Vn z2wRR-X`n(@DjVUx8(lQ@P!sPMD4SFs_4T}`+X`d;M6WH)Ohr`FzmT&aA|J2#t0Gyz zEl9LLp?zC=R3q=*t5ckb7Y=L~`u&&0Xu_lV{dqH)Q_kL(+p`n{?FnJ<%^7fKh1ydk ze57xEPGpmR*_E1NjI?^vY~PzfI<(#n0dh3JIW+IdiW;FJ zNM|#u>4C`n=K2A@dby|~-57V9n8ZttkH6t8W|s&lXt!8F`DT?jp7ef#^jSjA&zHM)VJ(d}JS_|WzaH5GU-ar?@=v|fe@d`UwBHiD%NL#9=!1vR{4KIf0me;$A<9@1s)}o-Uy=VCEt*S9Ik8YFrr^3 zBfrc|1J|=nf2|(r6tN&`9?X5#-H@+v)Sn#pF;LcpRUNWh+LujYsmCZf1~%kO%`_ZH z#h7a6W$yuDqzkJg0I%G9{NyurU~_kxW% z#uYjv)J&b!3kZYD9s6y|+0H7#1nOs>9$))UxE;8!pV(ChIrCtiekwefeag)90ymlx zy-i=a%K~duUv6=@;&C5fAtb`4SdC6~XSN}2rxem{9oX%)C(r z5nrTS<@xS8>*cr%#$eJ|_$++>Ev>9xV*Yfz@`g|0PH&jm?4J9RGO(N(!GU^y5=2NV zsV`r#lgPdR)H#W|QLn-3W=)A<@^c|dv)RP!M_g!lL?2wnt{XFrSW@2eWQHo2+S`Ts zlkK!heOw5Y-Hcii4^s-6z&>$#O|%Z^iBiI zip8%+8FcZ+vBCtnyOWtsXk9M?qE1LA^H>($*D2BCe?E6tasjM@L3lq_!;opW2Bc~SULC8dq?GG6Sz~3FO-Ul-I8)s%jonYj3dkr;0 z#kBuO%y==LESX{rJ#U4t2Jo zJc1?l?ttC(%m&RQwO+LmZz1^IiB0@Qkd7Xnkw^*NclvXQJvZ;jDT9P2b=#nEIr~L) z|I?W!Dt`|#`H~kF_053g59n{(kDo!F z64rO$x3G=w_++0=ZzHZ5^l4LzL><{q7BJnCGv`HBGhFcu^>ZLddxo+3jHj+)^0#>W zV9Y;Kz?sie1mfXv9RkQd;IwYS9Ub{^ZOxZDRR!SXTCXT_OVjRfA+ps!?#Y1xhLV#* zo3%rYOZ`R?{i$iYvTP;PPjWK~e?M9fIa0aJQL_jmpqFT^AlCljFbLTU0u%XxDZj*A zI;g{1%%qq%8JdOtS&DiQaUOw%O*bQ!uKf)F2lgtNC`&sCE_a5Br+p!H4E#gVe?E3t zux%!w?ctK4*mWxa`I0!=P70>Cw`b-4$Mb!|HY@A~7nTbT$)6-vPxkveVT27c#_sff z{hTFfvUIP0eg8!oHlJ@}cTzpr@|eb+RQh?U)&3AG%7knwmHt?=$J+uP;yP5c%` z&>A`P+`BnXf%Hgs@S&;x_I;4V)o|xF3uZOPM}Z>#(+!F8Y0ifA8}2K&?<}_H_ref3 zN5sL47hLA=3$YZCzCvjMRq7I-9MCzc6v=zUPI=F2pa`@0uOmBrh@}l|0ywSW#UTo2 zk3ZC&_}`oY`qE=o+Y0xbsh~q`KS*nBHo?x{6}!5H{0{WbXu{bu_zel?tX2ag?exPn z6Gj+!yO1m@=zX?8s16RTbDO}g6AoCpc2Z_LdY1vx?~VmUCrhTJ@Lo|di7_=zAW9wO z*|6NzBRUp~m|6tp^LI13s9F6Mk&PZa1glF8dUW9sjm0ef_RyLEgh6a8v+capk z%%N?#7e@I>t03!l6#Er;^i^r=n(1zmIt=+BVSJHCED#QUj1gbWMKXy!sS=~zp{FfM z%_CBB^U}W5^7Db};V?pxyS-e!kDDUe77f}5N)E_jmcqG3^|oqCY7LKdRV6U0(@N5f zl|Rrrny54RH{Ug=s8Ghae})iCnjgPUUMZZUmiLaG_C>};J|~kJ&oQ8@Klfj)uh@O| z>`NF{C1ezqjr(rP>EKz8rR%`?G6Z#8`78BNkn>7!?!C3RA_YXwN~> zA;Px8BJJNbWWIF#1`v2t)Zr-3-JEFJ$L^)zm#JA%!Lc*}9I1v6=^pm-8}kq(LGUpm zOQD%egHU8VpRn$gU0{N|3yjkGB}(4ma8DvI*x%LGRjk&99+^?_1FZKFiuq^WNrV*P zc*%=6qZ05o@UcgJ3~*HD46i#C-?AqkXC5O)8Sk_wwvznXQ2Jm7P@0YL?Or-g29&W# zz&GhhV0~&`jKIq?>y6E;N|{*3^(SU`!C?mExWe z#r=M>H$4H-E%l4_OX-QBLo zP=&`(?8fWq_p@gha7r883K~!LWcYv2{39w9g zAiKJn)vf2>x6m8!8au}SPH!g}pgBQ*AXA6gWxf&<^X4+Nrwg#Uk-<_F(dgGYBhvVX62F^p;UluV z+V?d)0Hu91ciDXB8)@Z(sIo$A2z+lK5XlM&_lwxQ^4n(yacCpKY3|pwUr~J`k*m37 zu5FP*Alf@VgjI^j5Uj^3yHHolIcUsZ*+-0%O<^6~XmK1S_99@VvH8Kn_SrXd0H@fA zgxCNsNyC^dERdO^=|u59ysu3Gjdp|=(hSH@=JA}UMbBF0R3oPX$dpR6ftb~bF&yn5 zrhP51zN!c-*3B@a*%wTVuBz=_>mfoCJe)=m^oK=yGKK=9BI^6&1j0EQalexEddZD0yq@8Q*ChLD3{A?SbHjUFY>h{*>&Rtnz$if8x^ z(bz*|(VDY1(e~KMv)aAz-YW0(Bw@7M1^^a~7CJ!8y-jo3PC*M@eCU=lh9i0rYk?nq zKcMS*hQCdKpkI<3W2&*d76*d?UP~psj3sYUZ)tlyg4G2$KQZ|LwvU_#lMXVc#%L&< zX17 zp5DA4J9B#pA#H+NwR4}F;oObyGFZ^Uv6;#mHj*2dej5G!HDbT)&$aIZjRuk?fW{T_ zVZ!;d^nClDpt%)KlsTnH2z{C>n@^oZtK~98*l?u=Y zH^SZ-wp#R5&&tsZig8+R3VsaF4KP)dNqotalJ1Ff^UmBF^eJ%39AVt#m{aItGTD(n z_M+7^0)~rqRp4^i2sx7>lu~OOeV(%)`cx#-qg$B}OZuI!^g^eLR^2&Zla{MXvD@fN z!j=qN{9m0cx%{<%Hg^x`H7|PQBen`T#^OE3wMl6G84$F+pi??s?Lr?#h_C|?cDpmU z-=0U8>p%k%_<9(*6Uj?V>+ksE#Jg;a!&3kvs&Bya=H;OLn?EUNoRc1W+$%TI#|c`j z=JWIQ91+q8$Fd@?+mC2mI5h9tm3NtDtXuaZZ8ZQI#8MY8YH^dcDcf{u^|k_+u9sHu z6=b@d`lD(uT}jdS_;@ZqMj(c*(?c$5tO0_ot%3H57Lv@U9aV}bERLWZ^sM)y zm)BQ1**b{|A#_6+*yreHxLPbGtiXp`xw*9Qt$DtkYL-K0)^dYV1wI`ao+P1gv;O9>a6cpaN0 zGWZuPGx8Eiqn;+M<6AZslXvZbkBssFB?BMe$OS<1(t8e=vIY`;XSgnm+Wx4>*7mS7 zOGvHgK@v8~3ZU$a$r;E>%vVZ6Hzp7hwLT?=;-hnvK?ovagiOpYg<8$WAH6xS_}@n$ zk1O|2r{<}#UouV*J-yONgscIZ{2Is-xaw5vTxx+&)rn4Ffr-&df5 z$i)k5K40W0H53$0G(mk{?js@zbN?x@C<)W&mJnT)%WrNj4b4L{?Htjz#&RfD{r1L( z_Oq5XdbYJOuYXny1V?+Hr85JOUQlj~4;vrJl)$hu(G?A8+kelaF`CcjLo+ zdMC#S^%izt_exKxuWe%?hepo1>Y}da=;ax-Uik$GN;bF?qgX{4!f?PIu4Eg!^TukL z?Vmq()ivFSjkGsNghp>|moPIPJ1e>8C!-Z}bW^#6p4!SD3H@OH)|n)+$<(h<2yT=X zwys-vI*p(#7`%RE9%mlvE~-_w+oKV=L@N#9m>e-kAPT0vfB0{(OXjo~8%8pJH*;8A zEmOppq+z|2`E;=+Iy?7!%zgui@kSWJX~E74O8GR9UcZqPhK8H-A%1~<%PInqWSoYb z1YeF)o*SKhP>K&NW)7W_6H5$hi`ye8#Nj5dHDJ*rw-g$fAEqEL2fiJWX@~m7UT>^kDDY6aPTK0& z9vMq4$DpMte}kvs+{vcq>i%I$)5#FX02-E+js2_#t`s1!MqR%t-5CFg>n|6 zd-pQHcmBXWb83z9YNVas?i#OdhXEv7D=o*2n($RpbqjvAIlRYAk$`;vwW-ST4um}z z6Y8m4@%2uOLxm@?8VHSySZ zYhAZRs=Oq|7k=*eP@(i1H?FDWR`x3NF?9N-|&Nr#KBp%io{N?&*0 zB7`pRouafA5~N>rkYw+OAuBEEokW3aU=kf`)gWN;ZwgXe+Uzjec)+-YK`HS5_(j8u zIoHf#?l>wpbD*t}AERFUspT{E0zTjR!Heg5Tx&Uk&TVBbsvC)>p;JJIOhga~3CfS+ zJ_UzO+Sm&p8UDZ&jCwOj0q7hpidc9S%mP7Z0+Qca7QauJ64`P82HMVt4|Z?FFD!pU zqis^&Etw4AQ>B&TM1@bX=)q~Dv^M+Ci?F!Ab{yMnF3KiJ`R{Hy|8y0I$!7Z9Kw=1c zKd1J*fs)6U!iV#4nD?`h;n&HUu(CAIZzsLZ$E@PwE|F8~hRR5^OS84u>1(p-PW{C* z1)Sp!Xn{<^iQu({6o|V=Zce%Y`SfQ^{tF=TQvJ!dkIM2n5!Vw-Wd)y}tuf~bJvsNh zajn94d1c@&6K4sExXdJ-A7vW2MRc^7(M`8@pZz&kN5YO7=p^x>o+WIEC7lB~eiBn8 zYJ;lTANqJ4Zh2oQwOXs0G?zt-D`)y0H8YN{bVU{QYHv4jh&3e=e*z8;fgxEM{aJiw zxnz9lBK&ec_rjmyQ*#v-EmI=t@$efm-s4c8P~oPh zb`2`g+r`NheYrr4{KDdfnmZPBFn=yQS&%nIede)$D2+#BU377Ye~0)zjm4ORz7;!t zg{;&R(3oE-4W7K&`&vd?kQPRMm!2olhMhY5odT&7Nue-%!?jq0DbAVl z`#OS^EcrVjq)*8C?J+Hjc0`p_sZ--0_k@2}#DwK9Kl@$?Bh{Z$WDu z)bFj-y;t6sCOg4`V(YtdvArhB+rlQV?}!Ta94m6!bc%S^^zY5qRq}HwAujI?-Bu{f z_vJg10R^6EO%9mUq4kPV76rd?BJ<=MdW;>hI?1FQVBFmvvPM0mXHNA+rNK|AEDame zx^gGv4DS3quoi~qeVOxm0Pf4dA^PKp^P6B=1FxdsUog=@Wa2DslZX33R1Ox040{LZ zP>su3?vDlGX^jKYB9@%|H3&Kzsx-J;rlzlzb^ z>U#7rDF`K+5cL#{6(~DQs%Jr@NnsYjo`7az-ioQ2o(I4TCoMy`c4l57(;IUVrWU&j z?mc;HR4Zu7p}z;Bb>6xd&3cq`3ixSa;%9#`Mz_6VwRiLbL>I0X0631dicyNb82!id z);Vw&Y>pvMSJFCsO<*yvZ>=7XyI)BMs6>{0U;o!AkBl~-qXmYCZ{I;LB|>4>YdXm# z8Gy4$q*l0BTOysyYV9s#s5p^#!)wvw2QfoRC73=2S7)y%1{kXj9Y#{+RLkls_m!9_ z28^_o^q3llB#Yoh)Z@EH=9V9RhqjeQ1(5|mv9LG0r7KRc0EWkNTuYTG^7Dm~hwE3T z=j8FvztC_2=8G}8@&G8b zg0Z-zEbyg2{@xIWbBLEW>>O#VZQ`KX7{Up>n|Dql#{Qn~w{6WP9LV#krFoY3*fS?@ zs3Gr_4)zB=@#MII)d8@iGlWN2K7U4oN25Bn?)zR~-X8kk*>aE}4c>9BQ-xsQUH$KhM zn-Te~_Px{RdS*o@aOlSJ@lAlYuO^=ZIozTI_DdY=E9qx)V*(P zh^^VN8*6>PHVvfFG80(+=Q0U}b#)0LGs_Mclqtv%FLm09ogV!GE2SUi%ii6}uD8LC zucj%#Vhpaz;W8f5Qi)&vv`r4}!o3q-azeYd7UX)Rq?@X6SvphoKQxARTDL7L`HRUw zkOB`BW9_)Il`Z-qT}1m?WJ_DIM_)b+YV~qz>n27q7i6sykS(0NW`^=bUpD`1wRK^J z&Q0c|7{Ie1ZRzx^)ak0NmHawZDXcWSfe*_3LDpTooFuFJTZAOrSB)w?b=kkJ0@-1R zdTN3)xiL#-XpedMg0QQ9{BqQfh!_GVS{ye5nAZ#fEs?MDY?9Hmli&nsqosWUpACv86awy5?8&vOHF(<4D z>a+Ib#6Hlw<+t~H6F%1J`{e>#=b>z@=n2HqgUxb_^I+6G0BjgQgAH&P=7Mg_QaBWn z>-FcFl4zcX8{?~RarAG1P(`}|Fw`BL};+a=De+031QLw_=4iP7B&#eHpV zJoiVo@n!=CBOFce6{1H+bFMS%$N!u77OFX$7T?g!iCA+bIG`+%tj*3whKiehhDfD) zk6FyNFo4#=eRQJh3BRK3}Nag>b=sf(X{=Ycx;u_b=9vRu!wXzBs z_ZnZi!UvZ^X7*l{8LniNdF}N<>e}-Xk&x`9jEu;Zl@YRk_xA_f`*?ir{XE|1ea`Fo zdL87#z6D~QC1IWLoc;GQ9j#G?T~m z5Y^s%Q}5u#pc_;e~3W^JwCxdDJ<1lunK*cs7no#3wnJ&bMij2$Z`q| z1#H3SRVI&_YpBtN3Py^a;=~^-n}Wo4Z`mN^0I{tB(DY_P40y3!TdIjGOEReXI?J^7 zzVwfz!17u^hBuk+;EPCEQ^-mm1sVPtQk7Q`T3*S)$)hk77D$Pt7W=nGvJvc|fNHmG zl+HG5J7yZAaZ%p?clImsZ_JHg9j#2T_;r=4vGhx+XD|C0iq#pmH`uAbU3Z2bPNZqc zi>Au~x8H9v$rb$MhV+oCN}}RuF-0d1U~Q7^wpP?hWP&@fFpoZhpc^9wzWa*!b6yx> zQ{8le509_z0%`bDCGwTPzypkyYB8OHSn2K@q{w>)S+<(?<*!c6%lQ{g_;O0_k!>Qk z>(-@c-M?Xy4Eo?UX0;*SZ#Nmb)KPXMvxZuq` zw}$uBYjHSmS;v0=&X@8jp@B`{3IYVS#;I*OfOJGsi$o!iLsoLwDC_V`Ptrk!GJFM# zIvzE~+6Tn0CCT5+{SrL$UK7pPcxd&7B7rp+Vya+S=$v@XY|h<$mGCdn^h3mLQg^srRY(>IoL}saleoPKfwX=fosu3);Bnm)hRo^GE= zFE1kpL>25-YJ&SzhaQ5fRB-EveKdf;TGC~dnUfvnWxbbqHDOTy<63<|DviqeXiN(0 zJVPIr zWr@ESr)R6(@(pRIX?GH}rvZ%USiGUauL5->T#I<|$Orwu7vH36-AdgF%Zuf;ZhYqT zE@8ga_`k@+U7z{j?3iE+j}Cf@r!%g@8^2_8g!i%ONgwpO^*)f{WBRB16blJ+!KvHY z{S^w`<*|;AZwR8)Foq;5Wgo>ypfp;vU{ zkG%fdetXZ);T$`!+BT!sm#;^-b?}NLw6z`*ns+U`RhGI&ke&ZP`w(^cn@NLxKdzPN zPXf$NVuld*jD)`9j<09~=OCOt8ZyTH@;HF0slX_)KI7}GyR{lNA*V^fy5AH;iP!Z7R1}nupK{DRDue;4g-Vb)rpgN4 z$^V@)W9Dgb6hpT?{yFhf0r*y$A7#8;e=@Mx2D|9%%z(i~?tdl2bK2=1e1tugkD^fv z$$O+5=qE#&ey8Z!pJ23CBP+Ev12#V7$j$Tnv&#_HvCmS&w2rPiS!p|9Dw) z>$kxHM;TpbCAiqg@)S^wbk&Z(A^qL4u=Cq48Q-!egM-qp%5^fz!S+B8GGX;JtQCA{ zw~iG3Q!14dzdRbZ`>8lRk=GVN=%+K6IPwlHDcAUS&xR79a01O3sIbKe1=BXk_x1W} zsa4zFDRrok!;&h5n@JEeIM&C`EfOjRzGc4}Q|^j`%Y~Xi>QW=o05%w|(9fhK*m20pA@)FDp;TqBJ6Z`+_($+ZNCSS4t z_9QCazSN6pkyr9eCoGg{6%g=f{&kpSXz42S6zcf*w+c5{Y#zvO^=x0+cw&0INN>HB(4+a7Hi z^ncGITFhv{RU*IjOP$)yD548f?YJDNg4wzY*wSmgjV$N(cr9y~|AUOs^Qe0p94i|f zfJY%l-b@T^q%g6J?j{a^+D;!htcd6eWM}^~=?Nj&44Aw;p>V;3Dop`h&=>v>7gT^qckoxQkApdw zSZ#I#FAH#^2w6Pd#s@1RUIYAa6W$_@z_M)BIOP{`f|_yYD_KtR9Azza(B8h*=m2`ul3ssKW%KHySWT7U6cO ztM&~Q2}CYuL>Id*(yO&1V52!Qm2v^+l>{Q{tlQQz z{w~)K^>%y)9C-R+#u-}zxN`<8OZO`qs6TEM|T=py~OL%>nw?C{2LWo>xft>`(Kd?6Ik@4_xwimR^8K}owf^wNzqsJ`I^p?lqjWA6XB7jaxGL=`cucd z@Ic*sXa+gGIqK21ockrlet(?I*ovb-+U#kWUDZU;UXWw9yR}7TmX8WiB>C78gb!N7 zcWmsf*-lL$(Sx zX|(@?r+_&j!t_Pi?sBXKPz=S~_l8)P&Mkje>;8sW~H%nH&ZKnuD z@0}v13k92$(lbn?g$FI~aqG@2%ZM(*<~4jH5g~*}v4vj~FkvRUnY>Vz+fTt_$NTPn z35`5xi7eB+9{5#@0$^Kci$V6sUQl^a)QP8%2VsJGXIz zCWzyC-LzA$?!ZtHu`dhQUohL8k-|+~-V_C8i&P|P_bHh{qv_ZBd{+1-6Y&qPy-^8^ zIzhBgTnbnvJiOqy%9~*Oq1LQClUn#h+0^O5^X!7_;E$vJm&HG`>V~)WcKQ>qmf1-V zo&_^Q$WbPi0zoMc=EEe9J9l4bEk4{M8RPiy(h${O7~PY6rMcs?+I*x3?55m&GSIV7 zSQmSX1DmWe%sovmOflb`w3#?tCJ>%{hjbr?(ymex*u7)gLMt<+XmT1rhx?FCinqP^ zx3se`vo$x#{7b?8>8rl6Sq?eRM{FBmKqYyPHhnx{Ef$c3`))@r_8{KGllSaB^thxT z5taoW6(NHj10^oPsD2Y(2ebzWHvj2cY#OFKtxw2jwx)3oG-hkLhKLi*~CjT7G_nnEQ)!|kv zc{-(TkZHHra~nID6T56pv&UlbiN9`^itI(KJT-Z_Mq!_3XSQJeGU z%QP=2j>53>nuo}KNmUB`QDIsyrKecxr4oM_d%6M1;qXyZ;Fw5>wQo%BkCjQ0lG_RE zhqh1EO8fJ4E{KU7jwA^FX3)}mqA7xmvS~}{2p^5DD%!&OEYlwOAHyf9}W*mDEFaU zd9T$u{I$;v@hHAI)JcB;?MXxjE$9a{0I#F~Hu0oMK@2f5Z{YWYv_jiq*c_dNx4k0d zXXvlj4JX-E-Xh>yM*v+jJ;H?Z*ipZ#h86Hr>5fOI@ipHSd?x+mNPXJ)2-VLWHY9<1 z?AY@SJ<KjoX%R^<>FM*i#*;USN{Yu?@CI_5w15;TtMyOV!0Bq6}L9edn) z7uZ;~m_|)*+W}%NEzOJG@8*6wfPWJxpH7oFPNG=XTH5dwZbVnC@a_DdPcGh1P}N?N zs+DKSi=-^AtMrjw&iMPJk0qHZ8Gn!Q7O`C_jAf33=Gjyxu-&;TK-ITc9{!c1QfS^!F6IJ4`^^DY;Ei zs<0xJ>@?l2ub-mT=!t5EtwKt5Ny5x_`!R2Ot5xQ#WFQZw6QcR0_e&-Thi*oLB%!w5oQGpNr`6hpjdDLB@{f>$W8HQak6p2Oig7 z)F1QpI-O*9O^>uLVj$`GN;yCtu7n1HAzji(yw(_lws)B{&W1? zn~n2~=|xBIuhv&g8^oWFrDE*f4AQQCO% z|Ik1zteqYK1&)g$2moBX1@v@!1{lS^VJJzUA1Bht;69>94gNK!%x9Q5YA;dLJUy3b zXM7Do>#pqy36j4F=PX;&ZuzyB!MJTHo_9Ytj(7dlC^On| z9MCWA>rQH@JFQMF0ksa zOmfjyo#6yFN_aHD&@hk`*Hg(lq_-+#Fc~PgbXGA*9<7eY95|L~&A*isoqRP;t!}7iz;@w<^G)t#%H^H^`qKU`z-= z`u9gS%INubnNb6jSW5_j6u{}!(N|o?SIdydU7D;PRxRohbe1RA@1q=#O`Je1EsMl# z?J7S$LA!=NzDzmCE_WsB2)TFeEuGom1!cJ(A5CuRkW&@0VNHtXA03y`Di*~1a~WFF zn!|o3-CW5b&wOkDAl+iL_F8j}eQ@yHXveg+#xup$x zQMt?BW`a7>U{Mlp$nVez}AVcer9MmFXaS|d% zOl_qfx7>NnRUOr;j_tCNTRpsQx%k3lwxZ%JeMO#d6O9(LGa6U2B8#^AHT5NBHnBTg z9yyADAGX*(Bw(48;OBLuzzh>kUi0Zn_DOtZLKNh212k=|b5GKB+iHWi;KBt$Y<#n8 zB#}T+a{|@ya>0?{u_3#EwbA5Olm*jZrHOTzR+v0$lnJAHmsso-Fyz4zCC$9Y-8uiq zk{X|~h$l3E{JdnAE!xFB#u|}Y-Sr6t1kv@dzk9#Ipd-sXY0Fz|9%^uJNLj)2CHzDy zsfGtyZcjUobY%>&iNArqX`-%sd5xM3-bx9pX*P?ROB_&@H=}*g*X6QB!+E`u4asRr zUih7O?i*R;RU-r<;{U5xkjO>>l*03ytBH4{%up2N_C02(!)q-1x@#eDvf()D=MYSl z>c9dKRMfI^$`~ibPsSE?|9wUWP9!O>$NV#Ephp;2MH`hNP3fYQ;S7c>I^2JnyWR>c zM1FU(>mCzB#??dw3vEo37%<}SIt8YmyLS-0Ow{qSeFt=z zknkcfW)_qr@%d0v)MN-sea^O|f*r&)WBp`n%%Hf&>wds~>h0s0rO1sW(5vU@ZN5CJ zze-BFt>#6{{W(SlX=f}3Z4=~3r_AyWKc81*%t~nvI!Xx+bm*jKURM^|3F;Nb4{?-7 zrZ$C8z@Db_K%(Q~ZvYT`nYPz^~9yZx)scB49rUsZzUDWX$xA+#7i)Sk--qR;Z$NSY{_G8srp z4`vknyOG6Gm)&vikRn-Oamt)G`@sj!rLV&90LWKWz;Q3flD3UMd+?jIU@{Fri;8>I z-mIU}T>HqeyDY6II|29W(2{U8hK#!f?EBV{fwgk|OWSTgtt1^Sw37DOh*N>M2ntCa zvnx|xVbq2lIf(U zZ06jO#euOdZK?X=YYlfjMR>8Q6y>f3)KhkjA6KfIb4j9U)}U-GJ7G0 z4}UhqeKTIJ<(hMPqi1Np+sf}uH^zQ7xb>8(`=KTIMo3Yh{yV6>g#2yh582taLDhbO zD$

D{63~h*r9KO&asf1x~8+Tlw)FI8`@XxhePf6CRSW-k12~ml`$m(%E2w!qZU_ z;Tq99ROO}1DIO&8;=t&sAJc2O@AGa2E)H*K>U$HS2zBSL7++KqrIg}%wwCni7=*al zvMQkYkgtpQxT)7QeEqeA+4sL?S~yrj5OwL6gsCsHN_|0r;wFDnMAn-^kXu+zG0Z!2XyN@g}{<`Jz@$!t!XH^~5DfD501Z zlQ6G~tNTEO&MdgoQsY3l{j!c06RjIEj3OxFH%_F!(3b5uAY=QXoBF*!N-#xlLL*xZ)%q!_U~y^@Wru)3u<> zPYU+dXphs3zuKwfZi;k;qdA7kHI(QS<6`ok<`rI)Mki- z-C(6gv+o!AuqiKS`O7@h=*b*>;@_nYy5J|o{L{?%S#RvP$dkeDddgK#$t#r`LD9zS zcB5Y9x3S0jt=&8I6!9F>zJRTPi`N}^@@nVDPh`C7syE55?D;kKH^6$lJSSqXIP!bn z#XyBoASXPa*V{DKD3k;zasBjl{Q-*I{}i?J#O$?rYPA%}9?>+Bx#EeV8*iTA`XxO6uXV}<~~s@7il-@Qme zIw_{AWy+Z{-E;&8p09G6P{SNwGk~<|k!gKn>^p2DZQLZnLil|x{klCwNang`$nIay z7jgJQs`rFTGTN*8nfD*XUsbb|=NTI*^cDr^dNPhdBvr1(#5az+84>ogN7djb;hDJM zLDDY^l$UzES3)iE5mWOeiuf@7DGQRv@KF?f`Ns#t`HYSi)#~?;-j?gwr6N#wnQ?&3X;x2evbaVd z^#(n~*irHcIe1!a{y;$(ej?ad;HvWeSb~Ig<7U!G@6GZZhOy`~ijfeI<@&=N>rL>h zW$yXwDpM$e@kkBs=&vLRs-zf99EOm+TNlK4UC(c?eD+%QL*6~PMZ z%9cHo3UVh3WM%*DebS+0>3P+zhW>3^GwJrA3I?dsj_!3p@Vg{%FW4=iFZ`Q@2_0Ld zu^Bj-4`2 z{~DyTgi$~3$&L@Em%tQI&2nzk$DlXcG_sRfa_wt<12pkpC0yNy8l7{q9)CKSc%u+2 zYYsurk$r=~xRw&0T~L(WQ;^i;Lp8?ou6~uT-%TU~>zNCB^&sdRLgP!TavbxuGGpw( zpf;2xRwHd(a9uXHIFO_!Dz#zSD+GomUFe{UPY01lr{XCVk;1e!yUy}7_iHHH_HLI1 zV$A9v*;dwGF+|w!cO1HAhEX?8L{-An>yp0WbjXCEMLDebA#YOZvzqvT+Dcj%PGUPQPnxGzduX(V8$Di(Z65Ez=9%3O;t1xpI(n!iQ%MWHJH41;-#R|G!Oc5jl%Y#+B1E5PW4~M!;ky z_)FC34%{3W?Xtu2=*(ABI^+lO*9yyM=-9EWikNPSETJwPE8U-Oi`LzoR_RxO~5cHChs?+(M=!P-f=HEet36%OjpoMD)}=nyra0N zyO~MM`(KMtI0&e<0g^m2ZuFp9`qwwg>395rs~pZ4!mga5+`79x7WeO zje?kaj&%Ve;s|+fIWpkkr<>JWIbJ=J?zR6BZL(UiJNgBMHnB}-AVR|WC}8*nGlS{V z-_kv77^DnAroYFD0e7BQXCWL<`jvq^LZcVA)Sl{Mcv}or`tvk4etQTe{^8+M?Ul>q zV^rX@Ch%A_-k)`tjCCh6Rj*p8%)WMav5^~dqv@bsnD_gxLui{Bup-7d>m`A5d{)E- zuPNe*7~i!fgT~`T!hea}qbTQhC~K=_EPPiU<9BlOg+&3_$I%=-Z|2l5d@(8aw(i&z zBFxoXBAvkNkj8^@45K3zL5;@*LowfjjTE^+g!Rqy82R|@wpyc8aFbG**-GT7Ji_=S zbnj+IO-I|(D_Xvg1UFu{(Y{_v@ULp;2xKg{j&r!+rn}#?50_t1L+R-UcRD?VsR9_@ z!(nNV1g3r4y$}CskN&|^Gq&ea7JtL3VG@(GA<1DUp_ok=HfKy7-d(%Ssn!C>MpRhyGS1Q|w0p<#oy!WKaEm`j1z+;jWO!VFVv`iCvu9lph`5B9e=gl0lW1 zTzEOVQaYkI2Fbb+_p5;xH>B9zzFb*0(Q^hCs4H8k)W7AX9R9RmEn;9MFn4gj;E&j= z1qE}hif0t@+evtK!u$03C->RrC^k3)YTyZj-ka|y|9M+meD|Rk5A!2R_|*vDxApy_ zklYQsw+WjC`{-l(2w3#{<54?R#;3~qJJtQ)IZ*v9b^5^9Nm@*XO0#ib?#CcAseqF| zrU}}q?>&x@+y3?n0LmDeo)gM|k-Pon{n}>Htm6$8FUnGprI0~|pRQ0A-lnWCJG|cN zTc+x;Hn}YQX$TfwQprzmVpj;N{e!%jE&_>L)Fm&;vpA=@KzVq4yKFsPM1@{R3& z(hSu(RiTo$0D(kS>#9`y) zIN|B7k}a9kaZGPj6Ej!U^hnYd`}u7=Wq$bhS@HsuVySLffgSpRC zlwIkU+Tt-CmiC5RxIG2)*B^+xhwVAK?Nk*?iD$*_zaJzyck8R6?W>8nmdER zAEfKhEJk!b^|~f-c5b&ofcw?P+1+q(Pc|A!2- z3o7Xuk=`n`fRqz(;Qo*GSZcF-@D;fv3zTCw4IiF8=g+zkv&@SXX1|_SY`~4rvN4tg z5%)6uzPE5yMi{&~w0~s|dDzPya@(;U*Ay`jlPShpvvsy!@%E;xTk)AKgZCdbyT ze7t3OtL6+;o|5Fv%x>q>9*-s|)XO-N_NJ7LnrpNs92D zpplL+{RD+f`IW*;r((pXkt;5Snwp0K@&!+y;J7?**EQbNhsLw3@2^du>WI+?u0Ak0 zAM(`>?bD(KgKxZe35yAv+dY|hM|-5ZB6!mXnf9j_a(f!(c=gHv3RQnP`ADAgsE&nF z*WI(L&=V|=_H3viXTiU|zP0TF$b2)w0+nQg_>Vn7v&&HXHAQLiIMj1%WqRZmUp4wI9r zf1)OTq>-hsAK#x(t0NFBn1A+I0ryDM+maQwBI9p)J{2!(-&4kq+3Q_PvR>=`u6xT> zJ@fI8U?Z;^g){$F$%rB87*!!vs`9D1i+(el{p>RM#%Si{(WlEY_2KllD#5pxx9VA0 zhS=tczY~7fN3z;X&wY74qwe5F)Gfzs=bBDf`pgtiK_qTRe}~nm+~ibiFTRnM*W33! zfdhO^DtTiPlDnxN;up3=^VLfOVU{Sno4?nL(opKpa`t~l3x*DH&XUF(abA2l?!0JS zUg`bD{k~v8=g(QmySMbi^5~G*dul3U;X%Zs=1M*AbNTtXCfjDtLl?%K&8?`eKjx9j zY%Gz=cGpIDNydim_WO_yu6-cHgEu)B*A`gIs=5qze6b5lGbqByhYSJ7g1+Vef8d)O z_sT+8%#1)1rz1!efn}^+yGkbe$ow|KzHV62kT?IQyaF)tplLjvcvbluUq6toO|ET` zXW+--0RBiB7^u==A@-WDe%(`r(?1G_p=teqR(3VF#|+M%)_f}8D_ez7rMD6SILJTb zbG6Z7tT)%d{bB+0zDo+1!-YbuG0W?hW@VSnuW4&piQ3K5o-ll#f=>05B`hg&x<)wZ ziBWV=ZTx!Fyo_OqL!*b9EPFsFzmYL-C6oC>oWwIS7Waz>4Gz7wa)4}j-0b(L|E}68 z%Z-fR$38LA_F{Ig&ZqV4Uv~#5h|%nK8p(jabWbyrjU>OcQJ0&$Fm4-%-k>b)lBtkg z_(5fyWJeHT2lwkQxml!9{hr^r$4W^Fgr0uwNMr3MPX6=)Q50DdFrME2xzSM>8zGs$W#W0mPI=`2BlP{Z(aVN2y^veA;;+p>HPj7a`C#=fQp! zem?C^evV@M*Z2@cGU2ONkfMK?edijE<5ovat~pWVd{1gJ&y%@LNB@+m%rDSAoFF|EwK#PqJU?`-#dtRDTPBYwXY51(pi%0G^$YTZ%4Nn@w_&ODn_$W;8tBhY)A>w93TI&3{8VI*uhIkh#!>y@D~WfO zZsG;1tvAY;#(08ysJ`6BL>#kz+3ja>%-M0#ZOT6S?-TXHtIM>+x|p*% z%Kj4a$AKlcYB+{3I{Dn9_G+@FrVXUl>rC!`x7vIF#iU5RBP|y`vMt-n3j_QLMJWm4 zpG(MvN%>F&u-aAA1?R(Ie7sIi&HiZU)3l#5e;q?)`MLlMcPp^#&ezkq23-3Y__bN@ zxH_1Pu1X!?*U#?Y@Zg;e_T#@@eT3Fm)*-OJXsUPcJN&hM4PVYwhCCF4JMD>|`wUV8 zrFu<5w5*5zPj*E-B~gd>?nzDs2aTT*-M6I;mXX2rfYjh3}TRF1O8|HcSy3LQcYA?D3N8lSCu(|D1iI3Rza>SgtesbJrC|0 z%;D}AhxCAuH^`I z>umC=7!`xpHuo4}8M!GO`Sv}>Q8LhtJ%cww^Ka`_-f7>^n#c{U6Z;~e<<{YRm3HZC zQ!I-;M%9Vn;Y#4)B#N3-wCg30$WzZ0qYc)9>!&Ezhf<`0Y*x(biL_st{)LmJx5t(} zv?%uJnM9gef42H_&XME6Z_-PNC{6h$9I|apk$n9sRjTc$=k0jGjoY;c6XCtL3{DTf zuTxBB5V@Zj;#U&#D?{}K$bh?NWj-ByacxzU7TNro0N=RD#&02+>$gpVtFF{E0hNF2 zzuM`lKzIZU4WJsRwNqK8$9+UMg!4abgAR2$)OYAx*jeFwFAZQ}w+F;4$9o4a@)T+YV1h{FjbjGbo*hLi83%Zt+#7?2Amm*Mg+?x!^Krms8( zruriWt{2x^-(>YM9Jxb?HrIL(X1FB~8#{?ADn%%K`Bg7G&T3Y@lLVvL%(8ze;7O#V zl=FvXzF1S97*6(GAMqJD^u6_Y_-#p-h?PiHwqUJXO8s}(rsBaz(?zjCowe`8sPK|~ zhDNHEINX(_I9e6_vjH-7w0op5x%u$JQ^l#M27*C&6PNR_*4Eddx7}TA8&JICo4ftf zaZ`pbZviTU^VbN626WZvU-rOb)5}NAY8KoO;qu4?1t5~k=s&hOM&(S0@Yb!U)N%$2 zf8{ffsdorjIvFFS-t$db#p|DKei7{~+2Ih)ym>-dBLiAvxGQm16CC*1YB5FDGvFMX zPs;j92@hAPcjjb%t7s){Y~T0yD{)F#qoiCD70|Wabk?1~Em=t#zc~`exV`o+0R~8@ zeTXyiwd5f+_3SiKXj+`AjKsRKFMYbV6|2^4Av2}H_|%n^rA}rKWzu=KSDFNIQeY68 zOHff$XH1VW79Ja2YkayW%rqePk=|hi?v!>PdKjBIy+eoE%E~N6xNka+xwulG-xw!5 z+cB*@Iwc32P3 z7q=trF_FrRQJl-H6X#{_)a57CZ4+xQ)4$JMY{MKKVVGhh(W^Dj^4yIK*Xklp)+31^ zQW{9QW8%9jl9du_V8=WDnAY0Kt$3L2FfW6~n`G?TvCRw+%kNuXZ2Fq*p`}Z&)dgcB$8%Wz}@wSy*c>OC8(7o@! z(jw;e7IE3)+DM9T4z;Q|u5CN7xk*j~Sj&lrUMf2hR~C#n)|(x6Jq+UsauL7=J4rCb zAfZecPpz^vR>?V*wuNUed`IXS-qkAbLdL8VaP)lB6fj+064Tghq7%zuoQ;293{E&@ zU&1V-9qO!vyTwcHlbeosS%t1ZcHVQmQj8)4Z*o0b{raq7$rQlKqgo6$%|A7_jlaTp z1ep}q^72UQ@mh>Zc>Gx^XYn0};{PM6sbbeYg&TJ=M8)TVyEi8;3)XV2zArZ0hH1~p^_Cm{s`4i)9a2{AqAkFJMKjj8L0FL%tx>*u{Q1~!)=Cc(eawlEDlNqP|KWeiJgAUv zE5~-Z9?!zieLP-y3_8d?5qRM45eGil_1qfjSU|clmTLMCn_A;pycnSN(3Z{mAS@}bnCp4z&ip{`bR+Zr`7ca$OQb2XbR5i`5i|A=)= zv8yG3goV~+A3U|-?(FjKBuMZ>@t7nnGK__gwCR@!kF)nMgbGPKFWI5-Gw2Fq%e4DfQ3X%#c+1sFz^ z?NAXe_2NkrYhmO7_5E*JxSyXKT5ZTn-5#)XnA$HCEymvW+Cv&vl65^z?|rNbDD5&~ z2*iO+zilZK#!QECHwH|dcP~c@9F#S--X|+EaEAsl2;o(-+9eA=8v(^$dpsnju1}c9 zt}9a!GfA~iM1}Dk;qHGU;*PGPjdK+J#NQnKn)dmE3>x3Shks->i;q-Uv#8VhnMg0W_uudH*G*K6;<= z>eh>kfQObV2a2O>EXX*xhjqG{M<*sXJ&smH?MPKH&}G$EicBG~@T*INMeH+oc%WPJ zd$rtBYFJGZhF^RA)R1?VbS(3;bNO{{0m@S4+;0H^M3hvGeU24;ohyCj^L;+o^m00Y z-!a4@?wj8+%G7GcUK%KK-a1_5z)!OcS^JElYp^g+YqE5)C$hE;<~5|yFsfr@|J7pj zuu7ZsoCVqVx-T_)CgeW~^cb?t(+FBV^?MOx7)pg}zWVFJfJ5}$K#S zcV)+(9^pCl#1x#i(sf=UL1rVk#oft9aQ4z}`C3(A{MBk_orXM8p}+GqV86mH==+fyv#oz=%m)b@F=|NTDdb(|oVlAUwk#4QsZx)$t z1dC{iDD}X5kE;^e$qRAKwMu5bOtn6bk|}Hzd+DGt zc0c~G9*PMjVNua{CMmD)T2PPo3f>0KHNh9Ryq{DIsr-Zu+<{;=ZPcMqzL%Z}Rr!9= zkJ5u@7Hfpzek7P5$AQU|HKQ6?6I_sttQ-1_NPL=T~C0D3m8Xut6K6m2-51eb@HFn^rAxZpOWnd zpNj5u*4jk9b$h4#_|oI}PCqJJsp>d9ZIR-?pMFW z$&jpT2d;BkrcZ0<|1R*}=2^ZXrF$qH{T4u>YDuO6`C zI8!^VFjFN1YE{n|>Pq6QLMZxLo&f#b)#9ICl*35Psg)58fGy!%0h!&u#P4YFli3E! zn%*(^Gaq-Wm7PbKbw>8L`HAufYJADZt%+9`FSSxLP{lv_D3I=|O2B)0f0BeX0eqIG zcWcpBcs`rf@+yY_sZq#c_eN7Dp0aI#(`(7Gx0sD+1g%_xn@?dW1xhBs_))Jjq9vVjC5wQB-CX}XyOH5w5*^QvMp=Yg04Wt{8Lk*EjoaTm>TvwW*CE!Z){WzsNLg zdr2xBQtB2=^Af9VUDt4Y0f>cs4GFQ!G1mT^;66|(E$cLMSJ_S16a^)gx!a2qk5{)G zTj%Hd$@i9SFmQ~Suz>l6Al&oS~=_A?#UtWwE0oh~84P@%<_`viRF1>*_ z2zSGY@8RtA^HZcQlz5tA%l|XvGaifQ{5%d21KRp{@wcGwLxV4?wnZ&T0RsieZT_W3 zrtXxexp46U_UixSFx=6?aJ*}n=+FPQ!9`U-hvh0X=J_9ORGICxsRH*EGcf)x>K1Tr zCXXc0jh;vSl>>^Y(MlJ032(ICJbR!}0%BO?!;1(Gwh3>u`~W zzJ5lYBl3654Q2j}XZ>h6QiGNWh6-w9y7vJgC+U+pvB)Bxug zuYCapVnBVtn>OXy;Er3rjLZth%ltGXYsz6Ctejo$6&iXN`pA?}OjF*=M2NIL_bO|o=WLtrJEO09OIqk44uc$qMb< zv>68;83s+@R(=I)Ghvd44F|N=QrJMWY&u4$5C?-l;TVgv)Y2v|n@u=|0gf@LX+@dk zW&mZ6!C4>=4vazNAGMpJ>cF88;PoBhYUGJ5<1O+5(%~cI@Mf(1L46t8fE{>0Xgpkc#eM4LI zKvy(VV(Te^GQRL-`+7#EPJ|<0WtQyLj}LC8wNZvuLWPPP_wtgR9GP&KVUji zXmNKcqEhcvh(?u9%)k)WM6n1xllpW}z?T;D{VxR&Ovd8%Bafo|+l$JJkX#@yK{}J0 z#T^T~fL31n?|mu$FV!NhD~eCI2C26NsplnCc^<5 z{GQf55=!~|J$r7aOGsf(Z)8STqM`X@$;EsQh~1zrE{WzjsX7cg6hMs^vyp~+`9JA< z!yzg!>N_`>aRZ(d%nCeQ1~t}z_8D6NAE_goeli%?LsN9)E^sK>M#hxP zD&EqEG`+_J6`Q^a{LO^1q)xZDMc9w5VJ#HA^=+4n4NQ~~3*pQGOFhB$;X{5XB3koO*jFcE4Fj~4nIz$@j zF6r+2@lX8rX4kcMJLfv*T<3Z2`}46TP}Z-48=I`&tcyO~3BvBwL@L6_{EsB@qPLI= zm*2rU%;H<}YS#)cBl9lZF85IklQ|R>m~ca@pxgs@-^tIb{rGan-*i>6irsjC6~@1x zCIcLdBnj~9ldGJIX8%3>%lfEw`u3nO+&*wCm|Ft|rO8};3mC6c&wcLwS(Fx$WBH4_ z9lf9FltZUr_^WYgvWzeHG5IA|hW9ly4NCqEI5GMtbPm5%w<>^XQq5C`Jr-kXlv|br zegV8c_R%PQb##hy%iG8Ndoycfw5!V>gb8O%$$_{Qa%rIB7Lx)wg*zu1gIJ3Twr+5D zQ}OaFYL?|L?lP^iE((8%Bv=b?)HCH%p*uXro2cad{w#Dl%=o=!iA@R52>fG$h zqQFn9diHi9Rllhc?}GdKEgs(Dk!khlPeC!U)e8s^1gEp_vsGZ7BSs?|4^+}}I{N6f zrtkHh<*7ntYvpbpub03e5lGZ}LW@hXc~S9W8SoqSH>vq;??Y z@MESNkL#-=Fv+{(<9`cS_90}XA-gunA0_y0<%}(>4E)*^&*M4x0liC^adc8lUTD1YpoJ90;y5)X^xe|7yjH855*Q*r_oLkt^m{@B@yT%^Gi%THq|JE zO!$hBreoaxLODkMo+xZ*atWP+zKq*~4Sep1sN=S!@5m}VG1Ep)7Vepo8an2R_60b) z1L?GZ6s8*Xw@T+c=}4kD0k~vUb;P(Z#STKhZj1yT#K(;Gv8{zqCZj0B~0%pF437+8~ZVJPM5>iVJ-0Z!TLPd`Aug z3;*t7Df;6cY`B$)`Zyvqwe%9{bMiWQE6AAwG?F!jw|nBY1zz9UnJW(sYp0siI`=|D z&CGm7*9-SZ4n*5^iAR1^uVYi7#L&mYtfk6Dw8rQ{qH=Y81AOMG*s|RKAYbY4ML$^^ zaqnY{*C7<%=Tv54n_(cSQO;#ZEkt-#%%>I*er zkJ(WY_&6WK5)STi=fC+6lzs7aCX(Z9Y{!XCaV$a@Z(p;Z!mB(-Ms$LjR^#0T!)bd9 z#8Tf3Jm4c&)a$i;JUqE=DJ(zfE#B~LDu`gLS}>nj$-!IzCgQZf=imCr zz20fafp7ZmrU&etM$6i|x}mAztm41je&RMX6n>!#rVZoI*Rn}nY-hnMv%jSOHaFc} z{zmR<=xoAaviT!Hu+Ojb%kCYFER44bnz3Lebyp9|P{oLhAqWG$k1UKRT#D9QH$|Iq z$?upR%Q&k>Gvf)%UPd{)Do>s`?B3pew)oGl8yzcXoemeQ=z$3`wWPWE6buAi-Lb3y zN7m{}b2CRzuK2?{FU|y;)r7F~-!2~n_K&HUgA;Hf<$`B+ML6oOz%0toe%g!f|az&2_Oi1B;3Y;QG!$)!BEZ@6YX#VQ7e| zI8Ai6h6;#P87lnNUV$0;47(?0a)@tk)M~}s{qMMWx1iJj9;r!ROwFlV z|9W2b?PD!&G)8AOCrt6HVU&ZxUI5mhS_U-<0|td2t(yhJhKP%Mv*6%Et)MAJ()4PL z{wNXN`+WeHEJm@k8CVl7;xlS8AX-+tNCFRIYQaXDCH^E<{^klDiD-UFcby%odcczY zj~ZpY@CF?ojhsB`z7JJLebWO>4V?rGUA~6ZSBdXjq;j_tJXh#qm3s^zW38p;{AfY-)9-RtE5D+UNNH@c$wR-7 zn@9!R-TbjMEl7?(IjK3=+H17-vr|+;#5FDWU9f$*=ZaSHFs&<-KN8vR|3OAzPnKO0 ztPK=(mer-_&O*Dmnn+DX!hz(R*9lxnAfyi+YU`b6%b{xVP&kq+p8`<=SqxHF0CENU z94mh9(barv&s^K8J~dl0xClsF!79D*PiDX@S6a{7(&kaaD!$JuA+0H0Y_SJMbYAKI zY<*b=570I>-=UUk^;%M-0O|X@*xhnbne=#b_#0hAkzvU|Ci?W?LW^R7I51e_0&)kL zrY6>Thsjp*qip1r4hh1;scoC1bCYAvS^m-Zs1OfffS%8iaJhWz8;``}F~z>9;LZGw z2WQM*^3&@p^iFB5Xe(L}B@6q{ax8QLYmhwsy3`Weh7J55E3|g|Mrsw|!$wdnp*dy( zYQjR*+)Yai)I+Kbt1O{(V7|5I<dmSh7hr8mP`ixNI@^OcE?=im#=?0GAo0_>Keaj`1h(|}8`RP_ghv-b*&Fnf4D1+$R5&@GlU z*ARuQeP0-ZVN*y2-k-{I%zN@PU85oU8^|7%KfjI*uTsobdw>NNBmM%oP@%X{kGNo8 zN9L?zmC0D+*>3=-9)IpX?}P1iqz^ahepwX8t%Vsa22~Wul*Y(XtTlkLi3<2^-WMX@ zW(4qS?zBNR{x46-V`y1L7>e;E?8`Tlf?saWBWN=2Ry_|oYm)8?y@VVz{ z*^9r(jHAI2$_t?{!C!)SNC9^qR60q})grOx43cAE90jRLH3& zFkhB$y7)A4S58C<7f})sb;Lw~eq`0w9F& zlS_KImk$3V%gHU4aLMPqp9l;FiAm+2K|L9_D0ffC*Vz( zO)vJc8r}9^yN%EXS4zvY0qk#^xakE!>}pMypFDq-4{BEop(jNIZz$NlpeR`zJXyPQ zK;PU0L`Q$z{IR<=4a|{kTO-1K+)e0vnPO~ZBlkM8LohdPOl_7ZLe>6oIczB{cJbNdM@Kj1siXDRMGSTp&3KbKx>4ybCOiI<9&RN8FpCweizeNBB-=MC4KW@;eA9%2@$J17%h&q2v zozX|Ed3Jw-TnNKN|wtNTohK!qmVM79C`9 zt4=H7olq}kmp63XW{hJ;+wAgW)_5|x#_dzv8g8!(cJkhDPgoTBE`O5`-=9o+kN_6U zLR_e3I@3!N=SJ?76Xj3>&}(>Pp^)1^Lw#y~CDpL^^{{`7Jd+^LTJXfnDwPU}!tuvP z>6@Adtp{~4P4`)aeahNtit!{y+*WThU{Tnyp%!eu6DkoQ!_M5l9@GfSH?49M6PGeE ziL_%A1 zOzQbs;_a8)z*54VNBu7%eKfCqAAF?*6+C-G*An`eVJjF$+t?nz&gc=XTzy;gkTpj- z@?HoJG`U5)5c|hw0)K!42Po zXD~IoM_Cp0RyTSm%LvKPF&usO_&aF+%jJi)@~)6LNuvEES#`Y2iQt`JueN>dO(A17Kqr2b{Sj$o2KM(HNVYK_EsPxNB+`0h2~xuc0$Ok z6{)thS9uZWDRw)#G!hU@1`j&R+hqtjrFm56qklAazAOCr562{AaD*2{9{M7f^3>7Z z_u|w&R>Mf^o9{+=SZb{KfBMPNrB$y#lk$Bwe<*oyY+ROICi)yKJ;YPAf~B_zXr@~J zcR2cjm^kH!L&b3a_8q$k?CB4mqbNczLSPuYJlnRxgOP`F^Cc5ka) z|7R`L(DsQe%4pHlkE@{!gN=LdTREjHH5TrGu(vWtNK;y$es=UJ3vf#0dd}i>i@0xN z^(3;i-wvr@9jX^5iy%cuMoOi|FWtJ5vYBG)rEHwSIWS+VU`8>ZD}oKl#`=E}nHsRZ zNwH-zh^%CLU+<5H+He}?DGaaS>T8Aj)m=q4Oh4M3n`jr7!%PyL~oeW3>Pn* z$-tNe|AmYq*UVveu>gDjXH~N4Ib$R9mi4(Ix65DzQ2>d8G6mwEs2>1n%)>sYdR<${!#UzO+O4;b+YKcXu$(Z zK3bfvA6mFte>3sP+snF`4U!8eb@%>l5Ne2r(OYFsoJ?X~63^)KYP`DqTx)mDmmlk@ zvECH4iXIh(G|BbhlDDB@%^qkD5UXSd-<#RnAi*|C>wb60fN@uSjB59-k>4%-BA3|R zHIFRSif)B=BO4%CeH$8E6}zQ&;!)Tymf@xkGH;(;|5o?oB4rEWcP)WjBZSe|I%xc# z1%y8HnRZP;qn;nnwb6%T;8(MeRKyIx3)`muKvJRi67bCNR05B&yFL55nWcw<#*H(a zgdgtfpxK3q0%?(IcAo{cYDLLqq_n6DHutfLjAAOGMDmjRrB>;M4G`y^Pdhx zU`bv7dU9a#5tzS2nV-g;vDrxA^?PJxZtRdCmTyS)v5Cc!^5C=i=DX(Wnjh8Qr-avi zc+DP{P5sB0{{1r3TtlD=(_wd1b>N+5k&D7 z1{*7Qr+mcgRqvzy{qyT#!@$L)6q{X;TjDUI9iZS_U$t!sB+GC`TfPavMZilN*&Bt# zdruA>(>dG!WF)W&P4D{2G|Z?assEh!d(uyA09;t+5`r`Ll%Z+bAwtoE&4nOvqo&jI zbTfFSOU*IOB%#L+iB;X#*H;+TbOjBZqP8bJ-6);sU?JcnZ2Y5%8F7;)lT-r_)A1J) z*&PBRNU>NXo>6C}k8g3go-~}QrESvCRbLn44o;b!lD^Ds`OMaRAd#M)CHL-fsHUWH zGJx_gF0%7`$NGBLIvUhmctfcggChLJ5&7lV!QQGzXFsP5@_)rO%sN(NR%K)Y1p*xAUxjHUH6U`fRI%UZCz3zMx$sz*;;SM`UgX zTc+$jjYnTp!%Qi_6fB>$piGK1*sa97(HW-k!i$OiqGX_y<`EF&!jGMBz~x@BfMe#) z!cInb+_X#Ns{&T^z>0e>nOiNX5D=3UqLj+EF*H#>jK|L{fuOLggMd(PxE^aKcNJu!VTp#|7{ zcbEYaxcCA#4W&T6WsNDhBc4Aq=&}QykSp1+=r;d~F8lZe4dlg#0qcw*B(`b_MgvpG zeMMgS#fPK)*%yW>#eKQ2yo0k|!;tEv(%GhQzVgXqTXSAoB;4hmC+^2S=2#T4hBX(p zkffS72R5=1hUC2*kQ8#F*5?-pH7vX<8?ai|ah=|^lonRRlYL;-cG0)siZ$68^!#}D zKO8~Vu&`X)qed)jnj^)9AQL=(QLQxIlD%22SB(c)T_<=`WPC=Sko!q$*NG1;JDsHj z{v4rbj170Lj?;Jl`4y<3C&P9egf$!E%7+-<`@3yXom(2m)7K8HlIF{0?=kzjY%}Td zC;SdsNGL2PLJp;T)_R?qROCg5vb?Wo#e(h3{D%6nWPM&OZT2V}^~5X=o~xt=uw_2^ z1PBjy)+1$;rPI&9vW54_{elZ=HaGBNCq3v!7zg4auAG&(|7#$k&Y=OLR0$H+++ZU`CoOC#A4<6}7B7C_Q%%Ht@?U?=G{?=qqWMGqJ_WE# z1F>^c_S!R>%b0)^eX}EY?J}BA3D;cpZ#YB4N_5P~viJ$++9)0>gf(JG$dsmi;@|G3 zC6zH|dsfA#Bx@G=Y(*ZDN5=>&O{VwhP^EZ|For$$*-9wFM9_O6=w7qK$nc(st~yOn zby<+A)fKhTFJauQi0Do8PR0T$_y-ngQh4ROvG!=vz7CRhyW$dZ!%wwb=4`oNPUfE$ zS|vy&U+-R6`HQf7MXdHu#~)k=H6iz~M}HqNih;Pkq1lI6q<-t7r9^`}5W(O|nUTw) zG-kb~ZHfVi-bU)*SZjlp*30Dx#qxAFGRMX8KE?MIRrBE%6II2BH05CpOFM()3^pr_7(<$ie z+!1@q+m5eu+X7%^4~S0JF7^-a;kU40a3e>wB<~UsfsOZr@?*Ic23v8VT+GTB9)XC}%WWDLc=Sd15N^~GJan(9y0CzCxK?h#rUyloi zS>SLrN>ji+nM8}7PFjnRks;H3gY($6d*PjyrAJcf*%KOm3fP%IXxfqyPC{6=2#(a^ zo#XTYkI8g>GL>ceD7X2^#H5;Sch^BJ@az4Z2rPasl6Pc&u*Ha)B?4)JMj8H3L(>qN zzs{HUZ3NEVj!mE*z&k9RtfFHCS-cl+FpQtCy{O+R{%VyTPWEC^oT~j3(dUVI-Sji> z=~+HA3&9b7h;JAxvHPeXr>&*YHl}`8BAkgt8R_e*?L~nSiV=pfUiMx$}rc1zsz>(4r!7wPvL68%?WX(wrPUm=qwvAoIZ=6IliLW{fn{|!n;k} z7*+n@Lr=;ko-I%GtpnY}&V`c^M&keAMPY-Qp#vKV9g@9!qvt);*}5)HtEH}koo#hJy0a|BtSc*L=M38lvi|cg#e;h` z9E9dFON##)WhArk_q7d{ryi?}=6idjZr7Kc!W(wmUSc`K0@y6lU~j|u8?MYDs&K#m zM09&=m&O7Bb)i=auOvHfQ)gN{L*;M!41%K@p%v#0}lnhyO2JE_)V&d52A|vZ0 zZq$9-U^x;U-5o`QNEaslwz|YZXI+d7%lM?Pn3>7t} z+WoA0I$+)IrhIIF`P`tC68uUXm+(C?oxJ@1({{C8u;PWdTELe;{zkeFxgHOCj2634 zHT}!Wnzk{B=_>?xVLbi&crrEs9tOu1wbs_oKm6y$(4i4$edy`1+-&w2u*C{iRP7g= zIiZKYJJE|YA*agdX_aPnVV)Nm89$V858E0`s-1$_{td5@O==l^`xG@te$NIQ;MFQL z?)|vQoH=fPVrusFCTMpNABW3sf5B?}y>Iw&jXAHEb1?e31>WV+`03il$fi*@eP1ZinQo0}MUQ?-Fj-gleS2hyEt9y}b&D(%4BppZQ0NA`w-%5j7#F&j|KV5ss@1)DCTFCtt#4_s6(kecn zK$!I^s@qQKlW|o}WVa!wT+AeXLqCHo^cPFcNg{Mi`dT4roP$lRI}OLd;dxHcoUdlg zK|g11pf<3HVaX?zcZzKWRtQMnOw$}G48K{~dL1KMz{r4nm8vv0sw8H17i=7i3nEBU zB<+lPC;3>RPKu8N%Q=3RNA$5(o6+_a7e7nkU+9gd zKnhNn$+yPD66A5n;BA_ zqAb(4md=#+8PaJt}3>v342I|aTToXkxLO)&LG#sY~Mw}n2txCntaN6&@Y z{ns{>%a1pvYu{sJK4+~aMJo#q&)F1<4$0FOUZPgthDp(d=JY6Yh;85BfAn~o?um=R zt~~9d%M6&@;^$S@ugURPP{{7(WQ9`Y>Y z4;##5O>@=r;VM5Ee|3-k%cL|!*FU*-Yoa%K@M*FL_g!&hx^wbg-4SG5+U63tTU9WO zWfu4q;RFJ|#eB|zs{FVeiYTm@iAtI}j6(pWY_5;i?f;Gzlliu>Z>|B@*qsV@I zpmpR|AtVUtmyz;Ut&k@5HVJF26j`5?DdSRjNI#a81IC2{p!m+>7dAx_D~nB9LpJ?U^@d&-Ey5Mig<`G*GebiG})l>`%TY?-2ovSwhY#gGOH zpAb-*EM)IJ(8KL3f-?wqX?d0#J>+xldvFxWkIk?X`S7yZ+c3D$wbz-U18=(qwvk)R zqlV`)xPxpy=Me}bOIxcX#pE62rEW?KA8+{{-JiW7sIEl)9o{e*=cRG}j7lHS2J-Fc+57;qYLPGJX9^p3&%|>d3D2W|G4^H2QKJH-11nTTf*zsN z_C90xx7oF;MT^qk=u3llPiwLSOI~wA&3?(hs@AjjEoY6jPCU>;o#FEk!oV0sbO-Q;fe?*AR$qRaSF z6E_b8Y+g*u4LJO46U;yQ<=5%AmdNmiacdtfJc|Q=AyVtm{2{*)A9$w2rgb|&nArTj zW#(dtNG*B$hmU>xU)i6_JE_LDZDpBut9Xj=EA`a`JMv`yQ^xbeBS(!= z;lEHIZ0E%!$f(h`(NPY}dfEi4mhdYb$=D8*8aLIWf_>@(you%HaL&2G2 z8naXC+nx?fml_as*o(rEe)@n{6&nPE)6kpH$Cy7y2G#?yxR`_O9?>8>4bNmq#92sl zCU!9&k#uD@)nW&6S7v+LU6b5Desm|tK6ot3#sYwfo3M#_yBxkkl$*zodQE~Fzah5vKXYCo$S-$lRAng7J`!g*h}9#Th0T)cO86+h63 z9cfie03#@j8iLACaUyD8Cd^;sC%M}Fqd#WdxF3~#(6{-*-%x}7`t+)+RIWi_TF$A zBw+txFQe@r@CO>GcQ&M<^TCHR)c=a*ze?X*@zj3B7Bp4FxW8~b-EcOpyN>|wwyYfp zBT2mjrRkJd@t^&PS|@MSp@u)P_tjp^(MBKB1hGi<(l4pFx|n6H3KhpgKU<1*$uDnq zH}ED`aFg3BB^JkjlNK%S4wKL<&d8Zhk(WC+IbrH3hphqZpJ}x7?d=%$iWUwvhZX%@ zfi6#H@Uyo5u4(95m6ta&d4T5^$l1F_#6f4+s7*41^+;yUZH*}bAzDu zN-aRGo5nasJ~PWxgkIs+Om zzZ+^*tk8Z#V6A#^f^Q`*DBv1S5EBjiLChf}pY1f1L_K`YugC5lk-Jlp`yL;brQT9Q zWi$1BRT+fzM&utg%RdvSL0d9!4cbM1MLcN^D=lV~(LH2sF1SS#>}PIC<54?rX~FX?=7E5Mx71L|?zk5?`2+)t;ZyKg!?d3@L_o39^kd)VsBfT2VH>2g6Uwj+HL{;00u0GW zo=V-JrKmgm_a;}1CGl*v=zydEJq6slG}Ju_V-`C$3|+bh`|17jlx=sGNIEacuuVH_ zSrhe-*!#(AMIUBv{?E>-fJGve6!?Ynsf2}#tv*weii;IszhJ6S0UPg-R}v*W-VB{M-$c%8cph zVK`BVTVMtY)c`?i9_xF^$29hO}5`kftTr}zx;h!MR(!n?e1+GG1>ynX4|;m)7gyRxH^$p zQlj-mDiJybMj~5W1RngXLXEHC2{Z(19|n(!-bzW3!sTbq49o2YEjkBpREx9@+X5`F zri|pih^-%5|G4m*b049Fiu;pI8i*<|Kbj~olD9h0#g%?YHh5cj-Mk%O zY}vg*MvZYoE<=InS-ynYkxiz2Kf^+vAEKJGd>)p10+;2bTbCi&H`{xG%|0#Iur3-~ zTsCkdlHIf%zamYZf%)5ZLn9t)7;@0w$S{e(_Vfm|^bdo!($nwDu<^PbI%19ExQ zL^tkM7P}2N{E|0r?=6mfh^y?75UYBa+t2a`Q(%6}rqEeBNPF-YU*U}wW|F3HY=^cP zbsQc{?OVrTN>9bFk~I?0PFr)Ld`*~CUwLFu^i|qT( z4lRD)rmW3p<86drr~eTg7RE~fUI^|OkCNjURJ0NFKZTV~5>#A_eG8OFkq`CU>(gTk|RHw_!$LBL6XF+9@(@A zJa4GY*cbaOtEb%Oh@M-&^6Kd*Hq?LFCS!C`O}R%zm&*PdjZkxZn44>y5TjA5y7Cp{ z+51r?^GJS^1iU!_7i;&As08YaLh1%5X7C!G^y>x(eM-Jb#97HBZdRI$3q&~>dBiv| zruk7P_1#$d3h+n`7L{R=wRE={hWEk=YVNM7EEH5{&W@JhFT092`BzEYD=(|zK!uRU zlkN8{zh$SuYLr35{wvGvMv>Yc*ZkXW8LX0V^H+75ibyZ%?0*2@pFal6H`Z+#i5SYS z=>X9mJ?`u!!uty@VFWEynf0oYwMWVC~PftDk1Y39il zyoL4>j!QJ@{FVLvGy~E}9^ye<$-Ges#Vt{-gLcmk(pE11Tu{x07EbK-6b_P2jaPXk z=zdedCgh;Q!H$7^OcXzNxW$iogWm^p=47i64FwvFd><90tF}FlWwCV%Dc3D~a2F3d zLav`JOU{ca5f5Sn+b~Fa4`C^{M~YqSKdhE3>{GW zzJf=kO`5IMm4)ALZLw`P7X7RflDrPs-kd5pZ%~X*E~W~fdlCOTj!i9r9?^(niN))b z`fLsJEv_<-^)(!iBF6R;dq1?@a8jaa{?b^B?*{}H^~ET{`KOQT13leBqh*HlbS3ob z6;`-mDO1{rSlk=`k(OFr%ETN6m}Rh7jL)CWC0||4;>C`cvt9t=3j&|#<;Y5YB`qN^ zm6`-QF^V9UGkcO-t#|2&)5&*cMvI=L#i&G})`|F&5`*M7d63Cv1J-1Z814&_E)twq z#qW*?r)iJ0y;;z`B`iGOfq(8@M#jzNeLb8wn9wZLH*^akUwOk%?fA*yTpkqUwAedB`nGGc5c~+%gd|2dt%ZvEIq<1bO8vPwke!#T6dp5M36OD z7ywh;APoYe-q{UKI7kGY@Sbx){T zoYJL$KID$S1YF?Z)2ZU;15q~@1M!mJf#rWity1xWyUV+Cs~8n7ZR=9CO7h&vZ6x8V zn*%3v6CR9nKd7DGuCtzO@YQw0nl>;6So8irp!l#Y*B4vqhdGdNjuE@?PEk_)~)Bm!5&ig(xNgIiv7(}K%~cR8GJ6$3r! z9F)+CV)Z|C*P?S>tW@~cfhb6qvvMaZaWf>?k;h2T7|Z#86fjk7^|`8uTm@X1a%_fz?C8lw$A@YPMOT2Q zJlygiiX6ECmrJI|Nc+|0yP*12+Y!#gJDWSr?d4>6;j`Z_&SgCa{R)jt#6-ag-jm^d zDeYkf!a6ZP;ON^S)j;iN+Ba%-7m$bS$v!>)-Up0q9>ytPtU}TY7P$L)cchrWjmi|M7!`aY<@& z16~Pz#?iR@OBTIjQEJeT=b@-QIvcBZj3EB~sWJC+_6=il64nRm{~&!KNFPt<(_$NC zECDkr8SV#;bfmBB^I@fccRH{+^ZDIN&pOBkM%ur5fyHJO3t{-7*d zwvy771$DLjs%oY&shA2+N?W@?AHLv^AcXMT0J8IA0mBViv&>bx!$U^;QFNHJ&~dJXdl zMrSWD#^f3W7V5*T0eI{15q+m_wKBr!vkkn&$F6XTd@z0Ib<-~J6OSoaKtFs9u|#AJ z0^4EW1ym+EqAP!#S__b-Oi`;2$+h?|feSW+u_;`Lo@qT6ZefTI`ohl3cGx+jR#f(m ze$U!I)7{&@Rf67(mW|M(_5xmIOys#n)D}yD5+EcfVJr+6Rq0lxM9S6K3+hwb8e|9+ znU#Tkl=%#hBnK}rZH9%#@mGSST*XJD*H&AE!14i)Y23VJWiCYM{*vzU3nHI`8;2X4 z9pMDT@+@+T1SiSA1f=j3NP-WF1|kp&%ui8?;kTS6^o#&-4m(Gw$L@bHXj=X#J)|Q% z*PU3)pvdHiFhI;Lkba&SMV%QX;QDDo&&QzH5BBe(q3bgc^~LPiJYN^vdH>HIr{XF( z#j7hQJti@ke?5{Knq(;3^Jt n&p$%7bM6I=s?lpQ2F}|pja}RbY9Z`^=Z}h_rb4;AS=j#oKa4PC literal 0 HcmV?d00001 diff --git a/Point_set_processing_3/doc/Point_set_processing_3/fig/simplification_comparison.jpg b/Point_set_processing_3/doc/Point_set_processing_3/fig/simplification_comparison.jpg index feb1b40643fe3bc20e58c83b53fc6ff62d8c3795..caebff22e58e64a172965941d8aa6fa2309c8e3c 100644 GIT binary patch delta 36511 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⪚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•K*Xor?M7-oXQieYX8Q?QIh};w*5?gYD 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ğ(JSQ!#*L(ZO$e|#2Asm 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 #include #include -#include typedef CGAL::Simple_cartesian K; typedef K::Point_3 Point_3; -void sampling(const std::string& filename) { +void sampling(const std::string& filename, double size_factor = 0.2) { + if (size_factor >= 1.0) { + std::cout << "usage poisson_eliminate_example filename size_factor" << std::endl << "0 < size_factor < 1" << std::endl; + return; + } std::vector points; if (!CGAL::IO::read_points( @@ -24,54 +27,13 @@ void sampling(const std::string& filename) { return; } - std::size_t target_size = points.size() / 5; - - bool progressive = true; - bool weight_limiting = false; - bool tiling = false; + std::size_t target_size = std::size_t(points.size() * size_factor); std::vector output; - -#ifdef CGAL_USE_CY - std::vector inputPoints, outputPoints; - std::vector out; - - for (int i = 0; i < points.size(); ++i) - inputPoints.push_back(cy::Vec3d(CGAL::to_double(points[i].x()), CGAL::to_double(points[i].y()), CGAL::to_double(points[i].z()))); - - outputPoints.resize(target_size); - - CGAL::Bbox_3 bb = CGAL::bbox_3(points.begin(), points.end()); - cy::Vec3d bl(bb.xmin(), bb.ymin(), bb.zmin()); - cy::Vec3d tr(bb.xmax(), bb.ymax(), bb.zmax()); - - cy::WeightedSampleElimination< cy::Vec3d, double, 3, int > wse; - wse.SetBoundsMin(bl); - wse.SetBoundsMax(tr); - wse.SetTiling(tiling); -#endif - output.reserve(target_size); - CGAL::Real_timer timer; - timer.start(); - CGAL::poisson_eliminate(points, target_size, std::back_inserter(output), CGAL::parameters::progressive(progressive).weight_limiting(weight_limiting).tiling(tiling)); - timer.stop(); - std::cout << std::endl << timer.time() << std::endl; + + CGAL::poisson_eliminate(points, target_size, std::back_inserter(output)); + CGAL::IO::write_points("out.xyz", output, CGAL::parameters::stream_precision(17)); - -#ifdef CGAL_USE_CY - timer.reset(); - timer.start(); - wse.SetWeightLimiting(weight_limiting); - wse.Eliminate(inputPoints.data(), int(inputPoints.size()), - outputPoints.data(), int(outputPoints.size()), progressive); - timer.stop(); - std::cout << timer.time() << std::endl; - - for (const cy::Vec3d& p : outputPoints) { - out.push_back(Point_3(p.x, p.y, p.z)); - } - CGAL::IO::write_points("out_ref.xyz", out, CGAL::parameters::stream_precision(17)); -#endif } @@ -79,8 +41,10 @@ int main(int argc, char* argv[]) { if (argc < 2) sampling(CGAL::data_file_path("points_3/radar.xyz")); - else + else if (argc < 3) sampling(argv[1]); + else if (argc < 4) + sampling(argv[1], std::atof(argv[2])); return 0; } diff --git a/Point_set_processing_3/include/CGAL/poisson_eliminate.h b/Point_set_processing_3/include/CGAL/poisson_eliminate.h index d5fffa9f7bc..1cfbd780745 100644 --- a/Point_set_processing_3/include/CGAL/poisson_eliminate.h +++ b/Point_set_processing_3/include/CGAL/poisson_eliminate.h @@ -118,11 +118,12 @@ public: } }; +template class Weight_functor { public: Weight_functor(double r_min = 0, double alpha = 8) : r_min(CGAL::to_double(r_min)), alpha(CGAL::to_double(alpha)) {} - double operator()(double d2, double r_max) { + double operator()(const Point &, const Point &, double d2, double r_max) { double d = CGAL::sqrt(d2); if (d < r_min) d = r_min; return std::pow(double(1) - d / r_max, alpha); @@ -197,6 +198,12 @@ void pop_heap(std::vector& heap, std::vector& heap_pos \cgalParamDefault{`CGAL::Identity_property_map`} \cgalParamNEnd + \cgalParamNBegin{dimension} + \cgalParamDescription{The sampling domain of `points`, e.g., 2 if the points have been sampled from a 2d surface.} + \cgalParamType{unsigned integer} + \cgalParamDefault{2} + \cgalParamNEnd + \cgalParamNBegin{progressive} \cgalParamDescription{reorders the points in `output` in a progressive way, i.e., the first n points in `output` with n < `number_of_points` have a poisson disk distribution with a larger radius. } \cgalParamType{Boolean} @@ -206,11 +213,13 @@ void pop_heap(std::vector& heap, std::vector& heap_pos \cgalParamNBegin{maximum_radius} \cgalParamDescription{radius of the poisson disk in which the neighboring points are taken into account for elimination.} \cgalParamType{double} + \cgalParamDefault{the default is calculated from the `dimension`, the volume of the bounding box and the `number_of_points`. For more details, see \ref Point_set_processing_3PoissonElimination.} \cgalParamNEnd - \cgalParamNBegin{weight_functor} - \cgalParamDescription{a weight functor that calculates the weight of a neighbor point based on its squared distance and the `maximum_radius`.} - \cgalParamType{an instance of `std::function`.} + \cgalParamNBegin{weight_function} + \cgalParamDescription{a weight function that calculates the weight of a neighbor point based on its squared distance and the `maximum_radius`.} + \cgalParamType{an instance of `std::function`.} + \cgalParamDefault{See \ref Point_set_processing_3PoissonElimination.} \cgalParamNEnd \cgalParamNBegin{geom_traits} @@ -227,8 +236,8 @@ void poisson_eliminate(PointRange points, std::size_t number_of_points, OutputIt using NP_helper = Point_set_processing_3_np_helper; using PointMap = typename NP_helper::Point_map; - using Point = typename boost::property_traits::value_type; - using GeomTraits = typename Kernel_traits::Kernel; + using Point = typename NP_helper::Point; + using GeomTraits = typename NP_helper::Geom_traits; using FT = typename GeomTraits::FT; using IPM = internal::Indexed_extended_point_map; PointMap point_map = NP_helper::get_point_map(points, np); @@ -255,13 +264,13 @@ void poisson_eliminate(PointRange points, std::size_t number_of_points, OutputIt // named parameter for tiling const bool tiling = parameters::choose_parameter(parameters::get_parameter(np, internal_np::tiling), false); const unsigned int ambient_dimension = CGAL::Ambient_dimension::value; - const unsigned int dimension = parameters::choose_parameter(parameters::get_parameter(np, internal_np::dimension), ambient_dimension); + const unsigned int dimension = parameters::choose_parameter(parameters::get_parameter(np, internal_np::dimension), 2); // named parameter for r_max double r_max = CGAL::to_double(parameters::choose_parameter(parameters::get_parameter(np, internal_np::maximum_radius), 2 * internal::get_maximum_radius(dimension, number_of_points, domain_size))); double r_min = CGAL::to_double(weight_limiting ? internal::get_minimum_radius(points.size(), number_of_points, beta, gamma, r_max) : 0); - auto weight_functor = parameters::choose_parameter(parameters::get_parameter(np, internal_np::weight_functor), internal::Weight_functor(r_min, alpha)); + auto weight_functor = parameters::choose_parameter(parameters::get_parameter(np, internal_np::weight_function), internal::Weight_functor(r_min, alpha)); std::size_t heap_size = points.size(); std::vector tiling_points; @@ -325,7 +334,7 @@ void poisson_eliminate(PointRange points, std::size_t number_of_points, OutputIt const Point p2 = get(ipm, res[n]); double d2 = CGAL::to_double((p - p2).squared_length()); - weights[i] += weight_functor(d2, r_max); + weights[i] += weight_functor(p, p2, d2, r_max); } } @@ -356,7 +365,7 @@ void poisson_eliminate(PointRange points, std::size_t number_of_points, OutputIt const Point p2 = get(point_map, points[res[n]]); double d2 = CGAL::to_double((p - p2).squared_length()); - weights[res[n]] -= weight_functor(d2, r_max); + weights[res[n]] -= weight_functor(p2, p, d2, r_max); internal::move_down(heap, heap_pos, heap_size, weights, heap_pos[res[n]]); } diff --git a/Point_set_processing_3/test/Point_set_processing_3/test_poisson_eliminate.cpp b/Point_set_processing_3/test/Point_set_processing_3/test_poisson_eliminate.cpp index d2951b02003..caf56855830 100644 --- a/Point_set_processing_3/test/Point_set_processing_3/test_poisson_eliminate.cpp +++ b/Point_set_processing_3/test/Point_set_processing_3/test_poisson_eliminate.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include template @@ -49,17 +50,24 @@ void sampling(const std::string& filename, Check_distance_functor check_average_ std::cout << " " << points.size() << " input points" << std::endl; - std::size_t target_size = points.size() / 5; + std::size_t target_size = points.size() / 3; bool progressive = true; bool weight_limiting = false; bool tiling = false; std::vector output; + CGAL::Real_timer timer; + output.reserve(target_size); - CGAL::poisson_eliminate(points, target_size, std::back_inserter(output), CGAL::parameters::progressive(progressive).weight_limiting(weight_limiting).tiling(tiling)); + timer.start(); + CGAL::poisson_eliminate(points, target_size, std::back_inserter(output), CGAL::parameters::dimension(2).progressive(progressive).weight_limiting(weight_limiting).tiling(tiling)); + timer.stop(); + std::cout << timer.time() << std::endl; std::cout << " " << output.size() << " points after elimination" << std::endl; + CGAL::IO::write_points("radar" + std::to_string(target_size) + "_2d.xyz", output, CGAL::parameters::stream_precision(17)); + assert(output.size() == target_size); check_average_distance(points, output, progressive); @@ -73,11 +81,11 @@ int main(int argc, char* argv[]) std::cout << "testing Simple_cartesian" << std::endl; sampling>(CGAL::data_file_path("points_3/radar.xyz"), check< CGAL::Simple_cartesian>); - std::cout << std::endl << "testing Exact_predicates_inexact_constructions_kernel" << std::endl; - sampling(CGAL::data_file_path("points_3/radar.xyz"), check< CGAL::Exact_predicates_inexact_constructions_kernel>); + std::cout << std::endl << "testing Exact_predicates_inexact_constructions_kernel" << std::endl; + sampling(CGAL::data_file_path("points_3/radar.xyz"), check< CGAL::Exact_predicates_inexact_constructions_kernel>); - std::cout << std::endl << "testing Exact_predicates_exact_constructions_kernel" << std::endl; - sampling(CGAL::data_file_path("points_3/radar.xyz"), no_check); + std::cout << std::endl << "testing Exact_predicates_exact_constructions_kernel" << std::endl; + sampling(CGAL::data_file_path("points_3/radar.xyz"), no_check); return 0; } diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index 4c3eeddf956..02dde581778 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -164,7 +164,7 @@ CGAL_add_named_parameter(region_primitive_map_t, region_primitive_map, region_pr CGAL_add_named_parameter(postprocess_regions_t, postprocess_regions, postprocess_regions) CGAL_add_named_parameter(sizing_function_t, sizing_function, sizing_function) CGAL_add_named_parameter(bbox_scaling_t, bbox_scaling, bbox_scaling) -CGAL_add_named_parameter(weight_functor_t, weight_functor, weight_functor) +CGAL_add_named_parameter(weight_function_t, weight_function, weight_function) CGAL_add_named_parameter(weight_limiting_t, weight_limiting, weight_limiting) CGAL_add_named_parameter(progressive_t, progressive, progressive) CGAL_add_named_parameter(tiling_t, tiling, tiling)