[libcamera-devel] [PATCH v5 03/12] Documentation: Add figures to document Orientation
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Fri Sep 1 17:02:06 CEST 2023
Add figures in Documentation/rotation/ to document the plane
transformations defined by the Orientation enumeration.
Signed-off-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
---
Documentation/Doxyfile.in | 2 +
Documentation/rotation/flip-rotate-0.eps | 170 ++++++++++++++++++
Documentation/rotation/flip-rotate-0.png | Bin 0 -> 16488 bytes
Documentation/rotation/flip-rotate-180.eps | 191 +++++++++++++++++++++
Documentation/rotation/flip-rotate-180.png | Bin 0 -> 22198 bytes
Documentation/rotation/flip-rotate-270.eps | 118 +++++++++++++
Documentation/rotation/flip-rotate-270.png | Bin 0 -> 9108 bytes
Documentation/rotation/flip-rotate-90.eps | 118 +++++++++++++
Documentation/rotation/flip-rotate-90.png | Bin 0 -> 10918 bytes
Documentation/rotation/rotate-0.eps | 169 ++++++++++++++++++
Documentation/rotation/rotate-0.png | Bin 0 -> 9086 bytes
Documentation/rotation/rotate-180.eps | 189 ++++++++++++++++++++
Documentation/rotation/rotate-180.png | Bin 0 -> 22182 bytes
Documentation/rotation/rotate-270.eps | 118 +++++++++++++
Documentation/rotation/rotate-270.png | Bin 0 -> 9334 bytes
Documentation/rotation/rotate-90.eps | 118 +++++++++++++
Documentation/rotation/rotate-90.png | Bin 0 -> 9163 bytes
src/libcamera/orientation.cpp | 25 +++
18 files changed, 1218 insertions(+)
create mode 100644 Documentation/rotation/flip-rotate-0.eps
create mode 100644 Documentation/rotation/flip-rotate-0.png
create mode 100644 Documentation/rotation/flip-rotate-180.eps
create mode 100644 Documentation/rotation/flip-rotate-180.png
create mode 100644 Documentation/rotation/flip-rotate-270.eps
create mode 100644 Documentation/rotation/flip-rotate-270.png
create mode 100644 Documentation/rotation/flip-rotate-90.eps
create mode 100644 Documentation/rotation/flip-rotate-90.png
create mode 100644 Documentation/rotation/rotate-0.eps
create mode 100644 Documentation/rotation/rotate-0.png
create mode 100644 Documentation/rotation/rotate-180.eps
create mode 100644 Documentation/rotation/rotate-180.png
create mode 100644 Documentation/rotation/rotate-270.eps
create mode 100644 Documentation/rotation/rotate-270.png
create mode 100644 Documentation/rotation/rotate-90.eps
create mode 100644 Documentation/rotation/rotate-90.png
diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index 697a14d1dfe2..67ee51afb6e3 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -78,6 +78,8 @@ EXPAND_ONLY_PREDEF = YES
INCLUDE_PATH = "@TOP_SRCDIR@/include/libcamera"
INCLUDE_FILE_PATTERNS = *.h
+IMAGE_PATH = "@TOP_SRCDIR@/Documentation"
+
PREDEFINED = __DOXYGEN__ \
__cplusplus \
__attribute__(x)= \
diff --git a/Documentation/rotation/flip-rotate-0.eps b/Documentation/rotation/flip-rotate-0.eps
new file mode 100644
index 000000000000..3abf587d10e0
--- /dev/null
+++ b/Documentation/rotation/flip-rotate-0.eps
@@ -0,0 +1,170 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Mon Jun 19 14:15:10 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 1 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 349 301
+%%EndPageSetup
+q 0 1 349 300 rectclip
+1 0 0 -1 0 301 cm q
+Q q
+0 0 348.801 300 re W n
+q
+0 0 349 300 re W n
+[ 348.800011 0 0 -300 0 300 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 436
+ /Height 375
+ /Interpolate true
+ /BitsPerComponent 8
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 436 0 0 -375 0 375 ]
+>>
+cairo_image
+ Gb"/lH'B#^*QJC]5o)cU+Nh+KLf'#%#Z3ln'SD9J)P_(1E"ej`NCL7;__oH$eQf/#H$T:YM
+ ;akP!]chgd=@tR.C_!F'GQP:,,k#3'i>"bSPWV@?+%Ap427eulL(,:If@]*VQ/c;rL)O0l2
+ Gj+4qB'S4]msM\K:QFg@)!<g!I&+Fm`$%*L/kTiQNX at gDCXMCsk)Kp4)3p2=Bglk%f((oj?
+ Ia4n`(+BmSPn]a[->-'ETjP3J&+9VSk)&H<G?r/]g!\[,<]@h$;(-<PJ<n>g32`m9SR%;/`
+ *BHAT%_5MgujP\hH1IfC<P7 at 0i,==K:l_fL;bg5-RDY/'jAt4lCrUUMGh`\/EiQ$LnlnC:\
+ S/LMO8cI"8qeeUtaJ&UJ-9Pr)"h:ls, at eRC:3JJ]?>qafId_iiNW'$.)R^K.M)Pi()pF&Jb
+ K*N*ZMJfq\#T>PIr*BOraR2A1[uCNhH2;]O./'CB5MWpBa_7;`U at Ho)Km^b)6m:mI)2.C*f
+ IC\%rgN+ansc6UC%s6=5?APT at m?4+,fL5r'fD-1%+D?E at Z'qXUVlV[_\nt]0Eq*BR^DL?Q&
+ Hh?8q9<UmM<G9C%oP>G-2XVo>7bhUoTiTMPMV`>Xgmmd.kojZ&1NaU\8n<1>hloJb4f=N;V
+ )Aq\280"h-H%6^7d>d1uXRAR+:J$CU&(j:(ZIP&jNV65%$h2d#bkE_V'rS=`YH+We9NFW.`
+ 0-(/JpV;r:^TT<BY/FHa4YYO18mdp&rJLX>4sKQaBIQ&V^X;H)"a5_U2p]QA%e3,]Ii(D9F
+ E2+dF5a]6Y'9gk]pB_TH8k0_%8i85Q;eY/m++T'AbTeU/@*SgXk,DnCcWO#1*]/s_PZ8'ni
+ 2o8d>JP)Xk!>Nj&P%h#5 at Oef^sT]eBVrZ&fci%-1 at FWiN2&[b2%qPC!Jo0lgHFGY#=]ci`H
+ *(UE<G%CYII<7YYr7^\]C-qeM`hltG7^d(`Z<7^]D:=KaeD?F)^.jm;qR-_(%&jq-tc6gUo
+ jW&*Z(bR/C!E8SOp*mbNE^\I:a^9pNc.!5(+VT``5gtGSpC[-duiEVfL.`U.G_9r*.1!W)P
+ jR_;]RnB>+3!3cK8iV%Fir:=Y,L0'(=acIJjf0Dup45#"]L]NPe91r3Fg__Ka/aWXen)VUR
+ i]j!#U8*8+aPLj](97t`I)&d#GhNm.3Tnk1Pe*rKr'S"UJ?'*d!UFh9)e="*^a)>!TO<HCP
+ jm4+*;`To#F?m+W&YYQ1]Qs,1=/kWL\tm#O71Qjc8J,f'<HZo22UbY8,6%Qrd)UGDB>@D_'
+ 9He6U>qck at GMXSK&!X)jPd-9okNGriYB,#C5]/VS(DYoZibc+UI4^JM,Z8_/!?FPG^UX[(^
+ -XM_$uk2*TBgNCY[Nc'ts.m2nu,]h"h"*I\Lk#9ATi<<;#e#L\JMFG*nYY at 8W=3"L::4<B8
+ #dm714GS`MFPB&@:cFHC4bGl2GFQn(FfTS<kX`/t('J!48V+HG=j&VCUQ9$3J#6SD'8W2qA
+ <BEl%6b8rG68,%\r0_/ZcRhAcC3W'VnD at p.ai0fV\K8U[B/%AjIsVuk!+i*?,iR+\o"[HWQ
+ P7>e<`/Y\U_)V73;71f)4Ztj^f<=UtZ(t:q(Ahhr)gnD<@#%4d%\;.;j9rKc]Ke_V^+Deu&
+ -TW&p'J30-2%G<FCm]=<fo'^<&W#h8P5+].?U9$SdplJ2YgUP\QILMEX>$>ni$?1%.%UY<q
+ $:L?@.E\)#*@jBN8%?3of%1%NrF4df8O[o&(8:P0K]I`SmSQ;Q@"ri/(Obc9Yg$H8-al at Yn
+ mLP;BQPm.Th,\bK#h5F98s-"d'8kgQoD.OKb6Ck?qo,pXnIU8_^-r*GB<WcIG9\-ORbqMY]
+ F5?-dVX]g_$0DI*Xt?s"]W3)*pP`9]YS9(Bd6'XFm_#j7;'eO^TQ:7\ir!:4a7-U,k%JUpC
+ 3IU.Z6]jS!7)L%M>WYde-_\Rs+9nni.:coBV@%QQ!jfh,[Vj"R;#6"*IPp,?L!tnIcJl1LF
+ E["M]Ep7(R6>[BX)4^g.nu2$P]q:7qL+]C"uh)s*oHLih7UVd2q002M+R*#2_s5!_npfDHO
+ ;eKp1hkr(c:\iDef$k84c$A#c[C4Dnhh=>;RjX#eT8 at K&>"mRG5*=,DPc0MKsQPe9th,]U=
+ FjK1X?]sY$2A?[)ZAQmt[gfd&E. at gVW[A at kM"u6G<gNrt,Mb7kTC.3O7bm0tW2F!-;>`JA8
+ aJsYXWR[fhMf=2jGl+!3W6<V#"^/iD$(BKA,M#8cTB\MD2X,$k,!_Th,[W4<]Hk0hbI\+l)
+ 0cP`qJ=/a)L@,DB"Bs?#Ck^,<*mEK\A!#-7f$tSWenPgL)$Z:a])Pgm0Cb8G>Jcf+N_N#(a
+ A7B[[!-BB\- at PjFe_$Z at oE8@K$dP6,k.B.(2]/(/9gB9)M+[5!ep3e@%[eA96Q<fAK?alF]
+ &2A!4V&n\(@N+li+.FS0*g9hc,]pLC\e5_>CX;*l.R13&TFBd^rrk$=DqJ)'#]a/Cj6<0Es
+ '9R/OCoQkP:a_XPRTu4^=U%u3?$KlD7_5_+l3)T<lQ2u<b[q=Jnc%%[:o)hM*R0^t3l)g02
+ #T>$[(4e\pFm8CDB$5)Uba6^TD)N:4k[-Ja]tXr$;::Y;koYN5F4N'^Vqm,Jk1+#Eo"hs>G
+ ^"nMk/hsD at 8TdnZjt_Om\F='^<'CbEMo!3i^7Y61=O53QY@!9G$Hkb$(Uq#!L7tq[N8glnl
+ j_6:AC\c=!IG(.QE)u&77q)RdVX[crTb60j.>Z/`.dQ_R42-)`.^ak%CS\V5CX8lLd#Z
+ O$A_7Ii%.C0XjA,:>";+>e:!ND5bB)JH/+6u><rDWAd-B(?d/Lp<gm%]Lg-!Z)oshb'u#r>
+ _Yuur3\Y!<89a.J\$BX8Yl+F/2Xc4?f[&#FXssJh,Mb91&Sq\96_35DW_'KC=N8[d8 at K$rT
+ PiE-A!+sf&(At0W<a]r]t\'>DC[7F(32J728q#B'>s'*[gf,uSTg"NBk\@tAp\Ktpi,e]@V
+ &>N&?'*cVrLR-15L&,5Qp at m.a)-D6((-PD'/n&\M75J-WE!dDC[7J!d-@`#O2qtX<QIYpd>
+ J=AL$!@ieToejUpacJdBkc?C#adAJsa at JXA#J=.An7%ElmLdVXV\9*a_p5t&<)X at TT)8,-/
+ b5[>!R4ePV=)+M2STXXj38OTBOQu\.->N$m5r;6XG]R9NF\o"+Fr4FaB<^`b<#!E+Slr#9p
+ DC[hiW;h.8OPJ**Pn`Jk_:FE-SOF=iPD3++UtZ71bKoKOH')tpLumf4D^aF&*YfRW[_YG8j
+ l\M"e4@%`Q3VuPn`8fpQ0E,T:NTWDUtZ+.eX)n0A_f3CF&A'^DAsuW5Hb88h,[Vh"R8P$cR
+ XQ;[j=G8Y)9I]]E0;*]f1*ie$LSU5>MNHDQARY?17VaL5$D)mNfNR=!D,LGr)q,+OZe`MuD
+ t^\XM16E"V>0#dO;Thj at LD&a<&N(PAK;d?!OQJk1*[&=/qAM269*Ir)JO&:k,:74^Z1!YOZ
+ \j9akcJI!;,QCjfAJo^%P&a<$orBMAIh<D1J"R8qreX%;0SLcpG!d.D:Hb%\d5QpPT#3lca
+ c2^Lijl\!R?aB367(P1**2kB-o.2*AR=Q3R6_leBLd9dd\"_RZO`'Mrfq@*jo3i3pc61R+o
+ 0i_'Lid9mD:*nq7(P0I<1kk"F:UX44*ue:E^cX=rH/&o7(P124BjF&c[eW2p3F5BTMF9$1$
+ O6IOB#JfpQqN at F_t?E63,<X\kD9G+C!pin,,u]P0H7HaF?B72g9`)<<*bW*g8.thi`-t5R$
+ UQo#%k]bY5Wpf6CPA6['j-f7mI0a'#$cdQHVOCH(`g/LI'q)/312"=rHT3T/+Ei64 at BbWXn
+ .4lFOIi64 at BbWXn.4lFOIi64@BbWXn.4lFOIi64 at BbWXn.4lFOI>]@.D?5phME at ka,E#,Ot
+ Cm:]R^P2(0/5YD6'f\!>[>cr"9K32gk,>^c-CdZC=`!#t3%d;)Xhu,;_O2!.3P4,*CY<efm
+ m0nM)9sLD3r>bYiSK,A#rj^CS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))
+ sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))s
+ DSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sD
+ SS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sE>
+ .;/U7Qt(>uc=[(,'Xp-lbW&]<+Z=:?*&s.4Ze3&rE?',0n1G[X_t[H'36VG at h-\2+B:pboj
+ rSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E9
+ 83\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\`]='4"8j
+ I5>2bE]9[3XQ9;Y`Lj1q&eE(1&W3,k`\(7^rJW(e"s-'%0T#Q"CS_HGm6R0IV"#0o2IV?*3
+ LJMRe+B`MdVi/@bN)Sd4.39.fB#&m$9c8]d?!M#:'1Cfph!,#j#N!!]2^_n"Lj1q&eE(1&W
+ 3,k_qS<8 at Y%\.55B4TqZ"(rOf)&YEo^mPCG7L%-tE2EZ+Ob#:uS7qt9ADiCKB,\Q')*$ZlR
+ 0IV"#0o2IV?*3LJMRe+B`MdVi/@bN)Sd4.39.fB#+9M_q1WR53(k=GfomcokW=6U>(8M)*m
+ **P?G4B#f.V?C;L^Z!*oZJ7JV09Oo4nm)]h5+cS0a58[OcV)qqjPO#2h%XKX3%Hf<PA3Sbp
+ )mIlL(BiU!lo<D2oY<?l]jUXC70P".P;\\Cr.TJ:k8[k%-,ZfI70oq+<mkak]o;X4j+ab01
+ -)Sd4.39.fB#&m$9c8]d?!M#:'1Cfph!,#j#N!!]2^_n"Lj1q&eE(1&W3,k_qS<8 at Y%\.55
+ B4TqZ"(rOf)&YEo^mPCG7L%-tE2EZ+Ob#:uS7qt9ADiCKB,\Q')*$ZlR0IV"#0o2IV?*3LJ
+ MRe+B`MdVi/@bN)Sd4.39.fB#&m$9c8]d?!M#:oQEu4I:CD*1+*NZ&I9HT=A88e+;pGB6p9
+ ]gqR54/D)hTqXg=%qaB?ITZD(M<oH"*dQRFmH',['Y!7Q1/D!<AK'D?~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/flip-rotate-0.png b/Documentation/rotation/flip-rotate-0.png
new file mode 100644
index 0000000000000000000000000000000000000000..878ea43ed4fcf75f8e0b0c17b13aab31855b51eb
GIT binary patch
literal 16488
zcmeIYbyS<(_AVOSrG-Lq3c-py30ge3Q?yuccZVW{7AQ106f5q<-CH0~io3PA)8fua
z``O;-cgDD5-*M0VYbPV`$h+2@&zkdDbFR7Gth`oJk;B6##|8iZco2DM4FCYC7V+`I
zL`Sp?$+sH<0FU9mTF>1zOucBGU7aj#?4h*oKF&~DsJD$J0N_10nWpPW*_0%6&;5oP
zxs?omPu~e$^kxa;T^{or9&KN7WgTwK)CZWK`1=5+XZLrTDfizC!`76Q@;8!d)|u*O
z{5O^BhE+R)GGfjTZ^?e1ehs*9Vp%_(IwtqV8z$u!uRPd4p2l*jtT^TfcwF>#nsoJ=
zQ{Ue>;FfP>SMnL}QLA3%%Q?I3Z&{oRcENWGNkipHhmH>7m6gX?Tt7NSvyMsPk6Qij
zyx63j7%GTbm%GpgmkC#RUuNHjVr2-Xc5v|FyZg^b;hqMr81p`%eerqwwvanFx44&+
z;EIFw at K6kD*CuH$X2p6n{p7o5-0}5pau!8$`_}=y+X&XaD`UpxfK1`bcHS%ETZ)^S
zou>0IMkgs)9)XJ!^XyArlzp`7$rZ1Pq1ExlIRmAE6dj2rnF-z1<M at Gvc3<NwRzDb2
zw5*;5WH|DC-fH+6F1Vyha}dE#ynKT@@M5A;xIK)7#OK6R%!c4DfaAcpe%9t-@~N)z
zTd6j4uEb99JO2BVFt-G!O=3lj!^|7sN)ui at s7eqhI=b-~+qM}g at cQ;9w-ucyg&0~V
zPycb1%nW#rht;j@{;l)V?s#ZL*)$+5Qjv*K3PW0M%21v|*r1j3>w|uU5U}R?ldEUw
zh6;h)5E`lewE|zGG|e|H5m#%MGe1BkvWyR at bo-TYGAur)6lFbR<)6@$=gv>igz(o*
zxb<@vzITHoe>RqUU62P;WT~qivn#49NV6-htDj4ELK;zGZy2++EBC6HC2Ml?+zeid
zpfUaQ?n{4eG<a?+{wUR at Ak`|>qkcB|h3QKg*2?M~+ft_nmV7F&IiF-BulZXwTc#8u
zRq$nkrmFC*s9k04-H&U6>J4MPV?j;u$5yKtRYf0)ZY&j;t8BN)1G(NP4T)!d>tA$8
zb9FZoc;|z~w_ZUQ*X=>jXx!d?fA9gjSFbpk_Qu^)r-Dz1M;rGJ8_^o)1ia_wOYH-5
z5AlZ5s|s-*X;Ey6z1?m<qA@&OExm-3I$S(|nd*JB*HTK9M)xqxo8i*CT2Z*9OvR{)
zD!yyNCKj(aM$|B?>VQor4KymNh3Q2E_OfY8OiQu*$-QaYQ*ByMC1vcXw5q`A7 at c^V
zL#TtMGQ9=m5Vv9j<<|)3OTo<YBXup2O(Vo?73Jg-_6I~JooCJL-tZo*NTu(GRS&3q
z7;GIw at 0p{fx5q%bmU<)S6q at jMe=%)+t=aFWXT}vhc+|5XO>)WfE8EG}dMCoH8*U2|
zo`skf^DKRJm2LHv^V)~G4vr*NzRDAGJ(kbhQ5)!AGS=WVZxuto_#e3w52Sp&Q^@Y^
zzsaEg)SV%GFpAn+T66Gx;4Ihc4ISmQ#0Kx)8?h{9Lp2cZr%&Y}fuEW|4YULbH5J at N
z6Hs(K at GeXG1=qK#Yi9%2*lh~!!LUXNeSQuKD;jpZtEhBJ=^lJly0hopG(?+vQJPq8
zx}#`d6SZzFM)o+ON!U&rZ(>|Tr5g#MH&JU^l(V<fvQ_g!hoW%Uu05&+^}!wrs|GxS
zIrcLeL??e6=d_lp2P%A|@6qVIqC at r^*@^k-T+}eI(8Nq7L~(QAy1<txxIH;nFBJ<A
zpD|FZP88KLfwsS3F0AbtVNUeMWDoz|p+Nf(DKWA^$I at 2GB0QJqC3?whC7Qy^*HMSM
zrKw<jK!2W_`3tE+U5SG58oPqwi*xsdOLc8pRU?|^jUTtfUwAPJBz}xl<x-+X?j}yh
z8-g(Aa>)+1Ph#4QPw|zvy4#35z29D*yLpG_?3>$2#3NPs)bN>EJpIn-7q=&M{^~o^
z<89eRiln&a*$4$8gYU8A&*8!v_IdXz?kHVbE1|Ma$Mbo!(dMvC)~NUL at U|;I;6}rX
zToU9X3gfi`MN at I0M%eemFZ=*0tkeB=Ol|oBxS1$G$^`&bh;g>LPvuqN>teb0DrvhD
zE|!o*?zV?n5_|2~?$Zqn_k(NB`l{^6j1gia-wYZs1aZ}ravo<S30JG;0F)t&LNcpY
zp027MZ&QS;d+YK`Usi;6l8~dA9h(TSW5FhIy&D5_F at fCD@`m-Qj5)i*`tRBj3X%H0
zCgsR0!S3a8exPE>eHxGnM;6%UV?B3~5FY94@%+fP<=*d&Vo=Hlyfw#J<W*gk<ZUcM
zDRpGE7UejiXk>rd(eTt*yYTC7i9#F%xx-T+muaS{Bv7E{RnZe4<NT4(>Issgmz2zS
zI&7lM%BOSDI3?&RvJyYY7zoW#WoI*1UIrbOa^l4_^1{`}utwj6HyscXe8a7IDMaBL
z+5STr^(NO2SW8RY6YP57h4ypd`<eBAbd^1E9pl)@JLnj;P7u;cz1kUTwAKK3d7Szo
zqfg at _t!Ws>jHfy2ScPIDK`auj&9cr17HqNu*6~OmWv=kzH2rR33>O@`ZWE$6*+d+P
zdpjC!UQ)g)``?5bKiav0sdS9AK$x>?FBrL7TIW9)^`GrL?Sfp-%Q`{QX~W-;re42X
z`kqAi{F={~^HJ8ANF4J=Cu=ogq(qboNwbe~`YAM#?yuSu&L8t6TOLlJwBm`#xsNa8
zO>h(6$q$%etg6!_bij%!f-QZ>f`$CYNEZCjFL>3^J~^w&D7kSn$t at O8X*s*?jVTX^
z>Z&Y3u{UJO9vC_y3CvG~%=nx%c5Tt!FBDr~X1H$JJCl=vK1mdG2?o>Vxv*er;|RSc
zn*!nKgzq_3&a<8DdL^!gVJs5)Qwbf~J{w2-+LA%qxQIHB at BiqPWGqR^aWu;7g$dOO
z>G;Pu!i5Yi$V?mUZ(X)<)au;Bf^)5r*C9yAC!bN?%zBvu6yiRFipV_=N0zSB{=Q#+
z=;yMUbVBh%jX8f(&d?AkCiPt}GFqi@%8m3+&G(dK6{+nh`nO1tk3OVDk7dH9q$g5>
zPTn{_D=_$hnU6Bl`Gpt=?##^&u(ihJ<Kv;u#v=tbzUT{wJSd+Ex4}Ql(qJY_+fD$f
zaSa3Lls$(OGCn&p*oWzKB9~1yRk5nAOe#9lzLa at Mm#cdSpbGT&vLG at m9(pZCH}+Ju
zJxwF9nD2eQ-$+$b0FN292db(Im;qggZ_@@1m8J~Wn0}-Fwb4p9dJOG>8tl!?6vkDg
z6fMCsfGE~D+Q+mY{e-fs7&h=I;hTQi>n@{`o`*+EMsJ>i4~EKB>PCjL#quk!-;@X@
z#$pT?Om%OCQ*z>^Vv|KRq$ue~fQ#>oRWB}f<TRep?_PJGK3<v#D}RawWg5V=U06p)
z7WeMN8$?&Kc8N<vLT3+GayT?j#$|GQD~#_XTVrSS6-UgDA>Xvdy(Xc8sN!4bN;}xE
z18lw!BA*!2A3RQy4qkX*Kk?C at xcq$P3AiFeY{X1Q^9{z+1IJ7==w=G=kzr;9qpVW^
z-o>WeL{ZgC)RXiU{c3YXiM5GMNfLu9x_l at V1f|z^s7OQ!>6M^itXbrjVr~6eIc)#>
zH;#-g&HAdC6u>+!w3 at EUgb@L1Vy#VWa4zk)NScHImiDp!^u`bBaaa^9IosU*sqfrC
z?4`_}0F7N#Gp78h-BytrY`o{Tf^oF~{8)iX4b;I~*h48R_1+u1o7z=zf!0gC!eiml
zU?66Ku^an$92FW}C92hr#m14;ASAunu#+Cj at lw>dG6&y5x?G#H#k_;FPuvDqCZ^qx
z2UTr6I1Bc049vB#MPR`f5>%BE*I0UWk!>Ff<|IroROl%iQJxi?@WI1FFo|_a9q<{Q
zsfhFA5D_(k-o+m6PRn2**WvSdV{CMvVYYZB-9tq}_r0fh3D4!z8B9?+>d`CT)qD;h
zu`Z*J;x2eJ!65S7ev6BU$55%#^li>0RL{u$a~U5$2Q~>4xwUdn81@(RqLvtj+$A=B
znxwi5sYaWwpG;jVJpEeu%H<v}ZM?2I#5aa>u3DzYJ~Tg;8H~x{C@>8{^CDuAcIWNH
zyP=Y{Ji at j@UA3cgRC=8T#!LpNqwVa)J^2C at nqk1f3y?8ASCW!x21q*v7h#;)hwYmu
zNDX~FX~M~avNx6kKZNl2Ev*YMBosg%vDv0>*@|N1NYbh)w9z7S7rB!VvzNP5VMtQc
zP-;j3e8O<@Ge%K~IU58bs)>pcaTDlkM_yc9c3Jo1&V|XAnUK$f4nb*KNkTkE=ebvs
zCbt(;Jwz~3QHu`YejjLLTz2*XCH1-9CEE@@VvU=_c8Q#o>RTLJd(Z~K^1ZwZ4L&6{
zN5ktB-iTn#=j15fr+GqQmroN$mPz$(0rSk^M|9n1JKHOB+uEY>2?<PK>@oR*s1Wy7
zxnfOZxorOD7!y(5Z{Dxfd(~0CPY~WBuhLQJ?9Dg7m5vmDN8;thT{=qdP03a2`J67-
zT>yl~n5~`n0L|dyB5n(N0Zt!AT1GIuLO%Kwi3%Uwh#$s=fv!o{#T(Ot>gb$tKwCmc
zP-7>W?5|dft9np}&d(2gW#N~Wd~uea|CB?P>cJz&B>5S$uVWe}IJu)CUUfy|D at N3p
zksVKL9dVG1BI->wc7wgE2WSKj3w5lp-yqg3+}hFFwI1l5(dN&-n=3$C_=Lur1@>$?
zyg|dLCzP3X0{Uq2dy%b31C3r9C{n~v3=-Mqu7`+Y{NGd3Hdb at vL-?1HWAz_*8$U=X
zxh}GF-Yy3NYxN(bD`;6_O9vCHY+ZOf;%EvXc at eDkT4_H(?U}suRUMf%E}7a^Jmd&V
z(5C0kTA2{6L64texAF)>Nu_+n^ir at k>K=HnYYeE_+GF?VI7IfN?tdcvGBKP22h_wv
z{8Cf$d05Fh3)k62j&_*aIR+Z89ihD$OTyBE)1+;Uj^Jepg!}^oU33lO1Yk$7#4^D(
z*>-XYvouL!k;*|Hon!!`Dm|%plKqLNl>1}uimq)`WZf^t0@&PH4AJQI-oZ*b{h+PB
zbazsnDuMoo79AAv1G$y&@~F^z at Z`w8e)~>tx|P=dI85YSca0W*A(13mf<>vZU8w(#
zKe?tru>vbTBT8F&*yl7YbkiCN!6#JXU4;fT`aY7&D>7v#67%}(pNF<<uBruKjK=BK
zD(*$fxeYQkfrQ7p9f?(RA0vvNwV<p}51}zX`6%&;Q4fXBE~t$5gpeyIlDLYAVv0tN
zkWeECtCr0PT2|s4YjtXV^p3zp)?3HIK6#_K7KwapnK_m-Vw8lhXW>zOLCGfDZZjWY
z%qjaranalP*^NV$d(ZmImhp}Zhr5FlC#&=h;Xj+7+y-R{9yizo3D5g`G*9u<()mvq
znU(2p%s>c~tm~A-DLM)sWnQZVljOsiN~;el?!_}dk#cA3EL6D8^5(p^dB$G)2<``v
zGw5sIUC}usWGO3ai#ZbLoySx+BQpY)c6a_T2rLF-a33#9c!-{lM5Vf7VFb#dSU4+~
zxbI0U7Vb0<<gOgdM|ZniktL%rtU$PV^>*_xHVxD%zr6$Abn=>oP<YPT${5KmLul<-
zv9RiXE=6*@4a at x**x#Y5-?t$6kV-h%Ed}cv4MWG1^i%sM7Fw%g%`=>_+~?W84TQuR
z(tS_8sBAsll`61oM!tFEDWS`VYQ5A7c4kE#%RuuO)v=L~^9G6Y at iCG;W_=n}^iB6g
z-y at Cw4><uzxf7pD>w?WT6SF0jRNgK!Z^%KDg$MKo6%IadHndd+^`J%&yl|tZAy7-j
z)qd$S`OV8bz{mOG^fPW~+eP+bc)dG2i*yY}35rq7bv4dxBprpdQUAmEmNF51pHC;W
zDJ|u)U$sJ<><R~Luui^#xJ at Gav`siackw3rw?A)OmS(r(mE7=l8(SF|=PVbIw5EIH
z+rMu}epX3KImZ&Js`f#b5PviZ)nC*02fN(Hh36E1_epon<BQMwwC9GL4cTOUMvckI
z`T7K&(I%^Wdo`2eSBny_wN3LN1o-;X61WT1J?-;WC<RN;Tn`VC9Q*v!a$Zdkr)K*m
zaZem at wKelECmGFT7%fKGoXg~A4#n>|jgRPvX3F8{9tV?3SD3S&iMZ>I={sS0=&&CU
zZRThaN|4&7Cj<ng)Gfg|BiLF4ioaI#UAIwIr#8xXeNIGu!aLC|o8m|*wM0>411b1g
z5Vn)IRq`fSy=teqvws__S)e`lTH!wMtTvL>(!ZuB3_6PW;Arj4 at Jk9`p3~I|^YLd>
za>q7)#pCj}m$LqG)z-79lM%8$z9MJ1k_z6q^A-5|`T{>+r0zU at QsfqAFkW8xDlJ~8
zOPp at LE7ynp<kU!}6v=jgXxA>urFcusF-D|PrNxG(<h(#!T=b?Yn18P{_)udcBUGU=
z=;>WU%}`c`3XW-ayVLXX)e35UW`SwicC6fh?npV7fCH<VG4mVb<s~a5EhB$|jg^*L
z(K&PNEQhaq^7m42y3Y+);?+2ojlWY0z8^+MsXoHVTtiM~!HbJ(nNFhiI2e6j8U7Kr
zN#ytmT)rOEP-=ZJ#PikPaZ~wq;8aeBXs?Lb<Y`O(N-e{%I>>4`+_~~#_N_=Vn}kW(
z!`#uYu^P+~1N2-uWDZ~5Q?V7*bB~Ub`Yf3Rb4RK{jpQAY<I6*V_{M>?q_1)wlubm(
zSavQB^8^P7u$|BX1MVj4s8(art2~=MpGX5y&!$HE)H@!Z96XTf^x`64w)<&qH<@x@
z!%WWGJUsyGL&7O^NO~Qom&^OObNX<tjvGw8`hvhKf7wp5;oCui`&CoVd%r9<o6mtl
z#xfp_!w09%GD;Z&rvU?>1;&x_mSOKF!ws6)eWeF6iQ@**__=%2ig#xp`g3y~q<K>F
z10FuOCU2BE_CdST>+VeD+1^+TVZ!QiQ(VNrR55eTZO6O^kibY(HFz+2*v^V{D1^0;
zRakjgI;mHd at GXt$par2qQ~`BWwZg$wFBrN~#7Z{Jx#PIkeRdAbPs<r2=QSVE*ml1k
zX81Y(L|iM(_h(}F{4K$qzb=VaHqEYN^>>|KKO=cVyXVKZjmrerO?d5l$kvvf6qX8{
z$edM$Z!8Ssb?S<mwVI>{lUb(a3jBYr1-wz8U1iTC^|{%?n?JHvRTUjHn|mS$vYctQ
z@%dVj^T<>>c=t;Zs(`4bUshGxmg_OA+Yh{-pSU=`_z at mrwDO8$w0p5#hacW~Mqeg^
z?wM2_Q^Y}W`m7zufihh;g26AQdG7JP=~8|fuH+|#U*u~j#DyCstZtz!PksdPm_W~j
z_N=S&xRfT3=3Ys~XX^R!C4IuR&PycUw)^~HvSs8&tyFO}R&o{V+uE%z)XkwTxHPK$
zGj#Y|SU<3u+EiL^IKR&J6ObVzDKXbx2u1Y$nnn`)+5Rl8xaFfyZIc>rPh<ibZ~D)H
zn{_s~Fc)z$6sjCwnJPTJ9ah at 0&V=F2EOd~5Xe)UXi$^!O7G#k@{V7euLbJzilOJVS
z&Tn?^+e}kVCg7+5L+g~;bBQFMv<@bhW72<^%WD?%hL+*vA-5idb?j%peNy3~?*zX4
z<<EyWOHR-I>S$U&UN%@>tcNd02#6cvj9%}sipNH;jCt;4j_>|V%nG!tO*MpvPWKRV
zy94K7Ju~dGdG3#}(M6XF`oL5#RQDh4yd-sZ2s^`+dd*HDid{WF18Kp=B(coMd-Ze8
zV0L`RIkpAOLGN(1cD>neOfz4&vVwggrLg9e(DM3Pafg at Dtntv+xi8Vg!wZ5J(i|_2
zeNnBw)B5nfU-5A={g_9Yk4?KZY8k{#T?Xgy3|}m%2k>YOM{blV`qyAZiWOqu(W(5b
zyCbYI9OP9NH97`&-|WR at 5yaj(JGt36S$ja(={Pft^!EoVvz$)7+4_qLK6 at p-)jRgR
zi#-9k4`NHaLpmGFuII}2Up1r+`eHj(B6ruOQNmQ70!7pFWc3C5G+6SUb;xf?d>X~y
zVV($Y8!JdS%Wu1D?*Kg+Iw^Gx=rBJn^f+qa;SSPg>R=`M^QNPesML!8n$lWkO?BZR
zkZkVRvZtuKs=xs+AtN|7jsxqdK;*Z$Bww{iR)`B4UEo3c2I1KI2<mzwr>7^huQOBA
zdQ~j>+-_S;*_5wekQJaENAyGrFI!8T>8)HWisVM5{~Ytp;&2f>In?4uegS0x<kzBZ
zixo1J%FJo1zOtG3&9Rl5%shu&vY7n5OOEs_%N)qT(4+`V5E>X+K}JVGe?MQ=JWBP$
zGbH)shEdnD=(NmC&$mgZTqAtEMTvkASAAzph9LZX>H7YOY*e4|@Ry7j(@{@$L4)M$
zMK1N>=Sfy=8)8}IeOY#fG}Cr#u~jlTl?!zj{p@!0P1a2Hdi|~4Y<T%S@*Yg0<{Klk
z4A^SNq})MKjg1DX5IlDCjPnzP>W+ue^IT$Lmb5qG6qp?iLHiG)hkfx=n!60G^(dRT
zp2dFHyo6<jC^UJ^G`*DgCUY=XIlkd6?EA*Qt`b!^*?Qw1V7gFTpt5*5g*f2|w~>-k
zgGfpJb*O<j%6K2}PE@`}g7WhV%{q;z_~o=KaXDZ;j7KhI+RT#SYOJ+8Ca&8NBY973
zTwI6^aqt7#bf^s9dw4iMLhT|T)Fow-A!Yd)1j&(!#^}5C_BwPq$0sC*7U&tdNQ{?S
zf>Q}=njUfgctaib;1i%1YDrcDO9<J#XpV at j^y1E34>%YeE!<#7zmQ%L;{EdUC-~=y
z<>a?kRZ3F^Jq9r*YToUTPqBu&hJmYw?$5uaKH!bdq<>2o^%-9WoRX*%<NZdc#1_1c
zqnE7x)!==dYfRk%{Keye-9bgeLQpi2<Rc~)9r47+mpmnrqb2cXPn55*2=3!nll$}I
z>`<a9kBcNi_b$5bzj-z2n7Vc=V>1LFkj~#dMnZ0psBxTM?yFxELAn|4Ok6tCCGY&g
zw0&AnB8q&~@G@$*zF-e2S-A6C{FC%*`b!(^aO59>vdal5-3=1Xll$d$vEvxDQbzfX
z!J$$nweque)Q1QAd;810<#&OA)D74AGDxEW;`GVe264*tTv-Wh?&QE>YT;xC<?wcJ
zMw~(c03zbv&Zg#eP<L80sFjVQDBWR82OX`Ag(#gazcQDyvlP_YM&8#Is_CnuW$tTd
z4zi#V7sD3u1|t9*pzfx$-VXMTZeVXwy5G29#P?s#oOHCmMcnN~>7FaA(MmbFLTULp
z_&B)OWxQ=XdFaHjX+>NuEWsMmvVTG#?nLRV-QAtRoSa@>UL0P$98RuQoZKJ~h?9$l
zlZS^LA;IqE<LGYc&F<(%{|n*|3~8vFxvPz{yN#10?JrDIGbaysQ93$AKkZ-kIXEjT
z{|)cx_9qJnJ~+KiojJKVxHuggIR90{&0WS50rICo|3?isEyQ6Rrv}u`$-~tgD&q-t
zbf^DU2n+MS^_ at Lj?SH#tVa^G)hdLlc-4LU4|J#sq5M{N$HGWZGW#i!dTMI$<ze&2=
zSpGxSzuESy=eIlmY6wF8Z`^;A{>%5@!U!p4Ww5l9xyLW_Akw0Azs3h!IGNj6fPa5A
zg+c}Rcm>VbE%^k@*!e8@`Pe~x{O0UtAP}E`sX3I37sUN9P!LBqcT-1m=r1S)IEM`a
z$BfTRP(Z*G#Lmyd&(F at sZOP4UW(E~x7vK^S6o6Vl`Gxp+{{=$T)dmrjruP48)h{Ru
z1eBn;DK`%YWXf)C#*eVZoXdjUl-oj(9mECV7vMD)G`BQ2{|#kf4wiLtbudLtr;UTD
z6_nH2(du`{FT%mk)F7gCJRDsAw5Zvex?3U?MCp`l96h}M>Cm!qfNHv%{$i6`KuC~V
zkXr!6%PYXe#RvLFNC)cbhKR&pnA}_(ynMfVeoYG);S7RU(_e9l0QlXG at C7X83N>|i
za at BHjvKOWMWfJW#&A+>q5$R-M>TW7+>JCMKa`Etjxdg!6AT4elFrN^Zo12x32h8;^
z@=g{umOlSa(!Y|2R^*Q<m$z|4jPLWi>5q)kgu483_s6Zh&F at sArTv{0U{muyTyQh>
zgj)Qz6M^+dm$|j6qZJgfdi)u#f3 at 5EA3}jgz|;aUYo>@$5U^n96NGZHgSajE*m)7G
znpuMQp*&oc|BmkFWa;i@>I!{kh2Rmv6(T%;b4APid!ktWUE0eU`fC;tgt2o8u>V6C
z at 1KNm{^>C1uQlT at k3~5D2PY!G1^#7`LFoO_hFH81Ya!>~i{YP~{aSYZFTVbqi~oxw
zAfW#{$bZD|f9d)!UH=gS|B>*2qwBwP{YMP^N5cP&uK&;I!v5!R3hId11$iMJmMR+4
zr4bKW=w^y?(g5aPZyYj{$A}gzXL&t0#M9aIuMd(WbGkR85yKs#EQ7I$PK3>cS3o8;
zj`)ut4n+EymiOHLqF*hQb^yi?r=_^Ch~U=nNDX3Ux)5d!nsA+;&qyEb?a=hrd*;`d
zmY3JXl-EzzD>?)uPUXvVVrXa)B0W<dwMIpHfW{IT*{}H#^WCQ(k&nm3Hz?B$nY=t*
zhnu`M-Va-q>vgU#xmgDCTD4mZ at 6Gz@0Osssfr8PUo?jHJy<aU|pTqnuDDjh;#5g6Q
zhE$G(peZoDRrikoAu{@r;1 at HpSQ6RKrr8x;y<ohsy#h+>brtdR5fj at p6;}lq>G|Dt
zVp~v<5iFK*Hd|T>MApF$cNnk5Ct%Q<e&-t?1n<TYcf&=FVVZ+NsJAk>c9I6;DL-gw
z9)%4}oMGk{YkP^@wO0euYgA#w$`36lICo*KAb9-%;|MDG2uV$Rs{nkbn`_>?i65?*
z;B4~JvvF+V3Zh(oC!rS{BgzdYZJ_IC<j7L0PIh%vw|kzARlDN!zH=?>ow%Z_5zL(N
zvh7;KXb!|4zZ at 3i13Ls>9s}JHNQ1Y3BmiHqT6<)?vzU&#JD84N(E8z}%Lvj+Z72yp
z!_6O+L`fThREubP?Zc6`D}bDfU+mcAC&}`*`2#c8_8}xJe&qpZb0m7&nx(q2gS~$E
zcmf_Ku<>}2((mVDBRFjs0>}5)Z4}~3Yqt>N5yH%l^flFZLu*odGq>TKNu#Mn$NtS)
z)3+?3hK9Qyp+bay at 0S~6#ceA*_7Y(jWy7P&4nDZ(sEvgpJA6WTCHnfvHsV2aY!A%8
z<$K<b=OquGd8Tw<?<MR6&YR;M)-g`5B2{E#);?o9ba~vhWiVowC_3jX*~kue!v7JF
zmAEz+LNqGqYbyLTlR2)Swd_PaV$@R_c5fr}pzIKBsryOmeXG{_47HM5;k)?486INm
z)i(dhKC0dpZBI>DZlP(wneya=yzM-9D_AlXUz7w2Y^@36sG=u$wN35kVgsWgdH<e6
zrF!}CevJ&|;E{r+zL*dPM%1hcS#tbJOZ<%~BMsGNOEI-%o7t-=w-(?%Y)zHNCn63b
zzLgt(?aMx-?&Vj4Q6 at N5z+yzLTwTwwTkRKk`S7y1*zy$se1HaVWU)`IgZ6II!~9FX
zrJtXsW)6OEz^r{ee at BYHub)+1JXt(|yjU-!EqGnPaWtKm(W5#9ne at 1S$>(JV0`&xJ
zc at -?G*DO|gMB?y0#^@_ZtH`&>tX?nnrKq1J(wMSYTLLm+)mC|_E0?Qil5A!6<?nT^
zmyWlk=EW)=g@%~40O9dyX%a-%BSw8pO)cLo?&T}BrzRf=krXz!URZzk{7UgIz|U$(
z;I2u^IJ>K876hL~V^1!HQS#Bv`#Zx1vFk5;fx|@B<}}uYtT?sHST at u@&by*F8Y64`
z=1=1jVxBc=Ml_sOr0rkvMs!Gos((~8E!|^<Wb&=l&D4D)5m!0=;Ype$`p9~ngK|@X
zH%-vUO#^mrIZpP0Nk4t9Qo}=+`m`zgK>6s6Rwz at 46AZA-0GET^sKci7$or~UcO)-T
zl*D>B_Hey!1~17D^2%^D at y6@(mHe@(K3WYlR|c`H^7Bpf)<b6BJKn<O8ut4=6LGOD
zxlbOscUSW*v+9pui}o~W*Em+P35_nMt$jvT&PM8K at Y<0ROKJ3fGASK*)1lWE+|iL8
zXa$_j{XFmL6$X<CeVY}X{wknZJXaXpn=K*+B}lJ4nDnnlFli*_B9XoqzlH)ap84TN
z3cOs^T0FDyRDzu|&31f0Z_g}Q?QbxsJ<vT1@%i9UEW5aDxEt7jC2o*zo7tja$J;uK
zD{#{Oanc78*wiyvS6m?W^t47RwhRbgF9xF`jpyAPPVT&NN<X(rbf`ls28W6yRL^3N
zczPQwYu6Yhds-|ymFk^$xL-&L?q%8PEEXs-ZBF^`S`JdhS;#zVb5ixPg5RB|?d#3H
z^QfeFe(iy8U>#Iy?^B{kzY2!kDCwtdywec?f|w at FiHweD_~(DFzb*4yq at AerYLsj-
zz<QymN6>1NXlL!IqF4Bie|w71?67?H6(?fgju$ltLHlaqXQ|_MiTsOwO{{RmM7uc=
zVQslM*t1N6-OjUC&eK>g_pTxS-8(^ib?ao5ctdsPF%bs%+X4RljlvziF?Xzs&EkTp
z*&GDb3PZj at 74+BN{rGp=7rtZdgVd97;qG!Juh~-dt_$o_s)WavROkz*$_}lBHSW`G
zr*84^6;pg7 at -H=Xg5JbaC6sC>73}3~M2)xq<W;TI8^#gVIH$0ix;><PJ94KpyI(B(
zrZA)aFktri@<*DWw32ao155aw+7Q at y<Xu`&q2=Q8mReY<i*(60gi#o&LiL<xiHd1h
z>8LzpYVH*B*0Jj<Q at zG<(<5(6aH8xwoic>0jpRgfXY^J4k}^AJy9#<Gsx?jGuLlD0
z&R1=InGjD|Mw^~4yIvN)F}V^EJY9_0eWf+0(*)kfV%g<8>PT(ESQ#$S%c>F9Sl&gr
zLqp}s<sYTt8N1%AH4Nqk2MSLfhcJv^i}<8X at 2~Rj{`~oNqOO8yGM&ni%aBvv6_H%_
z6zk-WC`}_{`{pk<&LxA1<C8XPdubj*rS$x5^$3qv)Iz^!d{TiNJ42>{Ag!j}ZeEz7
z(TM)FO3C1OkEi31U)Jn9ePhj<gZnkY&@N$t)7+O%t!3#OPOG(2LD<<@d3#Mg8Lt{S
zHYZ!1bT?2-ca^V(@i`yA-^Ve4>N0_(n|kMre|fX2Mc_nW{^2{0?b4wXRq+cW#q$@G
zI$V$Y3Vl9B%K4U8Hx0-P<7kSz-h5hDgakr64~<BR3cd0imy7hy8^G^PY&}(OhfbRx
z%n;~s*xJWeKQO0;OvXE@#k%{~Z-}bw%MVqQAS6KvCc7DN8*myLrG|}uvkl6WYCU*I
zddc~oRzSr at -F+#2-Iec9bI0NnR0GH4Zk<_Op4(xPQHL5Bn_~4-C{fFSSorys<d9u^
zCA~*Uy4m&%DzT4H6(#;=sd3ucL5)-E(DI)b2}7`ep!)Xleo{N*!#1ko;dMj|<452n
z%<@9p#@Z9kl!+w0sM4?CY)l-wK%Y61_OoO=<4tj}Msnq3*|jhg$4J at Q!;!S5!yye0
zbo*x|Uug*hDMQ6~Z;iM2a9Qn)S4F9c;ZOu9M+CP0(h@{W^T+-L45*k8^~7($QeT at W
zd0s<6 at hqPTKfKu^s6h%fQ18C?28C?t7H4M8+znB!^2^5iGvixz7NIQ_3lSxDMt3be
zC<1k=J1xAbhF?{yBV4(q{>a+d8*_Tyf)-J<4vm at vCSkVhF&c9xj~=X*_Ad)J+FYYG
zn&OEHi=nrwSw9*)2$;N}wJ{uC)-QAB#GwSWndugS>mQ(qY{flNODkjngW&jW9lJ-~
zk*tW26{o_E_WQM-jEXP{KUgT$mc?L$xT<%NB4XNuyqKb at omKOr`z0CpaU+UGkY?*a
z?^VTsOaz<qvBd1{wVhGM=_SnFD}m^73aCv-Z+tzq1=gz7v{iJcCA*6g;;_0-1FjD6
z=<#e at cC>mg!hdSsscfhMsm^ufMt-YwyZ1HSU}@sr{*`~T at JAjccx!_4u!|LJH6iLj
z+taFg+7XV!{^X`8!DAU>**Q~4h4QTXxiB*+y?s_fjNDa+O%PKN$M8D3fqfvNOr2 at f
zp!YO-`;_>7Qtmpt1ghF at 3ryfaywZ#YnZY7(4?LQw)3#27BE#sMeGSq0GwYtsweMQV
ztebWAx4YD;LW_>j1h%bkt?`JH0-zi#>DmwAGMjbzV%%C2yZ&LbVj)efFxexyGck8%
zdWKd}#0C+qgNteMqmy!|%lRSy;Y5f>d$#4Rn1$|`N0i1{>rf2jtp>+TS)1ms%Kqhs
zjc9YaY+7zlvU%^1t%O6aq1u`ZT2?7u at vE%4pjT5rTPI?7P%>&7r=QxTfmhRj5l>0&
zt7MA7F?^>F1A&vydgB3P_nQ2>N9rvx6(B}<IUY^5hmF-R+g4hrhPd#_r}dWNiWH?}
z)v2<cR8LZ)ssIEpJHQBLQe35=icW17iZ6cWHqQ&)Y?rRtTHbI7iNOiR{kP41cC0qg
z3J!ikzH(sJUGv<i(0lCu<Zg)+m~Z-l;;sz~O~fhqT!q+c%{IpMH0vL|PCLJDG?FsN
zh+E4{h%w97MjtN~k9?+C_|5}iEUvF~X6$t9G}9i*oaL_!9ssK9aHOcKLXHwchIbvv
z_HII~CR_VJo)`|UW+m_1nXXOBl&je$V{A<}hIRrN4^<JhN)-J^=DpGJTvjcsb*QMO
zfMnMj;57?r?HET}r|r(`R$ssih2b)vMYnxq%eiVkFAU at H>o&asv~n-4G^>`GxV2qK
zW_#k{&(XB$>x400%`=tT_p(IEiZC{Hj;(~tKT2`VHi^Uc-JraUy04m^1qS!Ne&hX1
zr98(d*~pqTc|W3dsUXJnXqDIB)216Gno?D+ftQ9|T>*jUZmW;2Bk~~!92a|8=@ykC
z)7NT4%Ypi-sra`!ZaRfNVK3toaAY-tE}9F9GXv*@UnrgVZ)4cq9Y``*&YY<pO?Eq3
zwy=^$x6;QO8aS&og5kUZ$K-{RH+M1$gIosC!FZ9B4LEY$fJy5Y77_6>RsNWvw?ub$
z6KTu0Wz{^m7{DerD1qKVi6K}08Dy5X$O}5ILQhk4nGuy3Z|c8myHj%AgX{U2GJ9S{
z={TC4Lc`;!pGJwFi^n|y`bsgRf?0 at GwYbS2@X at GbFe<jdN9~B!F7VEW!J=d%-#7T^
z`>W6&UxA!D9NAqDAnkfT*1cDb(DKcn;w!p2<@X_~0aXGHGar-o^lbssV*%s#B76Io
zOO|w;?K2>!7KaJzenzzlJq2umkRGQh9AEXgGk4eTWrJE%Fp>}loSlW at +9PQF10?9x
zTmePBAOlDr(P8i&QP9T|bL2D at r<Y~nMQ#?bT}=VoGen- at jy{8Mup at FYW$ki6X8A)x
zOq-{92`COwAQj|4la*%=h*(UpZxt0ELR9N=9%Vlh#=W$)y%4n)&VpQW#VEh>>H?by
zCwUK+hb9HLvaocVko_Y>T1<NjF~SMR at gqHoUp1r^8cIYV>Q>+Dsr((jmB9PRx%Q9R
zXUfZt!AX9$utc=-I)nID=_c91pElIQC-00)?JHc7sJK|+)xh&Y#9~gZFy$bezh}9l
z4Z%kc7wWl<rZYZSIN1hxUv9DJCJFN!6Zuf5L&k+2C_0%<p#0)nrIKrrtH<WN0;JR)
z3S(j=<&q at H+rb^<dtrX>k|(1uWz58QsowL}uyhtLx)B9d#(ZHG<R_59kWMng3(eK8
zl&{WmMKU+DNpotmmp_67{aB{I7$jL}_k8`eQ&t^8S+y)o at F3TVw=H51z_#o})T#LD
zVv;0gQm&26#0~fxLExoq$?KR@^jj;=H1s{gN2_T__V&glD)a;eP2>G=h^Jch_gN<R
zXS8LmudxxBNCH;N38%u1yofY63?dJow4rvm0<I%7SMv?!GCOSX1Ko=#f^Xyf>$1OX
zGR_(`0qXlbi#a&O(l+EWjVVIwojefLCav=H?s+M$$-rBA#OAEG2eCQRsc`)r(<qLJ
zm<FJ57fxgQWq)62X`e3fdk<4K{<3aEUB4dTlKar)d1f3UxXybYRqLxNyUIL6QvFp>
zkZ>1WY%&R(?prIXT#oODWklX at 9ONP*IM}962$~^#<)-k~q3~VL*v;CNd7Dlu#tp#o
zYZuGzyt6rMGe*;NqcE-co0SbU)>Zgh`e2<caiRr24b6 at x)#F9KO2Kq~8OG4rTbkgh
zS$^oT%AF8B81;LIacS8$c<&r`leUVMeHzFMKSxBC9VF00OW-QCn7WrW^_ho3AEtyA
zBCZVNcQrf!dwZZj^^)D9-En`SpUiz|5>`|x7SLyQ`%~^8`>u|0(mv=z0lB&2ZPT|b
z6x+q8H6Pdx>ITv*<=UQ1hPeTvllltnllFea)M9Up5aW<)V&!0pxIYFL<6Fq&Xk~Go
zClpp#2hDF_wNDJ-g+Dpt?wolZSHdel{<!VdKn=&r6&kC0jOudxM15nf0bsrz3}nUD
zw`;IMN6%Vjff7s^CEE5A1D>a?WrpktF~Kv(t0b9-%i?s%03LtrMv7m}kt at 92)0lZ`
zK&FWW;A*mBy7U~VIH3~g7Zl@$$C59(JLoT<5d}}BW|fThhuR$Qxw;kz9S>x(q&K<C
zz;5>_0QKGN;d*XX_0{A3)xc76<D0^^<#cEefJ;U(e!+;)o-|qD1LDUW^?`y#;}3TL
z+>tXD3XF?FL~;3&UZy?8=QCdty+tVqsO{yA_b<(M at d$wBUI+1&PCpf97|Nx6k-1i0
z42}eJat*1tYQV%H{Go#zhy=+5S`8_<>cKXPr~pO+tndeIQ^^=PNLyu~V&6pj^tEY$
zt4k^Fr(ysqyBvl|t+{ESk3xw{ZF|<5QzAxi#a8UzPkESbelybf8!c5w6p2lJYoh%W
zTdiC5)2~`6>?rP|$FPNb-1Ip^xi}2p!6JQw;~Jd!o3~QP*6*Y=J?7H4-U1s~RQ0lB
za{FK+Ww;ViWtt(bvV9m5*+{_>D1evf0A##Buc+hzOg_LLS3+w5?FitH>mQ<stHkt>
zc1VseBb*NUxN#Dq^Av at 4q+l2WwpWOY;$;LYWa&v5Qshx2L*E$%QY1XfMjGGsgCsHc
zNQg4Q*9W+67o<@B8g|NOF#bywG3WhS98%gAF%Pc*&_{{Px_BJ+z7RKtI(bbAN at y+N
z7a$0?O3WEOP#EFh03jnR`b!`EAL9`QBV72~Y=jGcoBgi}|AC+XG4`Jdyp|OYzeEZ$
z`GoQi&+A|nOuE6!G+)Wiv%Hj`*PAiOj#1fSA7T01kxoEUgn+-3e03WS?!v7C7vVWD
z6~Sb_REz|L-X=2=yJx~fuBV2ssDC^C|A!BD6%V;Azbd$9^VqMHL%!;uqmsK1B0(|>
zaMNdGupXoRoB8PQe27joyuMuwPS-;D5<Qo~+KD>eAs|M=T&rmf^ZzZ8f6wRNv-&@S
z at gM9zV)$>-zXHHS_KO0KE*au?TwSU}3mF(cWQy at p7DkkahVTdufp91uwE~w_kM at BW
zOduw>K>`M%y{j8oc&cwX3^_Uh$}xh9NFAMaZiQ(_vL`cBEv|uws;=v@;`h%gJp@{&
zT~ScUYv-<(#CO3VCqZW^JTE0e>s!F^5 at 68#wV9Z}K()&7vt!^39Y$+{#kicM9*A+`
z+6^!n*u(&D24VnH<JX*E3wcV};pj%r>ad=8e=vLn=*QT^2akfaO8H3O;5Dz!0Xy<>
z5fXpK_}|PRV*D>h|4fSiI7$#{{||}(TNXvXY*P4vgTZhq2z~71H+i$S4#B64-(RlU
zuwnx0t&CXbFD7I!lyNT}@WNWh4luwwuOW__uay6pbQHdd3`s{7*YHL0Bz#D<Jeh!t
m9gK!Ws!-$uYRBF^px~{fnSSS27sN>c03xFzT_I at _^1lFppjqYs
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/flip-rotate-180.eps b/Documentation/rotation/flip-rotate-180.eps
new file mode 100644
index 000000000000..eb3cbeb21404
--- /dev/null
+++ b/Documentation/rotation/flip-rotate-180.eps
@@ -0,0 +1,191 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Mon Jun 19 14:16:22 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 1 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 349 301
+%%EndPageSetup
+q 0 1 349 300 rectclip
+1 0 0 -1 0 301 cm q
+Q q
+0 0 348.801 300 re W n
+q
+0 0 349 300 re W n
+[ 348.800011 0 0 -300 0 300 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 436
+ /Height 375
+ /Interpolate true
+ /BitsPerComponent 8
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 436 0 0 -375 0 375 ]
+>>
+cairo_image
+ Gb"/lH(5T!J]F[8Nh2Fp(_.Dq3CRfs"=)!aG_!l36:<rPGb>6t)ba:+2F1D`'@B5#cR0g?A
+ cY=Wk^$\@'2N'sNJSQbA at R@SqjaFZ]6_(qF\c!Re^L_&?ZjudrdFf54tT_*QWO-clJ(b2!f
+ >t;G/4nbA*0084VFW)ru&p?ij62X.1_'?4X#3.HK?K7lmr?CEft[cB2Q=YR;upF]<c`(1Pb
+ lii/BTgj31s_9EkZGinrIQB at BEn3O`0"P&dcFLS&E1BDG1ArjO/WH=g!BV;(pe3a":%-`F-
+ 8"3EN'%3?LXD'EV(DqWr<TRM</n3%k6e?5!6%i&\fj\.k0N+:DrjMF"m3 at fTo,8i_Ij_<,q
+ cj%2`^\]CQZ`-YMO!tS*2qm1@?JpbBBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GB
+ Cs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBC
+ s!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE9GBCs!-%cE:RIV8'Aq?D_Ar"@
+ 9\Ap5TSGKq-cC?Ze#&:h(uAp<BbinST.*nS%([akGKKeU%nhnK*Mr_utr at fOh5!h=ru\[0l
+ MqE4-P"I^C1g?jU#&8$.[gHNrp"+fSV<kSrT at 8-*jj5YS%5A7!BD=E?k3&cRH\[-hHZ)[Dn
+ ?J;=7(<f'*0tT68l1lh7%%7-m$Zl8AbjI#)Zo-Cbfl9`g_">p:^_m0uk^bN1^_m0uk^bN1^
+ _m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_
+ m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m
+ 0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_n:!c7Z&8l_Nr=E#(uu1J?iICN]3hP[$1
+ @KsN=G@?F:lK?E+'(![EpcJXYQb]NPP=\cipc[`>I3c!J1CN at 9c>FDKM/L-emD9Ye3itRYr
+ X;YWF1X:P-rdZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\r
+ dZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\rdZg(J2 at 1T1]Dn\rdZg(0Y]D^@f
+ q)EXM5,p['pr>S(;SJhH at n>Q],=tW'tmLa5==@o5j9O['NKeB:7VEGB\6]F)o;Y1-Y]7=lg
+ sr.@[EH#)W/H]i16lRQ5,ga66h70FCO<F4_RH<jq/*/N at 5BS10Pi=UL'i at C$g6b[P"(qR0L
+ NG?2*5=2/@bPB1Sq3O;`p*5m_cPuc2$F[+f%@70'.M[XZ-ps?9l<n'68`4N@*p_j#Qc]c>&
+ 3 at fF*c0Pu54AcN"+lJ:sE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE
+ 2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2
+ E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E
+ ]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaZ()hPD.c6-j2S2
+ E%;-<:Z]\\1[$(sRQK<2IN;%J0/L at 6pa>\!4KYiM)f!;%HVhLX&@uN_!/4Gge=A`43J[6U]
+ @t1"f-GL at 9`dm9"f'OKrm!R8RYN]6fMBr=o.;:kdP!*rh0)*4>?Wk3]Q6]CX)4,^$EC0Po*
+ A=^2a6n,1T*8kdn1qT;O2S*lUYq(qi/BnYN'H6Z5N%Jbi/BnYN'H6Z5N%Jbi/BnYN'H6Z5N
+ %Jbi/BnYN'H6Z5N%Jbbi[,"J69$pk$rpcImq^ektBPa+;S>.bmQSE]ij5S/J)Pbp*\-ugIm
+ 1E/>_]"h"7GTc'"?W2t$iSDtKaP^@pIid#\S=PZeLZ"4J*FX^'KTh"SpZQTo-ooLSZF"*t;
+ Tgt6sg[/ahZ at 4efg8q(6)1S+l$#$It_*`N^M/@$%WPlnA@/N9c5puX`?H:qU!Ya!tTIJ7&U
+ :>U5AJu$LlZ1sEiq6aq5<q9TDe,HPb]`XX_es"Dic6EEAJ*8\$I"=Q[nI:+ej91ltcH7eE"
+ =CTI!':>XV[G#N at 9'SnDf-aiE.)aopM?S/B[#U"?`K/!7*nfCENi.UA/CCp(AdFpXVV_7Tp
+ AuhA=jN&brc:":Ze"-6'g>TaT8k;NR7O`W]mtVbQ3bFe,&&<8-L$32\(uT=i'=Zf;hYtIf&
+ O`bG:>6[i)A.Z2Q4!d"C9Skdo+`X1\+HNN%[,`.l,(dTiU"MSEXRP'Xbget"Hg(CS5Fhk3!
+ U&DRM.WKcNhKqgT!_%Y&B+uo='-/EqZ%^NjY7N4_/L92,H6Z\Cc+(-^a8qM\sT/=WH`r0gC
+ (S=\olaLZ0Uq7n\o at JHCQFoQf&I?\VY)iij:9Tpi73,nOIf#b?%a at F7/q(8B(MbIn^#k[E8
+ ^mI/M(_e$#ed,p?6J&`cKVn!L^,<KUuSr!0st51OF9iGZ4l!uQhQU(+pGlUWPr*fag<-q'=
+ q3s]&\q%='`P[m1W-KBP[G!pDk)c8]5OsI7d*+p@#cUQr+-+8(X>&Ah@/2IFfIX>U4$>K8_
+ p8Z'7q/ZT5a()h,i!g#^WgZM9S'g)"j]2?)`>0+AArW\r\QIgaY.]4j[,oL[]qf#)Bq+H<;
+ dX&\>9#2/XXm<[W/U#h40H:`TS_9`Xh1m`+^m-lt$QlnOtaZXjm0thM7^M2:6C!p]IS$U_,
+ )oi.,[!oQkQh4_9D<>_AK.KE;c+<L`dTiS_otT4"Ji!gaj7^hEbe/C?CD&_,$-nSI<eTTZ'
+ 48O[`#+0YJ)8e@]Z\mSC]9k!NS]],/L.*A!BHE<5/UXD!.55[a+ae$s)f\lgr'b-rY_<Qj:
+ Bp_&p"Z)#VAPIoEYo33R"(lpuS0Oo^]KO][?mfj/_&m6Fsq$2dkGjL3F!ZO09WB$L4WlIuT
+ 69bRdqf/X)nfCY at JRffl]@#'FDfe?L2WaG,mE- at Y<c*+TZflBif@%P/%uZAKV#C;f`s18q6
+ >:mWRNB/X%_Dc%e97N_nXV;\*8%0Ue[+h78h-JaU[B&GOG6r<U]js'YYP&qXoi823W6!_>q
+ :V$u96!`JlR<0C!d/"3'\jV at BF;mM6;"k<K](hph\rHNrb+S0D"Ej?uUcU][U*ncOr+H4U\
+ tDg0%DgZ+rSl+qm`u1(BS]3j^J*o8$QVK#:fiXe85/#;\rFMoG]1#I!O at r;mj1*7mM`q at B"
+ U^E+a at c]%50tC7mhWGB at 8r"53Xs,_/jii:H>Ak>U0Z6Uq:hU8[fl<)ZLX8)Je$6#jScg,j@
+ 5LJ?%5p$O(\9,,iu+DguVE,"]6U#gNqs'P'd$h'<,GC>-C-P at 2gU#T_G3P7)1>e/A'9Ld/h
+ R]/\cFgBa6\G:lpOTM>O"UmjNlf83S\3RV0.oEk_D&hK5ak1Ji#S`Pn",L&ZqTIpClB$:JF
+ Umj*W=oKGRYO;nbP4C0MeG'rkNFSH"Zc,+8FEVk,rRT>(Ap7VQ=-qV>AL/""P&?T<(D(4S0
+ rR/]*7V)P at Bq\6'(OLj)-LW at d`i:!,15'SSDj_540ueDs%H?ro;;R5PAY!bY8<b3+FD]gK"
+ Bg,\QWl`d[ar*,3`]mjD;B6hiK%\bJ_qO'hNV[0hF;Clo0`I7,8a;,KeWBFaQ0I>PtHlcOC
+ )P8 at gJ,=DQoGYkH$Jc4iR8`R]NU#-F2\[%od'*(r\4[l`[.n_;s7._JsQo[fR+r9oUk8PH]
+ /`pnK)fkh5\ms.]_K=]iER1[pp3U'9Mak<d.c8%#N;^C1o34KFY\1)[,[Ta`OhtApFlO<']
+ qb)5?FX]nn'>\[pk\Q[@RCHF<L'2Xu9"O]U==-)@q(-0YTPeDR`r2#k2[=sdLuT8ufhr8lW
+ hAd9fftmIOkQU8-^(g*1n=dQc_7]Ul3-9sZVm66lbd^HIaHdB[@N.qO]Nm-D,BCY/goI:3V
+ o&Pj*&i'P%`,BJMq(9pIuRN70NM"Q^=-`l&HkK*MTmZp?8^L4$Qs]?D28bMd/rWBP=RZhkM
+ ]joEn*@/;WmmdFjLb3$U at X6]V8s-E*,lmMllch/VFZ*d!]l6^Q)_X6$3K:o?jqVt0S,f==4
+ iG(%uf`'EqEWSOXi'%E=(l&H#3?)"YoZ(-s,Er2b):hS4PRi^`'6tZm;3su=sO#r!*EW9PJ
+ 4/l(2Dph@>o5;t/!X`RN[G4X-:uaI4;^C0FAkT_7ES_p$Rnr,s3#DC<Ao9$b+37qgkAP_kS
+ 94LR`,&"(29pOVJq&>sFNspgf=r,V^66<@:`#OAoD='[H(X<e3a-0fT,!3X/;qQAcKn+]26
+ N4=Zan>F06aTO'#38ONPD.3r(/h)Y5:Y#f2=[Dc]'puIPX1#>4,ip<m0SIl))Jn5gW[%Chd
+ TI'qJ&^oi67E>X!a#/s:*e>S"j;lk.XuoHq?O?&l at ck9K5g`q;^Hfeq:)IN3Hq40qM9q`BE
+ k;a6K_49rDf\uB\O&tN<&lcf#HdFg)@jb!@p32e>I[Fr2Y?,r at -_mi7KWH#$USR"hSm%HcA
+ jh?JOTqF$M at btJ9q'j-WdS5]H at 2?8We]M;L#'G>]6(L#;bN12;VT/:JI*P\i(;JnCCViBnV
+ 5=Xc"SX8Opdr&rOZoG at TQYM0jd`f'dkHu'5MpHA4NP$'\uCf=JsSDn^0J6d&ojsF):Vr*U:
+ =QLEL(]F,<;5ZlV-o9Z6H5'ch?te'C,nU\4X?3ENbKWOss`Zj`-b6W&)Kfo/nAUe:_aV:qg
+ 1,&^JZlr6>i9=.!XtGt$.EQCF\>)X.Ic1hpZ4VIe6!["=XI,<CIgr at +;4ELLuJ,Mf<5N7us
+ U;%luA:j52T\"Dh at l)$pj2MK^bQ[-?\l.*to6/AVd;AAlsRrhThI^CNu\!p(YXGa8G"dIcf
+ V^eY*39d;p4Eun(feVruKn^20+"^)n:rd_,9o]$)dFk at UPV753ebo9O!\pY>>bUSlj9BaaV
+ #,MNdWCQSnbcX6FpYQ4NMS('.(>gEC/>_/FB=t3iONhOB9R#"8^$h_iU$,(&_kXHQ)pWRR<
+ 63_Bl-Itk<FRDZ6rO3,KjRKn(O2>rVVC9U$_$h8PW(uR<5 at s+:I3)7=<D%13@`ZEYbqYHkM
+ #lA^W_of;+lScT9J,"DVSCAQ<6T17?nCq\rlZhjJTXq7VW0n2r<a)c,ip>]RF6*XZP[mH4p
+ @>t$$pApLIc,a,KlW1AdgnJA:&E@,NeDgY at tR<5A*+:I1SU,_ at Q*3HR0CIMn1]-q#-Z2M<Y
+ O$qDEl))JlT;&ZseBZ"78dZW8FX@<8[hu[SHo`S0e9KQ&cGh\;^:a8VdFg!aB?"gRT3b*5F
+ G*\]dihX?cLn:aX3#kDS$ctqUg!]A@)793aaZ,[@a2!.eo)#OIQl#>mc_#qHf4>HQ?KRpU7
+ C.eX8I;6f/LsDX3&o at VhLOD&U]Y at IA_n9SiURjOGdRt(HZ+'q3P4fF[A`i-/HsghHQ;<Dj-
+ <$pIN'Edj@"D7S7g!?Y>;XNhAA87Vk<8-E-7/gG1n)P4%Oq"[Nu7*CfX'aEk7!_7aba\g?1
+ [@I at qkh>G7D\:#R-TMCVk%o&Oh4$&N\X%c07IXsD2g(]7^Zd:d4D*OX`:`#79V`#>`%]"9S
+ Sp-ql%9\#KmIt:7n*2!1ZK;th*Z+YJ**XE.`41<Cm./)I3dHf%N7sFa8U#9P6?1k%LD$LC0
+ "3_[M$EKrge'@-$0//T%-mJ&5;0N1SsQ$?GBBc"\;F#(YMs]%%-kd]EoXnrkWQ0o?'F^?Y]
+ TSGU9g!P3"mB/m[DQUZs)mfGZW'_l_HU'd\:9OF/BB2nuC^(IU5d\$e$foNXe]p:[)mH#'C
+ <kEW8H'mH53UGL%$(8ACr^3[Sf8DISPU$HN+;dEP*(P4$?6).\<f[uk>>ClF4"B+[EMeS;W
+ 4OE<u_Ecu;B at k8P`@rYc?m&ZuS3)^!'0iuQCKVU[j`0mH<oXG`s*BIkA$jK[77;)9SO/2aL
+ qLP?5Y%mX]>tkAV,O(3uq)2-:,s*GS95MOD1AI6nfmkiV)r!eXQQ\qEF@[FfP0-/gYA at p)\
+ r94lUXOT*@qXU.,]G[d18q8$0VV+LVknUc*M)=QGp[PY"a-[#T^E9^REsctj5OO.QbmA;=d
+ 4lEZ\&S at ons+@^/3*D8CALsAEf_.8#PJ%'(Ok$=h0CsD7We<Tgt2"$O^UimH5^G\dV6CUXQ
+ e'kfhIffA9'ThmZsVK3s,'a`hC_l;$^rA)^0DW6;]H4$'LiM9Z<smSMl#JmZkOpd]Jn/Jjs
+ (0Q6;GhL7X.e7Dt7*?Aja%Ff_JX<cln0U&D:&OG5'NUG)f]53L!Q\J0T/=l0jS2%Utoq$PG
+ 8:KcgipmO'6FH'NVp`+6V8KskP]Mub at VNoK0DLdTI;.?NhUrKaGE[C`gI&%'8fqn;2Or(f5
+ o-8=Zfl4U3LqUO](Ae0WKE_D5LDqnCK-gBQ*GKZDa0ip8N/N/s"-:tq:e,1o).s*'9/"G(U
+ A63D*MBpSH2;@2.W3\kL87c.>\D"g+dde&3Pa:)OCIr2`5-9Z%Tfsi*=3?3b(K9$Fk$j*,>
+ cVRG8Fu)9((h81HjM^aI1EV<nflHZVR"I^(@62<2H'1HPLW_AY;+~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/flip-rotate-180.png b/Documentation/rotation/flip-rotate-180.png
new file mode 100644
index 0000000000000000000000000000000000000000..d58c6b67f47610439693b60e3cfeb825ca2e9f6f
GIT binary patch
literal 22198
zcmeFZWl){X);5S+(2(G+0fM_b1P>luH?VPcmtY~ddvJHxB)GfF4jSBo1)G~Z=bZOB
zGhfxrJMVl|^W#8u)!u!tUfq4IwXR;>eM9(rMQJn?0u(4HC^VUO5-Lzo(DguZLqY&*
zM&EVnLO~HSd#ZhKRxxrTvv;&J16za0oIUJ8WFU9285ETJQbGEn%NAdZ#FJ5PipZfq
z?}u at GjK2F8Xcfz&4uKLKYV}yM6gg7~7><LdN4NB+A7u+0@?kCcX;ZzL#ksA0%-gM9
zOSj-Ed*7 at olC1T^yK9B9 at v6_7<7HjKZ}xl}m`{Xh+uN7=?9N6-Kmw${u1RO?yIRkU
za(2b^*&XlMvIF+nW8AJ0ukdqLn_LRC&)al#t`D3ZZ4e#_9~PLo2Cs+vyTtoE*&T^b
zR?g=P?tclbV4waziL$$oy8-)biwviaB9h+jdHb3LigwmcA83N4bX3s{NPdkmRCW2B
z&Uwq52zfFz?_xfE9oW0P9KMc<GVt0?c^pj?_dttxJ880>7tF($6Yg8DJ9HXfk$i!y
zTC`iJZ+mv%=a4D)bE=o6A=vFDtD5_)+jbk~Y|#6Z`DVWL?-~d8^Nn8>mk%2c+R^z_
zjO~Y;N0`UZcE{6u%{5m~&kZJ;R+;Yhi<sRVR&1}2U6`(P8}+|ul)bJLU<~COHbe>N
zdgSu+`nGo7)KE)Z+0^8h8DEq7QJ^TB=%e(Z?<a!j0E13p- at z&p3 at I%wIu%yyuF#*8
zk76)>L`S?V=bpPcqZjy4*baLGrse&x?xVjg;yY at c7PV2e?BAR0k0H*V`A1DE(Ch_X
zBd@<Il5>)6+<lKrY)80;IHKrEoqeWoiDn*x8J<mq!aDOMn!GQ?_%rp~LYxwLZ-R;<
zOmC78I!%9u;~4e)N(6ImPn;}M!OT=?8Og*a&RJc#iU!WgMZ6XV*G>Pq)`QMa5(Oo}
z>nSU{pi_LKo>(ao(9C3Ex^EyU`>4Qhc^zXLQo(BtUGTQLhMo<!<#IZ)>k4>R&vo@^
z)+$;@*ykx^{&17iO`rhwqHNxsdpDW996~i@&hv at h_{=@&1(F4AwqEZ?$QJMIVQF`E
z^k*5VTWf6(RE&=xy_Kt8x4u=9#NEgEb$RrY`<=&GC#lLixpAMXWljBbdht#7!!a at Z
z%X8E9F%i8qS6w-gWI~~#_>}oWkpY%U;=>CWYx=PK#dc$o at QY+pM>>mm#O>9_6gPU2
zV$z2GnS-m5OnjqNqK!k)=gwUchP%bz1S6F=U8)FJ#oU#K(IdB&@P$$0B}3qYx*zaN
z-AFhoyO8eTG{G$&KUY8dwN56Xu=HkV-=izf-3R5J%j)?HVT=dc;CbG5;j#NWB46SL
z$DO%C16P(f!rZ3tNqj!rPxbsCHXY6u+&#y!hV%*7O-{5dS2`~i1-P8&f^DkU6~qKj
zh;_d`>0#r2 at RJ^&#SwOqSGopYOV3~Ke7AjNZjbLB)1Ugtjp&$hJv^?rg8%DV0W}xQ
z<w_3c at kWjw^iqswcbCtvnk44?g;zaCOEhSFCRTW<X|40)A+N}HnbH=*((h32KDU;^
zseIS67)x3_g%MpesdTxny=$;K;-&L&HM7>~PcsQ^5FL2<J{kl2eWM7)nnO;&b*1(l
z&3w^2@=BhaH*~4ZsV!#v`}mfwFGZZ>=(6_a at 3_YLy%%unA)rs({i)H2Y(o!={Xf>D
z?8i5bly|yDHjW&m5F2Ho6k*&8iLQ^Lb$=796S6I8_T at Ghk(HYAv!{KyBl(QN at J-0(
ztt)gCcZPFFLYrs^%QdoClK3!|C0{6_caN)qA<`UdkD_LLfEtUH!u at YX`>j1uQNLLH
z$OX5vrF%+x<Klj)sI;*VS6DvI(woOnO<ShD9Rcp$eaBs6o7;Hgvf%JL at s!l&rPUYk
zvT*fEm9Q(jryjF3;>o|Q_WeZ``@NW)o1h4%=ZAk(NO!H^Iq_1EMjE|l+IHM`x|5~<
zO+^I$p1dXXYh-FM#^!P>TdO<#AR(`P<v1u~<;B_;Z8oFVb<1PqLXxFMxnEQ!=u`Q3
ziyf3f=59u}LIF!FM~~!KctnM|EeHFDRMhjjyK~}mA0+9KPT9|Hw;vd!%Gj0$ug*cv
zEtgEKBlABbok3Cf1#Lqssgy`bLq1Gx>CTx3@~xsfa1x`05qf^Y$wsMiEwQxkL1#DB
zlY6%2xhk_wiTj)@BgA&@M@;GwE%PPb?hpP`C!$O3D-OSH21-&eovKu;BqWaAaC#zm
zguXTzD26#GN8s++%zMzzyxR5I7Ogxg43{=?Yln at K_0e3)igXO0Ay;mhs2NjgzG2{9
zZ%?DuVO5a*6d<5w-pXHT<06!RP&T>_AIv+ruOELo`?dMfeB}m;a3_y&-Qx__);<@J
zmnEzkHnIaM^cI=-C9I~b0<BXEe=~7A8iC9=c14B8;FzgEA35R*L+tsWS&eUGu{x)9
zActdpM&j`(SN2>gz9zeaR}qWvKamN|h39Q3P44Cu;?;JZ$X$oEEr%Dl5F2WLcGOuj
z*whWEX$ibdF6(N$xiTDwi`HF5T}(j?PTVKJK_=pRmGjd#_e<UQ>)MOUT4KydrV&Ea
z^_NT+()mh>mg_kM!8i1Z3c|6dQDg(n!&XMQAChX@#7XT5Q)@V_KWbOWxZg5*2Va=Q
zM$M=V=ky!&-i6w0;%>vW*Pf^QbKix#!Os$(>__K!p}Suw^gOxbaxf>JW4zdIs at ma3
zyiXEBT20M#w2 at aBpYss2#^ONnPd;BVu;ZcnX&{96q=Ft{dSF8szfTx`!DPZ)ORpkU
zcc7RAN4fEZJSuGX%3J5nh-PA7$w)z<T-wECgCru^uNP79u#kJvQ!<y>ummgWKCTHh
zJjUC`+fbpkOnwPRoOc|_bw6bxrg5qh^#M>RASyNjYKUfH427~>O9|=VcRU`Z+`Z#>
zt?$OkK5jH4robSR2PwgS!0v09z<tA<5VjTE-E|}90YgPMA2X;UCZ0-i084pHlk*-i
zW5zDEdZX>fh~Szq#ykr(OI!e!^H=Jq)hYQ*yawBxV=w!>`hZrlPi at kis4{vRiDG!H
zcp*__wInHcp97+XiIGVxBaxMp#9h`3x8&dhr7zzxnJJavl+nd6R<3>53*oJfy7!Ot
zh-TspM!5;Q^rpXOBEKwycWgS+8mqy*Z at --_Su7ME>XQ=NUiA-|l&z6RZm at RQrp_FF
z6WdL?Yz%*h<a-=gXaYBr$0S^<{QbUrr_5&-M*zpS#x6C~-`n{{2eH=%rt~yy?)RLQ
zpK!{gg`W^!13k!E5$3C|5%H=d4E<;DN2|JWq%((n(lHzUPrvOY94)^5s+OfF1|>Mq
zkxC0xzn*4JV8s|AdUP_}VH^;^qx5xszw<SPo9gj3XvEHNCtA7h5Ye=Hz&zy^$HegZ
zxUeiZ$|dyE?>1khRYE)FnWJBn8+rALNtX+JV#m`ZC*vIJ8Knou(bR_QQlgL6xM}le
zHlw(kguh@#1}ZdICt-_qLM0B2y~nVPSIr}KJG1VN)k+SXXhMIk$W5KSkUTRD{cwzX
z8vu at aQa~qmJ=)#PrCVGz$rsIlfeG8xtw%A8OcStq<P$r*B)TA?(AWBn-`qjoqBO`&
zYV}CFc)_dNH6yUY{bko{^n$!^L^E!;ZHFlS%aTOw9-KyKI*s{RjTuuJR?Y{Q4pA&|
z>al8M#;+owT8vPzVkrW*cO3ck-&pOG%;^J2=h6mr^{Qu77(;n9OQIsvNo|UQhR~!4
zqmkuA7&ez39e<y;znN;N=!e}IGfOFM(sEh7wEtGS;0mkBn~x7u>Hmf`Q`AnOwj$~P
zN*{UWt_*3bJj9(8+`#!*eM`eZ8DkV(6{_hpFOX*Ny<9Fhc1xflTN^GHb at JG>!`4(K
zyTQ)^>*AQ+P3eTSFE(IY;spGX^HIc+67k_2oU^h?GbqhQ&1yEV!k4 at 2M4b7aGJm-`
zbHhqgJ<{kgX6Y7h_8#&=eJ2BIhejKFxx5BZ31ohg5tuAh!^Ph at E8P0#&|W*ai)^WR
z!cL9|)sF##jDIXB4<hu|XeR}!UZoD-CqIGt)Gf1TM8ubNfb5kCJmZ}VipV3fX*5O*
zoo at 3>ZEsd(si2_{lyH9rRNf0ITiy#A<gX0@>k+fgSuis7di2pV>>jD6f-bHN={3+^
zJ`2;Eho&q=dIc{-`iDCP!Adb4ld;3BvdYJ?2zM>D1W3EzBDVWqULXfCGbz1W!G3 at 1
zTUpt1ZMx697fE+75TMj#yCbhSD&9ansc<xTKmTJIooAR^^VZDWIc4}exg;{n$=6gI
zD2_k`p(yb~U8hB)rvt~`m)*$rYcppU+FyxkCe(ZUipJ5k`{&tC>6<o6e(xka$PEvC
zQdw?RTwWutoBv6rY!n-P7JdCC&NGwS>ytw<Av=?a*FO7PojyF{Miq*}&;!gs#SvkX
z!aY<H26!^U-9Gb%sME5fD5ge|*js$ZB*^y?+3j$nPoksAiz^g|j%f}lRSL3*!awFe
zQC*ZMSVegH4&<oGGF3VwZFRCHOziLZX;7Ll)PNFa=LgH;Thp3Dmm_=D&Wc%lC=x11
zXgnuFaXcgfgJNz&X at Qp+8y|AK_mvgAtPyc}44V>;NSN8-FII_&W(n=SuGCO{#%P09
zrhADelw)HiR;3w}TU?5{xEPCY8d3PEtLoYVCC#5n2 at a7Fc7(Q8vnBrE3sFZx{PwRs
zDyg#bGIKN8n~UR2UZGzzwv`8la2u_;42`0vI--06UKOw#yuo$uzM7$qeE!;W$uY{u
zjq&aCCA3QT9v#8A8w5(nUD+8EKjblJZ<uur*X|&;=K^N#tby{UWgl0#Zk)+4JPVpW
zx);7_x$eWP(umpUI?C~Md#gO6^zlYr*{^jVz|g$&e9Giw7Yf`3!^=k<vJ`{Z({-4y
zzp?|5m|?zpCx7xIMB0gDcu at W4llzF^Cmf_5hIco~A}j`?- at 4!eZ&6-8Qe%F4Vx)i4
zB1_4x;>a*-kxRvR&>~cxRz|VBc`w-`{vyH`|Hd#lv++G*0Snrtvvx~zq8}3c-DL7k
z5W7L?aMi}Sv<vfE(^Witas4ou4tg<YlE0wXPJ)}@z>!_gwYi~{5y4lFE^WnKVaDzC
zX72HorjwXYnbGcy=*prvytb~Za}RCoQM(>8dZ at R&v8QT>&(Bp2U3Igs*=Yz8ejn*v
zeG_#B2<qD6#6q4Bu^9KM%VTbWf=8fvolos=V(s<<MQ|;x3wFkQ7U2f{<<HEEk}Ufp
zK<_N=-#HQ3el;N1d<8W#pjkm8xl{2|<Z$&H$702lf?#7cmh&n>!{`7n33}x!Oz&Zu
z7 at bQ6!ltO8*&}6qpp8?z*4kIHOt_i3a2sq{k?SQKCzqd}^xKf#zg=3Zs#3Hdg|BBN
zv>W?VVWRqe+aS{<rrBW=wNRzbj!C>Pe-qY2w=j at 99yG5HjfYlS*NUA!c97Kk%8g#!
zuqO#6mL)FV76LWn7hD1FJ$cVkfxzhbPGR)ZWm0iA0ljEcWvxo;idQC9l@<*qtH}Uy
zZiI7{WnVn0udS-R9%agJe~<BvM7o9o4!0#mFH$J<Z-D|+zggPtW<5puljo9N*N%jx
zTo>lJ`Oq4YrB{5jX&AO}cTr7p%hf`!O=FNE(Ozw+^V?52wd~YAdDzsn*bbCk_J1`C
zgL4j#8Ts0>&8*J;_f-8ZorN+ at 4D$QU(t^SOGW()}I>TklEGtAR0%JmN8F{Kt2_Nw;
zDm!Lk9S<Hkq^)DmDieQ{^&@T`b43MD9DVYq at 7-CmVDI_NyF{YK>PfdyNcKW-3EB^R
zFVZmcw}tKNS3 at qIorBnmFG5sP*<(?|p`y#bw1>nH5PT$zwzOH=K<>4AHS#&Vo`tLe
zlRqhJOkt(q3NOx8^in~g+8|$F#3oNQ#%^Qtn7+-exiR09BBXp%j4Ygw2)C9lQ*Q|F
z6PcqferiLc(~=c}w|tx%`Rhp~tk+z`zdb)^9#W9Jw>}G9E4r<`U39bx+rw^wd{Dr#
zn)$)L{dK!VHg5|vUXMzU*|CDTS~if!vMH5Mq0N)A>}^Rz%gZptYIENjQ%Fc{1n~vA
zdkN}5L7g(X=OOD at -F=jT`1HPpj5_~hJC`)M+$_ps1sj{YY(--jazp|=@8JEKnWUKi
z;h4!XimAeeGTKva0Xur~hr0bKuL^Qc4|+t#T9x%eSh_EbG_vIhAb;}1woKRzB+Oay
z1iTNa2-O=qVLqJZRb0k}-HdVz)ZhuRnIVDA@>h9ev+uvdSZ at 0(bc{`W9JYAJNM7Hg
z{w4htYbBBZS9upyT4Xrc61r82j0{6?p&?TrjD5)qYBY at FABU3LL80ZS!Ib%qM%n>O
z%jcZ03pC>*e15YP`ZQrf+BExM+GKR<8`{O_Pq=9Mc4$PW-VkdNhm^dx5rbz7J&}WF
zuMiSB`GmI1>l1wlg&FaRBUs=v!)ic_2M#QMi<Akalh!J`1*O`sP^sTUMr&f*&_kIL
z6xonbJ*6A;B}8zvhp2(()ctzT_GgMH|6>Tz2F;HpbNGw}MBX=1>@4+8x;OP72{G+$
zB+$xj=?Q+P at x#EXmj%x6y#arf(^(PGDgScyZRDqS<zb3s$ZfF~0u`>Hhkp}qGBU>s
z5{J1<474CUX6!Wb210&W4Z>57%5twwXq?l}{BT5QRw?de(>7+Dsa=BLJzv*=t?HBI
zK2mLRH`=Y=vqoIo4JY@$7sE>U13$F;=<eRG#W!~MkZTX>Yrig4G9igq#+E5$BlH%D
z2lXKXIndF!VzqwrHtLiE!$Wm`A9d+dJan24FG5&}rq{#h6j2;y-wWKg-$fOuoEKRT
z)RE)|Cjy5Q#*ecIN_3M;#L7R#B8~&;lxL8;GN%JuF%xtW1)0JiDvrBta-JvU)3y=Q
z7tu-DrK|XAh(#UvP~)x5PR+)fASbs^=*Mx!;jQ%!j4f+P^E>n>UwOallxo-~6{6rB
z;*2cl7iym{6;jeu>}5&2X}c^*ydYPs7e!j`XmgBtFwG*h41m$84l2#0Oo at 2Pztc9v
zoe{hm3IQFI*-d at tmQ8J~&l>bZmk<@}7iqT&s}bX}c1&!uYe<BU1?yMTDlQ@%>`>7-
zBR;Z-uV9PMm`yP-!8(2JCI_S0smYga8$h at dNGoQ=K0;7Vz8p?7xZJQY6;r<smm3HO
zVbU<;e&Ce+?nDuFsViA$bZRt}hZ_br6rD}2+|wWlZQ(Crk@?-M{B_a()80S?GwRq7
z-JD at b2>KAHVE|*AA`Yh at k<Gh3U*Qshtt}yFWzm$u-lA|^<e_+g>93tpz~YZebpzj2
zjkpR~>v?VJ8N+D)5)%cxdllgYMeZQ<06u(`S(!+9d}{_-E2g<pu44?Xq$$YRcvM at Z
zl4|e8R!q%&Txhk$H*j5cH?Cq}75<WZiHxUq*uFeI^W&=@35HW9;<Dmz^ESU)iwLSb
zyw>94YH3fqVflC)mE5^hXYO0)8&VP=?`F3V@(41_=AU9hir_rcL8uS+z>bl?Y%tLi
z45>S?_rPEYon+Pf9?QZOP%R!UIwNkN2Va4e7Hb&J`d(6xqgh=^&{TK}ospfx<|wek
z3trGA#ptECObL`SnD+-eleC%+gF+a?R4XcG;W=UK=eV3#BuFnJNT)oTUesF|WhU?(
zS=o&L(w4>|Y`<otwK>85)V($1`SDQq`ih)WtRpF7r~^f$-t2v>NkX*SGWLr#%He at J
z?8TxstnW684c+07MJ{ngX^8albY+4<6bmBwW;<#I*^YeIA2IbO2#|>@*57oMaLEMb
z?aR;vp0<`2k}LaOi9s<0lO7YIo4trJ^ulY+N?-}^`3M(~X9^#v^ns8{M<U%Xi!KKx
zoR>c at llzq^CtO-q|NFsTOUy4=gWgc|7CXZ+o#EGGyp<CP#|+8BgC at ce9>p(ALsL;M
zYfWqlmd4#KGRVD&`&FI<c_)}q-a*;=)phPRhr9;IzrC!{ohq5L(YooEHA;S8+!a#y
z5wj`2$WS(G#2}a)4m(57g_&X97aj}MDEz7f??^U*qZ<7q=^fER7}Om4dsMX_sKk)#
zJP-B88rvg8*y?Jcz^;Yz%y00gp-xLu2_HLayx}a#?nY8-c&*5TQ2O#-9nnPi$AvSF
zmd;wvKu^4{ryYN1>OuSEz;IxStdxBzj(MAR_6zhE`oo|cY0td$%TLfvVV at CtFq!!V
z@$02}+CIs2gcTXoO*kzHiS|nT2%<q=v}A|ZSM7ltW at L5J4b}h3kQ#x0a{^sWvV#?!
z_p$La%gMpvics+(RBb8JSAzuj8Fh`>`D3!eA3wH7WBNRURkaockn?>$NPe>|bLMwB
z@$4btbv=Z|k&cNs<~)sX)2LUG`<U!n<H*qMt=hmlZY>6;z9?aPgY2iVMt&CKM$w_z
zwA|q;YnWs9<2+4<OB{K$z at Gk12OScomhTIakM^!{<PYBpqIMJ5!pEj2k1T`o;oqu?
zGn8nfN(hA{FblVZ9(XYZ;pC_iQX#suvlRa-BMDLQgwdGlz~rfUYf4kU1iN*bS4U12
z5tWfh4$=5Y57GX-g^-k4N{z^LmQwm)4d0-|vsL^yf1 at C9sIwk<gk8ZMnFYBO8Vh;D
zUkw$ml7yV5FQ-S%I`);R<#a^+ea76hEKAoO=l#bKDIF;6ZsXLUUHzT<H at uLG`?K>o
zjW*FpM=j3qX0p`!VP^0&%#whLA)8T)6pIL`i>IS?*fM)iQ6Y2piyn^K3kUt&^=M3s
z?O$si-S(pX{#<y<7(^DVs_A8o1nM2m_(FQuc|_yym^W82oHJUDPL63(Tu)x*2*g`m
zd$MqfEA3J at plf>IM^9EV?{FIIa_&2 at UoKExN|c~<jKjgmglQl7qN*t$J*)->E^W8u
z_MalT{EEn$2VbMtr2Gn-_HJZFcfdYHT7{c>?|}5ZaCf$Sc0aFiN1^K&(Y-a@|56$^
zm0M_oM>qKM*mk!bMQJ)2HCbY~p_!0a8w|&5LE1HIBS*_S|5!8R?U}ORn1Ew!{*9*T
zDhO;*6k6u_=9RWMgt0bL<bs-QF7|;UB)C3&iDepDpt66j`o+ZiS#d!HX#S+5w3S8K
z&{<5PmR_UDbE;rVoHPd=r?a&}e-YbA*Uz~5#2(Evh|WVI1z99+pR@^Ai)~63;}b^1
zl&Q#R#qE>MEX|k;@<?dUc3HLY1k~W<^PIt2ss2;4oWTg+LJgsj%$w#^mM{&;j8KcM
z{i(}Kd+jOEw1f<ZztGBkbR~!xwEX#%TxAa#T3QT|^^BqS^@%)JteUcB!c+*CQVF<?
z at b&#;$&vAK^cvf-!MHbkki#0gdh};Bn#w43Sw=zprzb=A49cpM7-8TZEd(qs{$560
z{GV56z=c_cPpsg(?;=FK2C5Az^yn328!@?jT8OV5%GKY9g}i5|-#2vJ3!TU(2Rk^t
z(tUyM`&NTkH^arn{x#fJ3`|X2T1i~GGe4PJ$xn#=5AJR!4%g_I1fW7KJqMBLGBdtZ
z%(|A>tfvtq!B{;|eIPUZy10bE-J90X=qfkXtZkp;@yVhcMuZ!Q4IcIp`ZK<>UuLtA
zb|oSsYAtFZS`zlXz at BJbO<mtjUFQ#wR4n%REXvQAk-g{|d?|_YQSK2urIvi#FSL@?
z$8<6p9HSbJ2MzFs4u<7)i+Dd#;Z!3bQ at om~4qz({n=FktCReya#(0X^OdcqRv4Z_X
zbWto4ba?ai3F6kIVdVHt0fpNC7<c&*4;rRTq|SDEy}xl)0Q!EsJ8|twlc0NqcJHzg
zM-b+BQ$XZFW8oomGJiKDo;<yl@)nE|0(0sswVnX`tx3dw_NbyEdK!^TT(7{^KS<oL
z{@tP#$;t82;n6yK#iK7&>W*V$xlFSxaL4Hm2JSLHD9H1f*x4`{nc5kHnA~mbfxAv9
zC;?%2dm|GokTaPv$Q*1dNO98EML`BO6{OJQRA5oC7YA8 at -+4NMR6P~dOgybjcugsU
zg-`_C`2YnrAZH^ocN=S4Cq8#Uia&b!fX~m>%oJpQM4YVzDLyE?Clj}G1d(wtaWJtk
zO1gtx*(iii$OIfs&G=L#r2e4-_$EkU;p}YB$IR^J=Emg4&Sd9k&dkco%gfBd#>~dX
z2uLtGdDuD|xii{2Q9i5qONRu=$;1(C?+muHC41IsWNhc+EJ#5CJSY3-_-yPI6#k{&
z*6AN80C+IF8`(3nGO;k**f9USg_E<SE1={b1NvXKa8d)Vgqc-9PIfMiCLl>ykgYT2
z-&L5J{Hwjai=*|Q>6n@@gRDU|fT$DDE9<{?DJ`S${$DMgAutEq*#Bt-fc<Zh&S10u
z0_)$#_Wb0}bpAdNp!vV_{+ska=l(|+kWx_Kldv;!c^;mOgdoLp|9qx)CSX&(KOb2@
zAZ`v`6IMoEZZjT64o)L(MjlokZbpy^H#;jkh|`$MnEP+4WNe+BjciRo&#D0BOkh9{
z4?D=n$c)XHk&~U*gpq at l!-Ubu%*2e5-3Y|N1>)r7Ffrl%n+hdIFyNI&)_)(>vno?S
z6{m@*F*`3SJD`OZ#K>XFZp6q7V&h;mGBM^fH8wJ3V>e;>qsr8TPs+~G#t1Mc*v7~l
z#B6VC{^!9n;C!O*WdteMnEn#|Q}f>1$k_~NAV?t(wsmp;FHtqH4M^45=ow8`E*@@H
zZdOh<9u96^E{?yZ{in4C$k7S##AltXEKKYif0{p=g%6kv0Iboop8^X0)B|(j6L$m|
zIomm^+1XhOQar05dv5u!#|l6=nHo78Nf<eU0HrK!?0hU-e5|}`tZaN7oP2ED3 at mJX
zEPs=?GX<M@{NG7G2M?LRUnYMCb^`kM_*3;)M5%%t{`&UUS8MQ}P$DDy6BK+#CVx%A
z$;cIC`e&SguD>3cSQy!wg8=sUhr9l>9{j&>1y&wo9%F7(6GkpmP8PtMc)1ykIgHsD
z*;#qbcv*~CS&Vqt{$0D1otd+nkt0ad9KaF43UJRqSdqQ?V<@_Rmv*xNJzD_)jFE+l
z at xK7$`3GRk|CliIGiUsB#sbX$7fb~H2>gv?fOdb?0pta6A at je;@E at 2x)6W0KpMTim
ze`61T>i=}|-@^AlaQz3a{}uxOE#d!o*MH#pZz1sC68?{O{eK1*%71OAK(;^@<OXb(
zQj1RpfsGb|v7EF7)SKtu7x;#FKn=3}J1r+*cQ*fApvB&#y91So&N2#;h`R{bD2znx
zy%>T}P-IXt5~6DEOGm3738roy>rdCJv$F at ke*K~$4-onG(l}o9EleFAz7BK{D`qGp
z*f4%UID^Oj{so01<XVpGtcIu`hL*yR$~yS1&Ig#DPRj1LQs4YhKfL|+mMw0AO)w8U
z>U{0&Hp}hjZ3nj0b}2L8%c|V>>>4Y{1Kx0RSubtPzFWET&bG_>j*5=1k(8XQg!qVr
zcOCXC7=;B*0IJxN2kKonG$d4H_4}lzhW`P at Mg?6#i0|)SMDLUN40x3Yih(Q?c at GIs
z`We)^yU-<YukfreI!x2m=Ji*RHoqKb2?uLS60FPWQ~tH&{RdA6&9jbVDy`g0tuutT
zn-^iW6%wW0hUwSVAxD106}NX)9rSiFcETRR4qjc?LGEp<BK)$50oQRS3fuxjde^+Z
zZ%=<Ey_f6m=yvJ#YFhPsl7=#G at -8Cmw&`x at jw6k=u|jg^vQNr2%OQ at UhKy5g$aR;7
z=9PWQPtZpY04wCILhIsTc{N^E1SLoXXhNHpBiHNrM^YMB0Zs4Llwt_|NGx;kEu=3O
zp>Y at zhXOo1Y;%D3ge+q05UXax!fq3$I&B{BstOa9)N?Pxcw$ueAVsFjo!78*1?ue;
zs0*(sWY{LC{;eRSQOW$R42r~4{k`B@#8Lgdz$(O1{hx|yj!fL&3o3_9+}}$8jZEC%
z%JTsB!LTGSB`>Nt7!toGOd-98eOawiqK0#D`8z^dx>hW{b*-mILZU|^Z_-^~c8{2@
zpi7a?hp*t*j%UYXeHdP5W+qy60??<Pjjyk-wCvtG%+m{Zm}=4w at V?MDbqP}!ZYOJk
zTd}|}O03k&W-Vp+u)6J_-JqEx!wg`uVDA;r`X5zg!LHWUBlHSv6Zyw8795t{oBrgG
zh_Ghz0%vY}a|!R4H&86F0^SY|le_D{1Y8=-w$*95gE**jeq3ujH+o{zpfBrQhi2%O
zQ<dG7>T#ABDNM*hzkgYcdvkSqdRi(i&zI4}n9rnKHLppzQJ65b-Tefso2t at UaFdm#
z47VzY<uL#4o7j1njE05EJOL?b7dHhHv_7miE)QA?ye-tDo<zHsrR9E(wCpn|OZWHQ
zX<1pF<|k_%^Z5xv2`U6|1XwjhSTCZaOhC4_W3bft7An{2>FILaUpL at IWWy8Mhu^qt
zFiQWM0iKQVKlFlUkNBT?!9NGFPXl;@jY+HuK~z|Q&7;?67|wNDe2XbAG<HJ*caSXD
zDE+CD6Jn0a2~=L8)zd-NVM{Q4=hFgcU=@}+>9>|0;(l+vV3vt{oi;;F&~169B82XO
z5d>I1R6>HX;1 at Pz*gdj_bHbJl0?LsQG<9 at z^Z at W9m8H{@wvBm at Wto?kcZWg51Bs0Z
zpt%feX=#BYdaG|~lv0xY|BG<h*MubrWNeKqR<oola3B*PAT)DvcX#)7aA5U#^Lcb+
zME-EGt|&?6+}JHhQX(xQLpLiu{o(?gV?#P?>5`*gB at FEj%W{mhh=~T-DJUpdhr9CN
z`8=8>=!HNS)mIk~e}+CLB}-SZ>UDkmfN4MR-6+SVNXZq7-#-*Oo+K7c8BrskG<2g`
zC_S&+4p!;cef5v*@h&AgpCu9YiN<Z>u#K$)^;3k*$Viht#+6NO?G at hB`|6qiuKisn
zCl9tnfK9=wrJp3vFUVXpU=cbt1aq at T=ln`_%WsQN>pSbAbYWJu!}Ib)A>i&he{zie
zLMy0iD6a=y5{DcGC{=gd5s?EEx$ZWK4YRWP&r&L~oRD3#dhDwfZ~oK5un(v9<*Gx4
z95DAZ_T(%(SgaGje{U(5&Eg~{C!^KZ4zGtnX_VtAuJ96k2n%aTn1aUWZ_OT`OqdGH
z9>*Sc{P1tY^-N-aC$8tue<QAcy6oR$=WopUPZs?<dp>{uJA3{=h at 1ZxgYdEF7N2mj
zWME(jN|Y`5k!!(Rz=5O|aBA_6ZK8FW?9_>_AhaMME;Mh`!BYauQl;rUa9HHPir;@7
zwtQ at kTdm#MSaBqet{~nY9)QOUQ!3)5Hoz?B@*&)0<$DejJIp;l1my3A{`t^LK&2fR
z;C?OkuMcN&tx0;H<ER)oh&Q)wC18>QR=XplO~pC<J8tfk*(RJfW)3dZA#&a08$p{<
z^(tkvSB%WeUR0m;V9=p179?9Iadq#`@bd#26^P+{H;fiOd|Y%`7yR&!?tz?Tvv=;J
z!J8FqEJWQ{lN=d7ERaNAjc$orr(ueXVlgKH8YwHDMVz8xvB#9UQthzv|HO`b8n&k%
z2`aLztgJt5JL4Kx?(f?Xb2%pv5D-d9K8h1WNfi|9<|%OUFI#YsG~2Crwo1#Y;Nl at l
zEoD@}6x+^UcvWavy=7u5yn|ob-`}SUNXw4=9(W*cc!X#~ds at _u5+fiV*Sh81U^2?v
z4kKTXK+ at 6L+FFg~xBD9q&uq{>I`-_)j|!9O&^NFtym1S_7sd at O!GYeXkd*15fgbMu
z#?^5n1l5jw!vG2I)=QM#9tQZH*T2nQOBgmTpQIW|7g-)^{7pn{G8!7%stWugCCd(L
z9Mz>i{cX(zuVk?TEJKvkW|@XXT)uuh&#!lHpqpU3SfLInh1G}(FWB=CswFzPtyF`l
z_9WCyC|9~19BeccpqP;%yZ#0+kJK%^ra4q-*U%@hLg*v0Z4Xp3OQ?BUI+0H(JWW*T
z1l at w&wEj<6fafKt5XjL961%IP2@~x;s!9-S9miF{*oB21P#OzS5RkaZOi5XA5CF*t
z9VDdt1PTKhVfmF7VgM<$-RCeX`oy6XpQlEZ5>yxr7$&$*>CTRYH;<teRiN{SAvym#
zN at G(?%b_b*nJL!vl$5YAJlHI__H=LB>NT36{obxN6nAflPYQ~PYr;W&eSH)Zu24z{
zl?bk|Wj2rB5UNR=vD`f*Ml{OQX+OV<`>frdO$?=oppU$w`%3M|(H!dr=QJXWXD^H<
zSFLO|AS{JkSo2O6OaG{}VKymWfSICCT1u*Xj!NcWsl~~>j^2ySp0T<ppI(O%rM%4F
zNv^Dxjh&qx3+sFLVmG1xGSAG91t!iejCOQ)dxtxfxO_$RMc9baLoedeT6oBbzd>|Z
z>Sme}FAvX$@GxWu48){cf9S;O7`75Nix4ZmL3{KFOeJ$oM`9BNt3>WL=2kj%jKG9Q
zLX1T at Jv~k6gb1WdGyaHi=~A{#rM0z%vHbpW0n&>c6f)ZJlvU8a?~c{pmJQj$=@Vd0
zH)z{zdT~UU5>qx^b>+Pq2c%&oQ*X}0cuL+dQ_DQ)BxYiGC$zhk*C?uA6^G$vrKT>f
z1X>sx<^YYi3S*gJucunTTiOsXSJXQd15J?d{`<ru+A1es8Rf*xW@!yZ1xgHfCK%fS
zpXqlL!iRU{r=Ae<L|M>4lU7_~)#T))nfjIdIaPFRsddPG%Kl4;5p6y_13L%Dj5Wcn
z2ZYkumLL_e6Y73CEM+O-?n_*LMdc7ez_kB7Ow;={@-EWm&Vk^;uV25)Hr>N;qBj`&
zhTgxgdK+~@#T}J_jg^OujlK3UA)ka>Kw#yqeHN^D(#mb8zPhW1=30Z57S;6!2;2D_
z2S|bPMYlpXgMYjYL2Q0j)zBE3aA2!VX6d1wKd!U7x<;V|K`M-I!yDRNIh9sL{h(7{
z2tHPgle_zZr9zx%6}=bJX$$)9-5hVX`IQ=T at 8O~KE8$c8EwdOMi}ls1jI{e`$=YnA
z=`gBGQ}sp_mBdllY-nFr3Rf2&^+rX{6RMN8tK2UX3~gv0cFGZ*Zzu|*t$M<#z^bpX
z^If64<ZXW)s3opy!>x%oj(+I*0^Tx(H2K at b;p!&~zHN_euRboKG`9BkURjQbn}Me=
zMsmmV=sP(&Py=NnWWC11UOskEsaYRII(-LG*kVeq4XT0iP8YB|NT9%^meJ8nRDfZo
zz?fNB&!xX}P)-zdU(Rl`YS6yu7RbKGtSN7(Q`Dco5{2A{rTkp<s*0NlGBY>Vano<f
ze<LwOLU;r#1h0#Uh3&(MUkW<Yb9xVIJAzG9plpJ{g*BJznK(QwZz87#UqnWm^?Md|
zuwumZYj=?FRM?#qH++)zKnZPJJ)Yrk6g)Lfm!bkY)qmph=D9ta$fVxg=JUv(4GqYS
z3Ok#eRE~@?PCnFvfV#Q)bdk$ridYTc1;{D-Tn`t1Kqus*Rh!-1&(D<%`HFOYceN}~
zao~|E+uPeSn;!VC)fHrhb;AU>soHZF;$vOAG1Ay;4S+|BM(C*leDIcj=+(828}v9O
zb6;ENc|iX)R5n%9$KzVCMBL{R`gHPj@;jRCI(H11b>`AqRU$3-R}qD=h|pCCj{z$j
zQ{c0;-fpeqI7S(1^+Z90W|)Q5T>51>64jfTFuZH!an?7ke5=p`_|2`~q3zH+?g>1S
z4;L*PECGM0Fi3pxkx_5FI{U1?DD@^y%4`6Gp1&cQ%Wbd|g=f5yP=+rb&z=<}<ArXE
zqB at u6tCvd7meUAUU~0ki=bj at 2CC@w7=40n2Q9a?PFTISQG9*YuZz?tfv@{ZZ(%U=c
zW!8?CBzlpO{tyWeO^b-Shyt_}G*%6Ok>Y;W&=bOrZBBTudxn-CW_E8<8jql*D8+nH
ze+t<0YU57Uwc$vYIwouSA~aQqCF7%!n2Fk6%cInoJ}^^0)Cu2CL80hq--`o`ywATs
zw$1stupPVwb?OFiL%er09k}h85-(P6Od;Cmb9zUmwd&_i^#CaX4(sSR_2RLj-pu7L
zdC;Vmk26YFuI5d36 at rEAesbv{w50k~2fF&Am_zK-0T!!?`kbV8nv`!uyUW*#dOHG{
zUc!6vbC%K2X1T_Eea)2`%dtM6bw2gQ)h!=d(!Z!sf59y;H#ZmXfpJ(;a%QBrUQm2W
zYYvwoSggRluU#y5#!1@~C9N%)=<t2wDpETKMWNvC<s9M4+qN$8Tb|_C=Nx--k!6X>
z{9aU-AJkoiPL+q+I(5owr6qe#M at ByFw&+it8~&>41|?vuSnIc}Na%Yx)B>n_7SrD;
zhn89kpQ=NsCDnJ%3-mQOqByuq+XB4HYOIqF1-DW`!h~4-p`oE25wSCz+E=mOG^gQT
z=o#AXoDn^W_UbBz8e<n17vH1_kCAZ)t*AIkPG`_RL~rfHO#>V?L#@6 at W>0Xsv_aIk
zl1tx4a#MuGx~E9BJac+#Pfg*9qsdMBr5(FiS<TS^?lHB^RBq|pg~qE<+b$&UBmsDE
zN9o~P=DxdK*&-=@(I=e*rF2_gkz)#B`3G>Qv+Pn}>7nyEao#czPn~e>-KFIi4f0u!
zV8`Um%!HG;4iS<C4|4kmozHShTczbKaC<G?yKnrix=`=)i-*SQ=?|O$)@S~(8#KN0
z^BA`K7K`<VdQ84T>Cl)($<Po}{cgZGR2Lprn*eEv9{9=Ak<hv=mUXl+mNedNP>7x4
zBfu{mXmoqc^{5}+NltHFN^5l at yS>76OiRi~>>7K7Ub|!5YM9Ws at U<p;kN at rkRvx~w
z7yIOpT*-H<oj_EBAzDC}Qxp|tA3pf-d8{s3$`o?~UQDA@<_n|&M+-IIF;em=RSwU1
zklVw?zRxBPx_xAVA<^Y%l#!;PaE;ZuOXi2uKJXP=rv{dh{ZIuJ+Pb>B(SUvPctXD8
z9PhYEA&6=>JkSXfIp3U!7wNTue}|aI^nl>j?A`b|c}2dfWrKDB$a7M2fbsfhj1F;d
z{K5buV<)8cGwlS8|8*sDJ?NZ7tVwx|W6Immi`8C30<}#rC_kz6 at JDz0fLw?Mzb=tq
zioi!ZZ)fKjr!X#o37i07cqXVy@{=oV*K|YSQ_d9;rF}2P;h;x&j}P`mrH6=Hx!;Rg
zchm{-E#@1M>zgEcOeIEQ+y;+-{jgr$xDUswF#%3A7#K^G<du}9B|bsz#vt;n{9!=|
z7>o6|MU0Tx;)D*l{wztab{t_%#I}KvP_7QiyQ_KMGw1qSL1)R3nSV0$IuyEd at le`s
zsOn0mZ2D`96H9ChKb3NI*kh}<OsGfXQ->k$MJxRP9~8|ixrg`9gcx`(jXk<2eu9`q
zfVIhVH))2j#AyR_G≪Ww~g7A_m#n7_a2^Iywvk{&F?#T>Py~S84e)<boQV at v??~
zIthLWbOeKTy!_G!)m_&C<jS21<Th~nBv^H`ma~OeCDIM3{KB}+j+v#_81|gEEv@|S
zKZD_yW{K9ax{%r{-cHQv7AVB0OFbr?&pwrP6P+qTWPllektu0<H9IS_byVCbdDq51
zYQDD)t&f~>C|R!PoYQgf0R}Cn0K8Q+uxV*q&<-{YUn#xwJpVu#8YSDIoEQbY3w^@G
zq&S?F&CRS!N{VFyBpdq8`@slHijHj$OCoo58|%ceNytlGP~Hjmn9YacUC{#Wzgn<Z
zwE*@BjBjnC=Wi))v at Lwd2?4SoM#yU{hqwdfhQxrYWB{EbX>1Dx$>{;QUR(%&g78~?
znsJx5SMJUdpFBBfT|zVY-MGqXY2)Whj_F!NZ1jRWZU1DrzXdhs;g^8F46?B5M2&`L
z%JYr|IVB&a`)kIWG%dqZ+xVzo`EPvr^;foez(f5`568l<W=FgYu6^?ZYz24}FN5%B
zyWADYdCXRkbdTb-aGYZK7cUPYciA(&Lm&@9(^c$jW7{CobWzQD at JJVF+i-_PLnl=G
z{oav%fN{mI*6)BSz>kVMIYZwX;SD&xp`6(V?eu%xiA5cK8<sm*LjLYvXBE#vvmUu#
zcs)$Siat%s6=t03q)Wr~a(<=aDzdvuq9>t=Enfl1#AvylR-NF~7xO5LP0h^uO6B$N
zElw=3Ei`RSb1GV13Z%9t6-);QygsjM8V+#MO`)@~RKLmt77pKY`}5>i>Zy5$Gfn|l
zxan9H_6zj^{V{DsCvRcO4{`dN=%jX=M}wWcrKF|P)fd@$Ig%R=znr6^M^zCv(yKDV
zEiDgbMpXdT0K8n`nbP2dly(baJGv45FDQ+TEi4AgB=#0cYk@?7T6kRl_<f?DQs<HI
zp1;GTO3s58fQ)4wY{j-57hHy-Ex|3;cAF_FoUi;E^<9xQLG0%dfUE0Kg>JU6G(hIJ
z#Hv;BOFSNK`wanCV;e8*zjWFsZkT(}d-yf-4$W7tzVJrA*~MbDnGTyd3v{S%Hq^D_
zSbf~^x)dv8yL8Oys8Gmxm<>m*FXV)M&u at d%EOy-58ewdk;q_MLy6s&CRMrdc&*wV7
z8Hkql_vC>lo;iArG!y7Bns$;oUwsrPDZ42HxL-Gk45dlo at Yb(Sl>qt7s%B!QvKpw#
z<>qk&HoJG!y&(#STCM=sQ4M%))e4O=i5{xc;of9h(oDC(N4V3sT`BvTjN;$2rFW&u
zK<7vOk^Z607a@(RIUNlOIUQDIur{N!JK(KLHsPFhaQ-cI2ObXt#Yf`7JfYH|j|12q
zz(&EKi2lym;f(u73a?F*$Xz^Fz}2xWGDoxB(Fi)ke1P9N`6ywz74z3TQCjJdt-XD<
z2koY0cQW0&g<I+hwKtZBu$bMrl at 7v^&Jx^`S1a8_TIuY*h{OmCGo{jRrm{KhrUrLo
zi9<X>!V6ioWvStenYuwVVmIgJfpo;bGTCFisv{x`J6mjvc~_GhXn-xb)1^rCyk(N*
z#3~j!&M~%@6ES|3sx6D2d3&I^vz{hyR7$j!mh+z8T?b6x-<OfX96iNI%QyHUuPs*u
z%$?VrKt1xeGzh!61FMiw$g1uViTdLALE>(=BsI|J`2C+8H&X+&pDf~~nl9pHfC0Dk
z=F}jvY`P&)OKbX_Q^)8c7AqSk=XSELpwZ}Kpn)C$lBk2`hT3j+X*P_Fv_qf)p~Xpb
zn4aEaU36?e=*R%u>@GsHs4$i=AX&P{x<R`EETLDnjdRDlMa|__p_=G}>8>sD>2Br2
z1D?fGn?jCHjx>zT5o7;r$D(;VSij{T^sb2l`Ujca9sp4?;=6#=xx{S)_c?fX$xa`>
z(DN6hG*e!JavrKU0~%4ii=|<Xt^vHw15|;NK|3-f**ED1O%k1g7oLs`buZ*+71S3^
z1_)1&ffzZ0U&9dKr064tF7m~w7e4+Wa`yljd2h#lHVJu?l%ewm6fboJJr6w|6(+;Y
zs+Oz<%H;a0w=uE6UB*^|RL>18ZW!0^avr{>iRd5*slVlbM_*381{M)?+Az?$c9tAn
zV`_Fv%BiI$t;BF&Q#5>~ZV~-5tgeE-$)4 at 8id;@dE->GGL>L>y(@=nDH?91xYHDiU
zz?|xyv+UF&9z<=N-0__{LQJc?8y4pd*&MJv9!!I-4(PjJ+iP#EmnNtxkV7Ju;g<S6
zsU{wa6><_E4||U?zz_o%?)O6N4S<j6L-x3$EU?RJSs?<D)n4<;!$$YI at VzrE)}2+@
zy#etbn}RPba7k at kc-h&fbu<1 at r*K?b&yefjqtV$e$%el25~TES>&sGW>Xpe#n)+gs
zzotZw%ot4~U+A}|!yh92J0Fvb%c3&7*$1&-UnS at gbDRJ0fxbx$O95U$&r)-icRgNN
zEFa2}U(4(`beiXj{<RW at m!6SPPai*r9O62jD>O+N;JRY<6WGbb^ZvU3QVuo^5wQHJ
z0?7!&yKId9oJ;T3jim;9v9;UWb^IA?DmGM1s|Z4?!w=uaGqI$=%e!Br$4G1zO$T$J
zICLGaozn~-tU$>JBdI!t4x#J51Cqyo9!nhW(GvUR=*`0hH2w%m)Y;kYh#BL5<kBfx
z#}J^TaBWro!nXqLPIhW}&Jhh9hD3GCQ5r8TFHP0JFG(i6RXh$5Sx)F!iP(vr9vmeT
z{^GsfuyaL(3vIr@@r6@;k;fiL%+E7=FH4^j^8p|+$CaL9MOZqyw*SLBdUaU*@TeFV
znh{TZssUDmHq#)h`D6G;1b1a%DH{1+T3$S)ud0hlobUbqYTo~O&A_(I-$bo<y}%Tn
z20&T_91W&&ZJ@$#?ycto%{HvDW(31gnSVd;*W9O1pFacZusIAVursV3A0j4N8nRd@
zm0wB`vEr_Itn#9oSev7nSZkT|YI*&KWe4y2S4BO5s80JH(oJ{#az#^pG3d{Eh7hKg
zu)UxM@<4w2sBAi^MfL$Oapd+6fZ0K3CtSJ!;lAqMP7dgz!Qf;{KeShJNPJYHF#d);
zf5jmnK*T6sE$k7jzNjT+m&ips at kkhI7uN#g-3i1dG0|Fe4V-R^R=}Jirw~$xl&{pe
z_)xl3Qh?4Nw!+x?+*D)P5W?W7IPU8cCm@%U>wZx&ls}4AKM!E2H%T*5xo{{F^gSzC
z0Nx#UdwMdRw!R9cYe#I+MmdqQiN=%Zly at lEtsF|2uC$i at xg|#Zd;@Yl^Q(iJR>6r%
zYix at X9;|>lwF(VH3ge`9zuEb{b~#t4gh^})<Nk$(lv!;%U=4hwzG#ymESHJci6pRI
zD$mE7%Yt&B3~&QC5G;NzG(ZmAlsy29!xhh$$Adp>d2i((Y+Mh{=YCZuOzXcp=`rbZ
z!F3_oy>}eQWaE?LQv$?!V0&gCkdIAoXh4uP592z at c=migp7+)Rdk!U- at y}s;`d{5#
z)VU<qGJkw=Vba(MP{KXg3!XN~$0oISdIGEuUwINM($=Z~teNTngfK)@P4)&z-c>jF
z!<9RByAz)Iu_YyRN`ZP`nnhCK^x?cy+x<HaeeNBw+%X#I;~SYK9=k};>#caaQNB~0
z&Q+ju at K}=_#YaN)s=!-PkZmm11H~R4D_7UX7W1{m-rhc9;<Yvp2p=RcEXAJk1K0}o
z=s95?25>k5V_Vqmef*O(nGLj=`h|=sP&xtI?TZy^FRNEpXhr_G&;0#hId*mrF!hC2
z at eF*xRW?9Z>sRk`I@}a;7 at _Qr3!h;e6ao$r90|9rl5hr97Y#z2sv5u0d+~S>jAT-)
zYhB##hSIrepMDeHKNh)@jfPvg11O$)6~{uMmp%2L2a{R%d-+gMFLs~b1xS~=inRj?
za#PR{>$Z7lH=_N<-MS3SEUhJd<;JPlKp)@AJn at KqYvg8?<I at 1x1@|-nux?kRxu#wj
zh~O?{D>D+8&W@`&sD1Beo;AVZ2gYH>F}lxZdcaW at DO?r~)@CJnLM!`(ZxcY^6 at Xuh
z6Zsz4Lf>rKVsJE9flX0)k_EmU*bWh5phNjd+Y;~&>eX_W1Lrr)VNVF#ZEuLE)?s|n
z>?8X1ff;$Z00|l^MWGkjgwPZap%X6x8h3j56l at 9hW(d}-30fMpsBaE;noDc at W2B3Y
zo>wmF6WK at LNN2sqB(z^g$F1^bsDY!UCH-;BZdPu>6clFfL0Eo*lz%SgQ#w>BUBOw{
z2XHdA^u;<)QaRtZY#$hlc^1|bm8I8M4S6?h2j9Pczle;C+>_|?D=RCzOifJ{baHZ<
zFHERJ^u at m6JSVZP=n{XO0$fRFq^q<VJ2;%3%N96F=S}kboPQW#BDp$TWKUK3U9cf`
zoZD at mKHe*Oj>D1+tqGiMv;mjp`;QNIf?-RokvG0K)WG`y_P~8P`Dy+JoN)V&#DdIg
z_YV#YOYKnawszsO={py!qWAEswa`!+;;`ix;fE;$29t!>$=om>i<`gc-_>C>Ab*9s
ze?#F*Sx|4sus#f&s|=l=pS#QMA#d$k3Bw**JGG}bk#|A2vr-80v#?a#fj|Yv^PRu}
zr}=o+kA$hkUWW%sL(Q{W125g{SlVV?BCPeL8k7ES9oK8=0ufW;?~Ya`ul*vHDI<HW
z_TK1&OuUC4 at 4qT|GvW%5$957>H$?#7Ez^O2MlfpI+N;eGB>?44?NK)YKUCDRE at NxK
zLrWn=OGDGnIOo~xdUN`-tH=jd at u07~3Qp10p{?E}z?Cl4&Ux=(z`zAkXzOLx?6f-u
z91WR7>KK5C-J>W at ZDI74Gd|sQI^-^Zyis|g+dIaIw&kdH2Ao8ncX#@)-XUl+BQCAG
zSz*f$6O<UhR~C5>c at Zy&+Zww|NgN)||7e!X$<|fV;hy$|odb4sHh*?>cQYmFmv`!x
zdCk-=^;2nnwjV3*+pK!aXce!X%?=#$bO2^QvEd-#hU!AUw>oDWoZAKVGZ#JP&s$bw
zFnG at fxYoJy1rwwKR~xstx09Y7zUZf<0okxL%}?wDJFT@!G1-YeZu6CTFMx~MORdz_
zCilH$6vl#I(!Jrf&D0~d)OL5i9JzDeOm+3)Ms?1gM7{F;{0=<7xEi^Vc&PNhAFlcB
zDj`5wz%f61atZ89wjp1G_*G=1X}P%tLRL6b7<tjxsj7zWoEx+|%w1eumbs#yuR=UK
zg#M2J0|@;04gB+>GJ9~#d%X7Z_r2n{e5hKj?%mGEMOJ9r!7A`I;MEZ^--Q*_R#j*t
zDW!wJ`D;#gJ#l5ew6xR!<|~!T7aEPmw}2OrpPM}t7-_kP3t$KEMBvRSr4O&JuKsaE
ze1E%j?Tw9%#lphESW%VzF7S*FRoPzhV*EEm#P_GBrk3XB=B&!3ZmQ6Lw{rM1w1dFA
zin)P0bgV{z|ChrTlGo|7F2^HLG(C)vmoB`CJR+;CV|9W2tms1El<hKuaLov@?^FJ)
zY=OKz&r2g>x>l?CtV}Y{wnd=*hc<!sjb011reeF3N#Oaw=g8}*%9=*@lIIbg9}yG1
zx=VI3Hf+48v_DGu&fu%$kz$uq%)*?RnX!XW>heJQ69cV31FfZ683axv&m8<=Nww1a
zY}^W544fGeL$kB9(L=vyvnqQHc>(=F%I9Bx4R}dWmAPAiWT0)kKzr483^ahz(a~n*
z@)Y3R<n>i$YuD~2F9UdSL`-*k%X-W2_Dta8MOC)mV)I8t#IRMFWS|*nJ!;K#jBilB
zzt;-+mfTgq6Cz@)8wc<fRoR1p*OF%}mTiu at zX<7HiHIqyGO0HM?JaEr?cD}ie+C*H
zHdX%N<Xy6Fr at U!o5%?~-xuR<}t{fg7j^Z=?3*`BVovN}sfJ=b0DwWERpLT6G{l2hz
zFr_pZ5#4YrX|pHvACZ*OFnPH0+Mi|HwQd*f=!>;l?dH|h)!$1geYObmbAfRVwY3L%
z{o<Lxe*vD|Xf!U4h#P9P+WhkJa$}3CvcaXLrBi{I(|-4X=KHolUT^n5BjU5QT5aD}
z{mhbqwmE9R(}DM;l(u@&Xpq-P4Rk at M1$iOzNXft3c2-ta8o)i3O6B8?M&m~E2(5oh
zzJ)i~@_Sdv>$jc(JR+s^SIf)Gmqx^`larH6d-m)(A)#L^9v^Qs8c!qdrv6y+n!2^`
z&nkH at vv&cPR4SDpHyVwD%gf82`J`S|+;V&y_n+n1p#60Dt$5XopQl at 1Yunjx1|GcK
zH*hT4-FE;_2Ck-jbIa!QsIQTC$(}tC)8~s$%`<?D$lCyw-6EX_z6d-&A|`uv`GKVS
z2ih+3^n-Q}%6%Q#>u%sN{j%V;Xd0Oz?~?r$%9}=-yJTMloEH(}qobo69{NK=LzUuL
z+4F$UQ$B!snY`rSBH;8Q03~g+K>MhHc3iLBz`6Z2ZGC2DCL&@OIGfxwavSB{gNx)z
z9IpdT+sGg(8aN(Wgw*ZpRArw5o*fYr{koHY)DMC7LE0}c^<|)SG&nfetd1 at KK1TV}
zjXHS>$#uYUB4YA*+Tx4<?j-Oc;0AK%>3UV!L#)cA?Hy=4iYx2|gXy>e?Xms5AJ&?=
zh&R)IXXj?X+(BNr{K$wHnVOn9;%aGjcDA)LyoAm(DCdg+y}+tWeSfa+lRz6uDg7JZ
z56JD<P0bU+ at ph;6^5p$?KYxwf&DZ+*m;-)cU|`^z{k)Y(F}Z#;rF1s%JHT_ud#ttF
zo at SA}4a-|1;(e7$Wlz0cU+whw*J`!O>gwvQl+p#jtAR%Vqiw#c%j9VvR|1z-DwUr!
z8jTgCKGrX7`^|^<YyW?D0KZ+_COV$Kd$G;mzfqbq_cm+Y&}u|9yFW=O4UqRkdk3(~
zugKvJ95|4G0|NsCU$58euSzL>oV+{1BRG8hUKBy}Xy6Z0O3$v>>u-#RuMZCo?_XS8
zOlzyM-Me=Wt*oq^4*Yxao at LW*g0eZ1>x<-dWj78F58u1??~@F){;Nh8fg7sT>h9yL
z05|nyGB7Z(X;s?5zySOA at 4xTwE;fPOSMuLW5#G^)yi4}X%*>v-xw&goN;d$%LHotc
zRbZ;9<jzegU9q^hczLB#xudyD_Q1eEb@%Sw6Dg%<6;;{U9jdb1$V*VJs8lL<HyVwV
z#l=P65UFpHEI*I<Ee_pYY(9VZhoUuGErCYfa%2zpe}?wc?vr(YEiLsw4}65Y1x;Dg
z$UN``;Dr$}6%k{=IppVUchP>$TkEzqPmhT4v9U3)EF=TXKs$m!`?(H*<^tUkMbpTs
z<ndYGrMzjRIal#Aa)Ze?$qh^G{_GO at Iozv&Q;PRTl7VKR8EBhp$BrFQR9%k)t{^W+
zFPk*7NPZqxR?Y1J-UB=-B6f_Ak6V>V2AYAkL4kITfp%mD1_r9d?gYO|UPD$k*&~%y
zWzEU{53nkej_ at u?AN{WFnjF01)uw1RjZ`X?_ZFe{M&QTf#*Q)#^0Tt{1OF-_-a0-$
ze&>3v{*sCd$$l^1Qc6QTvNu$uwE3OcjYgve3>o&v at 9w+rPQbz8;o(~j9z6KQl+x$O
z&%&NUUguY7x!5{L-k9^vz%|usb$7j9uity`y&g!(Ks%xeZ4CJ3Mx)W~XN at 4Yf)Ag7
z|5lZ}@0a6~HptS_QUjQ;R4SiuG#WPnF92Rio|->IUI+OJ;Npn*&d!}X7xwMj=ejb<
zK<gL^Yya;V;1B7Y%`4*selCXndTe<0yD~8`ao7C({FN!CFOe7ZKM}Y*BCe at ct8=TX
ztMz^R_Ia=*1MR3Qv<ioh!jd*sQF$#43=G^<uh)M!r8F85`*!WxwX}EdUaK<cIM}f!
zZGqL*)p|;4etLTP&Xm%kVJ2Cj^>TICi@$>>-3>N3H|H^x478&@884F8QY~%Kf4kRP
iulEAW&T^F0t^O|&+iRV>Zxc5F0000<MNUMnLSTZ1oh(`a
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/flip-rotate-270.eps b/Documentation/rotation/flip-rotate-270.eps
new file mode 100644
index 000000000000..b7b9859a03f8
--- /dev/null
+++ b/Documentation/rotation/flip-rotate-270.eps
@@ -0,0 +1,118 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Wed Jul 12 10:42:20 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 349 301
+%%EndPageSetup
+q 0 0 349 301 rectclip
+1 0 0 -1 0 301 cm q
+q
+0 0 349 301 re W n
+% Fallback Image: x=0 y=0 w=349 h=301 res=300ppi size=5478075
+[ 349.2 0 0 -301.2 0 301.2 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 1455
+ /Height 1255
+ /Interpolate false
+ /BitsPerComponent 1
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 1455 0 0 -1255 0 1255 ]
+>>
+cairo_image
+ Gb"0H5n*f:$ii$^VAUG"PUs?pkfcBVGMl&.VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():
+ 2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40
+ >():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh
+ %?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<i
+ DmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y
+ [F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWe
+ kU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!
+ &jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i
+ 9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"
+ -C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPO
+ VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S
+ ^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$
+ 6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1f
+ r]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"S
+ hg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<
+ CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7X
+ e"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!
+ #V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(S
+ O'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c
+ 8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>()
+ :2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?4
+ 0>():2?c8ZZLTr.)5-4~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/flip-rotate-270.png b/Documentation/rotation/flip-rotate-270.png
new file mode 100644
index 0000000000000000000000000000000000000000..05015a92db72f129a51b21315545d4696873676b
GIT binary patch
literal 9108
zcmY*<c|6qn_x~Uip-I+AjaGYx?A$W8Ybi=7d(1Rk`(BoDU750#LSyaP$`-O`n~$V0
zxRy&<=PD$G#=ic}yYBb<`F;QBaUb{P^?IH2KCg4m^Lfsh`&Uf#xHyD4P$(3afj-U*
zg<=YTe--=LV5O~|@EQJdz*FDK2mU^Y{A0RwHZ>3yg?x1^eXn}peFGf4olyY+0Ww5)
zSD#xBp3X8J-h|X|>cS}0ag+h>;<doE`O&)-qs}4IOKSrAPmEmr<=GLw+`zYze3i;(
z=><=Q%5J^JcRE^TA3nY>&#fj$zpaz=qW*6LZ>Hb<YhMi%DZVwdxl$mV*e>@h!mP!x
z2cwN<GClG+)S!{^PBVY$^T)O}mAhI^;~ooZuEpi*L5(VR!}f1_O at Hj(-N9fV^~<2W
z4lW*`YdKFf7*Ct7&Gq}D44RIh>vUS)ky1(3sAMG(15v(4 at 8qEqm{8tzg~eWj>^^zM
z12#<lo8U>A%6I?#W;2Hp&}(t1eDh*hDj@%qJOfKLkL+orIwyX5 at d;K~F^=Qp8dME$
zVAkTzP$i5>v52AQR7PDtGumt4V#NG*RVGUbjkYC$GkdquZu2#6XK^_u at 4a{O>&X^!
zpk3dI{?MelevLx$2~wW+i&407)Lo)TL(KA~8u|5G&}{zJ@|b at 5Z|=DIYJWk$D9~z{
zg(|j2DUK!YxZX1ju>5AW<%W7GStJ%C=58himwA8Ol51C|mo*2%q37Nw{YaBCe!t+y
zxY9-m^)i^%0zo}d`&z@%vST%krJ-j%iIY+;Djhao$@k|eS4r<UKLw$eR@)!-JHlNj
zC_w_HrE(nhA-Fj!m4qAZp!oE!^n1;l(WJ!0@)x<F at GW^C-o=abndU%STz#=Srt%TU
zyMiA(AayQ=xketd`a;A&`W6VRJY17oy6b3f4g!Th;0szX_d044q at H%KDL(I9YbcsT
z8PBWNDCb?wCqK0TdCeft<CLeX!ww(yRl8OHVbIBocNn|Co^dXwJC3Y$EiQ+ at bR-x3
zkW$SO&6#cU#jShphDw4kzSc1N7T at A%^JXDw5)^evs#CzoGpz22xer+i%Epif&Es;|
ztiJW`Z=;o%HD3BGb!Qk`E}>_pEfqjqmSXvKwx~(C=9xFYVvBdOt`T0-U~itHgI;<C
zhCy}M2w$WG at q*@~h&*eR1c~yI+ at 8vV>&eZVWmFZACl7l}Z~oT(n?y`9uEjJ_JRbuq
z4wQ|i at V_H_MCgyv4(u^!_ul at Ry>N-1(Y$$+<ReKiJq21$$TI|}`M>bDMvG6pZ+~<x
zd{QPhoVI<qv{7zIw3?usuy-kU$?KS>hr^CCy{O$v!3hqXmS>>p6`G$W(O!X_>cTQ0
zOPmrU?WyBXq2w8a!%gZ7ABHupXwnwP>;m(Yc~{nnvXR{Lk10GX&)0<PM9@)x)3W~o
zOP+s1v0ypMksT7=A^EQ7kma}DbyfCtqQlM~WaUbKL9QfFC!ZF4NIAPZPzNV+0~^oQ
z;ho%SiMM49eknJ^Q%z9q^iHlo1->W^b;Q+|z>#}!q?Q(pdOA+1SH*C at py)+7)EW-e
zYcL|4zid#4+PxG|Np(4$Q!HAtMcuLFwE^yIO4-OMriYX at maq{*{RPZw2}KVJJ~Y(J
zMt|MB`5%bC^4n}u0S0 at gv5&`AoR3MzOzXDXmC)-|u=<t|s)HXhUg#@4HH&dvc;KaA
z47Vq&P*);Xw8IT02t5jx-x8|i%QSpA76TpBWiey6Dhd7%CuQ=_Vi%bC`E{9!;>jA4
zdcEAGBd6Rt5~*B~D*{ZCl7t at a{q#%p_jwWex7;s3TfX?GlGBuuOVmd*T>ZXv{?g$b
zQ|6|0%ATdhlPXC_FiMJ|I5X2vliY{U(Imde9vf;8#cC+kB4Q-zkpiD&_)U&kJyap+
za|F>x5}V1QiBh)_%sh<tC=xLk1{<X$(6%p>=Ew~lSa-tFUczFjVdjcj_(K0dOl(;?
zY1~z{<w)_q-9v$+IV%>Z4w6=JhQ7{D`woK=Wc&BY-lq at 9DpX$M>8B59!7`Y!%N~0n
zg9e|<#V4?ojTN>m;^AuNlk*R0^`e&6g7eJ55}4D;jlz%{QsT_10i3fX%t;nqS<D?a
zz1$r%!c2O`#~-27cK3S$%{y5^nzErt?`^)#-!M<HN)#t at f|)6n93!TdVTzs?N6!u=
zOv(_4<QeDa5l^ZK{5mZi at IL$Cwiu@=V_5OeuGT2`nbe0MR}kzVEeH(6=k7^wDd6B9
zp$^)a8Mpt2Ppk%<`^9N0_Q^ttYSdUIVJ`K-_M0RH{f_Xv9J3xwUBzk6Mey`&r?HtR
zliYyhyf%KlKLSDuA$%3CP&Q84hd5NIxp!atB=#!DL7Atfx-?Y8^ZKOJtv1-;N!i%%
zc_VY_J6X9NpW)?HYbgAHR?lCPB{y`m27}4+&M9+*wLBeaNaRWYGed$PBne9X*+z?+
zY0_XUk(G<!7_y~+R?qg~ir_qpwXI6m2k at W2J-HVjH*X$5d%4WZeR?*|^(xm6jrIxW
zGoHSE|0<Rtmcre0in3vklS1tl$l0RNgHCv&hi#uzt!u$5Tik6`oZ(!LFG;4IR*0GK
zp^6y^&+B>Iom%_)T-e6FL%)E?w0Ol~2f>ngxomiqYsPp at 6m0=(%Zq03r(xS6M$Db3
z%&7t#*%745#7{9&Ya@!hm;b7}`27V3eIidg=EVl}=FEJx2NB>x39B{!OWq^LTG!JV
z?X=!bA>HPdzd5DXPQ0gWiBH6bUlwR}6`#0AlbY{zeE at FU|AdR`7r7D<?w42|Bhq1G
zCN7Viv9X)#`4 at b0;3`8GqyH0*x(^`Ih_m6doU>78jsH~TQN5G<U;JP2(fu9vc>N1L
z^mg)xa_^k3@{v=OZ+}K3v*fJqj3&sFbecL%kDy+ST&gE4H+tuoAe(gYV+I>nyHl$P
z^_b}+;1xsoQ=WznJNpsnNe7&9N&Epli at pxQzvAl4;MglTW`YkrYH21ozYhWdZxPq8
z0#96Z<3MnB>8`iE6`X_w<dQ30MfhLr=|2Zs2HI)E;cp{*WR|N4{>38sSTMO;HAhWx
z>8^x*5FCR*cB!NV^9O2`mdV))qDu-z at _AuXaWbWvDVbll96*FtAd<fVYc^#^YCxU~
z{f%FCMJ5=57vks6V8%?f1_Q9?2ISU$A;6yDv5b$k-Z=xHw_m3`eJgV1)=XGOV;QLU
z^$9IFVQiI_*Boeo6ERmYlLQN>p22$L1c&{t0!p?v4!7>|{9;CsX8(4ss7Xk<+B<0g
z@~xj4UXv+}!^xpu8536|l5Y<Bq$g7Bm<I%O>sT^HrspYTJM75{@?9+7q>IGZ)67*2
zT_JU;N at K<Ttk$^tN*%*pLU}HY980Ezaax-S&U0C#(WWY9K$Q%#9np)~&6{fBL5bxG
zT at ZDL<rxn2WzA3VK(G`U3h-$P^70H}du at jb9?zgj<yiQ**c2a9=8=KRWOArSeH?gL
zuYMbiJ)AY9RT4AtS4vO{5_Bq*Ail-g=G$7WPIp`3mVz$SF^Qr~LG(hQXx;_nOgl}C
zg|QVgh-+a|Wb^|$5VisqVRtr$n|a`R+|@)#RQ;Xoq1P=lkD?cfMf3QPLmjlOaIG1v
z?NM}hA>}!;r2GM8ZDFY;XlbEh$OljVD4AlguqhwU-|8bip^+%gl at 1q4IZcf&Yc|~Q
zw!+QXobUPztl!#phu#6`b9UUbt{hBp>sItU<sApYwBp(y-9vP~F3*sm&o!SVt)R;Y
zllt1=G{Slo%y#fVhb*m>+C9P0ttNPPW)r52voX^;ElVIS4H4%&l}?S~$VR=4A!|tJ
z37<vuyvZ_RW~s$&X|B at o3nKqIUXwi-75G|C^Au+6hDt9Lx$VaP`nx>h?+S;K>Q1hh
zyhr@~Fyiklhz at sw#He2t%oIhxyB4Q#3$`#(g49ZD<c3(+ui=1e^~S(m%Z7!dVUF37
zeE=Bp;;_m1J&h2)#&VSNQzUxnb^D_{c-<UnrztmTZe))XUAFF(2DobPKoWDnk%9O;
z at nI}-D1mahM@^#-^4nyh_`F<)O#+8J1Hb9f9W0OWe<?zY0#W_r|8 at 84kYMxUX~Bor
zkC*1l*&asgna3$O!%c45_%Z#B-2$I4AvO7l8bj?@68hzTLIoQF6~DqG48_rce;<pj
zESIwtLF-+QtFS>-xQO2sMW|N#*bL?R3bC+R->f5 at eY^BuxEKa(=sn^*B~B%Vw04M3
zET#li0Zq>lefWPJ9yqXpn)^?OpJ`YcQigBwzk=61m^Mb({)rbr$P)5SU`v=T9MRoE
zC0oRmC)%WNKQl??MW@#Xl`0&cMlCRNr&WYr!lk89avL at zqyjoyMB3NVp0r-VYYL({
zNlg+lvT<Zrc}C+<E!9oPAmtIQo at 3qGp+c6+y&G($;6p(1 at C{s!A=g&Efil1Vn?%uK
zn_3epi6gVPOfdlz`0+4RD~V>EI!06_4V}T3JRr-WnzV?%hf4X^-=qXd1sEIPcNG^0
zji(>paMx^@rOjy(Lw+KKog{f!K0)C)B}i*WYoy`=Cc{E98icSYc-@&=;LHY8sPsm(
z2z<^Q&p&_=G?#twVnnJu!~IUCt#qvvX7#8)8`$CAEse#==FJmSyMtS8(g6m-ztfEF
zB=3b3$!VU$jGd=VSHm&=|1U(QOEZSS?El>035J^DlKo_9MnC-jiIfi+8^;%M2&;<|
zYh~O3=}wdl7P at w%Dat~(<yb_h35fe@`EPtEemMhxk^eiuL7>*ZaNzf_TVOeE#%Nda
zKk?_rKi+(^)<E0tHjcWYfj%GgJyeQ%RGx8Ek#V~Q<A^TJl6%b?=!{Ql4||u%{{Eu+
zL$;|@%0>#*a>qJC>TxYHREzLIfmQ*+R3`UC5FlpGgVR+6;CVko>fi)e*q}fP>+w9;
zXTyecS*K-=q6t-=L8m3_$aTxGQ>DM<@r*5)7>%=Ns`arC`im+pog&hlrpnPvq4Zg5
z*W*@#UW=XcRB>O(cIf18HznvlzGBy|@}doa-<Ks)s&!g&saXcuHl(H)@-6xD3Z*85
zH<*?Gj6Ala%WD_G;4a{sIt$CR*5*J5Tz#-=ylbtY*&7JH9|Ui)jr_F!Op{Hz^cwjo
zFZ!KM%P_`qEsvq!dr+FC(ausUX}5ZAw(#-fG4vVcHD)E$Aj_Iw%Lx9eLGQBj)Z=9t
zuKFM0DLeY;-K=%3UW+TKi4EVk<x1nYlYC{}4!tyWy4;}G2>2cK6qH9$i(UOT*OjQ&
z(DZul;C2*ET?yOGKBiMb*Xq43Z;(<uNp0dE7(XcW^lOA~*~s|*?c>;z;rfRZJ63o0
zxclVWQk0XO at I_2%ziwp3iA9qIj3>QbTYf7)XUDT4bZ0?oVX>|~q5m{xBVhSkgX+hO
zW%r_n(Qn at zYsc9{_|PRE>JOpy{!&}qE50xJ(!gx+M*`UOrx(rdcnWlcur^ps59+pr
z#gZSBWSQ!i1e8*Y64*{+#h6THv9`z1Q696?Y8Kysb>7*F_dmOsOl7;XcHBCHl1Y?L
zJ;`N;-~G2Tds{VjYtFis#cAr)vP`r}=2+c3J;GE1Vz(<&S;517z%@5_t~3>1s<Oq0
z#*gLRKSgwMo_d4!QuXw6fIL!j0lSc{{^heIgv=RA5Lbirm$p?V8QGl}aG_D4o_#;4
z=hx3V;PtA<v10qW=CMFB>)dLA=9>l7=XP%@@(xDsDM9Y@`vtdsp`lRMWc5&_#WE~Z
zTH|PJ15CL-^PE`5yT<~EpENPT$Iljx8*Lnk1rcuiXuY1TYr9U}sOJRy%-2WAsS(vX
zO0!SrvS{@U<2-;q{bpz{dCy=6U!~#ND_L+#`UrZfuZh~7Rx|Blhn(okWMLN=&`PC*
zl{bi0K|nfVCM at YW&0hqlV#br_Aw*mrk)N_!>uwlrMN+I at Z!cU&){;3%76JoJY(<o>
z5ePCIMlUh93$PFCFBomL=4(Q!YA|0W{Gp*Vl!zaz66b;3ZN_PoM${^kd(FPS7^j&5
zJGi3B4W#JJm~I;FUBL2r<QvEINZOpUnVq!WhO5<3-R7|Aw4A33MfPMHEg9Xtj~u#B
zPM;a2-$`x`Y$psEBFc18sIHu|b_DjWiey9?5_#Rv-pZi at tt^erOl|vg6V_rXshW{1
zij<&PBe4;<w;eMv`lP#JoKxypiw_*SW{R6L*xOmg$}=8aRF4Niej!H!O&xZk`!xD&
zf$Er at LNEOa62;j04}PyjQpa(Oe^x;HYA<D#Q=akiq9$-g1HUxZddP~Rcg_&lpktGB
zBAOgQ0^B`)XOI}?|5rB=Fl at 1yZB@FMFcteI at Dh@M&tgK^pWYPQ`Qv-xMmUnB^)Zf0
zn+wln-_tUAW^0k0oRLe7=A0dbYT`|>BXZ_A#+F-3Dkg(%if3yB*-=W~Z!aoWC}*2M
z3E)<X097KCcmkn&!)<RK3pM^pt}8eZ{SEwJ+ryt$Qm~W^-{G8{#WEx-FCkEI9KGa^
zJp6O&hGIFgfI^>79ZP*-Dwvs0(E=Lg>nBeN&}(5)jEKqCNaa3GwC`e%lPVhD_uGrK
zT#wprwhTKg`J|sYPJ}hhLQq3{!MMLjqz$l9nB+%IYu?nMY!nYUK*^CKbf5e<{1az(
zU3m0t-bQZduzYU`nVd?}PU-4lZZe%sdo?7B$<W(lwtGmqJU}bYwIS`j8&Gm>;9d{j
zQO*i*Dv0G~4=tWKBz;Boz at JMi2k7+X&3m-^D*va_^UUhhfyv#=6qUtcO at rPSWU`W}
zX5TKSz3HU#O|Nc*3*hE{UBD0KHnpXvQr0ZuD)_*n{v%POY;Yo$mqls0 at 0G48@@BH{
zUhX?_?{hBo93apZu7#82!<ijRB~ohhy>p<agk74XS&#aX9mr(f(h>8jf89N_-2Z7P
z0ypPUl>0&*9ejC8>%G(5fKd}UFpeJfI+;rp$_B1eeHfu({nnQ at B7!s9Xoap(ACG||
zRpOY?$KUVD#WROpQ|WpF4^hE|F2gop=W`qD<**BdBE%mQs>+8n$Uor0G;pm;9^qXp
zXmk^|wWXk24*2A>gkB2t!4fuaa?Y7r+C8RJ4{(=@gVRco$y(2X^LA|Qy(X2_plHo8
zz&Ku}H?0X}KBB}!)hY^Cxy@%kS+HAtdm)1;3&jbM6TNhY9 at G5gy#2*V<vyVBy?>BD
z9H>eAuEVz{g<U8RAr8USo4MtrLC6W(3!jY$p!PmoO9_)9XSVTjS4F_r)-Q;T)@*Y(
zE$z}NN(0>3tH9#R1kejPpw2~mgGuEdq}LT)c66r%?Ssc_T4TGP!9A^`X7sm_D^1-r
zXxIn|0>}RFfSk<2$(jB9Y^LABL0GVSKz_D%`fE{hAY>aWmEIr3`)_r6P4lJ}3vvoL
zVDE?fWR`Q|bE-3R$|?}RUgaAH<}57jGAT;^+}MMNGKbL%C=-d8P>wV^m9D=K(YiQV
zUO?>AvoYOWv`iql3b4(~Thr6YVW)$7uife%#JB=KW&&`&`3uoL6px4c0jgZ#AYQ`I
zAX6P*tE4<*>)+}`WLtpl7P+#(Brq6j21J9Hqtn75#jgo<chk<ePUQocRrspOq~288
z2;8*fXDRgl!B79i((Bv33M5ANT~APz#rWq2IFv%-(SnLhLT at OK{DDRJc64sq^3G?w
z^4Re at q_a|>xlhE#a!*2AweJ|(j+Hxe-8nzz%-(d;csCQb$dxCVkQQ}KaP<$rS9O#x
z%N)E=gq>$+jygC~7C^oWf9i3$Q}V}|ElWJ&(5Jx~y1(Mm4sN?UESD^69aiy%Cl?pT
ztmXx$`;*G$8TX+g{G3sjW9ofiQe%OO667~8$J>b7e$%pcenv|vY|qqwO;c-c(`{RX
zdiR`l!3R+BFlHi_dJd91HS_v|C0~d6DcZK!@aCUnOQTHhZraUiMtO;Jah<eyJ_F-O
zxC7}v-QNK}W^wLU*QyYZpG_B`D at Lx|Bq=7AS0H_hKFowCy}9|exaSSLrUlgBp!REb
zu2Mas26ivs|LH|QoIHjPykge_^4|V5OTnE(mewj=rAD)K;LrJwPuuqFLVyA*&B13>
zEuGEDdAYfN(KT{KFWebjw(o<&Ql(e)!gI!K{w~cSQa!ew44CN$R%AlDva-(tSL;q}
zDJ<mx&-?o1K6XC&Q*<8^`hJ}h>MZn|{1MS)@*9$~@$?twy&K~Bh6AQ!ZyJSalEyd(
z+U(RUwpUz98tj{w)sfbz37H&#WUu3%P<B|W^j^nI%r3v2_ at E5k!^*Li&g?B4 at hRGc
zBX at _952fFtq9IT^XoW6OGtfIUE7WO`ByB|YTwT_h)m#OG74xChdg at HJeniUdGwAF9
z-c)|HqI&QRG;tOcq~%^kb{#>pGaGVb at 0%h_l_!e(Azh>50n`@Xz#w6YtMZL6 at Q-{y
z%!DX)r1{Gk>PF%xU+6dHn`0a=G+fR~N_+eRE(+l$xAKF51`a!7B(B7AUmykfib$+9
zL#*8K$bwi=`&yRA@*89nmq_yd%}k=*Bg&qcO0RFl)INaVeCa8sy_coC8uW>FtJk0J
z_X2~-_d<K2JWVr~wrRny at ELJIuPbiD@d$J3ZsZDhUC6wg^i|c_Ca5TLbah%%!yj{G
zN0As3?}UV4r4`rma(N6F3sf7gc}1o7J$%06j5f89V^#^PN*D at on=okT%)mRAkd<p@
z4r$95hnN`K{EQJSbw*UVPt*J^Ja1ARe&QCdU9WEu)6|gxS!hGKMhPh*O+guq37g5;
zm|ed0z)58{xkVl=pkW0M$PM9qA*}>Feo0$J+?}2*4TAsnhasOsh&JB#sv7MDIEgtg
z+GC%|xtLHUsR9u~&c?lhysvBFAC04KhYwf_7PvwT(7oGbCAvFlTatRh#H6~slh~#n
zUpBun6>1^p?4Cf)EAOO7(^WA!e at 2tvAe}K?2pT0wT;Jg_6pNVrWsB at mD0|n`Xv&}f
zmpQJUN4ZRH^Tgsm?Ov at gEFj*-ILgvxH)8~xramb$Vjfw6(Hu7Sd){`~@%a(bx126R
z?!1Eg$;xg~!wN+RbKrbz?h{5^&QIcR?pfh?UqIIuz)kobHhd5q>*B&^+6$LX=LbMk
zSoqLUOdTBA#(<+6)|2{*8Y8}>PS7r*iu=R!(#E07s)NYUr{qATN$k89bJDdq>;U|o
z1&zMTT(}i8O~AWWNvYy*45FZZ<Z9Oo7w4F@`);%qGpCp?23G8}#MLuDwG-4}m3kqf
z7uaTJfIR|UuhyqoD7Sms(-ya{bi?(zbYo_F3H!=j7xi!9eH&O2D202C(pk5!XMQ|-
zrm at v(#^tFtVo2f-0tX%ATHSB<0}F{;4Dqbx8F_<<!O3BPmu#zUs((}sl#E=?SWn2w
zBCoGeNAi4L&@=)J)TA)}ECZ`TVFERoW0P#&y at Q`CXSOp^;_I^GL*y4zL^sMskj9p;
z6sxV7WfS*$I_<Yk)(RKM_dN;TYh30AY9}$aY(Gd|m*AkI$5Gh)#5m1jAs{bA2fu4L
zssHts0G)?4n!=5Vt$h<-q9E$XF~#H|T{O;A^de0M1{QeDzkK%-M~s8p%m2nqpy*ke
zpEf8P*E-dQss{E1el>F~VqTRk at _0`RD}w#da~gU{UUx%C;0gK&%!XLu_1zwjKQ4cJ
zc_ebFnYQgUsh<LgrFS)rXIs}{2XC)EDV2iJYB`w?0mGqOB6o*Pc@#T;_4`e<m*Qm8
z#&5Q2fk(B%LU8I9>l>X-GNOi+FxTl*wKs9tL5dXrr*W!(d=GJc-mZ4uKsb%8ETr5h
z_xfl}jeAO0VBQQW6 at sVg@XwNkhJfVE!*{9Nr4+~mpS#a3uz>1K`J%dNU10Dg3??oY
zxP$;TtKIAM)ak0w2%qn%T~_OwGb>AmRqHFo)ao;h at owrS#0>bZFkW=|7aPGM-&dbT
zX!T9dh;E}@X32C{Wv`JIpRuq()xR#?RiwAWn2!ah3koyA`b73r>7y~qsxeGlkO^37
zG2738s{Z at u*vw6{&vx@!rv^0&26!kK;5`Mr`4X1Cip7>I5~>ybKyExLiXW-BEC#u=
z|AS2Z_|flBgd at 5?_+A_v%%@wSxp&aoWaCYY0DdYS1~(`emaePv2D&-y%u-W8A$yoR
z-os1`hC4%q(<^AfFTGE4J%w4{^Z%)Gl;?&-Q79HZ<hKB>^K!!KFoMLQm)xO%SzzV2
zh|B&lgFKAB+Z(2}6N8}LF)qlsvB~kwvJypMJ=pndpd+m~Tz$fK%Idpt*2GV at -@|<N
zAg;w^`DLH2YG3F@{Fu2)!ad-St#7QTFi{)-Gr(I{96GAH);N)UQqnOO5U45l<IRWQ
z5)LU04>6pj1l^jKD|iEYEOFc1a at BI12PQ2T!f5!Qtp8R$gS70|Ak0^q)z;dwNd{X|
zkfxJ}OpO1B_=N-JykLSuju;FS7XW7l2=PlmCTQ7&V~YdLo1)YLm|7nK$tTcW$0t*5
z&SVh9V05H#<2v(}0D@!|E>WgFAO?qP8Af0tlX)5pa}SY22A at Y@VttObZ8fRyg4p&R
zBV3$wR*C7T1i_ROX8+KNF{K7Y_F!RWC(NdqVL%=-OHzqkiI!*Fgr6;l!i4?}X2OZS
z-u%U#KJl8^e;T%!qL<V+1=fLKyuu%=1k&L*c!m_gISZ|=p&^HU8Q5|Wy>uELDhz=E
zJ!vSNMS0P6y>%b`W{kFKDM4YN&<PmgXYerTAvL(Ql}a at 7^8i)I7pSzGf^PdvI%wdd
z`N&TMZeC}p6Bv-~q<O$-clFgsZrs!VRwW{p(8h+|!yH%97px{0n+XHrc>?@iz!O2H
z9qf;c at 6xoGa><N=nb=QfkL)>0N)J!{xcT-&Hq{WzXgu-mDm(nR!lgR>OFB_@$7AJE
zw9O6}r>>LL_NHYMtL0UdXw?=sp?ub=GHHf#>ARfDSgHqps#u#Ruj_kaUBCO|Xi at vv
zw=d_RXXaijU^(KuzY+>*zYZbFhW@|5(Gay;Hmb`*egN?glpwGOMM^(cSP~^bQS{O%
zq^<ciQF}L7mxgus18EtQ?hB&0Q7GEySMSs6%VrLJh04mMdheqz%CB#a{rRTOQdH`B
SD*U1bWuRk%dwI$J_x}fb6Z-l9
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/flip-rotate-90.eps b/Documentation/rotation/flip-rotate-90.eps
new file mode 100644
index 000000000000..eaad964dcacc
--- /dev/null
+++ b/Documentation/rotation/flip-rotate-90.eps
@@ -0,0 +1,118 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Wed Jul 12 10:40:23 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 349 301
+%%EndPageSetup
+q 0 0 349 301 rectclip
+1 0 0 -1 0 301 cm q
+q
+0 0 349 301 re W n
+% Fallback Image: x=0 y=0 w=349 h=301 res=300ppi size=5478075
+[ 349.2 0 0 -301.2 0 301.2 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 1455
+ /Height 1255
+ /Interpolate false
+ /BitsPerComponent 1
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 1455 0 0 -1255 0 1255 ]
+>>
+cairo_image
+ Gb"0H5n*f:$ii$^VAUG"PUs?pkfcBVGMl&.VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():
+ 2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40
+ >():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh
+ %?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<i
+ DmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y
+ [F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWe
+ kU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!
+ &jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i
+ 9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"
+ -C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPO
+ VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S
+ ^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$
+ 6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1f
+ r]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"S
+ hg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<
+ CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7X
+ e"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!
+ #V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(S
+ O'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c
+ 8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>()
+ :2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?4
+ 0>():2?c8ZZLTr.)5-4~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/flip-rotate-90.png b/Documentation/rotation/flip-rotate-90.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a12e42c491901db6b04940fb76b62f8b244f1dd
GIT binary patch
literal 10918
zcmZvCc|4Ts|M!?N)F6$utQlED7`rTGlqHnigrpi{OZEwsX&n`g$};w3NwU<8CF`7%
zQW<Nq)W{q{ni@(PWqYpMIp5#&{k@*&k9m2$?)!GFpU->wTvy5w=R+bW859f#6S23$
zxx!$4bnuJcA^@KB*tPqDKU>e*`9y>FBhZiUfO;MYJlq*$>mB13L5PVz5p^0CA0Mw1
zd?qyd<cYJVbt0mI^0 at nCV6a^<d)$6^QvTQRV|5;}4HMty*){6wfj4iE?n_RS%50y@
zHVpb_+^jISFL2AuzkVm%UGv=QQ0IrYv)v2aRn9s1J9}tW+>U94Pa<Wu&r3 at jMN3NJ
z%IZyD%J0|7%eek{II`yH2;sPQ==yB#BCqn at +pnt;XPXAr-iJQgSl;LvN6)EZ^MqFo
z7b3`xSVy(w(~OHzJkjgRiGISXA`5$?9XBMGMY-+sw}hlJ3Jo-4`CP*Z1jbiJAp17!
zdk_P~zEi>x%lLe>*uK$EK#Tv3fYxG?)xy4o+bu<QM{_9dH{njrFPN&Z4!8nbm5}Ak
zCz~wET at SzU4p*8WK^$~4MpwV6itg*+E95hh^v|HUXMunCi&+j&N5l{Qo*z3JAX4{k
zJiYXR6YilsSyeuWa58x%xhq-Y>9i<$n(-6rJ;bfp-k8ZR#Yc<oi%0aqBbrt!|Edzp
zZ~)H_QO9<((E*maI<y!u5|ZRe3&aeHpbX}6UNFae1Gef~G_E4`q8rLSHRDPZz=-U#
z#jrt*gJ#ij$vLLSYN=TCoD?!Q26uAi%l<&FmU;9H!<-QnKS3=qLRSicH?Kt)uI$;T
zv*zSXM&ebk-I)3k>pNHi!HuH*dog){T6Ujd7C7_ex<q}7-Ffx?kGFEhh-?M+QT8R)
zcLF;&(1t>>^U~=5c(`YGT4S>kFG=(<`eSVT{GL`#bfr8p_f`(I0I^SaAMEf;tpa|3
zL}4_qO(R4+<M+|xSJWKDzWpmy+G$+(QC#VEl)+9kHqTiuVo3-e)VqzZiX6+mpk*75
zadiQ&jIgqTtG7)iLtF{3$f*o$uBmuNiAMja-30O4UcyY_Jm^26V&Mj^^rr+-Un`YL
z>ms+1^{8bh83_TIEs73D^C&}kaHnfb=0U!A^sM2!R^zHhB<AI;?T88n4tgl8qIjNc
zq0)lLUWU=Cm`e5jQ+CWSj9&E5UDep2^9)%ADt;mpEFAhs at vHuEhx{%2%DmM*C2yBc
z{4JS6IR(ByLWtATvpz2izQ0cPVBmZ5Q|v-c3T)iv66Nw at mI8{57>g+kTgKDW4oj5W
z&YAgv7})5;IG at DJ%>1 at Pa+a<4mtW&>coiW7Hi|t_L|BX2Z-CA@$e)Wo5qD)-^*wi_
zfXn;MzpR)HuWs|{JorZ_h#9^<zWJsWY5z=$o%3t!Jd~FGGA|-3AnG&bwK_IBPPBTX
zMo!Ql?thkdd8>msdhXEtz2_qVKZ=Vyuwa$Wbym at WpH91^JiBhC(X4~cAglLJW*&O&
z_3(78sh)K~k?DIER`ky&Ek#;jOEdWHew96^7 at 6(a!aJ2apDrR{eV*YzDSO7;xpmeE
zxufWuB?_5%lf at kKp_W;)wI>%&w9Tqx%3K?)S9Xvx$i~EcM_*Ob#-4ZSol at W5R{UC<
zg*(n&yqHaIzDl~dc!RZAn>@`}v6bG9(a(8;d{@EPh~cHb*EX8Dr&D~sSYGf$EU!cH
zld&;v3b#wMUm$=Wjh5X%Gx+=U(v~^_?<wvfw;@$blvzmqD=U54V at 6Woj8@Cy8?q>+
z>O{L%yFNPOPmTWFp;7}Otvb9U>B!c%c~BrdaV_2oBN*)@Ni>P>$n!DdYlZKd<s!nH
z&}jRbu=#uTZ~z<foknY`%&{O`)#ESNpeeFFAx<+^31b+CGP(U(Mgy5^{e|Gm&&p5y
zkZ+p!YTQM_Z%DTXxi0_sy$5b^RCHCo4*Pt<m+To$h?A;=ktin0v^j}7a?|XW_Y(CY
zZ>m#8(e|^lleb28lgoMi9}iBx9g}=II|1v1<=xP+!=2jw1EuZ!S57dYQCuy<z-6Xy
zecpOwBc{lB=(zb%P|){8VY+47X!%9KYAcqU3Zd7tWyN~rJB4!h23$mk|AGkX{W9ka
z@(uNxoALVk6nQZ?-0%R)vQ2n2jbfL6r1*IxzOhuN1Q&<s0~pfQaPq8pUB=HK@(sHn
zKZn+cf{C34x8P1soWaY!=9TuL=eHPp7!zU}a+pCso|wE25|62nQ5^gr-N_uw8oGL`
z{{-9IFI0K(JfR`m#HP{UvlLNnZsSd&qF&2TJ}v4(h|l!K#*w1bk0TP_5^Y+K$LZ;&
zcnVUev?U8&kbZ+M<M8VA_1gY8aj)Ja>mZv_**^{PkH6tYt8Nz*-COPvJrhQ4QKKrN
z(WY*(LiD(w+h--#bz+sq34~~JW#_ at 1M^<98`#<byRYzxRo2&ox^Gxcn{$YaARg<J;
z=YSZ(oO+!Ul%MIGdh1Z0LXPlX%!3FXEFCRfN(fga^tP)*+2H)S-nzS8akq`}9k5Z?
zSc?`Q>qguP(zG#y8f{WU&|=)S1>FV5$y0xn-(iGyu3S%qLU7O?MIYUPP3Z6Y?ANht
zn_^*M;yQ95gyl=J#bEr3t#4Y(ntuvf+J(*Awr~HH+|yax(DzXs)|xlq7Mz(AdH8o~
zyFN2aZh(+<WjOq|bAEi&0c;S)RRu-=oa;oF3HlfD8Uf<rn$=Gio9cO~$`9w5CgzVm
zERrv at 5_lx&`E=zTz->y5<7;cqRK=ornGG{c;;eMtA0}JPIVVAUZDQYGc;&IQTn$d^
z|HeO$yJr2Rm-VqhqGEz*<0ZaYL|@YiceA}bcs2fvit}JmMq;}>NdQ{Kt8?_V8 at jZc
zDZHLD_hTjg)~!Q%->1?t^l0`!I;?8WIP(dPubusT04GplU6ssY`uvow75Dn<(OF)t
z+t4tF$xL2Jxm>{cawtHhP8DPo;%KqQGp#`7m-Qe80LzM8^>UZLpKQuFUZJ!5 at nyy~
z38HIYf at pP@h<@}>%)%u?FRpakLkZ&j2S1gbtr-w{XVA61<<nV>Vzs>uQhwPKJCp~C
z{&=YNY6224)C<<)40CJ`l>5yOTwy!jqCUORr=>7#=tZW9;@(_ti|df5c+vLbvul+?
zbC-e{1&qu}A at t5PP2{^HKaLhGDn}@txz~;X_#bGTOXzLp*sweJ-n&W<BBPUqjuhLc
zR~{=a2uu25fNi0SZqd&k_A0xclGr=kw34n7Qk8Lsk)hdpnmTs$;o{|@A-iyVjEJ)^
z<);=_R*0!a=v58Mk{iXb4z%50_zQ;<t2$Qf at uybFTaq95mk!&M9Ueb&uMgvD4&qPk
zfpz!UQf8R`g8Es-$5pgB{soj?bet}rO-yB`cE7;;O79dN<6sGRD7e7C7SwC0%r#vp
z1%d(hx+IKjbnSPz`_6~mDR+KE^jb`a?h|eO$Zgj3z=c$Sm${QJE4p}>ioNn!b0Kfo
zD$2y17K0+?<(RG*K|P#4+F<Q?PugGdgPmMNtS$GKF-ZPR^ma8u(Mh)6 at 2o?a`4;<I
zFJ`SRnxR(tyuWe}xq|d?RYlRourxhJTc at 9|TU56qth;i?UJ`?OR&KqgF%%H-g_$tp
z$mInHp3z%T^xLnQ`8|R!PG>p8_9FV8uC())rBLqPhF4!<GAYqA(tOz;vl`L7{P0Z<
z(|0S*d~+IP>M^3chKV&Zzj}m8rP%F3;$P*A at dG`h6c9)N;LGPd!!?J})s=vve}9@`
zg8ulBwfHY?V9*%~#nyX(CUIaz8>J76yQRTH2S7V7lO>2MCkXdbfX0}!if-6Rl38wr
z7Bs;&*yW{q{}`iy5O=F-H+Ca3Bze}xPx15Ys_?Q<KwM2bgdWDMwu-%Kl0ds6W%3bP
z{M;b+g6W+jvLS3gn6EvDIcCo`44eszkX|3N#cA4*rH)?~l2JUph^)IsG`&H28T`qD
z{@slKk-+fNmB&NR0l*i)tMlbXw>;{H2G>7SJxzM at EhAQLbn7a@%I{||ZuI?j%WJ>S
zeYNCiO<J_B7CmzgKrWn7Tfb+E`)o~?s&30<XkJtFRQ8Fm%tP%v%!<y66(*s*r at 7b7
zzPo5+ToDkydR5CIEaP|{wvqz?Wp0 at ynQR2rT_weq1Cg0=;!{1ZKleQ=ar|(=*0VO;
zUka0?su5OO?ZQK_EZ()qclMK(b%m!1vjDuUATbC5%AWD_ at etl6__!ePQyz}B9Z^&p
zUlFVYFUfo$WC)tgmLKlLOJ+b8wnoIsR`c at ZRgKCXy@lR at g`N!UU#h)KO+{STx(|N%
zwU%k53NtExqxpR-h2rip7H8 at VE6*KMp--&--O2Jazn|RA4CBH&wz19d&-eqho+rr@
z&}wsiOpA?eBmq)IvJ4KV3Bo>3WMPECOYJx#9TF|DTz at iIFy*G6AnMs-3L=@-ypHN&
zmTx}+bk%VPLxi9JHN~D5qIb(GD(lHKHGDfNLoh-$-E6v=fIo9?&$rKEp#!lg6!+8*
zHk|f76tAGKfScj9#F at jmk4%mJ=9f%Wz^S5x7iYeROfLNG2jnrjGWSWn+ at a4V-!8bf
z$QFeE(P4R*cdb4GnI%>`_ at o`<%n!w(-StvodIWjHnIqD3?$^T3Ph+ACzTbjx0!|2^
zuS67;UqkEBZc-LyBJM9`E}WPwq#1J8PgZQSV=%Fq`u*+j^^;Q at jY2X4-l4pwYRUJx
zAGnhEznNiLXRY+2jZA4D8LI5yfJ5Ih!Pvc?ScisPdGOhD$)~gC1t+R69>Qd<|5ckT
zTbzSU-T^ZvQx%a8=b>%hJ9Uw>0gZ2p%}N6#UeJ)x%LNqJ+n0YHrG>EE%uur<#j(TF
zxT<e6ti?6PVkgsQ{Y4lWJqJVLujh>UFyL%2#u&BCjd85gBIqI{-tFYo`^{!mCqr`f
zfbO^R^4pG|wZK4rg_8{2kT|1&e!(dn7Mg6;w2}eQ)X-J<S7GYdj=)1xCp&}Jowg;}
zwVJKy?+ at PmC-dl$?Z7xp7tUjx2QNATZpDmOSeqlLRN61P!r!rQV7Ge5c`E8oxY9TY
zqVg$%08_>2lJD(f>-j{(5U_cryHNCumRm%_4+l8EZm*DMle1ZE$10X at QtZ;;;rz at n
zIIs at eb@c#Zj#>i=4cSKAX9u#8zA at Y}xhkr!L&@k;m}V=$nOwJGkvmi;qyoVHgF#to
zARek958}EH`A!#dT>hB;@{d_o{8@<iH)|YmI0 at o2!#ksIP0WGef>84G(^Kxa(lZi7
zn^S~4VDVRi3rx+owxagUb2sG(21QqT#mv{{E1%8k*aZln4#KOCYAE`>rxM;<SPlSo
zlma9dN?H_Mfbpg9Bj4?kfvBICe>$jFj+C8a`X2I(=wB)D at UzA+#}pAIA9DbJ at j|tB
zI2>?u1=pxfN;Oxhg1262$s_#vf!%lpMRJBGip~f4n5z_L<p0O94+rEdS8btuuuDYI
z$vym1;@Vx0EEqIK759S|$peEK%z{^oV9f<dJ4mpcKYTtT`~^LmS9qIk0c-cQN2%u8
ztG at hjHGFE`X6Me1<gAl~Hz`xq7a%uT|Bq?J=<6c!*ZvC|78L4O;~mZ*k|_Cw at anfq
zxGFuX=%4a+VkF2m;!fE~5Ji9?y4vZvMke%bD+8t-Cs1LH*wjpDqE)wcgo-o&7(T`i
zgVB#c(a%Z_goGJKH;9pJq3D at 5A}qL68e#M7z&aOiFvny&|9%E!gld_QWYZY)d&Nul
zKbIKiDsOJzS at TX%20#@i;2`&xS7#M=JX-ZD3$_}{zCLs{=Fd~VBW{UlwBZGFseXs)
zGP97I-{GA~=sgvXZD5Hj-5s)`@NO42C@;B!EdSg~6 at yVeI_pKGQ9P%BSZbj>yKelC
z9TcWg{p?y at 74n+1WSRv`)OcZXx at P;et(_3nATmvW7Dz+vMPq{m#qX+4PchON>qA#}
z$5EEe?)L0Wz9^7i)cl7`F3LA6(P-<AqGGAyYh<7=TkeozjkJMvt`lAcDx#Dw=PfGd
z<YyPymE7nmJ at 8_>bKCUl#qQfLe0DQ4-yvnbDOv+h4N{!Z&Asqs;bG}rnebU-Sw)O%
zVEsFZK|m#2NPjHbmsF-N&n at l*Qj+qcyt(Z_3(_0zn~}IKStm#8_;d+ZI`x~vdluX5
z5}&GMM7}$7^=LS}hpB at xy2NtkC^FEX(DGuOvu>GUC;0_741X^+ax~T$J%4<rufwTa
zicEkCFCZ^oQB~BO;XZsx)M5klTx&$~28X-1OsDiU^GgvdTK#Bo=1f^&wx3NHKQ%M4
z{iccihW6%=8eW6la1u~J&WNvlC>ICLCz{*77lM+({h8Ygu-Hip+VdY)@$=Y{w+|pf
zL_LTpM!S6xBIgBLBsG~v|NOV4M2Yb{jp%_&N|>46e at aS}#NKu%C at f?APa{%CU7L3_
znekR-f%Yx`YmXQ at qo(pyF?Gxxs1|4Z#?EvI8^+h{ATTL4*OVp#!1|}4lp?;rK^iDs
zN{rVuJhjQ}0$LZqgK=cvm at N0gLx_k=t28Bv1fvuakyDnSM4<-qH)s=PoHDo4p^6fq
zpSh>gd%;3!Lsb#X^9P5E`Tn1hQpV?pxMBe63cF`|pJ0QwwIa0Qc?FvZ8t9Jcr at XJo
zhFkSnOl*C`59}8Pjn;7QgO*RJ;Zq+1f;Tt^^q>goK+N;GIcqF!fML-Y{9F2CmNCLb
zT=oDM>12XgKltc5u3InkpOVsu;TH_Xu%8C at auz0v5QT~BJF1aK!0P=hhf?*%2#tKu
zcWsUTYfx_%TKf<hU71oSZ1DfBC}D0N>_g^4;9xHoX{Z6H?jU<J_J&;gkTQ{<7BGP}
zcEip<!^EQ?e7nu5+!V6gSR$M7HjJoZtsQ~3V0U%lRs*aol4YAevP@%rujowKRkXPa
zcWwIkW&Xv8pIQqKfkVN4u2KV0`w!ilMGp(M@&N<1N%$F2pHi%q3B6JXEFcC9K2=c)
z)DtOp9p*r^=&0aR8wWOF0J$lCD8QQuP)!rlO_E5P1Z_74o<QsMqhmHqdO>a>ttIhq
z4*;@rca8e>dHK_uxz4w at Y2{ByINNOn0s!Fq;ttYG*v<v}O*}pao+Wpu=yvzze^uj}
zCXS7}NP(gf<*w%(T-!K0&XZ6nO1f#1<PD+SU`Y&FfCbm$t9fa$f%4wgdOT)72IG36
z3<WtJFf5(wdU?KKSSV|axEZP}2XPR3QaLWne5YP5(*?drLuU3SdbJfBkOi1v$|KW-
z8!208#!yIN5E{0{R4QNm_K|0|dbBS(Tp3&cO9;?O;n5q`%Du#WqsuQ_U`<T}w<XZ%
z;3^6747VcLD>;a=(({CX?mFJ13EVq+PQGl50W2QKI}}Oe<u<2uWuu!~VRF|&Xb-vs
z!>dnV(IG|Cg)YkeW#cCa_l0U5aHZYMFJaicU_vzWO9<9Hbm6#)4^+XMY+BL79y^r(
z#7g94JEjFqy1m7`U`id6d4iBFuI#v&yqMg^2qiSU9*<YmuDO0!vmeG<JBCe^X)0Vs
zoEbJzAi+ih37|ZEzA{7tJtu+9L#@gz?_nQehq6 at zww=wQu0@>hkcD(#p5-o`c~(~9
zg{^fGO~<Map(`n-oyRmU!q>42#*7L03S~atSgq<&*IoU7*4mCbDR2ALdxY^VtEOk2
zpq-2XJQFiX>X77qSS4SOk1YSXH0Qw4E)zCLJ~*+g!4{b;T`S*;<3!%078C(e&u}Kn
zY3e=xmYv92I|PfjI&e!jRiM||-M>#Gyx6c+bX8#)!)qN&$RBAE1}bCLAZ_uzOTJHH
zCAB~(fH2FK4OdG>%xQknE_*L=dzx#NJBFVu=?h+sAwEV&<mw1C3|cJ!k^lTUBW_aR
z<waduHKT}6h~hV{sQRe7;_muer~6Ay!lb<Q>MkVXB*91nvX=4-mJ1gt(P0}Rk2O9X
z=c|zEvvTnCN!M7~L%+qN3{QD5n9RkUodOvy%&_pOE!rS5{^knygdqp;tv7RQ5(P<;
zr03(J6_0AOf8dIruAs5UoP>QhB>R(W35 at Da#*)$Rh(&3%hDH2DIKc&NF59QFEySu=
zaqxP at 5A811_>J7rr6w{-<3o(m!uAl08+M}6JU4Fp$an|XLKN+94%Iqzbc>c?`zwox
z28D=-u*;G_$IU at FL3kwK$v4&>)v!eJxHJeb;&CBKR69s^;TRjww!|=ZT at zOnu+*n@
zMDrBI-l}1O3j|q@&Nz+ql%KMhu#hHlxr7F?iOh at x`#bZyaKKh{$X?@XQnsc3HL!K0
zj2*W at h+J8D^X2EK)(9Z72tVQ9#Q!?}{mp=$0PEnDcX5+LA?V8NMHxj`ti_T7zSk(w
zC|o%*?C_hXo%LAJys^%>jw3kS!-^n8^?-9y-stP1iz;!3ksbZ{;5Y)EVUX}-dh{dr
zI`hl9NfxbxKi4ZO9ezeID|amIg>W9ly-$>(gKsf#z4eV@%4lNJEXCG+e#8_ThAA6S
zm;&676 at KZn@N_X_-;MJpyE`cE-3QqnN1lww8R`j<@;^}w<@wXfG%Dca;nAgKRlT$4
zk&*R>-Dpe88j(7=6n9F?Md76U<}@>X8j`V>C_;b6_+}uvw2(;j;a-4|vYNgv5eb!J
z3BG}ZH;{1$6a}~_Ohur^s<{5Tc?#Gx22-_E{V=GC)#{UnO<pdFOmgY-QQcN*y$P*P
zA=z8HBXcW2g$dC|{KIf7Le at dVV)AoBT;wKBwE&6~DdOw6f06TTUw{(Wd5XL1G`weg
zC3%D_*_q at pY}i at Tm3ISD;muW1WC1pJh2oda2`)(4VdERwjsy9c5dtXNFzEnYq48s3
zk&7_Gl1P|>zy;S_@&q828rcg(Fqiec9>@9iVsq8G55kK1npPAr{ljm}+CGF?=orvk
z$7hv+xO1BWk#<1XclKDi8|bOSfEKxS0pRkFyM<QWk-FRqgG_%_=Z{6stS9dbWS2!2
zOzSlEpK}c)7*U%p5ec914(vVb at q;5arFS(Ii7 at VZ8?|~DJPd8+7q2VTB)$BS*&fN8
zcYCW|W{^p$jg9<#z#+hJ;gB_1wanut)b*EyRnzK20e*H at SW?(yT&|j{gj$(_K#uTX
zM?br*`7Wz4bys{WNmL~H;E^_*Tx#Zq1`VKv-&r33vr6 at wYwh$UAxYAN>LVk>64V;3
z0c-TZy&~)68v<Kna>pYMwvSfbB^hGzI{3>jBYXF^ry0|o_dZ}O?#F at U>goxTAMkJ8
z(zJ`VPnLAM=~#I5rSGN2t-`B&@uD3yw=berqrutN$q;F1b_G-mq_5z<7cR%IM>3KE
zXw<cVah|H?(bwUEbsxs}>?9K6WY22G%442+RPp+wa;v-gqWUV(@9Fb;*tIK~m_g+b
zSt9p>u=k-a3Cs?$mJFhWzuTtf*RL0W$V7^i+hnEP!in6s09&~74}_w37UBi*&jfJ~
z!n-Xx_`OlA>f!qoyI*fD`(>)T>KW0Db=LP(M$vuf=^S_pW1Uxfy#J$i at m`t%nP{Qo
z&H+bYED56381BlupR7d!C$f+_$5Fw!y8adzXLApct+rQpA*d>dGnj_&$1{O^Mel?I
zhtqPghw<OI8I^#duN#To`+1uCOE~cIOL-`Q at 20ow%^Kj-t5Sxi{$$?fYZOC_c&P$w
zi*vRi4<9TCNH>iA+AE-N0E*thqs1a&%5`$fsu1e8jx!%^ibrkaJ3wh$1`>Rca=luo
zkEOp`QpdQ8q3Cbk3#>|!vWJJKaO at LoP%q0V(FLSjW^JDO;=GqEg{JVnULhOSSP8zr
zT?h}~&b_dM1SY-yhmStn2s5PPcqEqsou6GJ$Sx!X-naXiH5pAllzjbdf&|*$k!-}D
zIz08h({sHxy4wrUAuuBWsoYf@*$BtIu!U4;GXIT82$nc&UN^)fKxeIxJ+4n3-Ss2|
zP|6`N=P?ZwsHvC(GYu9Y0!)5lI;&Pypk}iJYqHT{2wSAQZB~Y-#ISjV5GR_s6{j*i
z1KGb3_+#mJK;8*4!w%d4)mX^E!?_nwB!u_Djp3<2(0mUhmR*BTbaWJNjo}cWy>OBc
zY at nMCA}4>dE!W}#YG3liK*thEVZj925s8E3I006hD5>CQbyp~b%-KYg(liNT(93Zi
zy1Gl6e3DwG$MAaqE%Fv5J_y3NO*o+|C>qedUG)N8Dx>Jzh;)VHe4enD=<bmcD7r>8
z`pr7WdE3bi3MPd<Aq@)B)G^!5ni2xE60Rgrvsm4w0f6TMR(8{H8x~u0cEww5Z9NR8
z9}AfA3xr6O;Opy8S9rMMHe4ttQtRyAfrR{A5O&bPbnGDj*pb{{R~eX+C6h at 1gZeNS
zN)5UT&;W&s=3(+Ml6&D2(V~X`=f|udM8|$8uF_nKV^dn at Rq^Sya5a6$ljM~nP}JX-
zAdc7XB%zk~ZHkOqXc9r{pe{C^j^HE*5hoIo#Bw~K4D=|q=IF<7q>(az%AD1w8EnfD
z)iR)IK&P6O5=gw>zq!nJlbpy5i-Gj7I|W`1<6gM6Ig**Ih~4<~5h!}>GS&N0liUe0
zweKCyV0!<R${CtRiX}M+%uvI0;c>W at Ei`hpTe0K=5cop-1i$oYSAi{w5|AJwqj?2D
zfHWqzGY9!gmYR-0pZ at JuT=qC+Oa0fUvpvI8`>=0{QYkNWKjjfX%t$OF1`_sxsGlTo
zo-;f)Ph)*hbR26fRN#z-4om?{vxjzS&K5<d|0jnh_500-KqBmvIZrzb4Z?}8AWFy*
zZps{8BAtfxMM4@}`|)AUw{W&QVJ?iVwE49d5^ox|o9n#tzmhlstOq|x;yM(G&m`aH
zb%R1Z*n*D+62$4p^2_oII at Q%(DU4?fWrC5O?FkH~&6?~f#^o{uCLeXhRd=Z{!lB@$
zSAep3ywzd4ycZPGvgnZP%{ti+&<rh=XmN&r-{Pt-8_hmZuV9P&4T|xHYnGN{&- at Bu
zk1#e>hK4y3zxC;g68l`>r{C9^gX-+KfJ$nQ9aQJ@(dd623V?uZ at w-t$Q3anKQ~~I`
z^cE<(za?6<+Y0+$%s$qhyQ9eyik|&s&p_(%lni at Q79_bsdjP8T9o38ovM4d!!Wo1A
zpVWPgBYQ^u-_-T!eC*x084Y9V{Rzn}^Mao6P_iP{@jls{{2xK^`T%*@+){ZnYZjBc
zj)FczoXNw=|C77q37D}Y6jDB*5lYLvGCqATyh|T6a*iPe=3iPPL2L`!6ZvfE(9_vj
z@#-!hQj?(A++A+X(F4d<#lSKkEzs$c4i?w$D`@7AmU$)T?LMM%eOjq}T)5P~8Ek+0
z at Mrj`&W7!X5vz*WZQ-ba1XdWqrDf$?T!(k>%hTZ8VdnA$LPT?Z(`A>^3eeEqmLdaM
zHrWbMj*uo~)hhQUuux$RNBrN8A4=+}k|BD*Pr6Af>HDJS3Nze^yfIXOQQejuBi?|f
zg_2GYCYn}wl_8HFR6+F`3^;D%86HbloGm;Kq`(@Xyr{vp^t%MnqIcW{wpV;HI5Dc5
zmO|!?ZNi~Jz1$wgc)T$_-58es?ahkf$rN59P`w2q7Tb;~MxI=5AG&&%abl9A<cbG}
znxlt>eUBr2i_QV<b4HIQnd%jzZ;+T=k<xHxJpBGfMkuBXoE&b6w>m at MP<~F at GLY2i
zu}(wmu at v?lC8C_+&jV97I0xtXdmcbS9%^++6oJ%+AX88(ckC|Yd1JsSNy2{+!ZG<j
z2oXbtR|i5aDh)_S<HjVAp{?bRN^Eu_d+z71Yd at y`9SbO6iY%C{1~Mz-Avl>F`IqRg
zkTT;M@#&k#vNuBL3M247zLn^1Xd9>1`!$*4 at nW*L4<)hcad42hM8a$ZV5ibI62!NS
z|3E}G%#nPKP<~Mq*s3{MpXX0kj<Q7oHd_;3QSz##5nh{l1rXAZ%{`9js5sAw<Xgz0
zI&Buj!3KYxvM5<vhN%8un8@%ij|eav0C)#rRuJnbz;gJK(7IXlmcM6Rm2r^sO at sYk
zK#`$PZe3NB3Q#`{5*^>-u(Xn!V&F&}MbC}oDFc%z85w-itzqebUpi(G$gCy$Wsro9
z05dTQx&Y0L_XA*728}4i#|MDLTUBk`cbSxF<OLFO4xCo!M)96?Ix)ZE)1v{)b&K6q
z#pr`-bOO)}X`||s)LHQqzjVlzNL)>!2#@3pA??h70U8do at aOX_^l6t_7O9gYJzf5M
z at S_=fgfMLUDd@&aYBM?~x0#}a#P<LY!6qu?h^!*NeHNa4yW$IQ<osC9i9IceWKQt;
zdJW9D9vYc at x8Ddr7$><Ug*O1}MJn($<cw{c3H!B|R(bb}l`dK%?SsvonVPP~WJyN+
z)9ES@#->mh>&u}G_)3<x>=S*&mj<i?Un9aLckC8)z94)RpLV-ma#{PVHaZYs{ciSA
zNNu*YY~(y>fAdRW)Rwbkf^mIhHSik|c~64)J)O07m)gdsr7ZAh?<=k25ReJCQj1&v
zY!z9xf@;5%p;7ejj_{*9kh%1;yfs3 at ZQzkY*^gcf64}lHkEvhJ@=k3GZet6vec~sw
zo42FwZNS|W^CBP at M1#lS7lF2@``7)P+68Wjbpg{t;OK2Qe8B at DQx4I(DY%nGe at h&%
z=J)4MJH2UrRQ|O- at 4%I;xiFO)>MwQPY7z*mVruGM=+2K3xKLFL0>^{BGa&xVFMQw|
z3Ka7wl!2*s{De*Zt|ySvkU_AJTKcq`P+9MGnf0A}ka1w$PPDvAwD=G~m_h;nv)hKO
zdO3=Br&CgY&!>rm)-)4NWE at noI0bHU*|F9V-!&?9iH$U9>0=9G_F`UvD^(^9+l_rM
z<|kfIs-qAs(zL;V&|o~m|0OTP5hGB>iGe#@Qt=aj9*-lPPi4J;^X>sDu^ZfH%YeY;
zVqqeHmR>Ia;5W*x at 0^I{O at XUz>}EgCH~RojFbKOgFbJH?NY_4Ot3W<eD-|(=5b6nY
z02EtVE<ub^H9~Z#)#Sa(70}}2>d^)u1y)~beFq)Q1LsSteXzvnZet+QLm_YY8C>@Z
z>KyM-;W~ALIe~Je3#8<1!PNk at B<m~h8d!^t6tCcTNK1@^;b4bB$|4I9KWDRmD9t#a
z-e0N=Sp?3v|FH-Lv_;7AE)`qfaenuYOK?msWB5UHZv@|;WUZ+$2$n37cF|6C_6)ng
zv7oMx0qX8fS`@D~WsFY7r>9fLK7!b_tJml+mHhyy>iA5diyA&XK8LzKE}oG#Xe>F`
zbdVEi2r at edsB<aIP|abW&fRms#m16>gd`M6)+E!%OqK*T!x=&$_dDQCu=0XIoiZ;;
zU}2W=6&g>)r at WMy)D}f0;5m|?L9RvRfD?oWlnv3&po$mE at 0ju6jw#IE))`lGAmGyf
E0gCQ?YybcN
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/rotate-0.eps b/Documentation/rotation/rotate-0.eps
new file mode 100644
index 000000000000..d58f1b832925
--- /dev/null
+++ b/Documentation/rotation/rotate-0.eps
@@ -0,0 +1,169 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Mon Jun 19 14:17:25 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 1 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 349 301
+%%EndPageSetup
+q 0 1 349 300 rectclip
+1 0 0 -1 0 301 cm q
+Q q
+0 0 348.801 300 re W n
+q
+0 0 349 300 re W n
+[ 348.800011 0 0 -300 0 300 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 436
+ /Height 375
+ /Interpolate true
+ /BitsPerComponent 8
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 436 0 0 -375 0 375 ]
+>>
+cairo_image
+ Gb"/lH&r`j*QJDLL^VAaJUla#WXo=G%m[8tU-M+G1e-)Ai$Oa%,LNUTE/bdBRVOclV7+N7\
+ '.'>F-Ie:@MI0U'Gh?-M2Gi-#bjln2$1A1:3^^?okSkdB&C8sFnbcUIm6pIF8Y/@o@`!bl2
+ L,:Ct=o-1I^Q]Vc;NX*XXU^U#O?iB1q#98j;=]hMuqPabPYXh-i._Q<u at cp23mVBr,.F
+ n9-=\*2.*/O=ftXIUf[b<"^1M$<GHQ_Vc?bU0[5J_3)of@*^V(Q>Lg+JLj3DhuIa7hm46rN
+ 7:%RJ5in`fmdaUq^c5s1]IoIIm^R)6G[ZEQqg_dJ)&DY*ircbs)q;SQ`cgEkOB<'.lLCVYd
+ m!1fR2+hN+Us at P`Xu<Ep:M7$&<N1<Yr^PB<?QKpM6Q_Jgg7A1pUof\n%`gXk\FpU3aO5Y)J
+ \'/u]&8M%c44Ouo#BhiCsUEtU8`;+/T%0ueWN45Z^UU!H>H*ZHL-U*;"VSj#D4,ijjI'+R.
+ S,5;2tRqT/\1lE4;93bO:-<hf-loT)(fp9m*F]J,cE1W:#gqlD/RaG/K]heBZ4m)dbO![5<
+ 2(a(L_\RsX_ARSV)mLbFtIEq[<n[I6sigR><RB2-u__<9F9eIuHJEjk%Be]cg#qk)2oaH`Q
+ E;nJ2pfb#=\O(Iq9Wg*UE7ETe!hZJV8ZL<`,f8-t=%-a!$4&:H-Lo(AZO/01tLY at 7oI8mlO
+ q;ZO]?)u0D&RijL1%j3F:&V.EB?uQ8)qi?(Io,P+2RO^SfQP=P6>,tcWFP:$]7#gq[HLV/F
+ I6S:Qs>'+lMoO[ad9'I]]YA5<JIiW,Lf1 at fCW<CCRmMm<r%t[T6tXpfqoY0f\e,LGhIgMe>
+ ?9Sh4dub&3 at F!1j*o^05I[OaP6G;mFU,7n!3hn/%Jm(>SX`SQ"hBp1\%l9]A.Y2HLZUeQMb
+ 4#&3 at F11c;MEf=^Pm60rG'*8"1sOaI%(^UJGJ:Sb>-,YaQlXKD#3D``6jZIcR_GYS+VZ3bD
+ >BDiYA\Z at hV2qI'Qm^dT(M5CKAd.aRSeD!-.\burj)LCOL3O6c@'i%RI]/"T- at rU7=b0+sH
+ rdsE`maeZ^@R=nVQ;srO9J64LF'F8XjjlL&+`V70rQVp%a33Q9--6D$bZ*u++=&"dZb6fS%
+ 'JmQ6ka;"RqjeT+n:>gX"X/5J&nC0(%&JCcH+1n;`+'o^L-m*'BJ]`dgc/$`J_PAs"iJ)hO
+ 19F9j($bVddrl)OI'FaqpDq`QerJ3%C@,b;GfmOSDViPUha:AX_\7P'Y1cK;7G^o2XP/hP>
+ &D?%+%G4P7/kW[PWrK_Dl]W8?("MOfX5`]HI_;4!_Gm9VO)TuQ3C7JV)Gjo-*%8B1s`+`[(
+ tfMV&KZQ3X_0))TR26C3J*RR%7H)o=1Oh-X!S_T\j/tXH4X3GDX0t:%i^hF15s%lC3KQ6fJ
+ U3rY3WC[MYMKFQjIir?L]Q*aP;1=crToQt^%qXWC5cR01GDUU:?sJ/`.)2M*ZIX>Eke1d)L
+ ZJrjSE5B$Z`2b0VE*)7r&dh_eQJ.j#5;S0UFV&jKZ*<jP8n.=0#,;1>.eI&(PD#cm>bFT6K
+ 5J43M'nh^-Ioi;RE7a88mC<I(>S=84c at b<dnp*QX;;d0.p/,aZE!Jn9<uTY%1EB'#..7E3s
+ W\-),cQ_5CN'\uT16--"lA84,rGHX_;2N6<jhjl[G+G1?n6,<M`iA99^T5:$56\T_[kI^pj
+ k0E6+T`o*ddHq=/sEiUlH^I"0WS*q5%$uTt<9;h':GZ<Q1,=Scu2pSqG?omif0+'T/8\3=&
+ P3e;*/Ri1e)OJX^KK?$K_n0[6HW4kkNf)F$*"oFedlPa`r2ZQ><q+LLN`0lC,\IUg-TECN/
+ MX:^N6AC>jYQX\Cn#Y"Z&_fiW(fhmM;KT at 1u>b?3`/)ss%$@hb,j"0i/$$d6fO0H4VgZ(.A
+ er<\GUYM51TDC.qbe&k2?g<==5mM^0"'BU2d_KH"jR.G at td%gj at J?3!Mm+%Z)QH-1MqnI*O
+ Q$?bBbA'"+r at Au`1q/@KeQ#Fq0Cp^R+=31Y&QmoSaSDr7<sUJ(J*!V?V7;F9B$`+5_^Qcn2
+ Y)>B.6#"M,16K0#/.Z,G]Ru"9+01QY-UEWhanZRk=9J\<I*M1b8\:_\Y_,6>nOEef!>XadQ
+ DGFN4U1p#U/`@.uQ3;o[jaiC/`oZcu[e_,)-3ct/E^Jbm'9eg:H!QI!B/Gaii2B1=86d5.4
+ j1A5:9A?V$R$!1*./q"^W&F&16Ah%gU):IGW"`A at rPC0T`XK7C@\O'bCTdC`:DrH_/]FJUI
+ 4%9fnRH,P%A7K3PKX%1,eX2+ce*HSn&oU2dZL+++rli-!J@:+n64QML-mTaJC6mQG6T\;Jf
+ rSGtuj"o8r_^@d&)i<.8otc>Y(5a3c(#Oo4p%gB3B*MV#3mlBQ%HE^!tjj,gc53)C`.RcDZ
+ Wb1Me?7Pq+N?lTfo9T4:HOTJkuD at sLQaJ,mJM9>nu"biT#0t9"u7Q7>\n:edeQZNQVq1gR=
+ (4+OJK1j(<V[i2)M18*U\A016[9o#$ZG<^^*#1L[5(HF">lG>n7<tNZi#Q&Bk$SUX$AK_oM
+ o9<#rScm6hb(6q^N^['a#h)S,pY+0&BjYMdS%7jg_=C2E)^ZEY._n$,VH9LqW6Y1e18p-cJ
+ AbJ<A,+2nU-6bpfF2$nUjn,S#<5-;?e<7q-ok\mJ"uNVlB3Y\2pKa71Z;X\6N/!Eo-uu$aM
+ QO^LRSAOLSQ2l7;_FNkrtXM/,d>dFQqt2g*/.ia3C0oG/J%i^Ge/`Sd\&&e^Ohqd%m(HVa:
+ 7_79c.OSBeM^oQSAAp*Sp1Rd9Z5U*Wk#`3m9TBatb.X8tkW,OsH/seB-B&C=Xb1Q9E_,6mn
+ iY1,VM75,FrRNMWbQ/[n"GG%J!UB!2PJ;-KB(>Mh`8IS54!a5G[jW)_n3pbY@$q at YGHZ-A,
+ X,KQ91B>M$?nksD-k^K3AEKC*"@b>koF7Q;T]0r;hBoNn_Lnr*3Z_O<&b[,?f>:P4aAbA.W
+ e4/PQSs\hY"TC`k)kclaRT at pW)3.0?B^tHm/"pEK7pQKDST;j5@`]C?IXtO>u&"fi*J4M%>
+ Uq,lW%bg;kU&G[SNc2N7;e[2 at 1?VCVpA7>rD['ZT(0n:eg<O0[[9h?DS&4<8"JM'/+GprB(
+ 6O?FmX*tf+UK'XpPLW''YEGg$E"j0q,(M$;J&Ve7&/($i_$(<gt$]2&+Vg^ZrY6hV31_<5L
+ gj_V5k>%6t7#/^-L\2B at apYMQ"<A+>4,d^D^**:Qm!I(k at S"/>?L=7,#"M="+`ZBCfb&k3V
+ Fb&%P;4Dth2C29"r at IeKZ'APC2d$WO?G0HTaciso"IO$7LUn+-q!!rhW^WA0$'V"a?nl:]b
+ oPCf8.EN$:#7;GNFGCBqbHd\F5%9LquNtLPs:_M8));)&p/WH>K5ccOO$g&#G'"&VGuJ?V(
+ +6dU'Jc;Jfs.S[fki>-JBk,6er7H;bco_XJlN(gKC/U33"a-&0?FnR?IT=Y4*R-qXi'mmIT
+ 0%=B>h:<n82#3QDL+n;ZN.V":N3IjCdSC%Mn;hElU$A?@LZ+;')8gkSjpW)2s>/VWP'FBU@
+ #3RN at 6K1$1QcbS,*N-#*XZELMiiQ=>eo>e&Hqo#Zg_YSnnN\jc$@bT/Rr)K5:.=oeH#5?VQ
+ ,gSERBter!,bJhHN9^<%U9tI#XBh<m/)!B2XXFm;Rgj8k4mbO`eqC6O7(c3hb:kd\EC_gq3
+ Gsk%_AhS/TMu[mfK%)YD#qEpYM8"bct0M*G$:^Yli;H!GD=\1Od+W5N%JBE5iDJis2+E"4$
+ ZBBDd99I_Zgci/Aas`Xb&h#Ft;dcM.EQ1ou'U%.Z&2i4QD):IBY]AcItbVk_CF8D_(NGIBP
+ kpS*gur,Cd#c8kr<1r,Li39pR7d3,"9[[3#$fK9!'1+F&ol&;j_HeCL87b5tJiJ\+'$NOfX
+ 3$SON!l13.cH(OB!-"fd1G[l>!1[c]N!qZR!,!30,6Q3m^mPDPaFLSsE2J1B1>j\`S8$o?$
+ oeUpB,W`S"3pt`R0LsXJ?o5pVL^NYi%+kuC#FpY3"#_!)E8rDc2teL#0t;?ZN+sAJMT(>/-
+ )2Si/A(($NOfX3$SON!l13.cH(OB!-"fd1G[l>!1[c]N!qZR!,!30,6Q3m^mPDPaFLSsE2J
+ 1B1>j\`S8$o?$oeUpB,W`S"3pt`R0LsXJ?o7RS_a6c.cuNMm,5U"<3UR9%'F)+!M&6Rc89K
+ 0!M&8(WO(`<+Y]L8r-rrF%%?b\jh*Cr!BB*ESFH^,p]5%*J2;Yi)*d&<+)o4139(76nH7)3
+ !GD=\1Od+W5N%JBE5iDJis2+E"4$ZBBDd99I_Zgci/Aas`Xb&h#Ft;dcM.EQr.$SP^_oApN
+ $!#Y%liSSSFH^,p]5%*8>WZMN$dJGBZ?Kr<'#@K6bq>f`gR,lK/6`ibT&Tp1L$Stet^fb8T
+ 6#4hH<)?f7+ab"E7r_S65i)&i_ZPc7FK%$(RCcB,8:N"O>5B1CN,7!b^Z2R0 at OVJMVB*bQ9
+ bf^mR3%Ac\Dni630#ZN/8rE+TTM=TE(I3&:fb/:]M_S='Il(;Q=@cHLhq$fF\[BBI!t"`Pf
+ >1NVKu!]ZCZR5o4u!Lua>bT&UK!6uj/Ae(>6!+up(1C)2VJ27M%R0.(;^mP>Nb^hPXi(O2b
+ k.mB>HeQt$30Q>jm*TeXopiJ%rAL0;>^(?qVYb(;\oqeNGMl0S\?h0#LMb=KfCV+GVmltE'
+ $$P+OEj7lG=uP%p^bXqN][,,jrs9P9poY5IrH`SgtCuu%bd;p51QFs/o_EI,`Xt0hO?N5jN
+ u*O9B at 0RPIU$3qrH8`rQ\^+IN-QXc9(V"B+d0[#L4lN1C9S>"(rCbR0:gZJMR\l9EJkh^mP
+ @F- at msoi626^PJESHE+T- at 8`7f433rV1,]I?*S65i)&i_ZPc7FK%$(RCcB,8:N"O>5B1CN,
+ 7!b^Z2R0 at OVJMVB*bQ9bf^mR3%Ac\Dni630#ZN/8rE+TTM=TE(I3&:fb/:]M_S='Il(;Q=@
+ cHL:Og#Y.__ at 4iD60DBlS9,gs=S"5j.;-F539(76nH7)3iIJ7Oj!/(g`LGF'aq8jYNj at O0r
+ rY(G(N'~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/rotate-0.png b/Documentation/rotation/rotate-0.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7e95a299cf23c0e757dbfec1907d2b075523a98
GIT binary patch
literal 9086
zcmeHtXH=7EyKX|HNc9yJrHF>E6eUPenqv?n0tzZpr6mxNCQ9g%nGvE0D8xX56r~La
zA`pTQN*quW5<wV{PQ)PyQVl~d`(ft$&RKi^-uuTs>-^wl5!U;Z`?>DxzV7SE{fjo1
z5~8xAFc?e%a}I3>gTd+Ghae&ZKH;2eZ~?z|2Ay*Z0ssHJ{R96=JtGW!c;L3hwcGZA
zxZ4DeTUZ!@K+whq_=R|R1YxxUZ~0`*7|X(7hhP}=>C0hHr-vfx*eiF&=VzObjO}Gv
z?mj5=*f(siPI&Im>hnZ*J<+?~^o|MND}DnSxdks$Y%I?aoJjYz827KL9LG at a(#~J7
z61^|GLy$NZv**x*Ws<;i<e@#iWcH at l^!X!U9~;JpYkg)zdRAiIxf{MNsr88n9O5(m
zW@|n_WP9&JH#@SfFE0E at hS@GG^e0T at u<NR4k;?c-D$z0>&%Vu95oYGAWV%A5We#DQ
zmWA?HzVXupFgLI{7?TI2>9v=qi{EMr(wJh_4 at t{?q-(;1(ooylOUvRnnnP#g{@AG4
zxxA$Cx%^@~EOhEy)gnB`kJYk~?=EM7h6M_l!i<?Kb2QSjin|3a=0){ro`!)HQU4of
z`99laBwR&W8=2%8l!KQ;Hy>tM62A(qkK4y4Li5*S%{Y#DGs?bCny$CV5fF3=-Q35j
z5|^yh3Ki^u$yhcIyZ)it?M)Hz?~vq-{4C7>UU3dNTE&`XMG^~>ms{Kf2W6q7N}iOM
zv-$p`QVG1KNMEG~q<Z9NV5|f=GKF6yHg}qfg67xXmRJ`*A*yOUCxtno*H2;{7T;0w
zcdj3pd%;?A>Zuoat%BUFWS%I>G&>~QY?UOo3yOzd-|?|<>Q&r|ZqO}U!wJ;ZZbOmf
zu(s7qq7*#MvUxM%^2^Jaj-q<A&-_p67)kDePFXb9u<o#qYgs8GKEfqGu-pAt+;PL%
zR3Cvt_(;GCzXf4{ZZ0N;^&`pJSFn`+Md5p&Q%HuMkm-^Xk&`eN9=Gylzu6Lxz5d1C
zRA2L(1ig?%>WY;@gxpba6Rp!i&B`+lp}-irTx0j%rk+!<ae=aA()Bj>fXqe4<^1#~
zEw0GX&+1E>^q}^3cG;3^voeWPub#GVU?vqlC|uIYzQbQ%FMCFx+j42EP*a!k-3q{M
zHm*d)6rHWS{UO+KM9_EDqB(_hZRg;dL2E_D!iR%Yhjh3%?=9;M%PDR)Jx$<6te?`T
z1wUG%NWXHA?<OmdNp1ME_t$q<$f2v*Hyk5SK~cCYDpg8z;V)hOGqwx7PImchTj!bB
zyAMbqN}~tFqD}Dq9J?IOLPq&MZDeR7iBI&4RdS{TJlBhse?oQ8>G|%%^NB at hEcIl`
zSKQo*tqye!xlPpz!D)2lh5OM=^#vLw>38-8z$Dr1N>s?F!c-q#0oz65={fwGBJMy?
zKJx_UxuYnZxvK5n8ZGm>aTZy-8(KTt{FZf(72- at 8Mm&8&EyUsmux~6LQypOOmqPu_
z4p!W33-I?sKRq@>%flSEa!v9hR-2ABWvILQrn>vIT5n>G`CjH2p!ng at d%E&T*F at _S
zmZRMZDft;hGkA;-%S$SgMEV+=4EL9EHp5KJL_6S2`!ODNwzvr+`st+(?Kbx3P`3}i
zCXfgMTQ6o$*6xFJo;@TO`6lHX*x}M#Pi+>*wXt6yM}xRGxhCQb%C!n(R7R at Os1`LG
zAFpygla_ClBs-MjA6aF60-9$ROnl|j<NMCAPH9*x*2nejqppO71Wuph7Eton1k%vW
zG*WL(#$;Xqh;{hFlbD~-PbCL2_*LJv at LrhwQ|h=6?^UEj{RehNY%Z~z^(wyPmkMX*
z38c+Tv3}7}aI~F`B$5oe*@q|=n;qb|dV)&^Q)V-Z0z7p2_u0l$hN7<<uoI at _a=q`!
zQEKKMwL2{Hu0!2!w;q!6q4Ecv4 at MYPeHV<rY(C=skyP}US`BNl1A&&U(2O-eR9iHE
zuPwHgEd=LuWcX245EP6I5*rH|VffG+MC7xmM^XI8HV>S=sWmlyr3!HR(Ch$W*&FS$
z3u>P!IEgm~V9={A4)ulROGwww7|l17zTG%|zN=*?wWd6E^qnRuF!y0*xZ2q9CmuG1
z#?^~)HlnHT+<Oq5f=3T5f>rY;yo{!w)gA0D!>{fSt^4EhjZnXF`;SrUQEi<=L|Z*(
z)%b1uOnTVghnGYmiS3&kk3p{mG6yCv#Sx0N;^Ozms2*YkBTV(LoT8Hq(|=s(n-9_4
zI5M}$t7|UC@*I>#m0RJ6yXf%ryN|kv(n_NW)S8A$fqZ{GE46!3;>+C)-_t#pym at ZX
zGRM<My~JBnU4d}hK*w4vrMC~9rA(D|3aM9S*`7NVqB&$9PFl~JcTn-qaBTeZw+HBE
zjcpRdOI7N?;<3C*M{!gvyDp=1tmbFk;OKOFjm$?)s=ijzP3B#{sV=5?p{F3|du)Pw
z`!xwZY)oPuOAU_%6I5vS*v*tiGq4i at EE?&xI<jB#1|<TUgTG<X9Lo9l#ft1x9M`97
z60ya0$*8=Q8I7i{{Kbw^2 at +CSh&Q^|xwFO?sk$g5&w1%s8y~uFtN+j|>FKn*tjT-i
z#|q8^=srliLhkFpCr#`!XZ`e|+^fw~tm?Ruk;iY^eWMLf$(b$RldhoUMN8mGRIdq#
z*lH|K<!jjuKtTstma*4qUK54HG3p8jY&;Q%6YzINHwRvn6=5tUvIh&}Z}C)++QM!>
z$WnI?p+<%*O$Lr2LwCfaeJN}UoZmku%v#e8>BS$AeQxyihm!d~Q;(E=gUl9_VX2^(
zS@)+Q4R6{T)*)x at yz4><E at DA}to at F$C6#7pvuZeS%sIWlb?XpUTB|J-ZYtsea&;>2
zSkXPAKJE1NLcAosXtlwzISVS!0>PQ3<S$(+uxvC&%}y26MqqgaU49}t(r?7yan+7n
zK)SXUvj2-<b!T2@#8+s#qhM at zTh1jl`}yc(k_uFw(z!4XQr4MfO2P7KZ60JC<^=d3
z81pk`Cy`OQI?1GslNuKy9u$RnWx%RjZ#`X}jYQXpyiU1=`CjNm85XEBM76Wovjn?A
z at mBU4ihqHt#~skJN)`^d8R};rj(6_z8y)FYMf(%=%LDbGazB*Gs%)!EnTI}n{9=LS
z^=?cs5 at m2P)X&eEGHu>h>Iy-^p?2xN67`Gw1^khXv({ZLXImG(F*=4|^1XV|5BY2>
ziAPi^98a`01n+;wHaUOL`IG^Y$4`GqKP0{KPM;_gomm&pIEVBcA-zuTT=*2a`)xhB
zAh}DIFE at 0#(1Z4-P}n}yuPNq@^ZAMM^^BT_nu#2AeYy29g0EM{g=Dv#gW`3y*ojoK
z0cXR1HC>asa<S4m@<hktqrVQbx at UUyY^3Mk=?mTvqYuwMvuL)8l>-#$ua-S1BA-S*
zs>}ak^PsEl#8-kO?4#FmcY+qP>buhO>CNBhhlKilx8G`*h02|~7UsiSe_=Kmi<T7V
zMZ0uig8NmeH5w=fgqpzh0LNPK*A;!G5+`xiPP-8Pdc$X&cW{Ew6YOZF{Wk!CKBA6e
zc{!^m-stj0Tl)&fk1x+ElE3`^LOos~yW@&~aRyOemf$;Z2<f&9%7$yhVhXSm)kFh*
zu+X6pS`c;R8rYJ?*qdb!H<*ho<cIVu3 at ElQ6{mmN?<>}!7hNI{AQ)4QoxpL=fY322
z5ht)TpB++#(bWuvSMorv*i07dcej|!S%ZUJEO^Az?c|V!Z&n97MwkTM#Jyy*E#JAO
z)uvIC4VYC*#0)3OjF?O3R1Xh@#0ZGfFIk7=+=-CVLT2rS{9 at bGT?3npMe3vtPol~c
z9ZYEQ)Ntt_z5G6(Uc~(AzS1FCNR4nMW70h*5l53!oB1=vYmX0z1f|QAdmAx!=nFqH
z_k{D`Wg+=iiQ|Bd?iwr`AL_ at vZTGYw3q+!&g-#+}hiyX3N4Z8?R*j-{wV)E6;$D5y
z#&%Y>^ePpK<CF|kIIr2E>t4R-*Q*C{xWHFwDIYqMKvF=C-fX?Uq!Z}4x+7o1-4PcP
zaoo+hO9y4}_tpSzXW&t~NNo~{v9q5R49>W~sN>x&snUtFOejpJV=-uIjO9VCIf+sn
z>G^ymS~o-qJH<YwVZSHNDD%f)zZ^&~dl1RQr4CuBJQ7`kFcqdt+**gf5->cD3cUX9
zJ6<0Y1U~VMM&Wz$%2RXqan(Jc;m)Y{=5ieN$eDrSiLd%xj+RyRh2&u!)Mp%z9+jyF
z*X3)sj(y*2KHw!^2<jbrKski7A0VkK>O*kGHg2DhCqCU3G=6~v%;%urmD_kK`|~5l
zd$t-XL<?KJSVPG-LzE<w8k0#T%p#jqHkeIMxc}$vSCc?eR*{qF9tR6AB%2zdwt|QE
zo=14|hFBlSL;X_Dl&teL)r`8--}TD3BN>vT^)1B<Bz`EUke!tLG<dv0S8jaObt|!y
zw@$6bRgCMDteqwINeRg3{^v at L;I_}%b|Bj!$D%n4Om&aNcQTzN#8$?p`QQe=RCemO
zvC9x;dFz>xIoJse5FC<k<m>Bubvw at 54@gd{&44AQ08UNYUpnzMhwb9i6<-Um*K>(i
z6kUOxc*&CGj*@zrsiS((Kg;8U11L%s>P1KGS}vlr-w~S|1!7|@!Qr`HExXPDbzSNy
zoW5ZawRh~o`zO$s$RY8$3}YJL;b&>`N}iv=R8{24zv99lb}j^8MoFS4U2!i9FPH?%
z8PUbYWUAVbqxUlR6b$e8%`KXFGYN*iy3J_%n+dUqjDlnjwLGi(_v~43o}31=ieYKt
zCOWtWdNEkq-4;0Idn5AIsvyY0Y`>L|B>^8SuZSZNj`uvltiqDlm`zjXsO^MsG(GcH
zt_C(Iv4CNf<iGSGYe$b=fn}MTEv9p{?O(K<<4<dvXC(r9pK1!|Rsc|_66`-_0B`Z(
zJzz(Lxd>vulBsg)%&IC-b#kV9UIIX$rqhtyfc|mN2|aZ-T-!%G*^XzYK&5W!4HxIl
zx3Ps$A%bJGTh&gKgJOg7(D+&O09=43u>H;qc;~4N^<ea%yp_R4n(4<j_Gzun&Och&
z2`it6`d?-D<+F}(`$=J!9IEj12Yhp>G^-?No)69AxdN?UN}HnO!t4QPGKMaz-O)iQ
z0*O=x at 85i>DC#ma)sr=BeaGnnm`ByL1L=uJmk8+FC5g!5P;-a5vF!B$n+K_?<|wTV
zSnI-qN3}Qu>?eVw#4NT>XaYb+3xl<p<G&fo^a2qn!3w6<=%NN}bkd5+)C}E_6G6zi
zF-pEL!U2Staes=o&D^RL8p?n3mAcxnVsFL5;nuLVTok`n`$np&BhC#je-`jHlTi07
z(6NV+NfX8TT2Dd2zJEis?*_nP?3lRZpq4(YO_v{)VVZaM2{joEF0F26)g&+Ca^PPS
z-1QRx2{qj+i4%T1JO4uR<^(05fGEQQ+V7|2Qz=vjf%vWl=YgajZC|yZU^@`H7=Yo0
zgT7Gt84#?i+`U>>**Tz<Nuh3aSon9++t at 7`L;a7*YoD5?{-)qiAYc<)0dtovb<jpc
z0`o2;2QW`Z3t}S{TG>(b)X}^L-aKp8C-N^saSHDgKth*7pBCHlPlB{8NQ(p$MS_V!
z%m+M*&A>!Y)2Y>oOzk2Zbp?&fvOG|9JG!kiI<{S(S><|C!)Cjr+>ZDV{GuQ^k#3tT
zbWLjNvtIPVaJWV{5*7GNKCw!6`O_n;bEqEy{kJCn1t4KUvjaK0i<<yo?^CT=FSh)a
zZLEYE;F)8ba at d1|Q$0y};=e24Y`LjW at M$!CWAMg9FwH{~fP at y1T~7V&*Q0*!Osvub
z%yiuEk=`|2K;FYlM+xKMiiO+mUg)}KslP7-f=C}&xZ^}`i-dxY1f9yC$ek9iX}7PH
zaR9xE)uEJk?k|S=->_sr?UIao-dAc;m@&CSsQ<Tj6`(4Z&<c_pg|j|aEWq6bgY0k&
z6W9?v8;~wnxwYNf*<gNx<qypl0NGE}e{LZ`C-rJ0DfTvMzJ9CcTF<R)=!W>?Y}hN0
zJ2l(>X51i=AbeYAHoV8Oc?3wiq00tLuq90=K!IOaS6H$+rQJ(cxhm9f94;pCaG46e
zPM06hdRq8sECbPK3p9}PFvbG~j+LWtc1_`LGXO*{*O_7}^z;l!!m%i~Gj>ZAy%o-W
zet$%$zEVYMKOl{V+7I14-f_0lTI#B0GoGbDPGx5IR4mwo(%=JvU at xj{ox=ux#lA0&
z<R-~DqkFjOeUQI!f?wA5;sB|mr}jd3#au+zUD`S$iIuwiDvs2>JdHm9+row6**6_)
zkB%{#-a_RBwYMA?;2gdvopfzCbQDOY#=#%q**kg!)(p&cq#SufUBdCc6H&3V)tb@&
zBHFci{U2h6w8z^u2V!-zgo%u<*MUMw?d-kOl{rS5I=<7J7vX+j?mh*}yg00*?f32s
zo(Pu4-X`?WgnxQ_C)3ZWt$2i`H_uGV?S6{tCERctH85|gr$4DEQX|M7U2?0MaV+N3
z*{+BW<@nWJk at b_)*SjQGaB6r~S8je^MR&mTSHOuoJ_<JMg8ZfR^<qI at 6N&pEGev02
z9K7*jtbGLWbQq*7 at 7fWv-n=e<lWi<*nE0dN7(0O|moenz>_caGg0gloN8x<mlltPZ
zcK-rUuFX(eIQe at Rnklu02-+D2woek|+g>QxT<xB<5eU~W0 at M55*C=Ko2+%TOag5AE
zhwwsJ-Y?V|fiSJPQc8Y{05D|wpmKV~WC4I0Z6zx6;B!!vPl9w&!|bN6XtdT>Rf*q~
z_l<1TOWO8MT)XxC#py<Rwm)W%kN%J#8)3%>77pVt|08oHIzqEIE^;SHh6c#~v(_AC
zM5zV;!h2wdj9-f|2s+;d^z?*zN?a at 379o5wZdvk_PN>G%{(8`azkhinL+A at SC3_Dv
zV4t<uS;9CMJ0T4^sVy2c`SzuZyuMwK4t!I7`5pxeTnmBW?;Y0>(`xAEHub|*Tk=+A
zuuU)Au>Rt6Wlr99M>;!YLRY*QBRA()8FTHIG<i8_zLK->%?h-g!T>&MvbdCY8Ysm!
zb~kG$xzZ!vNaVFHvIpI41Cl2k7Zcy37hQK?88$a%L at 5&<eoS3Tu0Mw9KOb`R&zrpA
z(jjZmZ1kLVl*SeyK=Fs0ipm?bbTVVBf&0^P{fV-K4AcTs%&m9SBAN*fn^-L^`TW?%
z`!2}GzQD5jUY|5MAomvu6ecyN#x`_+KHk6g5En*4RHK`Z))torqN)K)d=^j?S_HkN
zjJmZV;bFZx#wnI}r0Y5im^6WXr5m{E++rLqejgO6XRRpb3-%Sem(?Z?#smh!Gx?@!
z+5J6?M&LkM{;f+_FK$SdQjad|<8F{oM>HwVeP%Ir`H{e+#3ZO7DVJtS6;8Bt{zZOa
zEA_CkIN*wcFBH5#f8uMp5hdn8m at _UWVEqcFGYs9ln>$1fc+Y6+n$6X#-Eft;b0@#m
z+%KzXIgmXxy!v<V8rAA%r-d99B-@|0N%xwFIRENO at Rj0PbH4)1yZd`1lk(H-La~IT
z#v_=?o~zZ)rZBq6%?*WCewDphWjW0}fm9#MCmMV#UodsQf_o`<_e#niW!ruNikoLd
z34mSo#tkS>-`D at kH3=$LMqU*lbR5L(jFLBee=JoG^iToZz2uo`hDTGOfSi(NxZ1tM
zH<xESXr~E&u{CGa2QN%a)<kS?#`^&&TD?6l)3~M67WioPCnWuj5I~9YLqC;rITM-g
zFYpnbq{~+3)B+ltJI~eR3Ts)}!UGaXW1R46dymObUm!5EVeOe-6GE+t9|IqP9nrL*
za$)S{9vx2kf+7$^3{1bY#|>ciln0_+#9husrVk;Wc3()=XDj1@@9~d5jB3PAya4*`
ziS_uO&9r3&C$y&Eu;jYwbZKFR#;NL&4{U~9c1m6;x_O4Bh-d^0ZqvxcH|TB_^8%kE
zN)Mdgywo~Zt8ZY(X#Tt%)?$00p8ED17h?NVxl6H2KD^Y-J^Ih at 51O8BMgi5>-gOWs
z1^RwPY&xcs at qzspd1)}YT5|w0lv(}>J at pymp+tMF;KY~vT at hhs($XnGR&w49-;UW$
zyzHE*=u}_D)baCbD~dQ?@+pmyx6M18LKb^1)7Mr=W$-Nxl+HnLW_nDdr$OtZuQdl5
z4YJEp(aD388z2cZ6G>NCXZxFOZmX?bO&3z$0e!}1?`8QB8Sy2_f&nB_WyaYCw}o1e
z1JWAK{Tt)gRxMgFigMeTHBp50bZEVuQf(I(CmDhQ at IIq<&p$s6gv|ITvge{rU7*-M
z8NMHv@<%p1>bJhqdLiG)_pATnrETqJQFw~Z6M13)EUrjrb+VDk?0fcFi(9%f-Ww_x
zn;Rh#IvS4GJ^@<nWom6LC_0Aex5DR_K_)!utY4-AO9$ih8!1c!`{<jPGsVB)rswdf
znbWOajeqX{=N{k=a5q7U)39+=W$OlZ-P2q5=Z)R34Q%dq-y0N-mN)qr at osy2_Ui5A
zX;e$64sbI at Oc|ca7%yq41sDwe(U7fOTw=pfl%ngD>_4Ib>8TI|O?xcDu-^u^^PJ{J
z4Of{%_7nUDE at k1FMo2eC?+MLG$x@^HD_X2IqN@`{bvw&Zd}hMcSmh!D6s!s2<=$42
zCoUIFz?oL4mocw_N)!*|z9Lvf*+p#~w+eL~O$^PDgXo!kF7G|q)39}dTbl5A=YTwb
zu+kip6&YJtr5XM3$Hn2bcS93M3{4yg7MYVFw>@sU31aQz{O+#5ea?w^hnWAH>e|b1
zl`-}jND6GWK;C=(A#j~8R*e2GSpV at S0WIX>j*r5_dM%x6u~(=y0q`nJ%8}hr8?d7-
zIpw!a#$GoG^Y|;{-DCS9E2O8&oJxO_rUw5u<p3^4IhH5V^p)6cK2TcNMI1nmO7K_K
zm1cnev>>ON^3L}-tAB{-juL&W%t^v|_huv1*xMs6{5H$^%V>NMD1(=vDEI;Lv?hPg
zwFD#P=~KgHf_9HN{t3WnE3ALE*`@k*KjGhr{*`|-M_ze7vBvEpNJoq22C_8T26%l!
z;Pz-3_03Fjd&~wX_;}FaX^&8ypsTnnTskIY9}+by<ObY`DiiPMBiL&Fpr02T`<|VU
z`n_IZS&{WoEBkg^xJx6rdT1}ZjY$zo_&>yypuQoyrHfg+4&vnY6MoguH_7&v7a#M|
z(Y-!JS)!_YiY+D3e$#RF(AcL}RTtm+D#F)A=j7<g-7(}_X8tDFcvVcN;k4wsen|VL
z^*yhU>g^9PDSDg+-yBRz!4QtSTy9%JQN};^k7#XdG((l$0WZ+>XAy4Z;onxRSYN0s
z%PBE_Da!cagB&)B)^(<VN=-g9abvK0q*k>vgxJ31`m3^5$H*nz<(^3*J8G^-(WTS)
zSt;PES1r4fgaalk_F-sETX37m)|P|Rw at aZqMjzXgb@}BD36Ju$oMPbFMxjRMQ;OZe
zg8thdukvOEl&vWwL#VfE_T-TTUz}Sf0Xl)|h}aFmHK&<Lt=>4(PXuW1@~)tBBNmsx
z1#rjLw4dXIobDze8hQ!Pla-Tm>tLmSNX<U`uj`Y2I}5kvXFuL at ta_zW$+%~IICXpk
zZuX5y(wGzCY5{ZHN|*nk!7qIu^f>zSu>^7YhY$>I_%i`Y)kaEwV+vtX-&!T5<Q>`X
z`~M%B6HM5~uh$bvii at tzd%}W81lj2$4 at rat@K;~MtN`vYQ9pdsXGHKEVya_Z$y!tA
zKZAyALf>2$Sq=q<$Qy1D`>i>W=(FUCzISkj8QXur*W?5HJ8^u`HGTnT)w|%%*h%ES
z4DdgKzyIz*xAC0!7RX3g;}AhXnzzVae*(~1>zPxuuN^Kq%_QyQe{B$ZRQsojCB|;A
zxZb}Xb at 2r>6VY{#5sTY at j<KxPw11jRC4!Gqs31zJix^uNOkivKy8vhzq^E`u4fixn
zUIlaIScmfeBaghD`#||XuD(1&6B4575s{<TP_WjV$XpOQ3f%F}GPUt32Yfq!y-x~>
z{fni`#c{Q{Xzl}&VSRgl9tM|#kyb`Z3dF?k_7ukQj#I-8=RCO{+;(6ZnEH`b!Tr27
zMOwowZ5$Yx&Zg;92ZSO#6rMCwq>q0NhV>4wSQ$}4Yz|P8H(uvD<rR76U{c5I+)+U`
zAuCWU$?!m!+#D>()wT*F%`s0^J%=0Kxvu}pASeVqxDO)0vjrK#A6wZit0k9cm%;ME
zJ>~}M1+k52Ld+zJ5tUFOXR at m>sW&_BL|{zXKzo%v!<59+UY|)-zVgQWf8WCcGa`6_
z`UINKY)I%ZkC$5R4S?nenGT)F2%)H(Wu)a_J|4aFS#pvYi-D+p1PN(1<RZMGC*(j1
z{i0$!8wEJr&+QiZKW)C?(VK(9FDIEIoVFPje@)x-cVp2(Pz@&EI;?8vNNp)v+!ydU
VU4d!>-<^SBENsv(e{%o%KLFUJXs7 at H
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/rotate-180.eps b/Documentation/rotation/rotate-180.eps
new file mode 100644
index 000000000000..3ace1c22db9e
--- /dev/null
+++ b/Documentation/rotation/rotate-180.eps
@@ -0,0 +1,189 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Mon Jun 19 14:18:15 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 1 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 349 301
+%%EndPageSetup
+q 0 1 349 300 rectclip
+1 0 0 -1 0 301 cm q
+Q q
+0 0 348.801 300 re W n
+q
+0 0 349 300 re W n
+[ 348.800011 0 0 -300 0 300 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 436
+ /Height 375
+ /Interpolate true
+ /BitsPerComponent 8
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 436 0 0 -375 0 375 ]
+>>
+cairo_image
+ Gb"/lH(7g`TuSOeAL<h9)*eaq*SD=`/0LGA!j[_\&\!YJMH\B@@f++?>4`-8<j5T\kOUn2f
+ r)?Q;P+;*$b#i3e?W7^=%5H0 at 4(j[ZR0m&:/3RTaX!'k:X16[,ereTo(`i<-XTX2gj?g1SG
+ %,Tc9HUAPt>N[J=[KqdsKl?`#\B2Y<?lQgd5t^.EG()fnKn9A0p`$HQ at 5Vh:_1@,!NF,TuR
+ a)P7?>-bK;aiL\sj:3Fq4i3Q^rB\)o%"n;RVm3Qi=is1]h7qtbT7AWL*)Js4/BhTmp#cMBp
+ Kl[p_ZFQ=usl'[:eE-b]27Y^/YC'Q+6L3fC,Cp$FLYr[&pkfB1^#"Oj5hDU!GqagnYlRg#2
+ Z_n^1*`FoLhCjShFu\L`cBs/=$Cl)9B?\./"jT)X1M5R(!bWLg))H5$JMReoN#=UM^_mAr`
+ XJA7i/@at at g:4,E5hpK0`u&&39("aR"7%#S8eOAbeP)"c8^>1B&JULB,n])1N5g71Ci?%)*
+ "D,)$b-#%%L2QMuu%L#0nW9`W;Sa"(r<-irIAlJMRY'EM+[lX\MN[UIEYti at OMtS13XqXVs
+ !)d8#IkiUq/UGZ;tW?6%>(EmfXX546kgH8nP[6"e?>Yle=8WVo3GJ:eb('KA`J6"d<Hqqbt
+ $Dm+YjcSJ;^YD9I&UN3f at mgngQm0ukcq$ij:NGb78-V"VkZds/)ErQ[)fO#/%M+9]6H*2Xh
+ WA?0pqhS1glesDbW9=$MmjoM at n>bYgR-VdX5L-pVdN#YP[Uq,6i%,2mg(aj3`XJA7i/@at@
+ g:4,E5hpK0`u&&39("aR"7%#S8eOAbeP)"c8^>1B&JULB,n])1N5g71Ci?%)*"D,)$b-#%%
+ L2QMuu%L#0nW9`W;Sa"(r<-irIAlJMRY'E<'Xq^_m=$3.Nesi/@_M*5EFJE(5C7%cE9`32=
+ 8,#B7ZkS5J4'"#scpc7!YO!LtkHB,!>c!7$s_1CBXlTF5BsWbp\Te1`jT1d5P4di[;bab/[
+ Z3(kqhB,N]V1FFO<0S?^M6Cl(%S0\k/ium%#B'3aG:!#:Q9B=j2SN/9>k3d%\`3I/s7<.#?
+ a0'9M:0ujP52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.5
+ 2]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q=FE2
+ GHNFU'Lm++ at 61(@bL242$[`cC/r at qi#d.mh3=TJ7I9";8Tm1_m](/OhmH&>"PE49'=n2rs7
+ 2uS4qo6f\:,5al(BHR2,`?3M"6_-JFl!>W3X8ah)NC!M%,'9P4Q^YjWN`U&1>tN!5q0)'jE
+ l=[$N'-jGrJG+1;JJgZ!nL0ngP9CC%%n>SHGS:&-%D9gA?YVqB4iG]=LSJ=89?J'T^4DaFD
+ B*D(e3_n!ci%,/(M#ko=JMT0&-3cF;#L:i7R2Fj5*&pk!B4?CtE8XD!S;@9l_LXL#E$bcK$
+ O=u,^mQ%t/0$WJ"(u(nZZ+hr%@i7UcGG,g2/jlH3"#u:eA.Ihi%,j-;ZgZAJ?s4Q9F[MK!R
+ AQ51Gs+u"ultqcIBXt(uQqb3)]ol at Xte(i(OTMM#ko=JMT0&-3cF;#L:i7R2Fj5*&pk!B4?
+ CtE8XD!S;@9l_LXL#E$bcK$O=u,^mQ%t/0$WJ"(u(nZZ+hr%@i7UcGG,g2/jms<,lN!bhaO
+ uVIQnn1J?^YDtT#M`UN/r$70n.qIrrh-r+mE>4%'W at Smi^^*eNK>[AS2EjGdnNsGa_`C'pU
+ <5;YlUjt8UXBrcX^,m1E?d:h#/h[t5HTapQ<Hc2CJuA=$GcEjoL+%\\QG'K7/=or:[3Y[*'
+ S?h>g04`OV2!EDF&PYl_ANU[cK#)Qj9*]g"4#s0cK#)Qj9*]g"4#s0cK#)Qj9*]g"4#s0cK
+ #)Qj9*]g"4#spGKpm6McSf^'K6j%gUtgP(OUN9`1lPI@^!,D6`ka.F=?!SgYtDDoFMN<(?K
+ .=(lUVrf4HI%Gqk/mMg'Qmog+ at R]Y3FBCT!cf=2mV,dEi=7 at gZ]ok5(Uc(ogQ[k^C@;r+,g
+ aJ=R%f:C7QNP0 at GY#@OH=:LESb)nt<BU>i&%J?YQ<;P7)`9S'B66iQ#=/'@(JZ6qj/p3rZ1
+ p?oGeKT<2$hWsmGcYXVmkPJcWOJgD][/p6R;YRp^$[j6MZZtW%p==D`iGU72:s1CoqGDkhl
+ pMkM6#$75m0,MaY=7L0/Z7i3-JkG>#p!d#+^8_C4ZWb0MS"'/34$q+<fc?lW=Oq:V;^pd*k
+ l:b1.rG`"[c!S.'A1QbC"%5k"B'[;\(:#h/C?re"J[ElWFWR^!LfjOb*-T0W37.c^I0jPLB
+ 6J/`lu*[da<%(i"B4 at s`!7&Y3[$>d`2Bl1>eIQKQ<9TpC&qVJi;Z3%oDN)ZROK(S,p6%G;B
+ ILskp>s%kKc?bIOK/]kAjgHO1Vk8r_D+-&D(n6#[fP"nkpqdZQN'ub<'Z%)1=0_#<>(Um#%
+ VU*lfb,.Pnb!0 at 6-&q&*2I:3q<ttOLpq!G?&K]\BPNboe\`aj-A6gKHEno6tVY[KCP[*g8#
+ ]l&GR_K+:[A"OW1]2YD)!1\c2*Ipir*`gU1B!+$f\X-^5LfOG3.[ch at +oA(NM,n;XGT*"0O
+ NaOr\AGDX)Ro>(i"mqEPB2\1m<C^PBU+dA6L&O4#;:8&S>Q`W$RVh'-$f0qW8j0(Mu:^XDJ
+ U&o$)p'rh27CpN?tQK]';OEZ)OoSQ.^hT2Y?ZXuQ.!ndi,9epZD#d4HIZV;^&Y'm/kP)YIn
+ UfBI;@aUK'7Tk9nkM at DqTRq]"]17ZWQZ?tF!Bd;fOZ/XCtVhbi5?>IG3.KcAh*;epJqTVhn
+ I9/NUV"N6Wrji#t2`n)XC>FTlr8mdhFRESMGZ1-!1)/?4XtBA3cg#f%5;C[!#Iifkao8h at f
+ hqi0_V3:O)W2]Pj1Ds)#rkd#5$hAek8rd5cddo_iN0O!bkDXUMD`G"IlDsm[%>r+1bUOKs/
+ 2gA\#ju*5W[Ec7m0q/TdCD5IErYI_$j)oPX0;;Y^fJ`Z?iT9MP2@*V=BK:r_"'I6(:Z.^#7
+ C at m2s,ur/hh2U2\_%+!2YY'8=m(fB$TCTsj7UGmq+Ukot`n77SV at aLgNdF3*V*V<(Ym)4W+
+ >L;0kSLr9gu>`B,PmHm.C<u`rI'*TS"5q%_b`m!@o]b_l4&Z at LqeVCa7@mhR`2s_EPY]iJ\
+ *ZlOCgfFfnKSrA`%c#Xe[:O</#Y*gALr;0ESGtuu"t'aGi`pG7E.UoT5!pTu&]ORDNXTfgV
+ @636Lr;1!>STa5-gVsTOn_!J%(.^->@.7<c.FdEkP\8)"t'b=m>WP8Oa%Uq>'*^]>lI:>$r
+ .M]?`rdU83A59_$mL0RUaIR.=t)Q2BKp<lhhW*iUf'l1%trD'o>_5'18l8,_N_UT>C3XW0?
+ *]l:?<?f8. at 4EEcb<ia2jAJ&qrl3 at P;)iWY.V6Qk\md1"<I)Ek&l:RBQCM+8n[_3);$4OJN
+ .`sEs[c?S]&Y+ur*JIJsAKfX:083 at lg.?MAW)#K9br^ZB#rTtW!MSq#PeAI5'WOV8CgQB<X
+ ^R+:-TgraO`.KK2J+Y`;hLE<oeCj76c5,`mR5ts>NDAYW[Ir9KJILrJP/4\VcBd\B)'X'Pa
+ 8XAS5_;5p?#l at LomPh9R6I1h8DKSp`fW5`M7.V1#3T/WS6`="B>-pL1jpTgeOm3b%*j!N^7
+ BN[]4UB51l]Egf1.=m);KmQ#3Yh(flLu?Nh*"b,i3Q^irH[X;.p/(SZU8FZS[Z[h6se)"]h
+ A2qE=L'%O]pWcFD;j]OPFpr??6E_>+cBr*`g16Z,=SD^E]CX)hpf$NXbc-kbu(K6,lnLU4@
+ F`"hI-(Ns>.SM/bYDt]e%(iRp=ZS[QX6Sc.W/($CZ'5'8Gi/F`qSd(=egU]11#3WXU3*Rtg
+ ZZM#AQ%n<R1H=PIip:8KS:sAjF&Ob*&'<ai7_.mG]MU.kUg2^nN5SMiekf:XE78-SHIL7:?
+ *CTI>NKk%Nl6jZGV>=+n`I%))-lgpbdilr]1jVbhP'Xh+;4.43g$r,o(&$\C2cg0E-2c/3*
+ $T'\%<8sCa(!aG]l\JikZ&K?lC'G;Rk`kip;#T3?pHaB;AENY$)8ep.D]Pjkaq&]K9YFQ<K
+ Dq0S at P"Rdp9B)6W"GibXU%c;H#&=(cIS=B;/=/0iI.PgER57,mXGs/t_0i'([S%F25C3;^F
+ Sc?tb!U"kcT0S at P&NaZ1Lf!0lf]1Yn3,SGU*?Q]u28]"$2p"N2nr!@htS51!F1<3k`lu#ss
+ Of.s8NPpGeS/9Yhehb%aZ,l5^rs-t5P;j0cAoJVuUmZ^UT(.MpKuDY-&j):7&m&X`7HDQBo
+ >V!S=5"H%B5:Y*V*:"q&m&<C!u[VS_QP>!POCtQB at d`.pWDks^.;Lo_=^t*H1_U*m&/(Qk'
+ =^=oC%muR:MG)aG0'M3BX`Q`7[N3SD>j3Zd;8 at Ln5i2eV<Gd1r6ZGnc$r. at qKB*&naFnhcW
+ Jq5!m;PG[&Gd0r at 2?7lOtfcR$kc`%&TP%<8g/'q at i-M(>_n0CmFP$7>uiI/?p^f`TIDaC!8
+ #T+]EpLr at D-[/LK:?SI,-",C"\*L=p,oo;'G?_Y/'ghkk-23>X[X30?W:+E3K#?/TE80gAe
+ ?]hjE6hV*8)4\\[0)Lp&If2i'BI#3XV]0O-C:7C\-%hs/UR3]NfWNRXc'3ff,]4U3=XW=2H
+ :.C$)4\^)^:)^ok=gYnG]6%D8/[r;)e/FRHp_X/o0q[!ob31_2InIF*$Ks0JHp6IT^f=E2!
+ ?>#<uMQkA8n:fT'SP))mt>u[[ER::J-:H,4X7L/]2%.E&9=]%MioJCUsrt'mb\S4cXaL"u<
+ ^3ULeB_"+8kqe9.)T86h_%Fg3+%`eTaoe%EuM&#Z;2A4PYE$uT2acP+b42jk`hUs>?GCJ0H
+ '[d-"HMSteVO#pBplT0Zn%nNm5F_71:S3<%@cJ%#WWfe$P#;`lW)mX6a4MlC^EV:ernfoB:
+ @s?oWEK>N,qhFI?gGLRaA"AeRc:EAGi(0AKE#8:.A08H1k(`6:7E=$sYd.$tIcHms/[_.38
+ :5R^,B6]fa0[#%lV:.^`DL84:N:%.H&RbSHpTb^in?>%f=:=LFWth6.HR+_$gWY+`*5uOhN
+ 6Q9GJ9A3TreuaZc>u$)0qN'!KhUt#04:u]5'!<[ZK1qV.ns@!KjlAK@@+LHi:XrflaBc**=
+ `)c3bUg$YS9:M5rRG^\KR1NDb7U^6[#3XQ,/DInp_jh&;.ADoc8"N]=Y*eX9tgEOIl5S98<
+ e*jQr9K[o!I;&iUY2T"^*LpK*A[LVYdEB"8)UGL"s^W%/0<A3%#GM3=^`'k+m\+MUQ)mVPk
+ ?<ZT)b)D`pVYB\rdSMi=Aq4%9/;VBA)cq<q^=<&YRsjPD<?9k at f6o;1M>9GZMCK5\anQ-_%
+ +H.7gP5'\;)qd4C`iZDQ at e2Y7`OYE?ALBAaic2sq6<^2e<0M]!Kf@^L?t3<JS0#B+Q[Veg2
+ N\=2I'3,Y0PrPZYmj%)$sqZ+^p at t83E9UC"\U(kKK$'p1&tRIUr$?N+t,s`#6+Br*1ogk8n
+ B<%'F^/55#H=IEmfC++9*Pl/s"7*0KnY\2tnDh%ZB/XLdAb9PKjTd>Bst?c9;O:?VXGE'nf
+ t-qtYd>=N1eo4#mg8jd.S?'0-,3P at u?V3J?^Nl9VS1^.S&Y!a4U27QJ]ZX5V*Ia?<\]_iKL
+ ECJk.a8Yo6Q"Z)Qn'ZG2eO%Q>$iU7R3$=?nM'io`)m]52-hptXE7#6b9[Y61\58Xn&NCf^&
+ rF4P022p%pe*WUeY(3ZKJPeS<m?c:ddV6!_)IG;\s*8/EM><'=04k0.t`b787tSl?5enA9p
+ )s+^5"k(MhYdO\MjKOl+0u!XKe_8/hNW.Lr>Ru5_<o.%b_mYK8W2>EL'`kE)6rI%j,-rK<Z
+ _WoQ8(kM7[Q4O4TQ276rpoKT&ktCbi>+64QN"V;$^>&;b2Ki1f-n=t]14YRgF_+gk,d]4Z:
+ )M79#'SA at Y1ICP&?B32"/1\IL@"d:u9iZ?k/JIJ]K3J36AE+c`Qe('j9'$h&G`0J><GqulX
+ \;po=Q6JtfnI[&[=(cIm)m]'&SJb$L]Tbp[7p0 at p_sgt'/::X>WLg1ZMT#<H\0t0d-+g0mC
+ X7G#<CFP\E[W+:hqoNuY!1]l981]hG/FuO:6Bcl#5=C=.a<C+3%Nf\AtDV*4ROW)KlM8IEV
+ <(P4!TY7qX:_O8A)e8\u#mr"o#9pZZrGgKQ0IpX+#)n^K_eejUV=0aLn3BSe8?TLke%G#A4
+ *8l9AH=A#db)4E5G'!-$L@[%6k[i][d)PBI5!HN`gXLU6Ck(l<%Oi)gQUC`m`+*R9$8,4T=
+ cZL^GSQ0`ZO7AZE;D[4(G$=>'MAW!o>4$V5_l/&PWNlHQ3s#W]!duucg:H/a?5. at Zbc==`#
+ =J3qJq1VZp@`EU5JoRYSBft\qs6MUc-4l-B&A$n14?/N8cR7f_pS^H1ZfL-AHpXnI,b4is/
+ %T-(n+[^iqL>;(251~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/rotate-180.png b/Documentation/rotation/rotate-180.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfa69340497ed87e137804a963b8d9f40047ba2d
GIT binary patch
literal 22182
zcmeFYbyQr<wl9jihTzaR1b270;2PZBf;)7A2Dd<Pf<u5HjY}sG+}$Ao0t5~2yhXmf
z_xbjHcZ~D)8~6Tqno(n{u2nUwrv2uunoYF2syrqd2^tIx45p%jj3x{WYy;4IP>_J0
z5rs}87#LC(e{FqFO>-YgH+NSXdnap3Pd_(nN^4(x8yFbh#j5OGFXp!7PmkU2_zF1S
zf0`Lpiu(S%BrKa`IoNHl3Xpln at -dW*ni_ANckl83i0`qx>&Kn7)G*ylD%(RiNrj^b
z<J^5s&e{dq_T}|l_vvtO;L7Hmh?j^z=>A?#@v<<;@BSJ(ROl=cbA-gS;a3<ESQv3T
zk){SO%72oXv at sBfR52#8y5c%-8|uxzrv%x=RyMrcIK5uNxU)TT?3$-t!_IreBHkP6
z4{G-qG7R~>bnB)D-4k~W+)(_{be at LJ%Fah|HF0z at jPN$lwsbBejo4X*H!xrVxu#w0
zcC+d_qc`wE*KLgMAth;QZ=<P(l(g$|kn_GxIP!#qp28$=p*lb=?^8%@m+gY>$fu9t
zVdYcxW$ARewnlR;;V#A)TFSl*xYFVB_u9c|8louSesPtj+)fZIA7|42h7p&x(T&e<
z8IhV|heTex2!xohh_(HSNPpaHGiw^^yxB#6AZuFc2*`;MZK|5%*memQRvRiF<;sv+
zuL&7m3pR7TUNTsCHn+6YH99c=QaX3am93k`TU;)#56Ui{_c%}k!j^mWicyo(sVj14
zqLT_N9)Dp(<k#*o{_`3mG`iW#ifeWQw%sPEVZdae#fde7MWBq+Yy0h<FSK`uKE?CP
zZJ6u3sj6#*#%)bPa&}S^<l$o(+6}JG^3Ly{aHxN$NK-`^oN at LLX${x*kQkmY7G-D-
zD(27EjeXh7&>C&o%ryK>m#VKhP at HOD;57rESzD6nSPp6I6(yzN7h7r0ha9#Z706F%
zjdh$YE>Q-`5xp)-k|*|R*e%Ih?|aET#<k}(#3p4Qj<09nm!_k)6t;L_6G`r~=$CHn
z6L7w`G0QF<@}2kAcZ6JR_v_s+UXzh)YZPXI=o4Zr4|;u(+$}h`#Q|HrS}FlQRk1dv
z<LyGrWDT(_T~PO1^H+pTLBDfeH_30cJZ|!*bR&1Qgq&w5?LAC-nBHIH%$3;LktM9W
zdQoVSyT3$SraTqzh`Qt6E${d2G?N^KxEJy^Xf+yB>WtYKV at G*)IF8sk;uU-iOxDYH
z*LiwQRem+^-#>5_7FRLYH at +5Iy+j+S_V4nCeC#8i+(}yKj`7RZ3&XMW6qU>4_U!3i
z%@I6Z^pmd<XUBV0hj~YOgv-;@r1#<U8r!l9^FBDN#^Xu=@$|?eW8r9Ph)vfrE7=>>
zmlc$PD;+e_s&&%nv^^Jf<u_7mu+oz7eMrG^|Fg|9j7ha)f at f?;C3*{IByHv!8>>-E
zv%`jJkIV0xbX5Ksna?ts+rF_kBDQ at F`HnPo29jU$a1Nn6d7A~%IbIfC1NGHOkhKxC
z`#q4%eA_+Ay}hVGEgxH6zT-}LaMJL2nR(O5#@==mekQm<;&`>vZQ|iN{hq>K%4+Mt
zf6)?QSV8xCV5{2olv8Xik^$XC^81JPHuXZV%2o-}-Z6@(iDMAD;%5H#SqE|S*N~WK
zy!V}JZEFJT(h*h{Qn<~w2)nJ9dLQP72A6hBksmpFo8~@<=Y|`Sh8oNTNyGStIcVvS
z`L1^ls|ZoQpR5l4wn;8&J4EI&)*|#9sXvvJ#GCHD)|Zw192NJkvN-nZ>ndJBV4pdD
zw>M-bc)pj<zTcj}xKzq8t~zUO23LLM=3jxd*@H4ZvW0$we|-DyF6}kmrAJah!mC^S
zZcevT#vcvsH*a6n<XZ+y<#0RQ{p75EIh}*Z`l;bcf+ZI$1+sFA7B_NRwf(v=>Q2b?
zD+s>LHlnO+B(i0;dFAJzb%P|qi1A1C+st5y9Ybckc3v#HsdkeS#gtE;^D;yNR`4>_
z*|`1lFx;Fx8iz5osbDE=wcWqAs$~ARCIrz!+3%ZR;D&UV06#-Lhg6`Mqnxx*5_RFr
z at VE3?F&zxXq1iA{x0$|}LuC{8<^$VKZaezAE2rk~aG!*s6E!@~>%6sxw}13i4y&bi
zP;?IGyl#B!9D-J86O2W}wS!gUk%gxq9+^}ZvSwZ+ at tDPNgF_?LKW2Wm`zFD>hb2$q
zYcg8#oCFs-yGcHMo=>F|$88Cv_UNxEIJ3cr$N_P4@`8Zz_&y5|bkDT<=1mkkd~h%V
z&rNQL;7Cb$6uYgY0=Kby7&bbg=Ri%hFX^b!v}Id*VD{yYZEDGP2*RL{Qse4VDv%<s
z<kT0xh#}Uz{k(5EQIM4{tRR+Knitofl}_y!mQtEM)*cuQ^N21Uu1=hh<r~i>zb*ty
zAMT|3e+adrBY!t$Rodhg;OnL3 at hQ4txkJy8ibuAe-XL=5?F-6V<qLrl+NI<k+6wO)
zl8F!1P6;(r?h44s+yQ7LhOqdRgU=?#Ydv)6$xxEvBu$$%6`z+e)RhP8etwjg>9GoE
zCjQpAU#x9?ossp?Gus!$xoA4Jeu^->HUiZP-B4QL`vIzEo`Ud at yP3a8)-9-xKo<_{
zYGt0dd^H;mez8HtJO at gn#xlO{c|fjx+uZ9|BYAQCTCZ9puq?lgSR>X$fb%L6$F!QO
zt8;(lxF!QB`5GhGwd0=T0_pl98H3{4y&8`X2*D9sUsHXrOXDK2;lBN+E5!(fk?$}x
zHaHQx3IFA7;ZU$E%PG>c5Sve~oFK~&dX6i-{x9i{1G#7Ad^8GWi)<QEKJg at J(E7Kl
z7Y^KLm-6;=3HQF}NQeEXv8T8)TPA7#T5MJo4f2~dYQ*PR at l0Zp8DU16zl4nX;lhJm
z46BvL`Eiy)rhyM3QA+>2-z-i^ADf;ro-#&B+-zZ#an}$hjkWof__JL+L$O*h#jrDx
zyE_O?{ZVOilDf6^Wos^MjKm_(0?ty8pO7a^0d0psSFyujh<Be18fOd=h$ZfFLdzBQ
z?AA=#Uw-E<)BN@^jw$-S_r8W?J(o|;gi%XD{h*291th3!8hIU-SK&jk7iFo&BgyuS
zS%o&<4kU>|pBcV-9;YwvM;lX7S&S4r`0=Ltx$_-)x2Ak|6Fp`J26uhoTI@;*(UOu^
zPr$GAaSe-5SQi>)t-(s>-7)^t%%#rxhenPI%&tq#2sl^S#vk0-en-_Ipz6;&`f8bo
zD$K?xxIR3_ZYiGoMdRL9Dr4jor;Hj)KLeAP(Cl>x6Wv}<*Fmx*EvPS(g;=#;aBS~>
zNj#^Cm52??(GbA-tYlDhs&yEOyB9_CpglLCEq<Kt86o{8H#=U<{6_E1^xdzzF5Duy
zcV~~0l)U0^W^m8^3K_h<zYK4&s60dIE}o!1Ry1ej;N;J|gP}KlW_t@(8>^~h-(;^%
zK!33vd-lN=?SYkjt?pz%@#jKyUJ4fz|L__;GH0pXd!=~Aty!;{uMPfh20QH<aC`!A
z`<2fq(=HTyp9SpHHU27GLeXbEc;WDlmtAPEeE~#au8M*eyr6oh*s<mQ?u>VCq{CW?
z3V*;(I_*8Kc%;~5^rAP)K;^TH5VqWrnwitQ7~50F^SkXI3xS2X1#@L$cqt{J<mM{r
zQ9Y2xJ at Ab!1KOkz95=~ttnu%djKLxiu1F?qx?q~myWS8i`NNpHB0NvQ#@v1-ZHOzD
zgc7A|Z4xmd;mcb5Wfg5z%at4CJEX#oPDr}kYhHr%dI;wDL}U+bSy}fuKhG|n={B<Q
z8(j+t5Pz5%DS57pmbu<a!rV-D{xvYXaJ$oo^<>XboL~3$P&GrZF4)KC)crO~?+CSh
z*(9ZlAz!6hP3x+`(?d-{f0+;m+i5 at PSyZb67-15>OkmbrufZ;b^ZnFJ?quFoZkV-R
zK?=qv-)~b^`&AN^_1JlaWEzHgv}<qhwc6!~!<f-EE_1D3ui5uwrevpfDz9Z6PG0f|
z7$Od5v{xU4f?ye?@ep1yt&Z*{>ZR!rzFncrGhtZ7uwgf>FeOs7Q6&n|7;CH|;M>Kq
z-8U}UzE^m!-&J>N#WTw3LyJJQ5aTz;Duce?kJq24ICO#df%?XYudxuP*GqY?V6{Jn
z)K#*N1Lhf32 at i94dFt9~MA}kiM$pVge^nMsw$~vfJJD)+M>_3AF8$D?X#bY0Ni73O
zJ0B^6lgwKkj-srU3Bl8rp)vlJy#?Ekwwb at A#p*Y!Zgv9iI?bIJMa9s==g`i3;M~7x
z(2NKnB at 41k2<DVj at s}pD1sR=ti-*CNM{WDJo0BUTn%W-Q!%boQph=b4;U%Pgp}@lf
z7t7Jne)09zt0cPY(fYt<mC*IE*jqR$h*5_jNj}x<bM%f`P;mT$;+6V+c5%<G+y_J(
z^s5)JQ7kiv_}h{T2aU3h$+_Ps$aXkvDy<Oa2|K(}MW*H!@S?J7wN&99PTJM`Al%;s
zWij31)ETu&LDkN(1!L0$XItQ1MJ39?47s6$k5(;|9NL^OVfPcub}Bz{#Xzd6M#Aa6
z9etd63`CQ%7g5WbnhyDW{UXKK%M+3rmo|9jsg*({&fR9Sk9+ZPMH at r8TdJZLxW+1k
zNE<aaj;4k?XHqiRnhsu4jkiRem#(V63a8KfDoNmq8}p2)UX|KWc<>plt`<9zIa;hI
z2cqXZC2hpylp(7Fg<FNVE;Pp1_R6>-`9=8y2dPT$a{UAbrQ9dF#C{Slw=ZoywYzit
zU+4QWYvs%NDtmEjgwMbi@|o at VK}&%t-;yw%buPw<YQK5Tn4DD7BXD#Q9d!>wb>Byt
zT@{g_Mfx*$!8z2{N0Q!`6S{%^dAs|DbHNgpRh5t9b_Bun at ML*&Wsw)k-LkiFGjfT9
zgC*{CV-dzr+7D+s>)P3&e0{6Vab)?uE9}j+Z)pfN;;9(HgYt_E*Y-2D0<+b=uOX<2
zrvdPHuU=#%AYEOmbBKTWx)$-~`dT%F5bY;}{?*dIx=;yn)yob&O#&-|)ZYjy-w$qt
zg1(j`y`vEEkVaPT?H{j;bR^XaS|9T{TR0;BohQ|EM{JbseBwHP5O+3AC{;xLkfWnN
z=B{&4jxeXHpT4h_D)j#2>Y|n7E4?t1p`G}XsnOXPH5n!Aw17?#<AcRR<Bc{6;mW)c
zh!Qz(N6j2(SD}k-iK?qb25b}Znp~vdL6MX69=3DOo at ds#POnRYNqw6g{U2rArV2S9
zf3Ehk8DZr_?|)v-ZiPeFdZi_K^HaHx<fZt<M5(NTXG|CqJyo-wiDsXRLkQ8pDg)g^
zHrHuSlh1?_qll&)r6&`;umxRc8M?Z(M~fV*=A`NlisDG42tH0Y(;}LdCRxPE?Ar;a
zly^!!U!b^NB~y)PZKL=v^|~jh1DwpNz>>)-jO(+ta2`1=**T5Hn8D=!5}}%3HSZcj
zKUSA9NeR$)pJ;xSX5*=eM%H#dsoL>;ZtV?)TVS5|m1{BQMe8lPks|3ede<)Dl#$)6
z;)6hvD<Drt#H+E2gFZS(xhHs6oAV7}Nh8;%%A<<tW9GwR0q&GimL(;RVcld%b2BTN
z=U&^HE){$PT*{5>_M5BI=PHNq{4^JhTFg%CSd}Z|&??G*<9U?ivpb;0YBYaF(o`u;
zfByT_vT1v$FuJQ{eTarWMY_!(wiS=P&CzqC?S?CfH?rK=9WKAW&(V}heF;mO297<V
z-aa~4MvJ;rG3$V#*nS)&Xm8$t4*HQ?i`#8ID`%bT<q*U1nLw at 4pk$Nk`>#7Gu4F1k
zV+1c6?0PKxTa$^z6z#Tlm)vNjuSl}3OdlL=DL+Q|!{&&0!2gIcHEmGT)rr<xchIBA
zpr_nk at n!NlcrWZIzi#W`BGWa<jI=sBV?E<-A{4?I198AnKYVM}_=@cVCTXogLE*>f
zaYbGmW!PjzN3$1K12CHil1ia+e&bsou>_6_nY`?f at d!T9t$Te93Luo5Bwnl|IMNuz
z37C@*Z(0amisv%r_o&@wl)al4%>Q7dnVu;?QVEgJkiz6{vz#Oxn>1LpUc;QK7GjX4
zT05OYAo<W?`?ZFJu1q6??aqe#q6$jI+iP}`liuLv_?n!bp9yz*+ylNZb;fCnE&T%F
zop6<u`ibTcS2uyKwPqa at Q~x>am7A;*YK5TfrV7)ic3rPQHIWjn-_#}aWAC`J1mw<*
z at 9I{U^r`hX%VHP=_V;0AF}I={4O#2Uh4<#?cv~{V8aWVUwOxz9s!0bBzq&5#9<a`x
zvUMrbAS|!faC#M|nkc@@QPQt--_7^pW?-FO3Q5PIMT^wcre;L?9RK}gB?i;y9e#`F
z>pNXS2)|D^WJBK+KcDOA)YxD&B(m}y)IBKGsAB(G-}0R5Qna;I$bl3#yl}~b%e-tz
zVO<7SaB;&x&S?(jJcj{;qD{+0Z>!}Zuz+u^wP~?mAWQCk0gZa3E)PffvnHH%rkB at 2
zxmpfrudr9B at RGQ5I>{f-?9&tqDdT%O8!1X$zL`qt=r(A|fN)i&?oXm^iO~fR!aGaU
zf`-uhx0R=wK4SBA2qa!*qF8H}T6oHQi8T(-WRaxczGbqekX&I;Ro$ZW$x2{+ro(CT
z%876{m=uY9d+ at 2XhM4ht6XZqXckP>!3^18Y1l))p4zB}yi6r%K*WOF>@IePP2fBQa
z?{GctPYFs?-govewVtEa1N<N7DHz{{&+a~Mq;?)v$6=v<qqtNWRx9-pJ4kC6{lO9l
z|B>BImP)ICrcp&{Tz~2ip+If;vXU!N%hjs<G%9V~DJM;Qf6ZH?et`W)TUd~fJ01Z~
z#zF$>uul|4?l^G;hiykIGRFj>Z%7jS*S-ep*K7KyUkItows7o!xr8nVUBSFuV#Xlf
zfhpDZJ-<RSktkw98?fTh>4r~ljsN0Mf4sWEq~~hC+kYGsI1z{N{k5|8vxavp40e3r
zGCsUZnNg~oeSu73E=?M|=Y7(uee&&{eu>HqjSf<1XlG<xMRmWxAK18r&^1=vZd4J7
z+8ACGM4(@y&{RsxOZde^!9Y%<NYP(<BB{er?ba)(znLi)Zz%fyM$c{}U*;AK@#lHC
z??|}`3+jsl)UfL$_Tu8k;{hrdqJ^-!)W9$L&BD%3q32Zk+)k?MR93Jit!*A;^{NTb
zn<6A7SL*WjqvH`qx at +Y)LYw+vkolWx6$dL7wgB0D^5x$a-Q>E at S>G0Vo%`}_E1&&H
z*E}sCA&&UY`$+OhUihn7 at 3)eaQZHSLJE`Y8%;X%Vx-jowd}Vy0a7Hqiz=(J7F-PaM
zMFeBRw5qiwmmow|Mq517Ro0*ev6h_?;S<}34n^}G)lZAo9*eJW at 1LD7RwhZvP*B}U
z)|NT5glzfKkr#VizL`$$Tvs-dZxo&vP2M92NgOmYp`e2{)IJOPnJ9vwsNYf#t5?VO
z>^A5 at e<^CwsDGTHVwRVKdvFY<tuwZ`Fkiv!{0{PnAFbldC<(Xc63XxO{M)NH`{8o3
zsal~?=uELi4)*846kiM|4_ta7AqxmGrlaM79*fAs2=l+i(-`%Qv-pf0<zFVQ7dI4L
z926r}hli*4W0>)C9evD|SZ5Yy+(1@*8 at 8)i)ZwFpIv{wG5J>+G at +Hot49@ml0+ZR0
zaoe7qD;Lr)DPDu#Gz7&(r!md^RXi_5S_D5)e^puq$vs+0ll)SD-o1#1g1-2$XJXJA
zGc52HuO0~InS0F3wfDj=9cDkOe-M*L{j_*!62>T8xsF2t7oD$$b`3*P_)^#KT7+k3
zro4b&|1H`S_;sn3&ni4OWi$2;O#@2c3otM3`#0WEYTE?;vS<t4<-Ak at qNn4pt|JO0
zqdcsLV+bf2NIsus?g(stK9<W5A?sHrMuC+a|7`N(g&FI&Y0ng=R)1q3r4*SL7Sg|I
z<)(;@=fj`lESxdsh)Z}=7GVy at Rzu6i(Ga at 8LOf@7in(+AFUt&~oyJqmzWvs>DwL42
zZhWg*`__6;V7N3hx+zgQiWsUX9}$xcrU{rR$tFh4WUF{xamIqkq^pBdI<WGYCeu}O
zPs4rB2<=1i7$FQ>1Kz3TH{)<}q`|QY6LsZ&VzO4N-v-4mduURGs<qyrfEms4GK~DN
zI6^C?m~!7U^AZ*RRxRyeyg`b;A=3OsVEQS|ys9;GHnvDToLiNvPckg=D9(_-pUDt!
zJ5v}}CrL^=Sk__BsUO$Xq?Gs*pHJ0$xuECGRM}WMe9orN3lLXd57;q32y*4GxS5X8
ze;2fAm^thsn261V<zq}k$%*rt at K%Y0$M=H2pvqPe$tIgVz|nGG&??3*Ux|oELPFQ#
zepTI{{OXlqOi?6OOLj`S?dfOV1G4RR4DG38SOdRtSd<W32NC0F=uI^Yi^$uwB2A>8
zIX}E}Ij58TQA5fbliBD_VTXBLeB0#3^bJ(qwG{rn5v<BjNjWGOW<3;SRr+BnwbdtR
z)aGn>L~PqXdGtZ>U1pi%NAD6V<>AsK^x2Q^Is&|e^pxpW7##MM<)70nDEjKRFwHYm
z5QI(>ro8vy=JDm0phk&_a#Vi?Gbj`LLyLD%&eBhZ%d%Wda1BoJcbSM39HZI9={PCN
zTWnZWwGpdm(KoaVu!b{pFPMwtDEqriznO;<qKh&YV413ib`lomntc3mvPe#UTX-Y0
zjy8bgWL2_yJPxCe6Rr|q0`{pxaD2~q^>CMP{m~x2b7lf{w>G{vetT&G*Y#Hdg(+8v
z_X0Niw~x}6w-x9*Z3<=~qb$9&(LY9i-zkMr&XFM&r7QKatyH{yN0f~|VS2dsD}%-S
zgAz)b3hXHyv1D6f5$Yq$q*bU8=KF46@?E8c7%P`$wopaM4*Z&_pAIibKS|b-&AjpG
zCql;ZexBO>@kVM;7Uor=5}E97n63{Yi9=~U`$&peVPoCcuC(UNXnjgE;fGjC)>5ki
zf0bt|meN&*bb4c&v%+!G+zRGiy!+RhX{yqAA6BV_`UfgnRe42egqYI|&4_n*Vze3F
z%^*(`I%oU$ce6unl;6NPiIJUWcqOaIuO%|1YF7kspD&F2R7XchhJKNujigL-Ffx^r
z`x5!kJRW$Yo0A at lRqX$ZENpJZB~jL?KvrYI-9RryNb-~Fc0JfNt?9R_N&k6vq;z05
zK5zEN8Z at v5;!CTEtLRo?Em>2C+~i5D#|&^-J+4v)?WfY_0u%d7#;SsvjMdhIH+3J>
zR~-cR0#S>{1li}=b0k9xM>_hz=Re}4VRHO8t#jkAaRS#E8gpx}jyn?~0?Eci;2ql2
zCsZRl#3Jz-k;}@!2u8lN)k at wJZ$74wye=l5nfi9W`q74KrnM{L;RsQe*aRF($jL`r
zr6}1;N%dn#Ea_8_Q+|HCN2=e at fS!KYHg5xVYDK53uqoS|-q9oW;#ISlJ>2L^pokW3
zFD<REC at uZZx*1R{%MMBsRp^!=`(~;I(PYA^qWqCqAoL0u|Me%G7gFKs%niTH+;=0#
zi>T~hzkY6njup(JOKz0y<>iKt at C6%3kB~u at knwkjVu5Tda^JnL&(Z5kEF2Q+l2^vB
zC8jEEgg)TZx8QRgzXOHg_Q3R7+Yr|$r at q;~YK=^&@!`zf3OXE{DE-NbbS3jcfP0wf
zx6to1o0;`?H8OL$S9D?wAnx5aJqbp7M!_3Kp8D$_aJf@*Y2tBWzG3MKWu(1~^L-~!
z;UKhy{wiH()G!<39tSxbFeMt?8&WnZ6^x}N_>6)|{e1c}n5!acq9VnDO63+6`!R7N
zy}vlo5k8jev`pgd{?(Vqb)P0(bN8<*Xmp{6gi8-ZuyAb>^)5?meT^$3uy<q7wABke
z66i3)?s+4DDBMjGIA*W0WFIzN7`mQ9l~qS`ZI2cXcN{FYmJ0v1Ny2UBpbC;Og-j`J
zT<jA1R@$sVVZjk}ba=3Tu*O~W5DfF-r+eck#bza-!0Brb6f*TyUJ6;dI<uKuxmsAW
z`8vA+g-#e45piEPb4y2SPf81GTYDE#>Z7(UYD#-6QEEM26%G|QX=^)s1%G#IEq_&Q
zOMgd8K`Ux;F*FfhA%K9hwWm3yud|bjhmfx*^&h%I!1Gf#J2mB>A)bz+)cPvwl+v#5
z)|5PKJZv1SvcC4-T-0J{lp^j{HbR;*a{nL!d=sU%^YnBRVrTd9 at nQ4fW^;A7W#<$W
z6lCY%V&~#w1xB!X__=tR`?9)t&^(d&i-wG~ho!r{o2R|23*{3{a|>55Pf==W;63F(
z_vh at UqVg~DE*}4o0w51|UvoEhPBsp9XJ_`m&+zb+^#+LiV?+Pj86Mg|J(yk7+QZe$
z-O^gt+uFsG=I<n|EdMp%&CA{C4?9+t?AA`!&cIL)U{%h4TT)(8Mg3nho<v}4 at 9g$x
z79i|@8|i6p^IyXHx4k{R`NPiNHv&xm7u|mw{ZHQi3<gH2s0hipT6#TgPf<pc`e}V3
zD_2W<E1^G+)?8M+{2b<1td^YST&z4i9Q>>n92PdLT$X|YHiCQ{0 at juSe<P*n;^ArT
zVrl(E3LwsA5705^5D>7mvM^^Av=J0!<>9jyWEJG*<7c(B6tv{#u;R4j=ivGq2{m_n
zz$(q1{=TaxQdR&dJ_`X}9&QURRt{?pK43RCT&(8&0v4>6R#rd{zm1iRfXyFLR+d6?
zuI|p}fI97+&26pO-CS({ym%70kfgezC^Z)w$A9&xJDGdh024&1U)sBP`To}nZF^^H
zEl=|&X>#%j at N@EW@(6P9ad8Opa{t#LU2As_z!INma&oY7^Za at 9q!uB789=b+Pj(6r
z_|p&YA|&l at ZSLvnuI=jTBuf3XCCaCn|9Y(gxRaH+r at 4%|r!_#7gNs{;gHMQ4P at 9uW
zh=)grM}V1wONird<6W)nZT$Yb(NE4pDe{-f73 at 8L_5J>I{pC?w*02Bi_SaV@`#-Kk
zN%_Yqgv>4fV!^}Q+uG{SJ^@;Py|T13cd at kw(BmKG`p<s*|BWeFT5wuh^78Yr@^JD3
z)?{wM$tuXh$IHsY%Wq}L&&6Y5ZTXk*{zcux)yC7u+}&Ez7LX$#E5JPe$cpmCA4M_#
z`(AwPte><12#gi5kADe_m*XD-WB&)k>`$2SPmV>{|6ei@`7_{eAOp<%s}BG#01Mgw
z1&05S8L;2~o1cH^;{WCnl$8Io$bTf?{}I>!i0eO+z<)IOf2`|&#PuIZ;6EDtKi2hs
zOk8OHb)2$x0kR+;;IQPXQGpK}w2&;6<z--AJpG{)n-Kv$sBQ|cJb=^L+*5;<dXeP|
zbRv5ys>mX5BjKU3a9yBq*TcY2!YIl}YWpr8toV6u+6HakUN$MU86-m%ke1BqKa7M@
z34|*4ZuD^U;7}632b-JyT$WI!AEl+ at ZsE8z5%FN?WWdW(bd&o03KO<B>{}>oeGMlO
z1{IaWyb4U8cT?+1<#cjI?rq=cb7KM>I<KbpOuP3&rK(ZsjlW7O*0wM2?>omXQN1&w
zh!h#`>5r8q#1|DSpn}jBI3O$-2Pip|O#RaBEbJ{b1VlvC?EL!m#M-NrPI7-uVZtj}
zv+)GzXlpKGS4j7Mt_@~=ZXF?!GUK%%-*_;ILy)fBq*@oY4z{#fP7_V>W|Drv52{4k
zR|U at Oyk@w^b+)%?C(b{WV%CD3k?#)Q2I^UCRaJZ=KY0j%_=BKJn at EeVBNlu@vqB3&
z at y?DYSG?=7CF+Jqorr<;cSi?KiOU$gvz~8^5X8^}y^z}<O|)P~5prLNwQ-HllG&Le
zKhRQN1PC;ircTlx6Rn%5fE!T)QGBgs$QFJcg;W?d92nr*@yqsPh5Cupt#}2iGKzwH
z-+^uN$>)5?_2Z+u8H>9?@du35NSaCzf{;Bs8M67quG^>`Wk$#^8zTg)(o~EFHq9#C
zTL;LZ$SRsxb+T?UExgLVHLHBZ<i9rz9>wIpH!!_o^4}WQIIZIU+K at 7775~--BvNSq
z-iYmzY5(4U4HSW9wy6>qD|IXH&;5glc97xp-$h;fcXaMdBz+n$s^%9KCdK8{tenZs
z(7cIBon+8d%2Q?RC^xAQXQieGK3{3*i0w4>mg;TC%#?O_p?hFcr1xNH=ooBBrsmBE
zJTlh)i2|^xX^5P>JWVkV`knc;@+0b1T9hx-G4(pzIvrziq;};@h5Sn{U_Bmj at ik--
zq72woLR<>O!<UQ)@ll4Md!dr+6X*UNYc%x0V(fwZza$)P_E5{x9uK&A01jK{#>dCG
zj#bPkj;B*6*=2g1WL}o0jv|}Du)vyDX)_IhILn3S8`-PeHv5yF<N6e*R>QF&o1|#o
zz_xI1c5V_p%*pl4IYKhQPxLP{Gc$!+eU4UrN>UFIg5iDjuR8<LeH~?%1^D>9kD*|A
z5X+xMmzRy;uymNx5{gq at R2ea0(xUWZqi9l6Qew99k^oh%)R@$;!`_lUhA2g+KJ)PK
z0Fjjs%|EC9KcKh&OUAQOG$u_sfgLN;(- at q>Sd2?~=QSje(&(BYDpq{f2A$*!siA>3
z6wt$~EOvq~1lBnv7JnY`hEl<+AZ0dmNLQ_OQ=ao>Nzp3m+G%1}zz%^T@(hrEfsg>H
z9_6%msdjRIw-pzLyYrBl)=~mtJ}Hxkm{`ygP|M at 5?FW#i%&?lOD%<GDh#wCiz>f9f
z at 7<^ZJ4yOUc8um3_QIbTW&X`ap8VzSKJxVZHy?R={%?Hb$zT5NBTvtN_mQXP|HV-o
zw9frd_(sppJolHHTq%p6gW}HdanH-k%Zo(=E@%^aqlrPF`0()X*JJQ|OtL*+0C(Cf
z;23XA3%b3)oZdSxh2st_Xbk?vSS);bxDtTpHr at T&f`EXaS4*h|9u(%|I6L$ubyB%<
z=2tp^7j=={5=&y~4vcXyUFafYW&Sd=BV5PDsgt%C4Jn$4hsYv5W7{{zeQ<5<%$E7i
z^02Wmmbo0WqT_NR7<(tzpLjYN#0XI%76^VzvnbX{O`$3?Khy~6;rh<BmFJDfLQ5hb
z_z2y>e3%V6pRo23FG%eiu^JTDpSKr&CME!5!{;$S8XkzJm%??y$NCFkG~_sde0h&s
zqcSetK54RT_GS)+u6^CM$ucKyrlU476{~d6$|+6-A+*m+aF2VR36cmr!}VY+rUAw4
zu)U>`8+u)rxzawi{p at q1CfE2P5fM=t3mY4oFKz2SQ at 1qbf2XhiP*+d7`#Y%q|1g**
z1Ns}N{(mr-qMTB|jmi~abj<QK%UJ>h3=9nnDq!wGsPH3r5z`$NP-#siHAO~Ne*vN3
zgfSQ-k>^N at s*lwBN{l&Z!vO+9%7CtEOi-LMCD#|AQ=-o+D`470Fn}?97<ZuKEQu4h
zPrGnt&Fu|>eF0_d0FRZq9CAa-$qn&z^-sQ+?5|5ckG%i;hxf`pG6BukK2)T|#*|QL
zD6AUMUIh|auWcejaaUK!<BuOdJU-tCc66Nv0O+R-!e}_4qXweY1F{>M_iojtqNSP)
znc~1pVU3uW7%#IXc`2k!U7eaaLguu=QjGdIRLGNUn<rZ3JDZgGO{Nv8tb36Er!M$+
zmF~*4eA!0B!^1mdW3?Y57x5kUnD9qfJU(_~VP$n5`c<V{sRK@<NQH^eQnKA&>k3&;
z2rpt&N3^+K5VnWa{&ntOTr-wgWSy^5In$Y{S!_@>`*VBS7CbcwyW%1jT8>YV9K1dN
z4VPGXnuoKs%(F_p1JbUUV?Os^Ii2BDhE*@uM*4Mrg9t5$riX6BrNb63ok?@SVKkIY
z)0QvMt;49FsxNovc7FNtMZo`Trvv;5n~fewGLJnB(+#3g{M8zBf{NWeR(8(H#ug9%
zh<t2kMtF>21|mAUQb_ifHC5Vu4UJLCkVWNk?NdzlXC4pTZhB#A7`~uczTEE0thi{W
z at vf3esOEzz6z+2ucJsSs#Z%h#RKCX_T*o@=HK9jv@*=azMVOP=FH_pa at -*I6+oh-k
zgf_wQ%RvBc_s(}yC+oqFDA_8V2hAs at CJ4bOcf`lJQS*l7+V4dVlZ(z1H7klzdxr`?
zr^6*s`7G72H2i`}uDgQu<a%sresI750Sp(naLY89ltaD~lA+t~uyxddcXb^_<W(0z
zyKD7QMMYKyBSrYY6mi+)U0E8jHp809ohoWOH((VKL*flJH8mu-0A64QzP%g%wE6?v
z7^YLjq|(~}V&K)%O1s+(D91r&7>=C{f3AS9WvaQuSM<0!YMxg}Xt5>Vp<;HFeP%KD
z1Q}8>djWUE7IL+7b=5qRNo%ju-QA6gYY9apYvXQSE at 2WzSO%`#sBPlgqL^kDF^;9&
zrTdexW)^*vAl|LOgz^;ktYa}KbLi2;gUdSgF`oPBj}}}`9&T<Ai|{D`z&AR7c7yrh
z+Vsk2U0`x?a4jp}zez442YjRJ8Ey)+7}__WRla!cxDW3F#}*wG4F-b;{qJ#RqB4M=
zkaYGfR2vAR-NE=0yU7)6?q2G>P!u-Qn(FHgbqp1 at TRY=aJDl*{jo9iR9)2m)qkat*
z(sA@!cUhN)%IZ2MH+VeR=%mw?#mPoxcZ2KAJZ3wpfH<`rzlgBXfPhLa$BFf#PZ1fS
zOT9q~04e3W8_}CTzo at EEAcNVHv&2enZ*KTp_v%U<4kR~u;e8V2Eg_Y&VsJ)exRx|D
zG*2tU0m+HvdM9*ivriqJ^`v0p?6>7Q+Ild<%-QQYBqSsf?5kkRE2&6_Do*RoE$Ay}
z!mofy>h3mWFnu@{j6YbKt=`>u3uTw>=~-VlD`sAmQQSbTE-+Za4nzYoxC|l^l8P(b
z#G+L`PEK50PPlA&mz(B#X)H3>horjcN at faqULD6V7#EXbgIh&L&aqm6kyV{pP at Y^a
z$GO*{&lh%hAJ{p#gkRC-WW@#nFqLB)LNI|y&C?Dl$^Jv*<LWX!0>|v3m&tR~b3)li
zT`(g2)Fph7UCW#bh*oGROdgACiH-&Pt13lJSH|!m!L8+cwaw}aT@?!XfqT64bdS6B
z{e7piUs)hZpH?HuL#tiwsvxYZnJ5A472Po9<XIKsXaP)-m^-^&$^%#SLqr#Z2Wy#F
z*O)f9VwN0A*XfIBoeId(0CyYcIquuwKwA5~xVSjph*|MBBKjL_i~K=kNS#RS2m;QA
z)sk$kzr+AOH6k4jaQwh4_0$%V02_^W%R%fXFDhIoJ9jOkm$!m>kH at 2kR%dUm-=}Th
zLFu4<{myp>gEPYYadg{qJ?dktK50cDZGS5I(3sH6l({&F<ITL9%SnL0%*%_*%cE?m
zBHD*no5<l!6E|RsQ;@(|TvR!^S0b%F`tazeoZsdt%({~MqjXzI0%AO7(OQc%x15|D
ziAQHJ?iGxmjBb?*#M_q9lA^u1P=nT<)Y0L_7prBY6R=vcW7Wa;=JCA4GX at lHN6E))
zrT{l+hMeu1$&IzfZQi_ at V!`q40cS2xY{NZ(d^Kc-Tgy+;3JVKIv_7nL0X|3Q*D&aZ
z%PAr%dY}WQ&GFTkFn#wf9d7O8{o%w&&JOm)UE90lvrE8NFNL%n<@=or*xyAFSMn+f
ziK)PI<YELiNK<Jrha9Cqr>K8Cza@^ZIU|Q>qfO9Sm;;Os-UwM_vJz3zz<BC#0((<`
zO1{ln8y)Hc7Ka)2%$yp~bIciBmxEkjKbih7KL`nK{pLzxm((rQN!*+7{_C%CYaP3N
z5>^j0bxXw?$>v)C-8LmQ9fB5S(QjyX1$eyDOeI`yb{YaaEnB8fsV#a-5-^)9U{vW`
z)s9C1SP?nKJn2u<x|da0+#PiOS|6&H7=X9P8^qIi(fW>S{41R%X^|5pKbi=VZvfy^
zy|w4Kgfcy4Gnqv>B><w-%5T-cP%x;S?o6M(#&c7Yc`4xTmXaDC66bJ0N?y%J5bB!Z
zBP%-MpfagCK7ICE{p4Bc9~dzmO<_kIoqzu}tZij;)2h%wI4 at A#7rW{Rd9L4(s6Fe>
ztp3(VA*~2c8#rMOB0k1|Ymyn(ngGL5IeZr4DHFSRHbMS`k6%xQgeMCOZdJ=?RhtY_
z8gf#<9L0TqepKQy)hBrpPp at kHi*IUbD(>Xw`(}{8ca3J%io^%epZL*5CVJipo$P+|
zx7dS-ft8Y9V>Wqh^<XZWb_-+9FE9Bc96DjHmH-iH#H&PJ<kl9Mh;6IDjv<K2uZpx7
zPxXnd{}V;>RVY?mY;5SMEl_;tNh%<1U~E`Iz=40^7jFcF1?v4GIdP#qKtiPeAmpU^
z8~W91yL)-6!@)H)-M)+D;f0?#A7C%WH6oAVam!oxUW;qd4jArT1iq=5ua`;<gwxwk
z&&kQFEe??YB;4;5OKu(c3rGAO`!ADkVHXcTK`_nXb)0o76iW&pUWlUJk@$7Dde1CU
zA4{)q?QiDj(Rrm!p1tO4`LK~^*A;L!;f~ctCQzzbjxjnq>i at bkPW(Bxku;={;_CTv
z>K_a|fv2*c;ynP}*MPei)ATB1e#;?W#%;E}+>n-*<_p at -cQ_!1ZUZqUShG56v=I>e
ztIUWx at i)uM-h??>Vh>=Et_z-97;hKIMW|-gJ at -N1S27qecq4-f-Wq>e=gpRKzok$A
z0FV`5%wrTEqFMvT{n?x6C#s*2g#z73W)=kjqvzWR<bgFpXivBxCFM7 at 6Ynm;u4<<y
zp{%LvdNV5A1cDJ$UVXD19-XYZ2*9F@%trh~8Z-e2RJ9T&HlBiFXd1%Bblz~jT*rT4
zPx)%4X1O)BXk!*IMzRy``?t=c!qI_yzm1{cxSTfinX{Tz=kS+|;PXPP83W7a?I+0V
zcuQL~Q*GRqdFdTU>i2O%GmFxZCAkw(VCl;*AvSA=a|AckV@`L{khZidpF~pS(YPq8
zxj+SjZrRh00Tl`WDuUyg+p1kz#_o#o9 at cYYJ57T~tBxG!2C5#LG<CNwFE0(N6k8)p
z=o=VPN}sK$+?FJy0d}{J1h2wiZDmzd+c(Y*N3nBEWklaJZh|Q?@1XMR&NHBr>O?(~
z*?!G;*6!vC)z7u>8$S3V*L_<-XxE{tW|`iX`1l^c19tewUT*_?Tf<t|-+Ff9{pQ5;
z at a=E!$~L?<4U>>E`FeMD>`vo99|73d7Sq1|yFH31H#ZkhsrPJ)1>v#2`&1uj at d&ii
zj1p`jGn}d at SL1?fcf>c|aHy0%(V+yn=m4C=eEkSaDBBY|li6^eW_x7IlS2WZ2upH0
zjIpde6SHtwECjW|huCfrr})4dqdBoXt-BML23i+dPttXqylAjE8Sk?TK`yOrIgSJ~
z$o9yb*5$dITn`a|FXn(vRvI`qth0^#g#ysi5cgNQ=HayVO|{;98|<2XDm#Q3uAFZ?
zMLoW1o^RjHtI`|H;wE~)zv`&%=n6aPlTkK(O4tA-Ify10cdUSgdZ!#siwIEzH#qW!
z!I!{P$9(%C@#W2`33m90q}j_+Qa$@MO4m!b3g*Y+Rm}+YSXgoFcJhqEAOKg^l{ZTg
zc4rPpQ^hYK%y7=I&8reqC7Br+b|CwytNf<61To}xyk<&jxvJTsLp>z8wMY at S@3(YL
zfK2W(MC6Vh;z|-`9`3Nf7vAtHh95tP3*uiLXvRVIJPjz<w7M_^0L1*IdVhaEGpQNE
z=ofnZfJIn&8;T9v71%E9 at svW`0D@^exhxvt7ZhA5n;k7ZHAwBf*gZl55#knZY;5Q{
zY7)NiF_sIBOv&Os%m;Rjd$JKR6dI7ze>g$cusRM%$|1kpumaNC5ZYCEkJSK#ox$|)
zo|U}zj%i2h_M5`2rbovs&KO$F1isS)Myc<|{R_b*)jB_0Fw-mB`ICinf!vQDMlC9;
z)_X-gnNMzk;x*Y-_=&O8T+8zO)g{5K{j%}(QD<}j8>|7$!=Qwg9^>WrQZQlSQs9#D
zZ*s(7iCjLn-st7lM9;gyk`CLHEWwB9i#B-*#9##%td=!@Oj`B=FXI at AfO=qEt==UJ
zcx*#yh&TWB_Y)x7oa|*xKq?6ZZaO0_+GhC=KQ5yHdE!Rj)LCt>M1V((MBAu at 7Qdcj
znr4+~o=EnYI*`QxKx==`izz2iV`R1}ySGx9#qjWy>(F$@05X{bWMY+HPFMk<ijNy<
zDeO)!=X^Z)5k*8wObq0Cs!|IC6`ZYySq&iwpJi5$j!8~l&SGYrXi4qWVDOxO;+prY
zTRwcsJ)M&R*B-W at AAn8%CM6^Llqx$&2zyj`@Ag}6s?Qc|>(UE~1lDV%9{&mEC$jqm
zVeXYY8EtedpA}Pj)hx)vV+EnFx)=5iIXRpV{|M*~?ppV83%aniw&VuPo24E%am_DJ
zuY}mb<pFN%7&|N27Q2}=EoFa`fs||9sfTReRpNx at OXy}U6N`z7sl&Io&62jUWQef1
zH>l52Zd*f30j*_ad at r>8>>9((zI>JmB+AGfK*;yAvNLX3XZf&gdOp=>2q`jM;&zP{
z?f`<6*(eQ}o##2$YH+19feY5GfOveGEy_Ct1-Zr_=n1TSzx6<N`zsNwF#k?BUcH^$
zB()88#N=^KXa5P~w)RY4yyTvxr5Ap`l>A6t+n&?}MU40gB?rh}OxXxRc&X`cZ*QB<
zgtg!f$bl6};8m97i2JxTI*ao30c7e3Tf67mGjD8|8H{S7a<`mGBWHUc0nnA9=18Q{
z at X#Uk=*qMSrD2Z9Zn3&a<4_B3PoBI2@)k-6ww3MKghE4SG8?N(sMa6jN8h562={ft
z`v%JF|0?0lp&MUapdNpil$dJN_8!iGVS^Q$Eif>o7bo?_cRTbS$x3Pc24JL258HaJ
z=W0p0M%q33 at yDo)gI;ph!OI(CV7D_!nch+mZ-Qg_28tpBcD>3bxUuM{@~U7}%Bqd+
zM~oBa?js;uF038ivV?ZiSor$;w=%QuE9G~z$>!gOgG+KWtK#6hPy$0Qu%YP#8v)fw
zASXzP3FPDLr6sx8=}1jCG=zP|XpRX$czm!o!j%WSitw%jBw_jE9oI?sq3X<H`m56W
ztfCPvUf!Ac@{gRiXL<HO7_8G2Mz|BVzT9=eZXh*4SbW-P>WPRshA;K;0}vhB`nz?<
z_I?_2Jd*&<+HyTC#}+3hZ*nrlF4FaaWb=(p2wwSk<mbS(H_7IAR4i30+ZT4;#WDV1
zhwlUuSjU%gPdT%GRryk?;V<A6yP2f!(cp4pw;Xi!?AUM<Ywc$=Wt?Gr2aes5Bd%SD
zO}>2}6HQ2ODEbio+MfV$!q$?|V4&6X!m;~M8iaEf<eqNP)>0x4TMY-&X8S2N188Oq
zgxWybvRySz1I;6`t1}SRt>W!{WEuB6m8#@*F0Z>jpmk$BetmM#?VTca0n4x9ooh#O
zcpnWwq`WAZ-6L?{+uT>(o<KJiz0?K-EP{0n(w3xxhRL2DnZn%-^UduxpYdQfDDL{w
zmec`AxCOBK`FA0g9LJC63i(0#0OykuDTlABbih-gL!lu>=dC&Z*L$Y6=%w+F@~esh
zam#1Feds~~bYDg^LeHka1r88}6V%VemVw<jBQIX4!HUgOk5>cbfLXmSaR)pk*b7T5
zqaSDzzPJ1d5)G at Fz)=L;{!js&T42`+)`26(%3-4~YIqi)v%E8f{FP~7KF at d&-{5|m
z7I+P*Q}UJ(9evYKI32e1Rh4~5>X(H}I{u)$&?f+;Q~TON)@&++F)}>dgQ_j4cLA``
zOxUfzs0rMJ0J(Xf(AbyCq`bBcbYCNx*!YA5!>Zk|v&&088Vj^5uXT at xJlVyoWgx2*
zpzfWkqtj&P*Y!kcc(l(~bgY at R2_;O<GbMWkKrwJ55ij4eBKp at cIpt~X at ADqZQ<+&}
zvqWg3E$=Ju_9+UG^BxtA3-{@GF+|9GY5Xd00BgmB;!#`74Mv_!DygVY#2GFhuw}ki
z8aI|UA at p0$X(aEJ at 2EhAbAER9LUg`>(JRMY*p9>()~`ps)ZriiO7Z!lvjOmP=_%kk
z>P<VeYb819C;42SAD4$*fFINqwIPAjZc^yOhY$89*bN3i$T+52{}@G7Z=fY at e<Kjt
zPVC%v5Jy5N-;|UkHY&DYJR9JrR*Mz$wT5H7D5Y|i2{^fn9pf)zhlv`fDzF37{OE--
zMbMi+v<LXN at mhOq-gmLZM%5M+6r`+H)*vhj16p$Q7Z`u&mq?i{H6Z;l|DN1u{6X?z
zWfQ9^hQ{JkR%7E_uVbddsh#`W{vlRgS~qlVKJ?q|AE2~c{RwsqpdA-e#2zh3^_QE9
zZ8t^k90xE6xan#q6PR*vwtdmH-8($)tz`#bo=+lwW{{l>M$P4$`)78puDEtJ2T2mQ
zJfh87q0=!8)spLA$4@{gAtn)i3MGv}?4I<Y3~9gGS3rThCyC$H;JZk0Q-JIuE$- at r
z65gO85En=X*Y++XZezjp&cTq2m+PmM+K%G%{D|4cjqnqE<DSenU})Ob<+97=4&n)I
zVmhp?^VxQO*sP&0!Xn&p3E-h))hG?p&=BtNqPUt_ka`6q<WRke{Dodl`g at 0}9}|1V
zD(Jr-$&amtjzAsASB at u{-&Fjn4W#y33BcaQ*vN}pK)uCpW^oGKRd7#KNOwXXs|T~K
zUv-{4F){H1JtZW5v~ZH7P5zPGFQj8(B%28cyD9+mvWnu^X>GnXV}?J#|BC{Qn>Xqw
z at 20#=!Z9(RqBqNxrDpv5_5gX5a*gkf4aogm7>+>q>s9lx9bvPigJbh#cCLW at +FAf8
zUbA+}C>l{Ok$MU9_^$o^Pbd>Z2Xp9c&c2j^voB(>(sfR7>L{Rr6vNRx0^Cvz3=F4%
zZ%VsXflp~lz;&Q^Kz`6FP`#@(Xj4P|MB!C7iv?$jkc*F-V(0}oJqDEF9A3uQe-dx+
z=stQ4dxh0v{Wx6JnPUWZun34DC;?%Suz9;`SsMCiov&zE<g_dRYb2GcGFJ`6qo&6$
zGy#6<2pd~l=ih5mGY<c_4tRV&lO<No;L1FW|F%LozrzOjFDb;;iEi+PDJGBoUM1uK
zIDz3FY+v(cqI4pNFaY;W4spr49Vo=`Y?S;#o{OS4IBv{-mpdO^7M04{BlUnV>hlDA
zwE*x91I%p8EMzo4z%GhMzM^*}cjs*>fI2vzvWbv1MVm^l$`$~pVd at sc^9niH75mE_
zR*Z%&O0{`ctcFVfw}Q$6spbL2(x92ej)5HaKUXkZ$F8b2q_|bp82PyfY;<cRt81b~
zfiN)Wi%-7=Py^0CK~NPa9WLiY)tCstQH5;&$~X<!yAn))9$NR_{=b43sc3E!{=wSP
ztEW54LC(&%7b+B|n>mA~O4$1)>a&CQuK>N6?#}N6wtezWLKx+)08H;yelooEbb)6A
zq=X#Dmz#*K+`5i?9{V&uw1Lx(-VmqD+*xf_yTbKd6wyKW{h?C+eGNWPKwqAx0bis6
zVZ{`Kr#$9h5mKp9Wvs9|;%f at zeAs^36Esz`sxN`9;0**MdO6(Kv6TCo$h^Fq43|M|
zs01(qIe>D!WFV&)Fjj1gh8dvf)}Vt$E|ePjcE;iSy+PGQ7W7nU#?3U}uht7cgW8qo
zIwN&5E#UI7qqe5Tb?xNDeT1f^RjHUuKwLaT=omP2z5mrb^X7u?q-vEPz9uGWskF2-
z;c%gz!C41|orNVfeN2K`{M4g3RSvA{_#LR_m&)`Qut)Hnh?eq+-|G9-jEGypyk#t|
zjoJ}jeUy`7$#WlMlm|+9S&g^b%aul6;kC830-ihL3QD^LP>RI48Wk93Qfv}DMll2<
zeB3p_pbavzvXnvJ@@Cf7OpQ%UautC8<-HR-Mloyn_S!j??lw at cx(N#dgG|K#%q}Q~
z`F(Wi<lcbgjBaiXfuMI~CO)BrZHl~?PNwSNZK!MNFI!gg&+2f&G(0Y)HFpchK<!=C
z-oI;Tvn6AVE$<Pc&m{gx?WSC;>8I9VVtPzU<^0hBVt}X$&sKOZmlP)#9%6<bv3Bt$
zIy(AAQ`smDf6%hx?FvqOs$~$dn?FBqP^zJuDKo>*ErOb2z8Zt9%T`aa8aXqUX~%+*
z%9ZBk at D1OQ^f|Hhv9=&fE&H~-Sb1<?q7NvyFo^k@%r77ro!Y{)!$<sZBIZq}yT<Vn
zbWYg}xX)~k5uyL3fy*f*CbsJAI9M_iV0V6d3Au3uHTMG5X8i at 9y=ixg2l at lTTej3C
zP9SI>OgmIzM7pq;g|L5ak}h at +6|vZDS!tgIqKP<>9nxavC~+>|Ox64JbVnd&w;grf
z9`cu at y3mUo20XjImO4fC#c38lUJH!@>Zy4$J#)Q%eF;z1BY6?SN^PdM=;-K|NWt(|
zO~q1<GeortCLR}Z>wx9B-=3YF{Wx4{3)mIlb@@_t5$H%$IWlrpueRAWF*YVfvBK$u
zrZJ}N2r+QxDn8R*zYIl&lV%m`mLK4zsX<!RsM6gARy^SoXDcmAWn=5x5&>Lha6^+>
zXJG_56|-YwVSx<v^~-!tZ)2i>!c8eSk|(DuA-SpU+9FFm=4341WnHkkYh>GX1?});
zEo$TL0|+~N!SfS|u-D^u>ZBwyPq}ghWOsMBr6b_dBu}$7O$73z9BKvl>JPv}#A$vw
z0=0lhYznb<=L(3N-p<L%$-Q!-u|d47X^ewSu870_7?_kPZEzJR<TZRA=T>oL4slh6
z0)?RStqx}${23j5GbQ_WqyC)L5~1{I=bPKx%B_V#^!^z2|EEQ>4`;(%!?@tEOtquM
zp*3B#G$`#=!33pPk+!a;Mi&!36p^T8DUl!zM^(<IKBhi;Qq``@95lWv(o|GBda5-|
zu}Db}By}tzsragoI4|4(?{&TZJlAvI&wc+Sa9@{_+LFbd-d{LQ>S>IEMtj`79(!m4
z!?&RT#a%%UoxNBYuRYn8Cs0=m#CVe*IrN&M`Y&d@&lLj<BE1E8j`!c(ARI2n;^0d^
zQO8Du%}xxPOf%82jx*tUR;4qS+nJA0j(e<iyEKc8syUI00=5h72mf_ngMKh6(VR$_
zW9Lj+l8nPdQuaN$<%4Lgt>=u4j4&7hGKc`ATgkrbtryC5_xZxd?U^fB1Gcli%FWch
zjtlNq(zF2g14C`(x9hLYBqoMk&N3MiT<g8M{MS|JsJVfm5FD+sU4;AA*g<mBFu0=K
z9Jd17CVpNh5cK7q>}Wwd=P}RZ*4P8B?g$LAn|fDdD8b>j`Jhk)nuW4H%w6jGUb=6f
z4!wR<(`R<#guDB`m<6q;$7vc&b8OV at Xsmv!V|WE!Lzd<X{1Nm1SxI0Kb4(gopM$Qo
z80>>=LUQt~1&kH0zm?DT!{5kqMOPmT7g4~X=?B9rj&v%QD3{izA~&Q41_tFU7VAT1
zr%o#mmKXo+zgXXp)q}ilZMoTpk!R1I86c6!B_5BbT6K;YX}1$#!;-xZSw5A|NEVKK
z!MaL6!&P=Pqb1MK4Ps>yq$_azdg9GtJZE>QXUE1gV^u1X$)5M4(|q7?i}hvIe$ZJ%
z`Gyo%q7(JO-0PZarP6&1HZppYQ+Y?bQ;uidA620++5rmXVzc;FeCO`8fD-q6v2QY-
z3sFZ1o$do^sj+(Fe>bB)*=rezlwguGY7Fn~-Z=NAS$jwR%3e at b-R=M1XOAKqKpJ&K
zZLnf7dTIrqLdx9f3q=imdxml1#u$jSAYSszBYuMPSd$GqL;v0P;@84AJ{ok*gHTBm
zdjCOnS$c3C$ujxWla<GyTZoGz5{YAC;;q6$caUr6NEZiy76%I0pf5-wzt$*pI-Qdy
zgcMkqcQbsB1EfraNJn}@5)N$|YMOGw8$mFR`Bi<LHE_i at Z^=bwArEy>{oBtH`2rll
zsXLd%T-8g%1mhenG6CmRO}S44UbmgjAy2>~@W#2(Ie(tn0%#OI;hX1&HO`=D9P$}e
zX~~|%oo3+fZ*;N0WT5GxU>(?!nFxI4?Ho{EjRjzgc0PFXrjdu*Hb{lDnMbLUE4H@!
zY4<jM!$$Yl`25R1>vk>~)nqRpvmmP&!opg(DgsOi^j&OSgddowuHgCO*^pBmm6z;z
zO3f*~;&50DFG+Z>7!*tsoo#Kux9n{N%R>d|7AMx?E*ZC1Iejy^v$JnI#;*zP;etk~
zD5cg`fB1rvNcEZ>@3BTs5ubZU_ at FMnCQSIePhM?_1NPDYur930$w|9oE-oA2h0WT_
z)A3d$A^dW{c&sv8_BD)^0b2dd;2^07Xk^nAMt4BJ+tS?J3~)4G^HthHCKo!-6P=ru
zXIJ^ax5DkGx`Fb~D-?>+$?k$pMO(Wa#Z2>pft^dYg0Ut|eQM#$QIh{echRo8rWL(3
z)ZiA*?`k>pJGm#nG}i&5)oP($px#ey6f3(R{1X1U*4nwA<8<6)BTEJa4u=>U3z8^>
z!bZ*^fXB6!^!ND+!=d`RE6^t<l#`k@#_B5|2m^rfxl|4 at 3t;a3PJcP7K{VFS<j#+B
zoGU6lQ{2RtFqrYTpB`tWq3GAyk<156I%1<|1-TwL^RJMbZf~i~3Wa%ySZ^k{2Yctp
z$Fs6)@+1<N9viL|J^5jU(c;s=_N`B at FI$gdWIt86W>0##>Luo=Nx~U{aZcs!$*~{F
z^`u|<Rv#-SGkPytq2Z(hUl2}zM9I+J!s5G*!lVtFY#hOxjW^AWoc#>DH3%@A!?p#$
znjE!_1F>ww-LsOfV|Lct9lrmnw`{=d1lr*rz1z>OW^%~hFCApu`eAdGW3g0!yKqG!
zo(@}LXRLwFqNx)YbRL at B?gL1;q#(Z0Dp!#8O8DHHqjJ+frH_I7a8Y&qq{PHT!b57%
zDC1lF2Qm3<S!tBlpbdaIjzbCn)D#6IQLQI5(%Dm|dM^*X`uTk7v93G(&OUZtUS0v<
zp#JE{P%ry83PZD+F-?2U^b9&g`1zWB3IN3t+wlSH{m_ at OY!P4&=e>zC!G2VjXW5Et
zmO0h-?FE^!KqN3N4@)2bzXOC-BVgA+WH1=ZxD{#wkP(vu_=VZTcsYjzAerIRE!`&6
zODYzxh`_klpu&U>O^9`KYJp4*u6$u7{k#%i#s7*(Ez at OnE+A4|bj6nRm>(mzQ{*ZU
zB{Qf{ve at G1?Vi7iURUaA_Iu=qpvwT`1=y?&FelY8mVpN?B)U7g2%OhUrgnL14d3XI
zS<Te}P7QHk*7aM%RQrru%WJ&lD+POM7=iK^I>c0*a?AJ=Y!U8DmpB}Nfb~Ly&j&T0
IzWmSs1JOTWE&u=k
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/rotate-270.eps b/Documentation/rotation/rotate-270.eps
new file mode 100644
index 000000000000..1dbebaa3db08
--- /dev/null
+++ b/Documentation/rotation/rotate-270.eps
@@ -0,0 +1,118 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Wed Jul 12 10:41:53 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 349 301
+%%EndPageSetup
+q 0 0 349 301 rectclip
+1 0 0 -1 0 301 cm q
+q
+0 0 349 301 re W n
+% Fallback Image: x=0 y=0 w=349 h=301 res=300ppi size=5478075
+[ 349.2 0 0 -301.2 0 301.2 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 1455
+ /Height 1255
+ /Interpolate false
+ /BitsPerComponent 1
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 1455 0 0 -1255 0 1255 ]
+>>
+cairo_image
+ Gb"0H5n*f:$ii$^VAUG"PUs?pkfcBVGMl&.VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():
+ 2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40
+ >():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh
+ %?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<i
+ DmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y
+ [F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWe
+ kU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!
+ &jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i
+ 9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"
+ -C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPO
+ VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S
+ ^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$
+ 6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1f
+ r]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"S
+ hg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<
+ CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7X
+ e"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!
+ #V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(S
+ O'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c
+ 8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>()
+ :2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?4
+ 0>():2?c8ZZLTr.)5-4~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/rotate-270.png b/Documentation/rotation/rotate-270.png
new file mode 100644
index 0000000000000000000000000000000000000000..50fea6ee9b3499a39d63e21f7199bb498f14bab9
GIT binary patch
literal 9334
zcmYj%dpy(a|Nmy9DB3MKl+;W)g-lXTceSt-Mb5{OY2=XencXF;95SIvxeG}YlEXAC
ziL&8#N|@Qry;aWcr75T1_3pm!-}m#!9v-gu`?}uO;q`nypRd>Jx^d3hVw;4b1Plh-
zhO at -l!eH<y at O!yg479wb`~3y}YzeV+4g=4Jpdb8%+P!Gds1Sb2DcmlY5FUjO^@T-6
zMQIa*0>XUoA->wdp?>$~j1^(9y)Yd1_=V_#*|E3*_lSf~i$b|y=0as;Z%;I7Xk5_p
zFYzy{tGhd;oAbqNpzK7lsKV&4j9oZ}q^QUT=iA$VtHV$S58G8J$@w>>UtspR44?+3
zG<>(8r$5|#JH)D4(2?l<=FL31hgUGpSt$?(Jk!b^KhhIs$~GNd at 1CDgqTbMVMP89#
zFe8~US-VEMRlf8_5{;5$1584+7T%JhJ+U*rk$Z6)+Vs$&%ct7P^m)xq_edKB)Qy1?
zXk33Z at 3}K|B*WQV-bCDx9=aQcaGJ}1rb$|poF2N!PYp=Tx<H@>v_G!%@o<$76bZUP
zjxxuVEvwq|AG{)<QBs?l;k&D{$A6@;=(S)xBW}(sg1?E8P9#nVPYWnTO>AR4stdEs
zKgx7B+JO{@=hfdo**D`fH$tstWJ^qYRw!ZnSk7~bYA9=%wN_f96ulBmqQ;9>u7;8-
zrupl9x8tVDPFm)xGTpDbZQ1SSw4qg19l8@&bCEWE2sIILr`~4{v9nY;<My$h(4iu1
z+hlSCqTSDz9|-kQVY>G}gG(K(@D#uNq~KKFZs)llCFE$?ss`OgWy80#@?~aPQSj}^
zl|S657I->q<*ntKH!a|v6{%GALkrB!{phXYm>29**wvl9*}LMTY)n|d7?#3kh8Bh(
ztB-W$#1M at Lz66f#QA+W?Dt3gzLR#yOZThZ<DY5TD3%!tw-rPH_pO169sNXGlmXzyl
zp at rv=)kX{ZIya;$Sgha+8E7I|OZYy*bb;RbV<^PPe9DBGAabg$65%InE)5S31ubUG
zgjQ@@kpAc)Nr_2WYK$Ei$(#{dXe<ZQQLEU{?0T<&^8x?wMPAXbs?Z%dA;6cUYFbeA
zQMoJE$mA5LqvYga>i5hX6`bNeW<n at k#_(xXBIajDFeMmr(T&S)y)+uh;&*1D)9><3
z`6zG4{MoxE5>UUlpwZromf2E6%G>#&<?866zK<{19Zp!|T~5yOfnXbn70z=$8mLIP
z>E;<{dCv#bjdNf}ZfXe^Yj+#gRV5mQc<{6+8a3>Wb68_Zr}OfvA^wE*N1<q34(LdD
zHG8*7Vsabxdl~prEhALf%uhr|r(zslU<VE$*J;iNm|7|Akkfl2HO8jPm@?u+%e+C}
z>}66FjE}b`Btjz{1XJqp<_aaI&3=!chU0u#p~?sVjjCA2@>dr96=4r<7EItxtk*{C
zk9HQlE>a$9h|@+{Z_3a~OFSLsseqGt7dl@}Hr&y0i4jdCtT%v8V|bcyG?ts(`ols`
zkUxS)N2KyNcF09Buk-kDxe#-nA>~+m==?*n;pT>TMl_DFUIq2?p$Yq4xVV(1%tj at Z
zEm}g(4YEwKjAT(E!b+nfYv6otTqd at Sr0+PZnv_qC`oK~td!;2zr2S&pP_^#t<pZ|s
z7%O!C202;@SY90IEtLvRZ%UWhB#!d-^cqWE9Hz#&zBQ!8GD7E5t&&dyz`}QF_+<?s
za^pHqwUu8A`eZb=#!wIHu+*q#8)>1wJ*4SnwnjS>I4<C99#pYk&DwH_DN8yqN5^hd
znZ?eRO27Id7hM6O_Q0&WS<fP5x<2NU8!BhF_g!1b;Bk%vi(fe2IeMsEPmtT0MVP!+
zhp?Qm3Sx%$`!f0^r;q$`dC;;?%6U#n2B`zLR!`d_$|;~`0vj(&)e=hGAdeC2d`@q;
zIS}|qG%P3sc5}2S=68kwxPc<i(L+Nb?g?)k6_4~F9vn^R4V@>Gmm|0pt)KUC&zg*8
zd at o|L*^!%xzhK+mGXDND4Ziv-c1A3o{I_zQrk>z2Fr1|V9%tMCU?N|Z+2s2lCc=*K
z|AcHC&TKk`tiDY!BH;1#{g at Uvuos8$wEF4$jPof=_ek~;MV5*Oa^tK}6Ep at brFUn3
zT!%4a%!j;b^?Ol~CBqrRMY<l at RL_dtxW2p9?9nR*3w^CW>WQZB&^UoN&2cBPN6cZT
zxhq)g>Oy95ObuJ}CfWVcoKlS+J|0K#@Pr2Qr49Xyj4p91ny98FJdK)gX54I5BiUiX
zAcVKy<$1i096b~#+rCRrU<W}rEH_T+e}S<DVA2V at yPLcAwO>#0AU_6uR*ac&4TVZB
zPfn1W1ji%;y5(=rUAc5n%)`!U1I}}mw(L9SG^g?lG8HZ-Enk>RjT&O95MMaW71iwd
zSXtG42xI18lve!So0j=2wm at RHr~KMAezP7$-_~?*+&k37IqoC)Bt}oraafRc6?oFF
zUH!k+`|=M5rk)cz&%LSNWB7a3I&!0^pr(mbTCem-<@ABd;*Jnk0{JHww0_p+rgdIH
zpVeh1SfVEOa&N*XRjJ?KKyx=>CPaS_vC*nX8km*G)zUthiXyLwgm~k>hI!$5hS`6)
z<-hXJD7U{8Y;a)q4$ssExfq>a{*7YR#WD)uQ*{IM!U9J3nX95W*Lly6hPo2gKfuN1
zKA1^ft|&M~fiV+2{^g5JJN@{E!3vfDO$iwQP0%1U7(w05E9fuhwS=@+qJ}T45|yeR
z0-lN8!Ay{PY%10AA7kJGYuJA3sBiG+Vvlq^a;fzW8E9N4p4P)DVc1Ddd;YGTfb+l4
zGnGVM*$r_<a(2geR&8-&HQP at O^^LF)$$HA7mjHjI2pEFKR2z@{CYJw95jVA!nIMLm
zP-Up6^j>A$!w9l~xe at _z?vu%5B<b_(akYAwmh(p`Xt4I?uulk!9Uoe5jvk^M>kJ(y
z{f8BHM%Dm6cLj#5-qjU(=1bkXf3ZPq*Al+ghIyQGYRTgNm4=SU<#}vJS|FGbMF$!8
z^aKz#hz?ppBFcMTS0t;oHTo=p;{-m|mCsvunitE^s2D#ZIAevIGG-<i0lp9m?kFgr
zN&|4?!n|oVH^}b8i;*ljKs&`pYuFoO!wf6Q>G8+k_hzG)uJfd at Z8fBvlwJqGDP6!O
z`{-xlX%=nTfSTfVw&z{sFa2yh8&5+pNqMp#f=hpP?8fHB{U2WhJ>89?T=({7Cioli
zuQEJR7O%5bF94|M>&v*#F{lit<a8A5(}ivn?&RSt-X3HsCfaOmfJH9_{#dc at hNh6b
znXBP7-n#shwfYKL at aO%{*`&9O0Ey{w@$P59NX)$-b()~05ZZfmO-(TKv^bKggu
zN>0)<j!xrusmkR_=AgwJyz~!goPbC}ahJ^bIph_!kly4)1?u-nV9dmU{g2qd14yY=
zB%v{tWl*=k8Kwz}1Jlw-n-j@($WX!Ar$vBGIL?qov|H&3EDj4SZ4dgm&oNxMH~ygw
zVnKQ!cw-CWMoMo_vTDwxrLDb>^W1-S&xGtgt9YdS1)CJXc%8D;BeF}=FROT}{W)9Z
zA87<kod6l=V7fgRsF{%iw2|LWZDbqJ{*+Au#33<Vh%kUQ?U};8&`h#pKf61saRo?`
zzH17%KtsZ%=d2=KQ%y|pGqC?Ihj;R%+$4-^tJY(<Q;p}*WeH6>Lb74T-;u2S+&e5b
zAQyD)^C7VPas6)8ygDCF7PTHSlly;6hl*<>9(XvlkX|3znq6EyGzxtWR=UGnS|qre
zWdTT`xcjp&nCKisT>X<Ll{)?eeDYXH9#5)3+PJ1_-9A4XL(%Vzbp+eJHN*k`bvvN9
zU;d~8<BTOs!~aho4d9wIqPQa5?<q^Wh}PYfl+WkEu)T~It(PPh9<$;b005^dJnpOv
zM6x_#Kjl%34=|+xVv|}FFj5sjXNdAC^Q_{zX~<HMTR9mqVFXja1n3BlQgD!wCEu(1
zexJRoV-MEW^v9P_ at oq5>7pDya$f4sl-9IQKM;lbV&>fKgIJpPmg7f(z7)e`S*<qwc
zw;5PPC0JZ+Nj6VPOWec3spUQdOrrQPu((AnuT%It`qGV at 3*duG)}@{QYxCjIM6K?F
z1)kyZQkLf7KW)BgkP5cpjRL(e(S^XV!(^hDoDTp)6={(8Sg+fxf!TNtExOkFj!~6-
z^jZAc3WJtYV`)2I>j8FCK4dX@@e4I33aBf6DHok6pshUd2|k3x3ZRn|#Y;K{?PZXq
zA{}z(W)EqVX)jeY at 6`viJA9ED=}UX*0GU4|w9;6sSGtU+O8QdA(7khYte;}*U)@A3
zcxemXLsdP|ZIpC!Ihuh^zdr at +1VjbW@;dKX%7ZKw+~kvV6JaewMsiv?!pI!KMz9AW
z$r%mhv#_bur{LuSumd~I%@DZ*tViqbSUm`f+WRM`vi(Q({sl!pM$qlzj3%-N*<qgI
zP`r=^e5AgcJ=h5kix?xm2X{bG0ZpW&(E&za+)nr;<oeJ1-7d!2O?Iv!82bQ at fRds&
zqt6y(<;G#@iiTynjhXzICr3Mn@``bXU;GOStEk9h02NAu0aks*yLdS(KMA0)1CW<u
zS=OC6>~0G|c*z$7_<>hSD!8J<UqQbnQn`9?2VDiT5%{rE9T)rZyc^9^%($s45fSos
zvxf~uzv~<@E)RHtt-Q%*x;jQ#fj^C-bY72~tRjC at THebu(}na?>XHkkQ5Cf=5gj>t
zbpJrMWPpW~;Q8%Oh#o+nIlz#L7b8SDv>K~#dphgRV0R-5?Bz{F>BC at dPXjnS(^@6L
zzD`$TO}+k9ElXS9Hw~d?%F&7VHFF4H#hv`xPkWFScASji6OeHF9-oA3`X+5>rtgwu
z`DfS6QQ($m#8%%X&sXoq1Q$#TbM<$c=26Q>qz=uYCN at j(ObY|4lF9#oh`*SiiWBIU
zh8F(F_IAd<OyP&K5Q5XHxcoe4Xq?j^TuDh;%xA6k(d}>)zOQ!NoF78xU`5hB2oOsS
z*qKfAyMzN1np7H%XBnnf4jg&36a=l)VVdI}>t}DHlgWn22AKw_WswjItd{?gK{l&_
zt>P^Qg)ownz`6c-SOS)Xn($?8i2Ty9*$FWtwK`8;t~IFXdV9Ifw;KikxS<UNL{l}w
zKX$Cl`|{01ux+KuJ%3z2+S2^?a*aU|^jXD)=6 at tw|2aFH?I|RZafoqt^rq5YjG5%>
zt_4cni>^Uyh at c3FDjPg~AI8k&>jlb%q38MsV9FY-J;lQhzT{BdXoXwoPpj5VxCMW<
zXBGc=Jm<Ee!^lD|G7r2z)h4)Px;FgEhCN>eEHp%Hz7(i5;Z`%?R=p2bi7%9q4b at TW
zqRXOP_G_mC#qQlA1wXN#J?_3~##P=khnjTc1^A#dA<+<}4dZOOT;P%@YIp!+Ht6w!
zHrz|3{zrF8XLsZLZ3xfP$Sq<XIKlV((|Q8egB|(V-oQ!W8E+BId=NFog=eA5Oze8%
z=GHKU;<L0$@o$<H!7Ns0x^5<#xOtBq0JKI({GY=0JCI5&&WO7Jy6 at SV=olSCSdadi
z1vK%}lhDFO>6PCD^L#9nL0G!A#6-wrxTh>-t4!2e6o3}dOm!h^70D~r+Ek^DiWMGm
z!{zH=wPs!xJ#BO0hdp<;=oXN_*S%?e1d&p^<{RBdk&AZ^1X at uVeYj1&dV>Aj*49fl
zUSscm0rnH<7nS0+jqTuMrj6nlt{PH`@gMOt8xxtOgNXKWl?le57C_bvS<ioZKvfoB
zf2?~<ep&GF0B9RMqkMbKfhz}QhMFij3A~ZwZwfhaghXY-N?i$VC)vqx-~y#MhWaJP
zh#||!lbp7I&+oPdaeyu`H%yph*Rb$l%HrST=*~ZEAxk!JoV&<RXXLkD(&7I75Dk5z
zqBEiM6=_s*`j+vEHf~IJI<$wiq7eUWt(6?jUPXak0oqWn+B-eX$`W)xj~ieI4FGul
zcHnYafAo<J346vJDf%{H+Crs*1W#B+CfWT{!D))Vj(`@L%AZ+rl$h4JxX?^T6WjRq
zbJXvfLlk*6^Peo*Dp{XatSEd!Gc^9trRUtzQE4Zm at p&Cwep5`|${ksTQp(aP<l at T7
z*loDJt=mf27{MN|FUgCt$m$+l4{%PHH;th{udZdM^!6tUrKTf5#^=b((85r$kR*Hp
z5o?_Eu2L1J==Fs6fLd?cyf!bAztSwdA}xcneXZ6Rd2pet^+z>>suFF2>(f7}BV@(j
z<u}i}N>17%7u)bHkI`Rx&0n0QP>1ZATUOQ)A5?KC^*c=#>=`x^(+AAk<}(%|REZPm
z6<}hY^h^Cte=u*`QxqGB%MVvEX#(9~g$L6f91ru=!6}jyEoAaw(mOxoooYkMdU#Uy
zcfVtrV1nTwG?OGnAdyAgdvV#1KcwE&Mg(bBw1_ylsb58(P1E2tj|~g8(sa_u2L|5l
z!(~4jnT6>I1dQvgpMT}{xg13ke;H^VVvdpucYd(BNp`dc%E_nPpXSH!Nv at G7`aLEr
zLI?>!w^Ib-uJ~&@9}6;Qd!n83 at ri`zPZcf0enILyS`7(LZqf at 2>oWFt#IiT<J{<Tx
zk=wj;;!OS;sl!d)Q70;y91TBvXvQG$r9w2GkXRn8)^(Hje0G~!RPB?Tm2y9R3rudO
zd7Q{J$R!k4_w(Oi91!)gA2M%|k2pXR@;&aV17wHF#8&QP%HkAxIhw$+H_B^NN9`0D
z4>Gb4XH%&q!t!DZ;xjfJ#EHmi<nko3=qgEw at OT|?5B6Xrk}T!)F)|s>5#J3McuR!H
z!W1!JqjC_Ow)R4-*En(dz^S%I)~c-}72S1$upTk0u-_hQoYRrJBJG;w6+z%^(b7r#
zjsI|@-)6v)68UHe^gO)4YyFYMFamjsV$O7H-Bv2?Fv=RyEHQH|kZz1xM`2n<Pv}RC
z58jzKJSLS<GHjDWcqYS>x=r=WBp=p~TNoX^1x8FdXO<Jo4aNv$0#oHv$kE%G?qLHt
zfz&{4SddPI&fhby&|Pk&ohFzg at L&bqW;N8~!Y5g1+3=^(T3xtrQhN6>eyVAmi0AB5
zx@<#zRpMzZy#Xklse9JBafEdkK>SDwK+{*5!<6FL at E7b-H#qy8Q_{YWNRXNt&;<I9
z6 at LxP#Z_WbfSPcGv at 7THWg6l?Xzg-x1qx@$yp);HDZ$NX{qcyroLT$E(pEXV`9EMK
zrIQo<fr2;v98Y_r)6<;vLN``#fdk^>GC}P5IlJ!PSJ6u)cG3a4=(AtW0uy`2cqLJ^
ziSdK{xy$nwI^AVl;>u4 at -Acwl!oPdU9=!BM-*3ErXL~tn;ys9}Y!58`Ty|{!$}5|C
zvk+g9uL9~=Q>d;<QkMH5cd9MGKQ*iP`4?Z%b!=<%{0e}(1yF$lhnuvbl38 at I<umxN
zTfOYZ^eF=en+^)qtw`b$(@fL^8RWvsG-KW8s4<ef@~<iS!i3Dm8|boKpvg`fu^x<H
z<1r>WozZ17v7U3I_Y-<rmmiU%PeAImk&|ciD<Kj7 at tnL8%nj0lwLx0IHU58C4N0ls
z0u}E8?^p;2sZe-DI(ZBd(I3*z(rkt|$3L%H*UHz7!{u-G0Zxv}_=Wqrb(u|$wuVN(
zS*-zPzG at J19{*Cjs=H>Mvj6qRoRvF+jCzUbmQAZy#?&Ym#+|@H2R$BspiVPH?ePS9
zdC(viGPR*z`s-t3*~vmjC`JPjn9Wh~WoP_aF?l&1T5|3t<dw~5-v at 7)Pkue3RN5o9
z#!>d;uf0h(i~^Yq at -l|oa(36IuJpGV?^&rX<o!66+GIYdUwrGAl{GZVz-Ep9Rh;p4
zV{H9Xy&vBy^^Q;6F5<WG(xiD6QWUpoTs8gSrjzT50vc|Je}5x)n8`{b_mg&A3fe?(
z3PVlkKx&m<hpzQy3)%2 at tV+bZX4<#n)v7?C?Qf_F)#VW52P;|(P#h<tG<14j+a0h<
zk?!3P48A>s0$So94^~nb<JN2OE2&<8MQ*GN!aZMYiT)(jEXB2FO#9`8Z`KoxkUzfj
zF)NAP9I_?EW%dk3U*c-#S{;jyxA1JZ>iW|7E;Xq+yK?MSM{e8~f at jf!0oM$cd9Mz@
zC|(U@)znkb>1Xold<_PpvskO}5D)xIh#lPn{<>X!e#(|M6uzme_uZGoZHBKvl0~uc
zh86 at TLQ;YiKHdYn+XF;B+Xf4OW`8{ID6}T5W4dHl!{el#@`^ckr*l at S%!WsDWf>sX
zdkZxo4XPByc<MWVe?7q-ZW?@2I_=HI$t->9NTZ0(+QU#MtQ&AJhsVG9__aKEKR-NN
zInS%MP$}F>7muFaz8<Su_Oz}up`~>sJK4AP>P%Z7`Qu%xC(($E?rO&dGg%A~uO`27
z)unWhcd<YO6OFE+yRP$0F at RI?fvLBPsZ)Jf?JLQ<NYCud>MjcfiY=UPlhIy31olG2
z2Y8b1Ov@#lVv2UoO1++d7nn*WGfBa4n*sxu9mtkEYT at O5x#+H&qk8=p0sc5XEhyAC
zDDl8=4b^$a3P`q*Gq)*SZ7{`6fmBpg2?LR`q>5am14|?tXbFKs8&9 at R={*6Mc137y
z>*svVC{kgeGG%G};)1|QwJaicMd~8|4da(RYsMb~9n9NgAXlYO&5i=j7Is-JO^UJ7
zY&E6EOdxQiR*S0=y|MI0;0Q+)Kt4)O;I}ogZmN;|u?gf*peDY7$VO?^`Wfyj05&nT
z at xq+2R>{jk4 at 2a*B~<Bpfb3@(2y4Z_8Jn>qlkdN0&BNqm%}2YNEdVkv=s#f}u|M0Z
zQ%(%hG8oe&y at evs-rqxY0!=o*V|D3|VpQeK+m1u2koRu&zEbl3Hy^xbO<&@8-Jkn4
z-=_AoZF%F%Pn;v4U{SIV{pJk<KQUUv{-lOU+N`As_ at --c3|gS4e>uCOWZ6K(Q=_5<
z7Ht8X_E)Pw6GE`o1Hv7u0<siwWZ|P(Rrd{Y3yU>6b>N<wIJWIIpp&eQTBTpt221>&
ze6uBRb|B?MG)vRJ71OFe227Xct8Em`!ffTzy<Hy*l+6`Mw at C9lKV)W-k9+|0C{hzz
zkDGh#&<m5fs{AzJJa)zvc$F9zf~B6o2hwvQZnj4=insXDq=#q>9f|2uY?~EuzWTKI
zlM!S+K{we+s-n<fWRsIJQm2!3 at E~@VxHO`pPU#VXewa*X3sr6|CuNi5Y+TK5@=40&
z<p&fIcJ*%S-lIp0n?Z{8onDw`$gy*cCp?kJR7X%+5^<hWxlP^JTA`lytu at u(>M1C#
z+>b(xYgXvoBp(@&0*T+56M`N4wt=F6bipC7RT6ojh(|Fe$axjkolGld(RVIe;=|Pz
z9zZGE?e)Iq^DXDr2j+kZeGE(_`*o;tHEY#$;d$#Ncvr%B6i5*DiGH at F`HjNOKTB}S
zQ<jPp;%yXh`8B}!#{$LWb6D}BhTA^6$QLRjQ$gZ{$ciXqceoG|WgF<aBhpTeV0#Yv
zf!z2n%ZYfffvbtLx|H at IH|AJeAL}@QvrP-oxiQK(SA(d=cbQ9s`DHxrZccit8++_0
zZKkW&`;J@@Tlf{9fWsPBf;mo>T8(N}rjti6WnlMry{8nstxR2t^G_JBMD#0jt8W8}
z*DRgWR>y_)Ind at 0d(EoXUJd^vSj106`H~U2c-=q1l_1RZsMm2g)h074wXdwD@#Vpy
zq<XV1>hi`w<n5zBYRL;%LTr_6G!DAVjYW84SFH(&k7xIWaVHmwbHVb0Mc0kC>yMr~
zG~4mDwr`&Le*WIHa1T#tB5L?(L3l9`OW%vJIuL*+{th-NN>8vBn0o0XR&;^L9qc#n
z5p{qEm*2<Pw#0NdA at ne$l3$61vCdfIdXUR8 at uNjy35ntjPjp8jznK8DAMkM>$vtm3
zmn3TJH}XR>`7OhKP^OEcNg4%HKieP<$}sO)pn$X`#2p`x$Ht>ENiIf1T4NwZSF3a)
zKO9t5&Jfm3s;YI5ZEvUuQp6?r(xUo9xzAgF;E;=>K)y^VGn=l0WF^R?sU=4s|D4^0
zp1sZExbGtA$bLwYjgA9Ai`{=I$joSLKljhFLYu+^UF!FaOV4~1U0qAA9IN|=%D3?i
zn$Ks=OgCLHN1-xAgJ6;O3`VxnbulgWX7(y557GD%-B@!_r!vYcw%8T!@;KazLmiPc
zOx)vHsSfI&ST{?-%;4-SPH-+zIIb!iL3HImtV4tk_;c%8e_TN>wgca^gw5+*TL-P@
z2|;2UJumt(lvD-P!qzOjjC~kLkAlC4g;z;tmAfr$rL|z|*ZAp!fptyq6-U?d;R29d
z4;ID+!S^UE)RxTGn9ReQeLjhR;P-xAqAj+fi<NYFUv_cEP5$+3Q&-7`vQGR@)30GL
zgb=z5;3=P=WVj!rtj#jddE2jNn at T&_uj7dD)UHt8M6UsKr$nF$EeS!Jti|hgv@=yE
z)PYO`4!FrrPhjqK7XMPN>twC!`_TEaD7$9AAE=&YD-mW>o}M64tT3TP7bP~Pc%tuG
z6+2D?Q at II>Uw1^?{9A;quNM)5kjK335Oh>h%%%=K!3rZLrB}o&0XqZL{W7Z9EAtYa
z%KKyYT@~_F(~mNnKIsXNT>VbJ at t#bwCve`j;-KKV7t>-Mw#jTPkud_WACb&6HFbbR
z?SS;+JkVxk?zt;>-?8G7OAzgj*fvw(u>JFRrsfbDfrwT7iN at M@P$l<V;?u!Cax{eG
z5j-uES{7H97qsyT)}V)4_0v8J+c>Fg6F>?EZgf*ODAd?WY6%bNFJT||lb)q4J|#zc
z1Kxlt#}^15Hs9ChR)7f5HwTsFI*DZ*eyxqXJO)nN{vs_CxT2$7U#OJYfAs5AHM_%&
z;DLy*(~TAD%4sS-bdhFrU6pY)WeHRTv0yspJ)rgt#4AW8xoobuMFz>{KC<&%_M{${
z-wL4zkdxveX2OZfQQtrsNm6BE3pgpLg8th@{wLD5lwJ~}1SI95mcQvr%S1>cM%zOp
zzX>hWrGCeN`lZ?>j at wuhK&y%u&E|1BLr!wK=Mn8i-auIHifAXRI3{fAVe4`MIXV)o
z^EwM$5TJh7VWgz=K43J0o!>^~nGXMNYzN&J*pf at Vrx5Q`J&0Uf2C?S0OrGhVAc)fs
zuCk8OU08>@-QZ~_hmkyYKqNW-M9I8w)p-tunHSBKGe0gkHw$s3zD at 3{I-25gD1Ob7
zs|41Xe}L%@yU2Io>U&w?K{)mRy4Da=#a^<aevkNRn5Gw8r)0sM3U?UW!^!in;V9_-
zgvn_jFag5i{~<g;mFy*XYRtifKU+U<=Tg9Ix{m7$Z&UUhL`jvzXpK)kPOlSbIWB0Q
zc9ighZjMB>Euv?yInHTxvXo(;WX)f}94A_gY)ii at KZ*QHf_uI7ha^b`#5ekqLCj03
zsEJG5!esZ-^f~cw+VM9=^=!q#Ef%FtR%Nf-Ya2(6f3BYF2iE#h=>&ASWTcEm7k3(o
zl)_>BXaWD2=<IF^p&i_aDS)$wA~)lVz=QV3*01U1;6Y?Jc<^jf^Dy)P+<tM;6X3bw
z3~5VC0Nj8NdV<*a=(+)7?koOO<%rZ?V%3JUKRtva)25XR?hL_jr>wEhPk8<I{{SYZ
BMA85N
literal 0
HcmV?d00001
diff --git a/Documentation/rotation/rotate-90.eps b/Documentation/rotation/rotate-90.eps
new file mode 100644
index 000000000000..363a0d281a0b
--- /dev/null
+++ b/Documentation/rotation/rotate-90.eps
@@ -0,0 +1,118 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.8 (https://cairographics.org)
+%%CreationDate: Wed Jul 12 10:39:58 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 0 349 301
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 349 301
+%%EndPageSetup
+q 0 0 349 301 rectclip
+1 0 0 -1 0 301 cm q
+q
+0 0 349 301 re W n
+% Fallback Image: x=0 y=0 w=349 h=301 res=300ppi size=5478075
+[ 349.2 0 0 -301.2 0 301.2 ] concat
+/cairo_ascii85_file currentfile /ASCII85Decode filter def
+/DeviceGray setcolorspace
+<<
+ /ImageType 1
+ /Width 1455
+ /Height 1255
+ /Interpolate false
+ /BitsPerComponent 1
+ /Decode [ 0 1 ]
+ /DataSource cairo_ascii85_file /FlateDecode filter
+ /ImageMatrix [ 1455 0 0 -1255 0 1255 ]
+>>
+cairo_image
+ Gb"0H5n*f:$ii$^VAUG"PUs?pkfcBVGMl&.VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():
+ 2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40
+ >():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh
+ %?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<i
+ DmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y
+ [F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWe
+ kU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!
+ &jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i
+ 9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"
+ -C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPO
+ VmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S
+ ^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$
+ 6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"Shg1f
+ r]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<CT"S
+ hg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7Xe"$<
+ CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!#V7X
+ e"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(SO'[!
+ #V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c8e(S
+ O'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>():2?c
+ 8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?40>()
+ :2?c8e(SO'[!#V7Xe"$<CT"Shg1fr]G$6u0S^pPOVmY"-C$i9N>!&jWekU"Y[F<iDmBh%?4
+ 0>():2?c8ZZLTr.)5-4~>
+Q
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/Documentation/rotation/rotate-90.png b/Documentation/rotation/rotate-90.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a71eac944b08e3fca24060c0580acf3ed073e95
GIT binary patch
literal 9163
zcmZ8nc|6qX_n$GM2u-r2K at CX}GAg^4L9V0_Bcus~WQnq58 at H>bXhc~?qR^tO*)uU$
z;>O^Tkaeyyg+vWmhu`_scYFQ*=+$c;&vTx0&U2RcIp=fz_%U-a5jhbQ3MFQ7glL08
zp+n$b*;*l3dBgPl2>-1MIN}%tfA2y5p%1Cv4TZ(c7fneQZT%@1L&$+1sF08l4R1f6
zAUAS=hlYQk=iRS{awybRlm+piU1-MSVA!;WN93n(bE$q__6M;J#2fcF%KR>xvmv|V
zme;1{DlJQ!dpnbbE;H1r0vZSQ<6m`O#|*09B$1z_ at 9OW^d{|3gZsW}=w}I^<yS7np
zsJ0$E9Q`SQ=i?pCANV>PI2F`ZJ;#5#C^gt#IrUOek{_^C-EOo)The0k1`R{KE0UAy
z&UNtlbYgY#?_iWg|4fsw at NpBzuQru@4<fE3c<pS$sKzBHRH|76-B<WT9qFshoRI{n
z8~zYCsxkX2{IT)HWJ*I|>LNMhj8*@(F2$6ZF2$njw48qN2T{cX52GBnV8biq4-I-&
zTk at Z47C)WbFmBx9GG4JH;?truV*2j(69 at H>y#8+KZt1@>B3(%a at r$nlQ(yQRO_$d%
zK45)scI;9Dn!b0bl8;vO1|6~A%9_KvBw^_SV_`ezM!lB=hoAi6$qt~RI3zxBniO5?
zIehYLwWZN5#uloraJ(j+=HkOWF$YpvyK_&n_QrNZvBu!Y2RPztkD8O|wx-jDpURsJ
zdcdh9hKW#{X1p{i)%1_myV7T>EhA@)Ia^|9Qw5sr+p_7;2Oeg=VPErZt4;mt7ac`3
zEDuz^bPJSmoD!u_^+M}1F2HY8cYG at dSyU(ZRW%>(@97rL at hgFY&Fn19<MpzjAeVF8
z6P2LO1gm?Ib%k1eS%1DRS_hZ$D>sGSFOE7zWZn;!y>tcWI#Y($W;n=B5`zZkp5QFx
zVbh0yaGa&s*;g^IlS`jq)I+ at 2yK@ig^b;PIPRW=xNbWMXX at SL~?%c;avm&GMtp?#%
z8(LiCG<Tpwq`Fgy4Ql7Eod|~=@$TGq>RXYV`wIb=nwk^4Ho_*832OVMZV7>7`5C6W
zf#*H985X>M#vAKH!6Ha{NvGg`H&sF%CSN078l7rK&ygm5?VQ(_tja5nawp<!_2PDw
z!m(tAgg}c>d=IhV18CnRrADVwn|GVFSns8n9`ZxZ78X|QQFZDC<_*~LS5L&@>LA8~
zZSz!T2&;6;ttBv3<&`PxlgLE7+jK4SG8=v$p!j81=lxKM{q`Pv;lSt-xjii|=^Gde
zyU+NN%eE9h3dG$^8`ZE%2|=5v=hvy=>4oxUId0XKlFEdsH7OFZMK at _iKHQGa!0#V#
z*a?`PO=e31&vrF+&|t;=l+b_+$yEWX36}5*%vDmAuqvjTqjd`9ER7XaGw;0R__g!n
z3)%ToWd8Q`L#Ynd2%ToOdCUjUvWXf#^R!;l)xUsG5+#c9{r#K~b<TmFv+eo7_Lp0#
z3W`@$+H2=hfxjv?^V)Z-a<m4WHh7NP5kUHy^cVY?YF6a1M5y(suAD%NOD9E*x+FTW
z!@OZz`75s|^$-h`J2xSQCz`WHrzf&f^K!$gr$t}qdsdI=gytH0L53-B1LJ+LkoSm{
zi#7jI{panBg?G)4r-hs)8p=9^IQQAimy}H7>$Fu7=GngQGfA!WMUteoxT at Dv{;1l$
zvlG3IygS at 6hxqOMboTNgqO+KK=031wjp at g;wzG}@u$->WIBRCLUl~kEwEHf at l8>Ez
zjs5nbkE|1(Qj=TY&UIn!#5Bs7H)!nT%^dNpl>{T%m9D=O<w7nqxe^!MIoTCVZ5;?o
zE!%DBU5L};-&^#?eoJI8n~5?Oxxt)g=lSTpPWgO|;t6Wg at Zq2fm17CR%S-Z>3FQOZ
z#qKcnn>B=;kDQ#l=harb8hrVqU-*h1Vf91B$^qhlAWrMda<lKfv>P-xs)Utmh?808
zj||MR51Fr3VSFNoUOcef*Op>TEH$#de63a=pXscZL}3M{mbow%Bv|iaJBIFPI^Iul
z{F+1=Cvpnw7e{FGgUya*@}f#3J6UbM!ig#awZ6i=nQSHje+;9c7O#1oCPU#~DG$m!
zzik?uE at 7tZ9o~(OuJ3leX|h&VO1Ct4YjX8&CGW;ZbfZkvdG&bfn>5dp^jtJNWN8v(
zc#XY`Ssb+-dt&i9eHYL2XcBkiD96e$_<CO}U9eUPTZy^rMYr}_AVm6VL_gy4+J00U
z at b=4qUF3UkuV72o&%2YC2l5oly^dGAu3^?uHhBNOJG)xXtjL|a8b_OD?eX>O=oU&|
zvexEZeQJ at r?j5h?Qz0r!vG>{J*2POv_jh@>Y4aY3E?)>&IQPMHFep{WRR--ZL|0|k
z9tnCi**oHS&2c4)6#b}?_w`kG>hQ~GvsDM2HZZ_+=RTt8#&BOu864ZPDm}e};rL=<
zuJ<}kq9d_=>p)7Pjz43;my=ZQ<$1<xRJT4bRmX5jz)vH;P9O0{O8fvJRTxx#6;GIY
zsApswXh96kruZo^TCRX{4&P=d3K#B-&lJzk$9ZNW`+Ro>gpeamiOj0tGz$pOa!=XJ
z<O2UEVphZ8mmea2D<U{qgAtynl2wgt;lD;w#<_8})SlfyE|rnc={)yxhRg|98W~Gg
zvciD~N8GuoG3BuxUs<b9aGoRJer98XEZ^AK{g;14=6(f>yLpr{gjrsoeoLqI7Em(R
zJ?{W9Y#0mVX3ya)H1ly_#&vSF<x{fW=rg5E99A=5p0W`kqe1XT+e?{=QZ1G0HRPUO
zSkaET>NS2hHm<L&1D(~*K5sy at c0n!6q_?2_$4pR70uV%W8r4HuyH+1o8~>H-BxpDg
zOf!a<qBIhkzV!N7^y8=~;<7JgXy{N`$w${%<&(D=u7ZWC at e0BjPI_&m(t+*oegxm2
z5s$n;#GN!?S3$5jnf#x;H#WERo?wl{(mK$^I}gZxAT=Q-#E$-U&D$v>1OKS|PZvUW
zO#fMNIR39Gv_qx*S at v$>TFe)1Uw#>F{s<*1C-$h at tH7R!f!mCbGWoNc at FOz5p0Xi~
zg&dl0LO~I~R<iZ|+_1uJx5snk-?IH$j+}eDMD>^MmcU3mv}x}uz}*9Fma7mHA60)1
zACq4kr-lADdIU(OcEK}de*d&39P{ZUov;ty-X#DZ;6MgJn9qaL=#00YOyE_!J-GK+
z-k3&6S~HS+FCYDuj=XgtNqE_o%-3V>OfH?V_-5$}Ysb>`e}oDYmuMO9#b=(>>vUev
zZ#fbK1~VSdUREf6p>+xZfMl{#Yxm!pN?HyG6+O)SK{9_%Hmh_>2?GB39d^W8lKz>9
zgG9pzl+0St<)vekC=rsY>?9_`R_~Z5*yD?HdZUCPOZ>=a`Ky_mqZ)a)wRxVb=6Y2x
zW9Lcsn>!lFsrRNV6PfNTOJ0G!7(~MHeD**Cr*z8Gtij)o-n9kcwuSAFN!?^-fbmgl
z8WU at Au~B47R#g|T2xBiCoz#j%PBGcc1n$hyH?OfJ4y}ff9N!<xvxg`vkwj+<Zm;i*
zGN+GLmBJO9n8{ir6}_7A&+3k>EkGzseNB{bZ&2SN+14a|q#{0d=r6X@`^Bq$yC4wG
zw!UVG`Cj|14;vv^<gmW6lzctMwCCVYAnSH~w?MSLEJWZp94n_~L;d#Q_L)7=0)}Cy
zGHb3)D~5H$Lq*Q|ajaNx9~VraGZGomP6o$`%-;)IB5fye9JmfZPB_&>QR}oM_N{f-
z(M at oZzXx|!2ytt4{!^T%9e3va at 1VJ<6wF+5x6(*#`K$H)UBkyItzZ^Dj4;svdvY17
zN*%BAz0?%^RksQ?p9)}beXU9>V)3&>UGL{4RkM!jLC&?`*<6@>+OtOGdy!gFqctUJ
z555pZzq_vwGe5=3vZs|iDGnwPmn-vJo64g7RxXWQXw at 1q?GMGVRvtFNdp5r5kI9L7
ze9Xxehn?uxT at q(Tje8c>>Zb}L0sOo>SBTSv{t$=HCiJW1P$2xMF~X##L;meYatME?
z(1yoJ(VoO*`$;X|fOeP8-ZyMT(_a}&KE_gMWSY&!GH2SUF8i8#wL7WNehU*W)X1w+
z0GxFShlH7E-O#?p7V2x($yZT-vLoI*D{jHobPQ-uJ6P|Z?0FcyZT({DUC_MSPJ$wx
zCP{7oHetRNy|N2$%mBaKP~bJL!ZE>h^Qu2-c%S#+eu{Y}nzI81j%AxXs^LAr-#&dC
z$!eh<lUn5vry5UDRx<uH-wJ8WMTmVF)ULB`Wyf?v?CdAh<F1=F*Wl0>EBSC|5krz}
zmK?Ud5a<07u9w_KsDrp8yF2 at RCL=2QQ4g%${`eD$I&@@2Dk6q`J&_ at SZs}dLJb?NI
zMddbwiimI6)+daYR)_%o-2R07t{)SKIze*Xh}A5Tr))xK?;u2*ExedI7(_0SS2LFb
z1MSQ`B^*&vymFUyJ-KxKJzxqCVA%xS3ruas3ft3l?2rqS8N+DEr$0Su^Dg9=0fI$W
zmcWxn)ei&yOZQ?dY%Pvp&5zJ}pHVW&B?H^7nCxZ204ws0@)?g&-NO*gZ9WKcQe$VO
zuosAvT0Dpw8*edIkCm<(4~oxBf2kSOut=z0JAaPM57X(%MLag?kvms~6Us at fpMUui
zjs}5wbV_UUp51A$ni9{?!+ExWV10cx)M(9r!BL6^tfZ>|99=oj3iTy^aU`@m!;9G6
zVkka{_z~%P=H#euDMIH=3w23k0x6NoU$L*k?HG4%9oiF;3qT;ve4IC=4U4`CQEHJ?
zw}i*^Uhh*7!8-SWOY5Yn^xDa0Nnx#@;k?a|U3B*H#sE`tneg;V^97_@%VmTa1ca0M
ztuBU3esF9(n0fR5cUK{+*L1T>jZ$iqTaQytn=X7=`dKQSxAjc;_C)5i6gI9;d=Fl@
zT>ikla)D4OEx>Vau;1#mc at w+c`)-UDE`+}7O3>M(&1=G5Fb-%e>k!~Pr|CwFk0%ub
zI+-O=rXpGUMSdaHhk%rG9h-kvQl8|9pM_Lzfx2L(4Jn#ToEa}va{JiEUOwKxP1)Cp
z5 at n1p6q2^yVkE9BGyirmPeJm|YHQAq2qS`ow?V^2>;<F07i$v5LxU-PIIg5wg9eL_
zY1CxA2>U}{75_u1)^x$@`-C>HuQ at U5wS?VXB}Q0i|K{AnH|#9)hMlb8O^rVIk!r at m
zfk|ghCJ5gG5oSUphaY1*{wORSw9l*Dr26u($!`4V;|A;352b{yo%d+nDtRvCOl8I4
zBk5Ue<{o^T+eGP<L5K4kpT^E#T;SdhTn(ixj^4q>(FpGs>((bNj^Q{7F`iaVCK+5}
z>&d;Zs&*?`9KOYn=s4egXXt^eEY|u7qY2cq4crCeAY*2o8|LW>Nyg&UrHx2#v>-CG
z?bm|oT~#GS3uV~Lu4%pY%%J-(FyGGU0*tXO3E*dm84B5Pe!TaC&HamcH<GazI8O**
zWI6(j1^F|V$YpD*+`EeW;mqfZbpv)J6Ky<w^Qfp3?7)MgXnp=Z2HN<RbJ-W at n5hy>
z*5zx)|9BAQX|fRv<K~b^bI-&nEY>`JWDVd7xf1sB&e4!D1Fh`RDfs)l3)t!E`bC~B
zQ`5u~exJO>xa;Njlz)UA5lqBsv3nqb=OwY1rHd=H`ou^Cb`NCCyu$y~Yzp0Rh(ny9
z42h~k5`p%C_=ihi#ZT1<CgRSvvXi3ua*aN)rHk&t8jPJC#eU0PFs=qA?f#1$of9E3
zx`yR}-Sb(YhX73gn{W-GT6<FTx+`;|o`~hA{7iax+G`O9$(jfPsk^e-%i5!*Q{kwo
ztO?#JSf~xbR7!OZ>-7ATs9c>e^&rC5ml~&Zw(`C4W4KEG7Q+GJS*_x9=6mBTSQso3
zsH!WD3MAsR at 9sbZQUV`fEyQ*Rq)*gpri}$bs_EM8iE)KUaK|wtvJ$o&)(%o?y);~^
zmHF*`2&h_Lg;0lbc9AurZ_fO=;qHn+RZj8BBU<R-4~6p}jIhUl3$6akOoWlWmwxbH
z)O$q>$(R6Uu<6;oMnN?{OByRIaT%Ht7V;^K{Q{q)%nTqtCv-x`!(zNPh#I{+Ur|V1
z!w8C?TzU)pnpcJAZ=S;r<_)(WYa;Svkitk<B<JN$=jX_tmH7ecY!3eHr`<9Lg&11s
z#?iPN=!|rRgkLpst%)<ru%tN3mvY)T60mYEJ&u;6nsuZ4E?21E$x*kHsI&>&jy`R{
z(|i)$%=WLuStMQ6!2b}?kk^VbrwpBvn|VH<G&0Fr3RPbPas4To9cR at o<YI$jIz6IH
z(D_?t?hpC45F4I(*A`sbGA*56_jF)=h62{#k8oF6%$B&kEx?&vhSt>}SbiFciK-1U
zkqX at uI>{|aqg5%)?`w^{XgqLspM~5FTCZf)dDi?4o9W?{Fg0ip!r8!S+&$Mz;88eR
zSfcpsgw^__+_5%H<_XfOPC&;Gg at LBP=(Qv}((t<8BfP at XNte~|D=3nU?4YRn8 at 5${
zINdm9NhW5PMpN3aNo;7LUWw84_mTK5>4gS9c#VeeZw}!Ro|KgUmG-wyyW<Je9`x!C
zyarm~LG}G(s3|`}nzGoRV=RK`L=VP?vZ(x0ZH~R1N}E^W_)~8`PT7xI-AO3&*JLQS
zS`%?-=1Z;1sL=kS6>j?`T&f`>?8TO7PH#Meo_@$?){T;qbUbb6h<w!O<o9I8!prxD
zu9_|KTM3FN<NjcA3%Mi$)l;Us?m&<W!*T3`@Y5t6d;Ex&LO*4w(=2^5%`r=$49wEh
zwufAoM2QP~@s6=@uiCH(%xF?yQuj&midgz>LXfssJAc2@$d_v4Jj$1lKJl%2M%W8$
zM<>(Fsg>^BS3!|q500+jIQN1gZ7ez~OdIGd;hp|X&S{MO>`x2OKgbQvI1*HlKUQlR
z6i7M!)3fp7LQpm(p!{3e*SJe^NYv1|G}@=;tr4s{7|U1~B{SO&ag5JYdQX_3S0ZIK
z?>p9%Orny^#+5m*V`mk${+LW_mF~n<>YeXfJjqy~lV8%5*WpLP0GNA8wx%X?U&@y<
z`n8kn{_F~73-26G7`ee-W^1{&gRSbPV6I7b`#;jtBLJRIz6oeiXu7suHO7s=t0mVx
z0`b9m4+iZVb`kw>i4iuadb$UWb(|7lW*4t0fl8E+_)8-;pjol8Cprf{FAkk}S%DnW
zDwi)6?|rFNt4}c5+uQ?A at 2!)9D%zDlEWW((#B~73Y>T7uH%Is|CAE1nIc?xeozpJj
zUjQ0qF%+L+5$D^6^fiVx<G-R(x|@-kZV?-7V=RT^Q$4utJ|3Gd?ob(nE}P<sT26=Z
zVkvw1amC>$w>8k2$A1zj*xV4<b97P+2bCqgw{#LUo|!k9)+1wPvL at vu{X<2(a;pQ;
zkim5ce{+M)ETt$wmEbMg-MKs&{K7{&C~{H at VTyUww~1MzwYWVXVpO+oB(sM50nJ&4
zy0Lc*I>sTU4Y#R#F^!MixxRaO=iflZXn2cpxaN}^FeXm=ir|z;k%=A(7pkW7Z+tgf
zq+g-wijbUT2d(1z_uPfxsAGvOk-1WrKSO6T%PE=Ai3GIZ%o&TFwf at _gTX_jyruESO
z_<3nyE*{wf*<Da$i<Yqw!9S1T=>+DKUd^L=Zt6A>b+*%M*@uwEV803LggB&sjpFz+
zs`CPKeIY`78{p46q)Yskqjee(WD(B02F~`?zK!7nqi;L>y&*G{iD54YPXDO?jOG-$
z^wZx%6EYW#KP$t*+^GrlpbU}pI^&TGdN;F5MJHVER~H`jgx_`>u-DK#WX!gBA8Rr^
zrPrB{Bws7ym-Wu;)K%jhJh>se%+vP*_Z7h^0msSwEi)gr{{{hlx8cRf)4^;fZQei4
ziCiRI?ZlQSO&=8UZyGqR*O>vdXVN5N4vS0-XYcr>H$h^<pRA|#pRwthYO`kzC<Fk&
z4RN$soyTs$yW%z3Y)uEcjz19p(}EQzI$?5u0dG46{HUBF8Y+?;Wqq?3o_8KjRuYQ^
ze0|opM85QiRxO at jVyoBrH?r-0Am{J;#a5jio|mB|tCNTyIlzgGJt5FU;YPwKq`nw|
zH)ct(3S+;$U^5E?b00v4x5{>laoE%yO$-WrGzW^6+>RGVX{g6<BqcHC0J#H_$i0pQ
zugaMiM7(MtuQ}1I5iYR!<sZiujPqUs2v1*&Eit*`e>3C|#qUWfWd=yO`NvJB8Hs$D
zWh|7yp*Ey?k;a%ycTb^G?AvS*Ir2 at xL+a$TPNy(TiWrZjK_^u;f}w}Vk&%?Bvf#8+
z2pKgz9evtWmcNN)uXpSu at Kdr0YyBv!=k#+!!c;!v at jm3#DbX)3q&gLXiL=2`Ut|xV
zT%Olh|5=9hE%`$k(%pg(YQaiJf3PL+D$>LH0CULgmq9IU>Mm+!xA<K1hB=A%d1Au}
z9amENS3ec^Ur$7$(Oy!)hldjxmEG*OKkw3&3B63_OX~C_GgRTKp*Wg}AYCnfAF9cN
zVo&e-S+bipWU}r{{AS(Gb~?u$6M@=#_ at 3|=C(^2Vz==`ydk`MR3uvKxTL+UL)hLEK
zQT(3b@(3X9%T3st&ht$~GIJN9&Q;ImF}&^K_{B4I^^3Eth2+wUbSTI}@FQ!R_m at SX
zLMN2{o6bWSGM-H9T{DjwT{*>I><1n!fUjCTOlUBfFA98O;itlN+N+q`qB%Ep`u8Nj
z7Dre+O{3lOu5gpy)cB0Rt4UV6ln&H2+XTgT<wwhhS`Vrs<DhXSP4^F9xF;W%#{(Ac
zNn;HJ6y3r8#gdg~kp{uUF+uU2`O&wzaYvEf#U*<pZhii)c!dY=>0woYxkJdB4N+aN
zQ1F+j7eRAH4X!WLUl)3T%s0?+b?@8<g6i+UXG-L&$M5Sn-(+Z~XM@<kz6V&5Y3w&C
z#=`67#LI7>^{{sb`d^74XEQ?DjEFnJv+5e#sJo9a_3ZAGI)up$ScAWv4Je=LLtQAR
z9rSF9z$agfkT|1|hC0r_^OA;51#vK2gT69%GA&%qeB20L=@}kRRih4yAf`UnoY;tn
z=W9uIfW(s%k!9CPh2N0O5mT?!A?)w6Bp{iwAgzz?DE#GwY*9Nq;Urzh9 at cyv*W(;X
zbr{kqy_R0b-eA;hUmJE$TX=RyF!cgp+BGYeS)q=U6(%L~f_t@(aqyZpAA>(Gk8R|9
zi=73Z>F6UjCPFHFilmi)rvX9*P<{t_#cQZMRlS{U;KSVv;5|3J8x=0oUG#=6(IZZ1
z8wlz->U+QX<5QNJWE+x6w}|GrqM97&gdfnuJVGfH?ykIdm=A804Q>>8jxuCVXjcw!
zGP4o;ACF)N0^!6Pv>dP6Vx7UkDtUr7vTz+70_H`(9D-m0{N!BJm at cbd+~HNImV<?w
z{U(vfl-7k=848!maMbH0!kU;1 at yi>|WZGK-FC{%pB at vu$Qyb>T?)+%!swaUd*WHnZ
z@&9uOZ#=x&RTTuDJ&vgUc#^TeZ%$N6fum{1gny{zM~my$!BH at Oz>B)Se-|rIWKE`x
z14le*Yz<2B{=iN(0<RIyWWpKQHdLkyX;q;0l7}4wexJsV1aLmqe?G`5U at Ulz9zkM+
z1h$0G8qEH^etv+x>^FKO9il{f0wLy#$b_qKTj3T{CrC)GP~F}69?V9d*v(`mZ&A>S
zV;oIBMh)Ooej9tsF7r+uSgY2>hWe5Dcfq=mF`q^0MyxRAnMjVgSB0BGA<kmW6~9~j
zt2EVnj>$R^FT-w2VMSvk1Pr7aVPxR|G*DNX`K&xe7#~4KfK2je0e at RRd;gTIayj(V
ze));B0rx?3Vwo6RH<{i?uii+qlXXpGxaQ+5`XR=oU%yQ~EIP6OZAQk4CUrq$@#XuI
zTRZ>gmk&MMzwI|j5$XQf$5J66%)PV9Wvul-pi!;~@!xM({OKfyYr#FwQd%#%N<1`-
z91%uQaD{QqUw{ev1Jy^*u5N3!zp39Gm};jpTY3E*WEx9t-cWO*4x)|%A`#_)s*!4h
zQvNNdC<Vmd{$DS;1eH1hg;v(r?j7o64;<IL$puO?YPS7*CaC{O89L at bYWHp-x_bUF
zI^(!r92YuLf(M9(Qu7n&4<3v#=(eUSLiDGkq7pRo5#NLP?E+XE7Tbg>(u|K1P=AIq
zKMc4?QUjlPh*$X1-IOxqNJzK}jqNg_-kRblD at s&Vu&fw#(yWRBZta>3xqWNeM7Q
z{Nn~~2iiwC-nx}-;B1hOLSc>~-vaa_qrjgNMpWooGQW?_WC8(XUU;9To6Z%re9PZh
z>4pRjt2A1#Xw^m5{2c@;DcpqakX2?-%wwtU)lBXSZ8;2#RuAGw%2^j;Ve~gYQ+pR_
zxT_F}U)DMAI}>r4GGs$YFhd5cO<}Cs*x7agnUihVSQy%_+kh>4R9(|~aSr3(!nOhp
zH^7vbZQAgG+7biE#e+MiW^S_v8Qr!C{M%Eckzu==IzCF6bVAmM+P}vQ8j6i}#4iF7
z)bFcp4iqj}a~^;-Iag0qJ7fSD9%;+D0g<c!&sClRzG`Gk_wNxE`4IFoapWO)MYW-R
zCJx=2K<RP-MU6*@%=rI0O5S$Zqk=zc4k+oDo7ltw*AW?O4J(URtT;392?0#5<S^I^
zTE$PbF8 at I>-~zlt*2b%8q_q(ndh at huwFq@KdP({KxEH6CIi|6*{$Si4f-vn at h@*YN
zsEOuSfjvvW5D(^w4>SMQDW1Ym9#p`G9*q~7uL1=@`Wg5>;V|~XR;Y>u>8<P~n8-K5
zu)iIUl8&qWF5jm77It+0-6Jj#pZG!Q)8FeCCA=%nDFaKlX}Tzqi|qDd7+MzqWdK1&
zSS;EZ{l#9ksD*9qK+hG2r&=KiFrODkZ5dTNc<y)jv_S&Qo)wE}v?TB{FMD?hBOgfo
zG<$$o5cL5mb%9-UMaIP_iB5!|cG$ILXM!Mp;Ud#L7)pyauP~kb^Xm=YDM1C-UzLNr
z86W$vsq#J7I`6B|%R5*+0<R5gX4AgV<}#ioC0$bi{i?-L7#at_*B_B^gJK<u?r-qN
zBKXvce>6CQEInw&t+4YLVNNfPj1x?bC+jQYjRkSGvV0ec!byXKMX*GDJbq|BbeW>o
zF}D)@L2M&#MSPchC2CkLKkICX52U9&rAK~V{6p!HbLNjy5Ny?N`LGt6isRrOo95Lx
hCQF4bLEl!<Ci*wbNo(p~!G|~~3)5r7!b4|%|3Ag$;-dfn
literal 0
HcmV?d00001
diff --git a/src/libcamera/orientation.cpp b/src/libcamera/orientation.cpp
index f2ee14dd4182..0ab342a24727 100644
--- a/src/libcamera/orientation.cpp
+++ b/src/libcamera/orientation.cpp
@@ -53,6 +53,31 @@ namespace libcamera {
* In example Orientation::rotate90Flip describes the image transformation
* obtained by rotating 90 degrees clockwise first and then applying an
* horizontal mirroring.
+ *
+ * \var CameraConfiguration::rotate0
+ * \image html rotation/rotate-0.png
+ * \image latex rotation/rotate-0.eps
+ * \var CameraConfiguration::rotate0Flip
+ * \image html rotation/flip-rotate-0.png
+ * \image latex rotation/flip-rotate-0.eps
+ * \var CameraConfiguration::rotate180
+ * \image html rotation/rotate-180.png
+ * \image latex rotation/rotate-180.eps
+ * \var CameraConfiguration::rotate180Flip
+ * \image html rotation/flip-rotate-180.png
+ * \image latex rotation/flip-rotate-180.eps
+ * \var CameraConfiguration::rotate90Flip
+ * \image html rotation/flip-rotate-90.png
+ * \image latex rotation/flip-rotate-90.eps
+ * \var CameraConfiguration::rotate270
+ * \image html rotation/rotate-270.png
+ * \image latex rotation/rotate-270.eps
+ * \var CameraConfiguration::rotate270Flip
+ * \image html rotation/flip-rotate-270.png
+ * \image latex rotation/flip-rotate-270.eps
+ * \var CameraConfiguration::rotate90
+ * \image html rotation/rotate-90.png
+ * \image latex rotation/rotate-90.eps
*/
/**
--
2.40.1
More information about the libcamera-devel
mailing list