From 48b60343a637dcff46920a07d06739461480b1a8 Mon Sep 17 00:00:00 2001 From: Jeremy Powell Date: Mon, 18 Nov 2024 13:49:52 +1300 Subject: [PATCH] Add docs from 2.4 --- docs/img/LOGO_OpenMcdf.png | Bin 0 -> 22388 bytes docs/img/LOGO_OpenMcdf_H.png | Bin 0 -> 16575 bytes docs/img/PartialStream.PNG | Bin 0 -> 4415 bytes docs/img/read_stream.PNG | Bin 0 -> 7217 bytes docs/img/structured_storage.png | Bin 0 -> 37667 bytes docs/img/visit_entries.PNG | Bin 0 -> 10196 bytes docs/img/write_stream.PNG | Bin 0 -> 7368 bytes docs/index.htm | 219 ++++++++++++++++++++++++++++++++ docs/main.css | 133 +++++++++++++++++++ 9 files changed, 352 insertions(+) create mode 100644 docs/img/LOGO_OpenMcdf.png create mode 100644 docs/img/LOGO_OpenMcdf_H.png create mode 100644 docs/img/PartialStream.PNG create mode 100644 docs/img/read_stream.PNG create mode 100644 docs/img/structured_storage.png create mode 100644 docs/img/visit_entries.PNG create mode 100644 docs/img/write_stream.PNG create mode 100644 docs/index.htm create mode 100644 docs/main.css diff --git a/docs/img/LOGO_OpenMcdf.png b/docs/img/LOGO_OpenMcdf.png new file mode 100644 index 0000000000000000000000000000000000000000..117accc39708ccc39bcdf915fa86972725f2df99 GIT binary patch literal 22388 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 literal 0 HcmV?d00001 diff --git a/docs/img/LOGO_OpenMcdf_H.png b/docs/img/LOGO_OpenMcdf_H.png new file mode 100644 index 0000000000000000000000000000000000000000..94cf3360716ac0e7537ce516fab79e71415dcf7d GIT binary patch literal 16575 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 literal 0 HcmV?d00001 diff --git a/docs/img/PartialStream.PNG b/docs/img/PartialStream.PNG new file mode 100644 index 0000000000000000000000000000000000000000..70d4e7c319abb726e57f6654ba142ab258259a43 GIT binary patch literal 4415 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 literal 0 HcmV?d00001 diff --git a/docs/img/read_stream.PNG b/docs/img/read_stream.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9c8ed4334128439bba3b8af7b115e9f2dc498d7b GIT binary patch literal 7217 zcmeHsXIPV6kamcuAR3w=f}!_j!2$sR3B5@TNC=>U3PPv>1t}3F(mPlvQl&^IK!SiB zq(~76B@te_0fL~^fbR3~{{60RcYp3)`-gJQxn|~^nYr(od7>@M4UQcVJOY70ju{#1 zT0tOCCE)K(HYo7Zspgj+@QcOY%0LHF`SsKf;2+l8SIn+JAT@~`yVnl_|BK!&!G+x>nZpOcWv+;~@vMD$LjTmA-`|K^AatfyJp8p1-Z~n7 z;QEPakr!*Y6`pbG_iN+#)F?b7w^OfyviT*?ycF57xqh(ncn~xHgl{3Q-XTGvWX-q5 zlr*#&#c#yxSu}WVSj;B|rkC!}aN1bF=C5Q3tZ_Ozz;G;jN97r<=a|B+O88J%DOX<} z&Rj?wu~!Q)vghx7O;MMvv3DDL-<;69qW<}&@1MqQ5r zx5Q_?J&riOE`rW2WPBP$`?Mfzh@%6XzRn5O9N>d+L1pL`YunIuRDeo_VS@aQUvRVB z;?)8;`pVEp6`CVmY^{6Zo3yY;pa0%baRKihmR2cHxWa zYlg=Gfl92ye2HkEI@$dvmW3{Gp`rhJNHPLOGs-23?fVFRgY#dHWCI>i|50~w|M*Mf z(!K+^no=Q%0GZI?DA0xY#ejuhn|j;10#XMUJL83}G!NC>7TZ6ShOJF5y`{LWm|>A0 zaeETgaBP=Wk$kunzpnt}m20JHd7C$SyO*Xsf>&h0D?=$i`g#Q|S1S-N6&mUe+qI-W zzUO}{XnQeRw!QI90<}&|(q>4&5z(D%TZ4&f5!nyVrFJxK;0##hr4tBMNS;QTO-{HR?Uti3&7IQnHjJ6eSqs*b#l& zBOF5f1ejI#&w z@L~DLW)2o!F&_z*fQ3sBHY;7kvzGmuR{qfq=q+<=P9rUw$OLnh8fNa0cY@+`shM|2 zRpRh(F|6j4yoGE1y=8?3-+i6G5~m01Ig85ndfqYd`9e&I!4i`DlAc3wf#HWh5pT!y z6!W{TjatS-!Ib#t@0-6OhabP~WIeQC@y9Uy8~b_<)Q*Rmc(fyOV>OPLIx_%w+{=3S z-0eUqBd4Udx^Xi91+EA_dT7bMhFa~HnIufELh~!7)8d0d?6y~glO={C%5oX<$us8< z*%tLc*t91_@xhkmv=Frg$Tu;cgZM(qn;Z9sfi%4VB?QRQA3eu+VhOz&@I=eZIe^IpMmzokaCa{8 z096hFz$npbWk3dv%Bu!$odgV1ab*z!;p?@@WC_gI8cS8SsCteE3!XF8B}o#eI}?(St7Z#axrQ1?KWEE^WfxmxDQAO4=tw5cM~P zqfdhHpaI&XmC$Nenkf%&_3&m|exO!O`WpyGW1~oa|EyEyC)!ijZXBwL+Un!$k5xO0kLG4G zgjz2qrN!s#zu3I3(3ya#on|@(nU4N5l5TygyzPZ-!j606MInMEYxM!V3Y&&L!S!d6 zQSFosLS|E`$f@?5-$cqV&rZ>?+C7UwF|T3jSGjYw@pjfT1E1zD7RRMoFKvbT>eU$+ zWk{j<+?W|27gEGqThbFVHJhe+=Z73G4A7J6tER^0#^kD&B6~~BMjQ!m2NCt_m)C|J zjZ6nQ<+d%O>+5E=*02MFSzGnsOZ1S}C59X*t+ZghZze^lr(Z8+_s5eE_31YopLE^B z{75Nsy!Pa?!A0~}dPlgOjbC_Q9{(heI*9|nMUNN@JNEu!;woX+yy{vkIf@EjH!dc5 zRCJP!Q)he|rTq95evDHgA?-40RCR~4XFkm6K)9cscUvl|xH;uyw6R^=P;IQh0sKMW z{U?eC^6qeu5oy1X$uJu6lLS0w*PYbP_hUFY>`rQnVT+&bc;5Y>qDY+B89sa|PIlW< zXHe+a3Smts^js!#Cy$1Z%tegIAnDQl>u8@t@Y=@y6!c>yn9SxZ&wC9Kau~B_YKHX| zC67~cb2}+SV`ul_sn^16rHS$#2D)n%8nIvY%4alRFq2t=9;j{kB3n^yVd2b^j9&50UL8&PRU6^P=7@yA*VGJhzcouM#8%xHFZhJ#(q#Q^27w0$g+;@_U|j-& zbyVe1I2f$|xAFgYl1UcC?@g_V&bIB;8WMS1?s8_k$#J*BxGuQb#h+EqS~q)~ZpQER zz28o~uCCY_a<0j(g5z_Ouv4|Ni6fZTDd}SsV-y#K&|Ky*Kr$`Pt0L#f+$54KHn;``tFAiKn#bS7A6qe7~5adNIVAV&q=_*~@aPelbG= zKu$xvOTX4?banVOC zylFL?qic&3uDcjS8rA${Q)-xP1~2Z(-pfE-tbE#8qx6X&XGZU0VhrpH^MjFAnx`S7 z>zEdL{;X;<%&W+NFX+AnZT0l#JL)`(Qea`X{at!85{GNPAt$wldf_k_Ma4N|n+FuN zYI*cFZKIYtX8aHLhmvwDv6-JMl&eJs|1@IKTGk91uZW)McR2RQTU)(R)O%mhdZ{xU z7o6y*`(0RW_18F|vsh_p&+Wga<|{voc1+y}X2lwrZx=T|bmbJE5A^J%CB=rcK7x_# z`eJ3mW`Ej^aK`G7R25eGs1u7327GRR|@+}Z@E42$=8fR2Bj0o?F`C#o3)6DNHjb6nekv_nY| zJ5H+G>4#HqcZJQq^C1k0WOea5Z^%fqll8y83LE`6_nl*_d7`ba+56S(OY@lUzdMV+ zR(LV@EuFfi#}~hgxYu>#I5!-=f0ikxHZ|;#yelH>7}tojAC)V@#D_Ng&wsAWpEe=w zA*!snIC8tP+^_DHBxCZvyuXE9t=7ZXcI?%tZ)0CatOGiuxh2|&_}xI$TI%Q zV|k-USFQq4J0FDHvP?)Y)eOOk3)2^;FJ4WlQZR4r_Ih!rEw_F#qzpl)phucUAY)mLtyvS&F<|vfE2r?9>yYCFPHdKX0N?*yryo>f=z)WBT;|bWJnJ zM%4_m!P*p7tT|jI}&C(H$rz{=<80S=XW z`3emzR>hvGs9)l89#l!D?mzDkGhvTQ$}ibQTP>v}b(~g7ml(>-;=gQ?VJ&4^Q68vm z#cTUT;Z;j;UQ9wcZ(vMCU3{4SA9PFH#?DtWMXYpF3Kcu-mh+KM>b%x7q3rI>NKF2x ztE7M%Z6*Z4O)uNF#=U2TgQLu9JA!fg#HlW#ymx4tDhY97)VsgqGpR-Hj#k}TGUsrf z2Pu*9gXEA8)1UBO7H-tB^@^rGxRldt8|v};baJ+%V*1n46bI!nTCmJ%^VHDNI2%0$ z5sPf6ibSP#j8wf_zx?0NdtBQh{Tc1F2YRKJu*~B!+k)@KC5ZKaGW9;S5Gbp+sIoPo1Szm^B9%gsIcmoL6^CX=$zcPUUw!Jo-(h$zR4(iZ<9wtxPGzE zL8X%KjhT)PHXGGAOjRzlr1`x80c)bhf!rS=B!;}Q08jzM52_&q zPUhA$+24TdafSTbLSUt|wE`5v_z7TPuK|?G+rZ=m1foWux4?etodQuMLk8#|+73bh zG1`+T0B$O_uAKtwm^A>PW*dR|38=srP{5}Z3o5YB0V?xdeh8=Kb6apIMqX6I@YF7~kwjB2XscUEm1XPCw8Wvhi?kBKHSG)>=JA`pS_ODX`s6(&T zse)2x0jXWyED%5_S5rFBga0=#@r&L^p=|cHafG#o?WGZyk~yeNe$gCIYKBj8=d_(Z ztqFy%8}FUw7sTuxwKivLkV5tJbzD^OCh~huRY41Vm2#SoDy_+Pe>w@@oWsm{TpWbS(@TaJT6Vd;*8IIZ+Vn?IiBetOqKoOQchHzDps{WX)>H1i>)fh)<3!N z-e9)T$ESx;Jw4V~Zc|X*S0?m=g{vv*?GmDJ#vseHZCm#y^_>>SHxbXo#U#bRfq;Mt zkM+-}-j2Cduj|wCyEdBkmo0|Q2#T)DT{FqMyXk-U_KBO*<`&mcW_mjIL~FNMM3ydh z3+{pSbrz@rTX!Wge7Kmr(X=`1sxm_~zD>)trZ5|Xr3@SbWNUN1pKR>pEGD%;s)o%% z_$KUkx^($!f4^%GRC6-BjYyYmRzlx1{=KH@tdq?d4pqtHei` z-l5}-3bj(|4wRne&L+qAv(`2$*C>2Ec6RxZPx?mc*zX=-?=D9wU14mcHK2p2M68;( z_qFSYCjduI*McrlvG)0FPJ@COR&%0IbQH$6?HYg;Q!AIxc5`g)H9VD1VDZ`()addPwW;O?LJGPJI>q z34!lC3T=TcqibrU%VH+ZmFuZFEY0Mn*jsoLtBBr|hH-BZQZMhVD-h`IeGEu>`RMxH zl+Lz?rL#?fZ%$@n>|6_o|t=g8vfaKlH_N-mmWkySQWwEW632&Q_dr0Ce6@0Y9VP{WW>Crh^zTXp0qw0 zR|J#V%N>VGI|xPRk9~~)pt=prZr#~6kc72Fc^jf6cRHO~**$xqpKdnLR}wWThe&I@ z#*Ozv4QkHGX%ol|vXNqE#PFlIj%7^nN*jDo>;f(HX}^^bt<}K67FbpOWoXe!sPzW-DJQ>#Al-c5QE@`qZ6ZS+Jn6_qwo|8oGGEpC?gj zm9uRa5_QY%SN%Lkb$L};D*;Bs^zJ4r>zNO7j3|=DbkX z0NM2CAwZ5$t>ICS(sE3I?jOtexzCzHz|73ML;Nh5x%Yr!+5(C6!5_?3Z_x-?i&*T( zeV!!&WH&zt>jhcx&Ho4`_}hzpl&ahe*0guIC;WB;-+X$Xd^WIOV)*HPH*8Fg2=V&NRcmB)m%V8y&3=P_cdHoBqYCVQ|1LT(@WV;#-{P zTA5TnWyJ&vjH8Fe&Jbax(zk+4`pc31IxX!*#-mD)VHN(*x#d_zleq51!HASqxP<@X zI=>Q!43F^PAjs%k!-z08EB04XXWjou z%jQJz3R8+RzJXw58;Mc7bp~|oGq5`?k`1CAj-_v{_QG{VtSrJ%IOTpZ-8*x22Pc3d zDj-kZ{`eraXX6%wf7AXrSRi2lC&qSMqW9^2uipR2;STuzTOrf{te6yyfZFEVGV3w0 z01^bE<$UQ|ZZHl^fH2B1Rlfq3Qct5Gi1TLhKCGa)6hNHRH}gI)q>9BNU}mXDPJumO zwIsd(@$pihBFT$Q5IlGWYJgjqX0tl4C?xO@JRl4}UP~75+5O9aGh4R<&Y%si4S*rM z?_F$*7xE)0HHur{B~n8~Fyq)!z%g9*i9jLe^fg)l6lw}+e^!e>4W1j8@UbB@$u)k@ z5xW7JEWv(iC@;Cy1^iS4?g9hYOn>qH0W2?|y4Z7)15~{Zs9v1SdII{RTNfBP%L#3P z9OiNvxPGvj%)TrYpu4@*d8if4kN=MW|0NZZfBALS`eV#{i`Tm1@=l))1LMF-HXYaGhv!1oqKA&Fds8ii!xk*4kKn2oxrbj?P z1ScRMenw6TeDhqyMH6_t;iU@FCkOt5$lrbhK2x}Bn0Nu>r~bVNRUc;g179+GKR5P% z?PllgXXE*fz|YT5#L?B+%htyIors&Keb$~L3jx7B0?@N3`u^Fw^L}67K5xYz`VH-M ziriyP%ciFwBD(+P+4EZu1+3LXV;;uDT$F9L#(aI%UCsm{71@*uwSG)XpURW}@ZPKE z$%s48jXR4=7dd^JuqPQ~HgC=*+pI>$UPOE87@Q4O=an8;%5(Mp@{god3*{pcCG{ne zCR`_WCZZwqBdjNYkm-==B#JM{>_zc_lA+3xhc{5Pox_OcFh(N6uVjOJHK<^O`O=*w z*(Lm&xI((^N?_Rd6RQsCh-&5olO+;FKjPO7R3JeEyT4Z4VH^dAt+^`s$c?rs+n?_c zs!NtjqKHNWjcpu_w$~XjRr2|JQec7G2(mD_9ngXs`biJ^N2X^5sUT=f}e) zVp*YH|08-oP%;l_EPwTvGr5f``SRN(VuZj8i|-`Hcm0XnpOf1}^DFM@n{uANBDZOO z;`a;~+&Ymk9Ys4yHcSfViJaZK11hYC#falvSi59E;zdb;8TMOB)LpZzUhT78$Y9nl~w6&s93}qBq-5LGfq=a-!vwgBgm$+ zRV=BUr_)$_MiBcZ4#J_%T272j(aePtseu;ve}*k~GcoEy_miP_&Et~p!-6@DUu6D~ z`URNmc6^97hE%cM^J?*|W+Wsv*p*d1@Hmtvg-EUbEP!U~!(C_XB_%Y`RdwS2R9+Z< z)1!jD@8bGmM?cst2IEIEyj?gisIc39EsKR%B;sx?X+uxrn%OrBR{ZRClovOeQm;pZ zTQR&#!~Hva<7}%*Q2CX`ln>VRI14Jp!0g4?)Ud>)Dz@pZhIGPaMpSxUd%=jbA)&JR zWmnPa2vhZjJ}x`pczr0V{_d(Y5v}TUlDAY%sX5a5n_bG}5IfXDFi~{VzT^!(nr(?2 zdb`bal8BmEguiNYGM%<_AoMsa9f`%(Nw^1*FPrs15e0Wt{qMVrJH8EEib?9{B(ma) z&-Rr_uZ`*DR3#V9ewNiokFG@Zt>=*_lk7fmhSsKl!^SQxszf5HNe{G;`wQ|G((@Fu z3K0h_Aqi%Vw(NS>m(3bQ>Nze{*>_c^AuV8yWJ8yDy@<2VYR*v|ic4Uw2z(5&EW61S zF}}BdOl8})-6u3wqa>1*gDB+jO*bQg#QT*k2YRNr4LpzyB5q&ZX-9*n4+m+zEqtr^OKc{*EhKoKh%15R3OJn zk_?L)a%*p)ilL)hN?UAyaoXj0h0mHQEF$;fv(w}G?H^uB#M1BPn!cAODxvSYpmPMT z&WAB3sp)bF-}Q4Mw^?Lbb!5LZ7L0Izcrc87EtAxiSDw<((Igjra_lR7AcN%8R7g>S z$UKB+P_eP9o;&X9rM+x9lK|~k+I%_jf>3YS`;qBwb^Q#zK@w#b>(@R+G}f<@sF(JFRbGr%m(?nP#82?&4vg|@WbFJ(%$%Pt~Eqzj;|NCvkH zb5;eh^EVaSy5MHXIB`)o2z5_WCp%`QdL4U0Y;75hwi=n%izE(giB2?vFG8Ah?tWHN z7yt(s_hHIUJq8mE6E2V*CmZak!JNCbD*XPqZ$GY8!latm+D&8J*-LkMlZmz^E;m>G zLh*#~ogYKRP?jZ6vyokoxq1V*6?x0|F1RzHO6f&TYk@lJeyI!O+5CutI|2F~gT40D zNWP5QLQBBFzO-r+k#V2kXR2S^8ikn>yb;yDz@Z%^P&ryA-}hOKj8%u!^0tDx?ET*JABuX}JPZgEOkS4IH|1?Vq8HSK53iqC8DPsaG z;tmg(Rwr_#KZ-Ayv;A}#&_PAhPLd{+DPAL)R(0js@K(?y{MqT~q8jTl$Y+CUqnAnL zwr!kLpGwBb&-rR2^5vunG!LjuLiJMJX?j~!U4yQnxXY9)f-#!b@{X$P!-xYMZ6`nU z^Tj06mnMbR(qg(#oTf?uf z#0~Nh2W7OXFlPMg;;-G9zx`tphZi`0YJWZbLpdWO=;mGdK2&ce^hZ{dGr%V>(`cQ1 z#hBLM5~>Fvfh_IJWyQF(B%K1BPfTJnZNrZff8nLkqCOZk7n{ZS9gOX9|LV5Tm1Wrj zN*{=WK5El+{pF#qUZ_h%kAW(=GZ3$s`^1aQ;|{;kcGf$Jt{NwLgEqLIl3S6sO{$Y; zR%koI#I0l#_LWY~uCo}pBIKY&HSh=5w;Na-y?vXNX=;?wbC*IGw1F<4sPC*!9E1%|sW}M@+ zOKCfQhCbEMYO0*HJ$5bQ3VM=#`2bS}uIN6;f6W~X{K8ZDSWTnkDth#xqa4)HAdbAP z$^o`q#1%1x3HZ3pNjh=aYgtD4bB`vzP9U+5RkIvrlqf?h-diNzE0a7KSy|4UtDC9e ztxayzq@!-6vi~~-K8A^YLvC|Q+xZ)MYCS;rBQ1HD-u#)s;bwhYag%EA_3P1*m{KM% zd#@ZpGL%bFwJB&_>?X9%x&(0Eprzx~l6EH5P5a`I)7ou+_1&^Uq|aia6YDDb?bTopQ(F8wL3BHR|OuB`xl z5${!c6Ni1|dr_t1`du+M;Ze-?#$h;hfjF1v1I5~96^Z$aa{$SdxtCoH1CdhZ*1s@ zVQvV7eA&?g(|D_)?PUClw)6F+qi94mMYZ}?>2rjrvvj2;Nm&!dK}K}Tqr$bRlosEm>4dx%|K%;*)PK`zJ01`1|B*5=v8|N6YyLv8JF=RNx6 ziw4EYyl}>AA*>Pd3zXuD- zsP_u!<(sz$kH5@?(egOcp5RYi~VpAngvhk%6dGvtBwFZxJx( zhHtkDxT>P{D{HNLuA5myjMhra(Izn{;U$`Bm-7cpAd5H{iksl>A(-2V5>Humv%SQ>q}#Vs~uk?xrx9Iumz8+@ScD!A`OQvGfS z?xpdh;j&S=RGk%NfHAqLXj9h4mvP zUxYx?PWr5TP-u|P$QoFb(9TB=*OZDLVehlA3)WstAT$&J|0H$v#w|*rERn0{3P~b| zW@p%jP|0MgkUdMJ=H1|SPGrwLSJN3}(IupxKlm&2s3bLJC(9m}{~%&W#Ft<>)L z#6ecZy!~nYO?UChaErSoy8}{R7<-WPWJLy30DArEZIfX6*#QEKK)yh!w`9HAgwsD+$ zzE|Jk^N7}7k7|W+5<$4)*M(!mIp%j{gKNFys%;MsEcO1hGMuwI3QxB>z*G_tA>zGN zQWabgoGG0z8}TXvmnuX;@!}y(U2T0yX(IwyK6kDIK0R4fj^rKlwl`Dr2npM`bib{s zrdr)^@}j-Q*Ct!F`{Y}Rq1#({5=0)Ty&g5%)H$^ns^HMBe_#}fC$35mPcTUqia5|i zYErgtC-2|LrL(>AA}=uC2z(#sk;k#W3W6^7Y-dEpf*?$ih7L2IPt^OzH1dw?#CySk zCtAronH1^tc4gcW62WFSv!zpi=TIa}Ghp{#umlM2L%776yD);pR-7Aw%5=uIY{9b> z=UCZ<_8b1Iz<-LZZ^StXe#7*^RwA5zfyTGkCO14}?vo7Z^vSpP;r97MsIh3&1cDp8 zITfMq5_>IkuX5>6xk|}rH8-p2<GhqrE1On zd6(4#y_~Xm6KA!zkuTnB2D-*CKa;;}dnI)6Z0SamRqDO~a%6k2#_k5BtcQv5v+8oa zgB4NbvYs`NHvme8^m&iQil%(9G4bJPpZgaYO9;%8G@mU{wNUzt^S5x)+q#&mHpmxL z!phTn^xc|;OL5Ip8@>|m_gmBFQg|pHZr{zKQT?hb|E}4xPpNn$9GcX#Po0l;eD&h* zOc*`UdWxZR1I4*>++h^IY{Nz1 zPWL8`k)})~ndgaiH3>Nv8$nQX21Py1XWrgj*0I#jJXAGrg8#B=q-@>0riL-|1w4=h zCG$E%_kJ_2{ze>weomA~xF|m^`zblDNqk53E1l}5aiH0ZFT(-Iw15E_Lmp)cLLz{I zkF?b-8_K0A=w-cuysK=;KxlNBOb?T8cIT=lOUcR`E(n+KgEI?cKhK#yJVV=5Z&$EZ zl-pOdx=VjzPcvDP*&0s6Fb)Vyg2*Cn_ZHrxUU$P{KD`GIWU|Cz_J?DQ6Vi0Y{^=Q+J2bN+LLf7K~Y%<=HtIkdi) zX@u2Y<$-nzZKqk7Xo6S0a~M!6!b?(F0A(fBOKSKKyQ*=j_h`6oO4^ecXg;OmGrwAY zS7}G@Gf}A26WxrM2UR@Um9(9i(8aBdq^b(Ioa0vI4~-_|Oa|gNB163Qxkj?&vtD+W zEQKg{p#w8yB&oEBE9>VfOJ6OI<{{7n?t9}c zZ1xQb62fO^GRzXEGi(5ySx3z#^Jq(iSCWD`s#y+{d!sU@mqTDv@?e= zt1tW(iwi|p<%aLIMfVYw`^{J;*Jg`PJ25HVGVdCX{ALpj{)5KmviQA;(otj$wRKT{RkYwF?=VJ$1%XBI#u$P9Wji} zn~w)HAQN6W{)4od%dz|5&Qe&1uYKf^ShfAuVPI%5**GHz>Dg~BSQo_MZ|Z@cLHH2w z4#e2eH#D4_4?ppFmRx(~dGz%k&Mtkd^sHm94nFi@b~p2ACTwW_fhI)=^izJ?7MAI;9bGp><*SN=M3j^e7jq3KDZ-b3?WgPOq>W&_0-ZX%S(7xQn>9 zz)&IzW3aKHyysmah^n5zrkm&N2QS|N+pt8y5qe8{OD)P+AStSqm==)PA=oFje0 zAe~6GT=C4q^Z_~5VwqwHox9!Ep@O5f?|WkYrQl-Zo+vY`%h?U(n=S@p^=<^5+>yQV zfkZIjw&C)CYs;m|)R43x;t;F3c0zx)YW{=gOQoq`7%??huqD9=Q36-w)(@{RBVzpa zpJE=6M6ceBwYLlhBuHrC<1&;>oPec~Vs4c$zJA=5Z-lt*>CL)W4XGk~BEP$^cEWSZ zblVnke-Zxt1>!5h^Skb^4=*zj6me90IW88pi{y1{x3|=jJFl}>{8jSrIx(ih0|oe* zw2~#=6Q%|D0#nqu2t|k%bg&vL+Xx0JY-`*3rMA2-N36xH(id+5JPq{onZ0$LCTfR3 zJtbrVXIVQVi!)yuLl7cT!Zrv>rfQGxx!*qkFZF9KE|3O&q>ov=bycke;fh?P({S$L zAiE+zr#zrv5`^A~76ujmfe|n;1S^K?r+E+@s6b!hRrTchK5&2mUQ)?cW1!>va30UQ zH6An*3^koBg;Tme;wQjWIcyltI_ocLmGhn{AyhPBO1FYO8`6f@NBiQ+WrtIxV8M5d z_2wXNIfHX)Tr5v6+QSAwgcs&Z14U>{ErAk$yTdCLjs2ZxvsxS+^XgduDhP%HhBbBz z?n6>qU4%U& z7A*?d`pK$wCbLSe^c{&CS7c=&vx29>L_*JUZ*(!6q-j=>pNCK+9EDgW~CEmo9=zw%!uV$nM&US z$Zw;-2hTHtEho#h2er9MUBL}-Z#@5t-Lt)(A}k&xIIfut1&EtqjMZ4?-#XK1FhlAd zOfC|?)d@MLGBTuMU2Zh)pY#Ksu`ygXVxH&6$Co_$nVf zLq70nC;DQ<)=2BG?}2}cNI-~&fi<`S$n?&^LhWbwmne<>1VN@@OfIQe6QM?T>*ZDQ z4H#aYvg-Zrw1f^UhP0i`mTN3~K5Bb$nGs<`|b zQ6EMb>J!Qx+65{&+Xi8P{>&O6C^TCLF7(0x4!#mtZT&uU;A9*ahy zWHqyWn2TSq$BRwadfhT5BI7yh2v6k87~efokq0E3lmgg!b<-}45&!`#2r%?V42(Ga zE~+)JmZdxDdHcqfgqjNPIaJfhA&2Q23uOPt{3#-!=USo3MdmhyWO&y5SJ(eO3m|-| zo(#=ZjiXa|&8#ZRa9+vi@aHW(qr*AJfoE_1)x^>HY(DBtNouc~=_$EAK_8G`08IfB zzC?hR{|}(&gB;#uJk}!B!nA@Tebi@xt&@(;hipGl9=x;ZzuD}Yu+r?o%p)FlwQgJy z|_)Ro+V8=P!b@6PxfzI|87n8#S zeu@9dnzf^8B2LynB)8_YcDAOo7GAPjf+5_(%E=}rK**O8)0!*{S%jQqxio`2)kAtq zT8LMOYl(4DfR=Vz3pyIR(6m4sAgl*kOT0*YiSIpyet z@eZL12~K%>ui~W$SNv?Qj$o~Hn=-?>T($Cn(9#gXLt_332zdZ7S;@(PutWkkLTMHk zBg2R7B)O`A--VlR`I~JWvfAhC0$%&E!w^~R-;f9np@?HRt0y$fXxr0BPLoNy|InTr z;T38TIuvFCogE^99(}OVheH${d2xlBBTC_t679>0|2jK~Tsike+of6kxemOol@BPE zkeRs3r!4FXx%wD)c1QiAjgwrayP-LuN}!Y~X;KDaBl_!epTuh`Lg1iJ_iF5hAu08Z zT=EJ^bIL2GhUy>tYKRW#nKD_!opS+q=S1m}&Mt(iwGZ;li+G7s;!hQiqnvfML6tNy zj%*ss`lj%x?r* z3hnZ`B@r7+slnaqN02Clu}Z0JdQ7k|Uer$2oXq=sh?``2kvNgNl2d^wh*p+rI#%-X z7C*uYIA?O%vO#Dih-ro;O7m?q7hyMuX|!$sh21zH?7mmrI#Grmc)4%Y^+KVk%sXa1 z=!d4<^?AIJDzK_XGme4;tZQ!;}aR~=d4(Q#gfxTp>GC(l#XAp z`v?gTL`YJtVE=xqlBCOgVe9X6wu8+T90l~!3Y47rPgSi&Sgg30#0LH`ODX!Tbg41} z@>#ix-}K(Ml^t`_C$5S(lP3H}WjI915ot2<0eRgVnofk@u9-Itu9dmX$#+VJ>~5&{ znK4YR{qTeSiJW|%WM<>dYF0;!@xoY`R!PnL7?YW<8OGQey@C^l8j$p}JRm7Jnd^lj z6fM#S+qVx)FIvqh=H_ggw^}ZZ2$Y|)Y(?oOUO5%pcUu5L0TMrTzt1|ykjxW_Ho`4Q zOrVBOp~|ul_wO}IdzdB7(s%!;~22loQ{rFYcq_FRv9aW#JjP;PL@Ab8s6CWtcJxAH`MsM zK3JNUm`enBx7(se`JSb!;6aWm%cx@3UR~=z*2tgChrU7wi~nopqm0`qsxX;I+FS*L zoY9+Gy$e|{GGfEhlhovZwB+?hvdGx%Z++aMA7d%b@A?}$9+dK{*LDPXEt<4gdJ*hU z>F-YH-c5kL4>BEo!8^S`dSw-NI9|FPXQ;>(kpq(YCb6~%Ew`)G%`~y{>u+y?@4kOM zhua9#O(r^qq=>|b<+?XnY~h^P;ry^NF?;h?)(QiSJl!tTFJ~UpWXU0+=Pwg5ToV(M z*Fh@jlWU%$(2$w$J6dOFxwBP=N~UzPxioC*8!BQ(gwkb-XNkz`E(e+_=VU|3Ln~i+ z6JAV#Xu6^SLb9dT;T1T?19JM0Pe_#JVi@#-(WeMv#8_BK8eE~M3%5Z;3F7`1n51)o zFZM@^BBW9_Q4hEJ->TfRP+TT~mcPGdYoIVzy}6J`mP^F;G*e^3UB24Q122bo0KI!p zS`cH>y6Mb4$Dz|?-DA)b$YM9bKff4;p#*#XkaowPcmp2UA`Tc|{MZ!hSf+ykJi@yl zdqRy}BxC~#Fn^^|gf$Shr2i%{(^x)#hhWq&VnDI^Yvo~ciFR+Y=_y)r`dfJ5b60SH zsW4(lG50JC&uI}qxIlW7fZM%V6|mL4KLK@pCSM6*+!C-XK?Wjc6G0_iG^B9e>nd|H zbF-PfH^{-@&7e-Pgh0oK0!K1OZLTAb`dwi?T4R6z-qI`R?XBa`JR&~^ zR7;*dS-X};1w=pL@Hx^RSs8UIg48oh!W8wF;WRF}36KVhyxXj`{m+_&{R~5f1U~~P z08svB7CZ7~381uq`3ba)G`8RPD~qJ$DpO*9A$qLC(!jAN81=i&o7Vdhr$0R|#h3Z(Rs- zh5A={2y!IqbI9Zgs<`f`qr4`3JEucRz*2MY8UK@pNJ_GKN)S^2(X^B7vyWWCk-Z=7 z-#?OuQ_#NgO3`qM?_|h|Ji^s9+IqCCC&cG`EMW2xo=q6i*23z!j0aW88j3$;wS8De zne_PM=qsQsZkO3%_>@Z;KXxlA$#dQ*gisaFfiW{m>;e7I4<>-spgY97RlIafx?oZ zd`$<=3*jgeGp^buh~pQyxg|mOOGVf9**`a@9m6Ma&t=_GHJMz2`M3YAk0f^z^fFWf z_r)a;aV0Pd7s*}D2K<$d(hC)t+DIevxNe*9&7w-%_9?Gx1>8&x&;0u&D?8l}~>xZ%ANuTTjbL z!++DuV|7ZyYqF+t=%?caNDLfcQ|uDk3d3vd+ajw#gS0rI!?24B9^GXZRbk>=4qOY_ zTTAj+?Jqb>V-kD;%k*&^xc)AJpRl=;IRF73i+Fkq&T{j4JlKo5YLBiX=H>?w@FT;E zfx_B}{8?ki3O4<|gv(+ImmyLM98f#Vu&bVU>2RaZ*wm0xUKCG~#AL=_^Az;h`Mycw zTDvBfpUbBwMauPiM=fi?|C!JMc$e(>jWH3r4pZlc5%;eQ`zcvqMtmRQ1204$l8tR| zI%AKl)^2Z{D(uJe;DaPuMuJ0!p>C|Kw!Lj)IR}=J47U;h_hpo89PgfiD=Cu->b9~s@B@eP8*8|XFOlV56RgVxzDV6wyv7uD0`!hom67# zm;SAwE&gwX=;YAtcdl4dT)BKk`J>wv%%7V9Y5BK?jMuLoS%I%b+S5hoX4&dec^sYo z8D!=_a2;81mC=ntxugmvg35#hJrf+IytZb!MLOITQDucImnw+o7=YBJKl<0$&b
ZEEa!1t$R)A8T#=qqU75cGAToKC%*6EC{;$1;~T3oWfM;U6fQ^dcF` zZ(BX_=X>)DSGljg8RU~J!j&et@-YWT^pRC+Ul9eE4%jjHzDc7_!=>`SX1Vr%00K_d zGV9~mmkqefjX!NyMtzpvGLL_Iwu6Jg&9&D>QIU71URMx)aD5~U-{mcWR zvj?p0W9qwx-nuKJ!~3@CTFnWUX{e$Z|DszTH2+k>PAe^$E8BD$S|IZg(*FS;`hR+g zE6Sf`0ZMdNMyT$}%l|kwE8w~o{fT{5FJDqu*9}0Pyt{7_C|0R+!5V8SqQnokRi1Nu_dKASqufCbKUonc;qB;AY)amD;_K&P2+s0wFFDs|Ob!H(| z`a4=aL}s_Y=4kMOklp{Z&f-%Q?@p$qvon=`!`mEJt_MRo-Zz#Tm*z{J5XO^8(RJjr z44e6Ml%g?f?W!BWRDed}^Zr40TKM+#*pX5?{=<594d&C^RzOZ1-=$1VT>~EtK%^Fo z0v7GgG`WXUDZnClV5>KPt-8mHnX(X~gG}3xpH*WrCo|XDKY}wFUB~O?!zzQ{nB=8z zR06(Z3PTs~s=rK#@JhC~DSmlap( z1x`pymj5$#WK|R*vzK6ka~>r3aKvZ6pSNo!H3uFY0<3kZhn~Qh_rrt;-hk25aaY>6 zRuX9o0D_^xLkvxktr1^!>HtMPeKpn?7kl*4tKQ(QW-vcm6gX=54^O%=qsZChP|bYd zT-Mi?kFgGp@0BH49MCGcYwh`-Ej5L0fd7^=52MuM#sc|C0@LxyJf)C-zSZmC{ECWo z7SN3le!|zZz0Pg^yXZeC4z|dxuT+yJnJ^>*lWrye;eu{BP!#`s%U`Ol4VVq|ucK5e zD2i?QK1^g!igMIz^X&K=z$B9@T!YO8P8-)ok)9|ez_sW2RM=qvOLRrwY0N==+v8sXj^kWIg2TIJpA{g4)16`8XCMQOY@=3z#0N zG~;EE^_r}END}g6wmycAoC2seV4|S~F z^&ZE3@LJi~Z_k@A8&NsAXGHT&B^kQ>u6n}#dqmfIIwsVpG7y|Q>4s_p&;sN6;l9{H zTjTb8?M7- z=Tk~9J{#=23Y*HnVd|8Begf|`9Z1hY1DF*(cB#MZC0JP0({}sK(x0jLwu>qSS%2>@ zb@0V78OY^ylGP}AG5fX;7BFgz^{gpj!Q95W8v03FrT({K9slPy>-q3+{xZg6$@Vz& zE>KqLz{#T0w10~fjZR*B&I`upn{o)FeM}*{&%`pLg;VK-EW4Wu3oGVjU;5yil2HF3 z^FM(l^|nKk5MD|;8+g)A^Pk2i#xA8gJa?Z}uh=+R%*KlTy$xv)b8U2C76jKksNcJ8 zaqnYs{tosgrgGzo7k(b9Z)x7dZI``)tEx!=9`c?evAToneQ)O0#ZJb_f@{2FSyfQ$;uLv1VRa?x8nhTZsC544V5)ET zR~MaJ0uLw!Q0GerO8@w^wz5R6H4@1mHn%-h4wD+rhGdQwinIc}SHGrP5|!lArw?Ux zS+yTuSL-%rFI9)HD&Tx*U~x$XtSGBMsl1texx!dhF0WPX^P{OY2~Sn09}{~cA#77v z+^0j8y|!55G-2EMUYtFSNEu)1-xbB`fh=hkJ8Cy`=~>Bqwa9dDw`pjzk>KZs`_u!Y z#9hec$cky+x%<^f;NJQLqQby%`3DULGqua^LD5LhP>8Q)&}1e4FEfoILI3iH_0RRe$|3I&_{kUNxfS=@8tTtIB;({qkBAWKaWX$V`vqIZ5IkUk+32+^4^K% z0lglwF1Ml0@+n-+AU9Mz>p1HU-)~BxNl%brA)@K~C4i_X(wb=iA2C#W^Owgbz*YGX zn-9y=IYmu6TY4Y8jn`qnK5Xc68;-HEfXAI`1)H#O{|q(JN~`YCmO09uYJGDu6Wz+) za{3N-)9+>JNIc@lyNcJ|ydn6Ah6Q_NhD58DuR|!6FYETS?H3d0ZIH!*vHp2>W}Cy! zhhD1>1@Su^xfhc%-R!W2Y?+XyuH~jCnu~6?zEhQ}u=9y%&Xre1ZK9t_7ms0Al=~>3 ztWkAfV@(5THKg7g9l^&tD|;#`QXw|plGir0M6s&Y-ripVXq0}z7ZsE_AVUU+-}7>% zJe^8xffIrgYVY0d55+NQ)%Tt|xJ@#cAu!LPq1YczM#^5q(C;)>c zuq$0fyTj!BHdQUk`|t*ii)j>ZN}NH%A92L7Iq7>wX?BO)1tTU5G2_AsmQC-gB%4ua$6JfGqBs64#71;~^+0f6gq^9kn{{4PEgvjm4R12cEO z5?5ccu;G_=BVMbkA$I~5GqAbmu;jm-{8-39rh@}`~Dr^g1(v;BdU>1+O6Ebsm>nc zU@WHBV(7xSfZ20@P0n_)Rk$)jxYwS@zOB4SjA0HQC8nHVwq9#Ahg{KgIp_YcHzu$C zT`UxE#j$**l@>vnSHH38T-6riC#6Zb%@*)1XyeB_M{n#JSyX+x7ImA4>iM+|*>Oi+ zHe0)#e1D5>2oFc?e#r8)P9KmM3dp?yNULO~jrNPWmlk(pEQgLD3w_^LZSfzh ztWV&Qnr3mK(tTQjulr^%M;+=9&#$~zx6c-*%vF452t{e~@?;W6k9gor%fEFg&%n(} zR!)k3WAQED0tWTk2PVz(ICFh5zdVM{3`0hG=BL`Y=G25*>!;s~y2&ffDLzW(brH7E zM3ZmT8P!;=;t~?q%;H~~N!wE&8ZpLQ?eCggHSaMI*yr6fYCopN5E=(liByyqULVzW zavEA@uoAkqMlyQKr~NNrS^h(wm3m-$v(Yx(DZ*zGY!SST!}_DKi_DAuXBLB1H^#OP z-N4%fbA$8y@t+(Qj7$^Da7n!R&@sL_(j(PVZ^uCH_7O zTKV5+0n7}$0=j;YQ>ysQ{VEygP&Q07p=ew?iXivExV$0fpJrHY8!F}NsbduRTl3k; zCJ}4rY%zU!c~xST*CoH>9#Dc_A6~T!eV}E0hCwMx@PIOzap8ppf7mh}2$vgJh{9bj zL__Oa1bn<(O}lf&AD!(rpD*3sPk@>GDYczOb#*4fXEUFRt$ViGY7&*@e2Vvt z{qYepKV}NHSy04{e%&?P_M4UJYzc@PHu;p5ru2ok#3Gm^F)nGRoH3t(oLjMF)i&UJ zKufQ4k(7(z1Lng7l0i8%pU1T`%x0dX{>Q@gSx=qq+ch1xjVb#dBt4upf|cDLw2>1N zynho&T;?0vtqFBeHUp!TJMh4Ru=N{tNu2nH!;s_U<+M+5evn@Kzx*`*@s#gf5r-Qs z0Ig`qWTGWzJ6d<&#ABTlT}QiiNvd6#&F0%e6N6W{4-b5%R?FQWy0SK_+9pW2{F6q@ z`eM%bc$N;&!<9(^azH_q@kxtnG_2{r!RF^SMRIevgQt#I>|X3nZ|xmdxfDh!zR-8;a$D)RkK*CB99SMX`@TI1a8euxjp`|owh-A`$Lpn(?{ z7F^Zz;UW}huS=r;(Gsa;Y9~I|D3nvn) zb@zd$5mbW_`u$`)ONGpHS|Sdbcg`%UKBeZb*1}OIkX|uT^ftrP7Y@A!x{T#_6Bnt2E0HTr;Omn29xJ8m z9=85hx<;rvD@f#PAk4E89Iw|*NI|OG8?H>fNEcqWybzgvZ)B@|SsZ4ml)(gpXDVgg z2ECMWEPoa>KdE{g6xGvw#))9;(2sH%oeW%hR`uoGLT+p!T@V%M%+=72AyQ#=e{h~7?)0rSzyyBjhjPi?T z&!FWmt5Zd|ej*oX{60s``b%V8SYYbTHY$#Xw5h0q7}$S~6w>?@vb2uVnPRc(x(YY} zoz>&S(R+*H_=I|J=8(*OdmlCCL)j?|`*(F$x>8t(>`x(?Z362%W%90o^`CuiBwQ1w zUzOvdif3HEJ$cIgI>fv7Vvgo$VdGawdakx~p<~7qMUI>b@3kTf_BozvSazZ+;1Yx> z_RLs#yu97SohS~ImVQLCG$1;2ScO98Um4!Ne?Q08#`Ja+aUZiSrfi}|qy8@ko@Mbm zah7TYa?UlB$4gtseb6a!g1T}Z`~lKceQ$=xK_1nb`_?b8vYZE%-kPjo7Vq|q|9&@$p-&C3H%e4DhSa;ImSgW*dwkT~+f+kr{sW}N+l?rqT z${C>A*gy0!>D-&$Om4-Q?+CjSyLd@Ve;0+*}4C%Xg7S_QQYehF~1-$b%|9!`{{{1|8dt-T=P{! zL0Cr7ou32mF4JDjrm&$ro$bKYx6@lsi0o${wW_f@!@v$pzuX{GFNPqGZr@Joaklw@ zmR+)QuFNG7Ww(o)A)g-Esi`B4t8XaZK8H2C)%PvDCq~_38PqllnpbSu*?ZB8IEB&g(v;3JDBXEYYhj<-^kY!K|4Sn6Isx4RY&r=FqFqbCXoJl!@KmxWzGa}zfbAnUu zI@x@d5pxi$Yz;itd7aXX#{UY(oP@XA!<2V5jtA%Q)|KhG^?@&PyDg!o23}hvzB#e5 zN3ipahFzB9BRogFpH4QykMMX8mF+%Fh&k5_&#`dzp<{?E2q>8!WX3lw=9-C&)sH`Z zJqr1$z#%l>IIOw0FEwP>D(7XqdR~am+i#8a!n@}LRH@UPfrAf}TXBo9-E~;|n|dsc zYaLdoBVikxFhSzt6n9}~Zxt~(137@pAWvL7^%4E5<*_ z&dU^D&pjo-SufzqCcR>X=63!qTBY6RXg_HqUSb*-B+^MoaiZm5_33V**G6@4;~;_$ z-!(s?=*UOld#+K{aITpmlrX!0Ph#)XX!p>qZMbI=>DKFwX~UT|pIPDG@|kJDJZF^b z81mI=diUyJ7h8X9YW>3*ZergTI{ENUW9jb0QNOQnILPeiBvRH*q+I1pl2Q50`+fd9 z(!&Egv#%)pX=p2pnBUcq<>5g%rf0`hC~8@Jxu2}alQtl@y+=s(*O(wp6!e%9gek`nlayrp4I!b6`sC!`FcbW%i&YOyrZHd z6p(3*E40r|NDH9K4y*}qM4<0M%POVx*7zVa&cqD zNAZ0eHC-QGAC8w7X@vyCXMD=RLmzCT~ODB-)`jbkPMVH)c+1%bq!!r{W zmai6DDpPHXGFDf|%g8W*Crrf0zld+cS`HmEFCaUug^GIBiUHs2+5!Li8-t&J{_L64 zuj$S^dJ4Xh>vxts>hAyQ6zg@-7x3s3h1mK^Kk&oOGd*N}v0f)L+s`CcZdO(y(9HM-Ed1`x<(EN33YVqUDDDJC2R?n0AtafQ6*5*3p;#jazR({;E zfX&cN=g^ozJFj?UZO*k^eL!RPAvN27LB9S^xrGNr-Fo)}KVMj{!T#)8_`P5FHllZ= z3_F`;dcp6n^zJ4Vq~TB1>F+)v{1Cf8_MmV`cHhfd^Q+fzZFxL8ur_@(GxhvQ zofvIkha`2ljqFKhou6e2O_>cjRn<@Z{#==$oJQ*XrdVb5$j8|VZbdr|Ff{xjCvHK3 zji!2(_X^Y2r)kj`Z(Zk{l^TKOa@UV1@%5ljkvS|!-dR4)j8qB-&ZnKrk6Q` z5nKdJ{mr|sxz1A%1pt*rRAc*~TGfXY#BOs&qvtT$t2?bC{(t|!+TJU!sV-dOJ6&uw;krt3%LXloW5mBmuG^wI=LXeV#8j3XO9YP63dKU;K?QHb@ zuFl2(oZtBlH(VrpWvy8=vu5U*XKe>L?S@*@uZ=Hj{}5Ziqqm~VLHkKSUZwlCtDUQ| z*|FX0TZoCwA$K2<%aN3*F4jQ2cyz<~nrz?glHdI-g0c*v-h3>sPwJX3!%ZH`N{zlQ zEN=0$LzqoXdcJI7<8Q2iEB$=tSYtclLsa+I7prbI7eRDp0G?b?`QbxzrYsW?qx&yH zt}s=MIW5*kwZc_sdq6D`dETbt$)oWM1D&rzf?D@1gKXu#UXat)uTc-m-ww9jUVMVQ zYM?+60H1Fqx{?y9wdVVgOSK3-OklR;6kTX0ww6d4>;j%-Q zfAV^xXLk7|gLuc>xP#S3-EZ5STR^~|dI4mxeC8JVP-Jpg(|{&6Q-6j_(YP%V{UfOW zy;nBFULzZ8YvXOq5du}pd$b7&nUF~G{yNy=hQDGG+Avkk#Q|S=#<_SfdAsQ`50a&Qb1cfW=(B zpy*|3ntaoEul(q~giU9&HJ1J?rTHEZ0Y+ULeKx{=Bk0!^ zRLRN`%7ZEeLhpftvfBkZ(u4)n%E(owdxNUjmL&Uo1aEyZW#T&v9h}-2_5%v)7Qe9* zN_u=e=i&ecrPDII#%aIO#qh$Q)cE0_ime5+X2#$Q*u(4;Q-a-n)(L zrFnRR^NYP!`Um^AZ_nEyq+0+9LC!D^l<2RB2H7s&FL4rs5m5fTbJ$zs-@nSh4X|l* z*qT-MR<&T8y=`c-=((q#ph??MPjEY+2rD7Slcd1NK_Mn%nffr2Zo~bOrIBVoq>a-l z$5mZBrVo%HiyqbO1971C=;y*|g|$s#DR}A=2$g2lzx8$wy9J5mjG+E0tON9T?|y@h zTw2KYR+*iWcc@^C1&QR!azU1e?K`;Vdo1*&)d=VyLm(F0tS8Q)`?{B5%zrX#8w#4a zdn(5UB)7&vP}J4RN61lBft}|+-udSS-1=Ol=-F4}0Z6kqn{B&_CSG=p=rA>|?K5L5a4?7ul3RQ`>WsMWi#fBWhMoXi+N z7lDk`>%H1je`{DbJ4V@tE_+Sp$Nfx$2?ZF!9sFqx2ritAK1e#FSNX7>1MxT(!W910 zvC;S*>$RTJ)}i)e__KSAE%4{;YH^+1Cx(Qz@mn|1$^J%-wl>d8I>k?b3$yw7soI0c zlu8F`*}L`gJk+a~F1bBy(5ZTVt@KE94_Hsp{uO6zm7dlHb2=2Z3WpV58X68QL#0L zZ6xn#;~Tf3@6dbdu7|_sgq|B$b_Bqw0#t3Ui+ZJTvWYSWb#D=;KEX6grdpYVd#x`f z0~SGhY!SkQ@Yq#pP=BU=`AJ*T7P!~QnW4zmYaf<)Qi0921eWo+_nv zy^{$Hcj0{;<`88SY98+LYIlkT(+6Xr++wa9>IBB+W(8`_|w#9a@aN*t?KM#;< z*kZi@X+zaPgRddxz|0=LJWe7x3a+twm=|WNp!=Jgb+lXIAmS0NI7@^e+yH-K9n>sJ zJ1jD9S@;b!)DO&i=G}+ynn?#QJu|X1mCz>79^AIMn8tqEm+{zHUpf|;eMkVh9x$wu zlZVelv~E*6#${hBuoNPag}!B*mK+_3JL1jbBvR4RlyG||1lL;ar&UE&Ph&@F2~=0x z;J+OlVb_%j9zOz0Qabp0!4aT_(j~VuugC?W$>T?dnO~3zxZ74OvjX zD|`mDw&og~6=D)Hhkb%p9~Zyn$IOfZmihbn@dmIJHXz&}HT^3#XEtu3_h3#%7p(6u z4ExGy)4nBFuAifFc4w>8nH68H7tEgbq(((i!;n`GJz=j>rH`$yiuZVJMUa9Z6)nzI zxbh2&PBl=8sY#IxrDN6S>Qaw12w1ZLA=yb!YY!BMyjR8!cmO3;0|d*MQ}H(R(xraU zW4rxC=+eO;G=~65))}{{2iZ!7Tt1h<#e@93DWu~x5DRx zZHa)^Wt^*Fc0IrLd`Jf{w;RXiHhR0jduU(+MxIRwP)iEO3-eI5D;^KC6&Pd1;vH6X zixW@^6p_2eim5`2&1{7B=CexaXoE1sfFQJi1!o+RKt+%z(0TIsu-k5KztH2Az}I4Flx`QPf|dO=|c;`FnLrvPDPU z7tt^9cAf@G`1DW6@|;EK=LZN1##nsFGT5eAlUv*bZAOB`3wLiKE=%Tz=2z>$<~I4A>45lGN~U;pM@O_v#%)U6Qvy+KU)3)d{&NBKVqoyD^r$c znHbCbg3zhP&llE>nc!LgXAhk2x}zC|#}?E-^tZB=C?Ya7%oc1@VQVA7S%2ol5MX&z zbvE%bOFg3Jshm2I;RbYJ#CKp|jRlu{8p<(r>wZyLF5+7U;x%*gjduXkF^UDm#-cng zF|hM`8Rf64$3~t%0seu9M5|-Q4Ezvb@Pq{U2Mp!PhKhjetUDGeLp_mS7bWu15iQ) zd{4K&&f$(Uq1YW}$eveVUi8aR+cUSTM(3;L*hZ>VtUWGDv`k5~?T)ZvV*a0kKilKg zlV>b942M_N?ATAo-~eaXO`t7#Tsbk8cyV&jF3pej(xn&jfI{aNRg?v^$`j>)1I4^u zcV!LCej5182Y~>m0Q?6Z8#C}-$XRrK|u)M^ACgnj|b=-9fMpr9%Ay*Wv4qO_Pa-n_g;#!0Ztq+liR6Gq+TDRfg1%n zCyu9M#jrFv2DwOM&z6e0rupx;_pC*yvGoS^chY=C=^g~EI>Y;}i5JBEo#+zJ@<|e01z^LoAA~O^^39bX*i#@N~o$JN=dXyN3Uq4)Y zek_w1F__BqV!g(_2U}B8(?GPj>9I-+zhaO-$>cfgL*{oX+4p`u9k{gUk+uJb#_A!F zXS!j@@T*_IH)jOfkFk1ez{|j7PDNe%644Sn*Qoj6eIc4eI(R{eQhob(@DB|J3X^?= zL1sk-dh+4)!II=p))W4LVAKyQXN3}^_MOEb9QSRJqeJFtomc-fhJI<4T+D># z?xdj)^lwm%{Qm9xo7ya;A5R;IEK`c~f!cuvPTHfk{w(L0Yty3&F$7RuIM|JGPB`c5 zd_YPtUV29V+Ot05B2CInkV}j|=GP5O4;tchb*zWE7&Ogg;xTPAyA9EApL5U0-Q zE*t5Q19$_{>qY8qq;Fel|5c)XZE}LtpfMYX-Xo<>NX*xP8Mt%skOm^C+oUbl5K`Gu z3$xU{W5s5e?P^_)pTt}^KlKYADmADWRoLwx26hRZ6V4E!$A%e0lA{Yvrosx(YBq-S z^96KdnXR*s&UqI9lBTzhN@0>$lAH4D`{B>*D~emVG0kt7M?SUhr$|@CL=q^De`CG7 zvkXf`Du^|cJ-%=njo0v;FBAT&?aN_2&YYS7(ShJ6x&u9oQ!VOuPj)pVzM9(RV0An@+>ppq)fZ30@VbyX;--&bw$EP5(`4+S?wF zY`8i8J^v)2{r#MKP1=^G+mKm6Jh*3sdQo9|OqkT*(JYyzc!lRnD7Yg2;H#fj{Q8@h zfqu?khh_P6pGMW5I)9JH)(q*Rg#6j~no}16!hH1YXukCAub~?CN%b3#p8md08;-NW zsAvrNjuQ{Fna3mc{Q1WMSCi(*6X`J)RxiD5gYn+ZubkGhU|b90XA}alvy?Y~6dn3- zZ@&FC#pMDqT7L++hGWak5V~Z|HECU7b5_^Hk8R9smLM-*gElDw2_ z7B80FtzW7Y32>Ia3-ytTg|Uq0^AX>Dt9ipPdRlheZIyZa##0onKNp$AT4J>;bc#f= zQaA?*N(pp<5a^Ee|9g5l9h<(LkSig?RktOn!ilq0zmiGTZJOHob2XaW70!h{&>dTnxwN(IkeKUM2=8H0*2hSQSxJR!181iKpx;|J0uGGaya_S|Hf zj`lum%3nVi<1p$N$H%v5S^LH#uE7(pos^*umLM zwJIpepzb%wSZppTN-JWi);IxI6KYpY2Gp?4?sW8DSM91&o2R&7%eT3h2%g%vLKi>7 z5nqGZ=rkWGZGP~n8V%aoOxk?D<?Kxpf=hZA$oyjgg*pOG

KGIVO$+=!_Sx((|T4xIN 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 W^1O2yyhj84Jyp?oSbX0k=>Gy3_M;g9 literal 0 HcmV?d00001 diff --git a/docs/img/visit_entries.PNG b/docs/img/visit_entries.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b3dcfe144a1c20888aa1a7fa758c0710f80c534e GIT binary patch literal 10196 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 P8UX_x6YWY(=STkqi!H1{ literal 0 HcmV?d00001 diff --git a/docs/index.htm b/docs/index.htm new file mode 100644 index 00000000..01f9cc33 --- /dev/null +++ b/docs/index.htm @@ -0,0 +1,219 @@ + + + + + + OpenMCDF - .net component for ole compound file storage format + + + + + + +

+ + +
+

+ What is OpenMCDF ? +

+

+ OpenMCDF is a 100% managed .net component that allows client applications to manipulate + COM structured storage files, also known as Microsoft Compound Document Format files. +

+

+ Ok, so what's 'structured storage' anyway ? +

+

+ This file format is used under the hood by a lot of applications: the files created + by Microsoft Office until the 2007 product release are all structured storage files. + They include multiple streams of information (document summary, user data) in a + single physical container (the file). Also the omnipresent Thumbs.db, used by Windows as thumbnails + cache, is a structured storage file. +

+

+ How does it work ? +

+

+ OpenMCDF makes available to the developer an easy interface to + read, write, add + and remove structured storage primitives. Items are organized + in a hierarchical tree + where 'storage' nodes act like a directory and 'stream' nodes like a file. Developers + can use OpenMCDF to view storages and streams, + traverse hierarchical trees of items, explore existing compound file and modify them or + create a new compound file from scratch. +

+

+ ...mmm yes, but I've already seen a lot of wrappers... +

+ +
    +
  • OpenMCDF is NOT a wrapper component: it's 100% pure C#, nothing else.
  • +
  • There are NO ActiveX, COM or P/Invoke dependencies
  • +
  • OpenMCDF supports large files and Version 4 of Compound File Format
  • +
  • Low memory footprint: incremental data updating and partial stream data reading
  • +
  • Works on Mono platform out of the box
  • +
+

+

+ Well, can I try it ? +

+

+ You can get OpenMCDF from Github + or use NuGet to install it into your projects. OpenMCDF is MPL 2.0 licensed. +

+
+ + +
+ + + + + + + + + + + + + + diff --git a/docs/main.css b/docs/main.css new file mode 100644 index 00000000..d29ab81e --- /dev/null +++ b/docs/main.css @@ -0,0 +1,133 @@ +body +{ + /*overflow:hidden;*/ + position: relative; + background-color: white; + /*font-family: Segoe UI;*/ + font-family: "wf_SegoeUILight","wf_SegoeUI","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe","Segoe WP","Tahoma","Verdana","Arial","sans-serif"; + /*font-weight: lighter;*/ + font-size:14pt; + text-align: center; + margin: 0px; + margin-top: 10px; + padding: 0px; + display: block; +} + +li +{ + margin-top: 3px; +} + +div#container +{ + margin-top: 0px; + margin-left: auto; + margin-bottom: 14px; + margin-right: auto; + width: 760px; + text-align: center; +} + +div#header +{ + width: 780px; + height: 120px; +} + +div#main +{ + width: 780px; /*border-color: green; border-width: 1px; border-style: solid;*/ + text-align: justify; +} + +div#footer +{ + width: 780px; /*border-color: green; border-width: 1px; border-style: solid;*/ + font-size: 8pt; + text-align: right; +} + +p +{ + margin-bottom: 65px; +} + +strong +{ + font-weight: 600; +} + +h1 +{ + font-size: 16pt; + font-weight: 600; +} + +h2 +{ + font-size: 16pt; + font-weight: bold; +} + +#header +{ + width: 780px; + height: 130px; /*border-color: red; border-width: 1px; border-style: solid;*/ +} + +.modal_popup +{ + + position: absolute; + z-index: 10000; + +} + +.popup_block +{ + border:2px solid; + border-color:Black; + background-color: White; + position:relative; + z-index: 10000; + padding: 30px; +} + +.popup_footer +{ + position: relative; + background-color: White; + z-index: 10000; + padding-top:20px; + bottom: 0px; +} + +.fader +{ + background: black; + + background: -webkit-gradient( + linear, + right top, + left bottom, + color-stop(0.18, rgb(5,3,0)), + color-stop(0.59, rgb(148,147,143))); + + background: -moz-linear-gradient( + right top, + rgb(5,3,0) 18%, + rgb(148,147,143) 59% + ); + + position: fixed; + width: 100%; + height: 100%; + filter: alpha(opacity=70); + opacity: .70; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + left: 0; + top: 0; + z-index: 10; +} +