From e4ee2cf65dc938853006dddc7a3ca91e41ace544 Mon Sep 17 00:00:00 2001 From: Bergmann89 Date: Sat, 7 Mar 2015 13:16:01 +0100 Subject: [PATCH] * improved glyph metric calculation * removed old files / projects * added three simple examples --- .gitmodules | 3 - OpenGLCore | 1 - doc/glyph metric.png | Bin 0 -> 7675 bytes examples/PostProcess/PostProcess.lpi | 83 + examples/PostProcess/PostProcess.lpr | 21 + examples/PostProcess/uMainForm.lfm | 12 + examples/PostProcess/uMainForm.pas | 145 + examples/Prototype.ttf | Bin 0 -> 29592 bytes examples/SimpleFreeType/SimpleFreeType.lpi | 83 + examples/SimpleFreeType/SimpleFreeType.lpr | 21 + examples/SimpleFreeType/freetype6-x64.dll | Bin 0 -> 630647 bytes examples/SimpleFreeType/freetype6-x86.dll | Bin 0 -> 522240 bytes examples/SimpleFreeType/uMainForm.lfm | 12 + examples/SimpleFreeType/uMainForm.pas | 101 + examples/SimpleGDI/SimpleGDI.lpi | 83 + examples/SimpleGDI/SimpleGDI.lpr | 21 + examples/SimpleGDI/uMainForm.lfm | 12 + examples/SimpleGDI/uMainForm.pas | 101 + examples/simple/TextSuiteTest.ico | Bin 137040 -> 0 bytes examples/simple/TextSuiteTest.lpi | 137 - examples/simple/TextSuiteTest.lpr | 27 - examples/simple/TextSuiteTest.lps | 646 --- examples/simple/TextSuiteTest.res | Bin 138128 -> 0 bytes examples/simple/uMainForm.lfm | 15 - examples/simple/uMainForm.pas | 179 - old/TextSuite.pas | 3650 ------------- old/TextSuiteCPUUtils.pas | 143 - old/TextSuiteClasses.pas | 5762 -------------------- old/TextSuiteImports.pas | 867 --- old/TextSuiteOptions.inc | 46 - old/TextSuitePostProcess.pas | 398 -- old/TextSuiteTTFUtils.pas | 367 -- old/TextSuiteVersion.pas | 13 - old/TextSuiteWideUtils.pas | 1394 ----- utsFontCreatorFreeType.pas | 120 +- utsFontCreatorGDI.pas | 6 +- utsFreeType.pas | 41 +- utsOpenGLUtils.pas | 18 +- utsPostProcess.pas | 43 +- utsRendererOpenGL.pas | 12 +- utsRendererOpenGLES.pas | 15 +- utsTextSuite.pas | 101 +- 42 files changed, 922 insertions(+), 13777 deletions(-) delete mode 160000 OpenGLCore create mode 100644 doc/glyph metric.png create mode 100644 examples/PostProcess/PostProcess.lpi create mode 100644 examples/PostProcess/PostProcess.lpr create mode 100644 examples/PostProcess/uMainForm.lfm create mode 100644 examples/PostProcess/uMainForm.pas create mode 100644 examples/Prototype.ttf create mode 100644 examples/SimpleFreeType/SimpleFreeType.lpi create mode 100644 examples/SimpleFreeType/SimpleFreeType.lpr create mode 100644 examples/SimpleFreeType/freetype6-x64.dll create mode 100644 examples/SimpleFreeType/freetype6-x86.dll create mode 100644 examples/SimpleFreeType/uMainForm.lfm create mode 100644 examples/SimpleFreeType/uMainForm.pas create mode 100644 examples/SimpleGDI/SimpleGDI.lpi create mode 100644 examples/SimpleGDI/SimpleGDI.lpr create mode 100644 examples/SimpleGDI/uMainForm.lfm create mode 100644 examples/SimpleGDI/uMainForm.pas delete mode 100644 examples/simple/TextSuiteTest.ico delete mode 100644 examples/simple/TextSuiteTest.lpi delete mode 100644 examples/simple/TextSuiteTest.lpr delete mode 100644 examples/simple/TextSuiteTest.lps delete mode 100644 examples/simple/TextSuiteTest.res delete mode 100644 examples/simple/uMainForm.lfm delete mode 100644 examples/simple/uMainForm.pas delete mode 100644 old/TextSuite.pas delete mode 100644 old/TextSuiteCPUUtils.pas delete mode 100644 old/TextSuiteClasses.pas delete mode 100644 old/TextSuiteImports.pas delete mode 100644 old/TextSuiteOptions.inc delete mode 100644 old/TextSuitePostProcess.pas delete mode 100644 old/TextSuiteTTFUtils.pas delete mode 100644 old/TextSuiteVersion.pas delete mode 100644 old/TextSuiteWideUtils.pas diff --git a/.gitmodules b/.gitmodules index c86d273..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "OpenGLCore"] - path = OpenGLCore - url = ../lazopenglcore.git diff --git a/OpenGLCore b/OpenGLCore deleted file mode 160000 index f6ca47e..0000000 --- a/OpenGLCore +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f6ca47eeb2c217505d9c1babe79d46b6668d3881 diff --git a/doc/glyph metric.png b/doc/glyph metric.png new file mode 100644 index 0000000000000000000000000000000000000000..b345c78c01788cb4fd9f8ad8046c0bb19d040c76 GIT binary patch literal 7675 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 literal 0 HcmV?d00001 diff --git a/examples/PostProcess/PostProcess.lpi b/examples/PostProcess/PostProcess.lpi new file mode 100644 index 0000000..433ffee --- /dev/null +++ b/examples/PostProcess/PostProcess.lpi @@ -0,0 +1,83 @@ + + + + + + + + + + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <Icon Value="0"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="LCL"/> + </Item1> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="PostProcess.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="uMainForm.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="MainForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="uMainForm"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="PostProcess"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..\lib;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/PostProcess/PostProcess.lpr b/examples/PostProcess/PostProcess.lpr new file mode 100644 index 0000000..a37c734 --- /dev/null +++ b/examples/PostProcess/PostProcess.lpr @@ -0,0 +1,21 @@ +program PostProcess; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, uMainForm + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource := True; + Application.Initialize; + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. + diff --git a/examples/PostProcess/uMainForm.lfm b/examples/PostProcess/uMainForm.lfm new file mode 100644 index 0000000..015038a --- /dev/null +++ b/examples/PostProcess/uMainForm.lfm @@ -0,0 +1,12 @@ +object MainForm: TMainForm + Left = 473 + Height = 600 + Top = 244 + Width = 800 + Caption = 'MainForm' + OnCreate = FormCreate + OnDestroy = FormDestroy + OnPaint = FormPaint + Position = poScreenCenter + LCLVersion = '1.3' +end diff --git a/examples/PostProcess/uMainForm.pas b/examples/PostProcess/uMainForm.pas new file mode 100644 index 0000000..8706bb4 --- /dev/null +++ b/examples/PostProcess/uMainForm.pas @@ -0,0 +1,145 @@ +unit uMainForm; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, + uglcContext, + utsTextSuite, utsRendererOpenGL, utsFontCreatorGDI, utsTypes, utsPostProcess; + +type + TMainForm = class(TForm) + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FormPaint(Sender: TObject); + private + fContext: TglcContext; + ftsContext: TtsContext; + ftsRenderer: TtsRendererOpenGL; + ftsCreator1: TtsFontGeneratorGDI; + ftsCreator2: TtsFontGeneratorGDI; + ftsFont1: TtsFont; + ftsFont2: TtsFont; + procedure Render; + public + { public declarations } + end; + +var + MainForm: TMainForm; + +implementation + +{$R *.lfm} + +uses + dglOpenGL; + +const + TEST_TEXT = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.'; + +procedure TMainForm.FormCreate(Sender: TObject); +var + pf: TglcContextPixelFormatSettings; + pp: TtsPostProcessStep; + img: TtsImage; + +const + PATTER_DATA: array[0..15] of Byte = ( + $FF, $BF, $7F, $BF, + $BF, $FF, $BF, $7F, + $7F, $BF, $FF, $BF, + $BF, $7F, $BF, $FF); + +begin + pf := TglcContext.MakePF(); + fContext := TglcContext.GetPlatformClass.Create(self, pf); + fContext.BuildContext; + + ftsContext := TtsContext.Create; + ftsRenderer := TtsRendererOpenGL.Create(ftsContext, tsFormatRGBA8); + + ftsCreator1 := TtsFontGeneratorGDI.Create(ftsContext); + ftsFont1 := ftsCreator1.GetFontByFile(ExtractFilePath(Application.ExeName) + '../Prototype.ttf', ftsRenderer, 40, [], tsAANormal); + + pp := TtsPostProcessFillColor.Create(tsColor4f(0, 0, 0, 1), TS_MODES_REPLACE_ALL, TS_CHANNELS_RGB); + pp.AddUsageChars(tsUsageExclude, 'Lorem'); + ftsCreator1.AddPostProcessStep(pp); + + pp := TtsPostProcessFillColor.Create(tsColor4f(1.0, 0.0, 0.0, 1.0), TS_MODES_MODULATE_ALL, TS_CHANNELS_RGB); + pp.AddUsageChars(tsUsageInclude, 'Lorem'); + ftsCreator1.AddPostProcessStep(pp); + + img := TtsImage.Create; + img.CreateEmpty(tsFormatAlpha8, 4, 4); + Move(PATTER_DATA[0], img.Data^, 16); + pp := TtsPostProcessFillPattern.Create(img, true, 0, 0, TS_MODES_MODULATE_ALL, TS_CHANNELS_RGBA); + pp.AddUsageChars(tsUsageInclude, 'Lorem'); + ftsCreator1.AddPostProcessStep(pp); + + ftsCreator2 := TtsFontGeneratorGDI.Create(ftsContext); + ftsFont2 := ftsCreator2.GetFontByFile(ExtractFilePath(Application.ExeName) + '../Prototype.ttf', ftsRenderer, 40, [tsStyleStrikeout], tsAANormal); + + pp := TtsPostProcessFillColor.Create(tsColor4f(0, 0, 0.5, 1), TS_MODES_REPLACE_ALL, TS_CHANNELS_RGB); + pp.AddUsageChars(tsUsageExclude, 'e'); + ftsCreator2.AddPostProcessStep(pp); + + pp := TtsPostProcessBorder.Create(3.0, 0.5, tsColor4f(0.0, 0.5, 0.0, 1.0), true); + pp.AddUsageChars(tsUsageInclude, 'e'); + ftsCreator2.AddPostProcessStep(pp); +end; + +procedure TMainForm.FormDestroy(Sender: TObject); +begin + FreeAndNil(ftsFont2); + FreeAndNil(ftsCreator2); + FreeAndNil(ftsFont1); + FreeAndNil(ftsCreator1); + FreeAndNil(ftsRenderer); + FreeAndNil(ftsContext); + FreeAndNil(fContext); +end; + +procedure TMainForm.FormPaint(Sender: TObject); +begin + if Assigned(fContext) then begin + Render; + fContext.SwapBuffers; + end; +end; + +procedure TMainForm.Render; +var + block: TtsTextBlock; +begin + glClearColor(1, 1, 1, 1); + glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); + + glViewport(0, 0, ClientWidth, ClientHeight); + glMatrixMode(GL_PROJECTION); + glLoadIdentity; + glOrtho(0, ClientWidth, ClientHeight, 0, -10, 10); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + block := ftsRenderer.BeginBlock(10, 10, ClientWidth-20, ClientHeight-20, [tsBlockFlagWordWrap]); + try + block.HorzAlign := tsHorzAlignJustify; + block.ChangeFont(ftsFont1); + block.ChangeColor(tsColor4f(1.0, 1.0, 1.0, 1.0)); + block.TextOutW(TEST_TEXT + sLineBreak); + + block.ChangeFont(ftsFont2); + block.TextOutW(TEST_TEXT); + finally + ftsRenderer.EndBlock(block); + end; +end; + +end. + diff --git a/examples/Prototype.ttf b/examples/Prototype.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c70bf00f47201e79fdf14cb5483302fe6ff8ffaf GIT binary patch literal 29592 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 M&Gjpr8gqpFA28ft3IG5A literal 0 HcmV?d00001 diff --git a/examples/SimpleFreeType/SimpleFreeType.lpi b/examples/SimpleFreeType/SimpleFreeType.lpi new file mode 100644 index 0000000..a878c49 --- /dev/null +++ b/examples/SimpleFreeType/SimpleFreeType.lpi @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="SimpleFreeType"/> + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <Icon Value="0"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="LCL"/> + </Item1> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="SimpleFreeType.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="uMainForm.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="MainForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="uMainForm"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="SimpleFreeType"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..\lib;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/SimpleFreeType/SimpleFreeType.lpr b/examples/SimpleFreeType/SimpleFreeType.lpr new file mode 100644 index 0000000..5650e98 --- /dev/null +++ b/examples/SimpleFreeType/SimpleFreeType.lpr @@ -0,0 +1,21 @@ +program SimpleFreeType; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, uMainForm + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource := True; + Application.Initialize; + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. + diff --git a/examples/SimpleFreeType/freetype6-x64.dll b/examples/SimpleFreeType/freetype6-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c88d70b7bbad0c8e32a5bb15cd5dcd8bfd9947d GIT binary patch literal 630647 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%0A6IG!aYwVNiSRsIF04dxl{j83{IM;!uk1 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⁣~pV$S%q0T+& zsxh7*Is1v|2I8E50AeaInvV9vrM9pkXHGJx)I5CS@7UAmHhQ|4=#>6WdcXvI7_03$ zt|xjk3A#sxYq%Td6C?rL+|S3oR_-EV)4Y`K%kLTFEP9+T)Ts@l=j!~KF{eY=Cyjv4 z)*({#9G~cSCX(6dK-IVo)_0Bn)^ZGa!NA@FWq@J`f^RO!GZagJ|F*o3qU2E@vo9Mc zMPHW0ct@UK#IwBPtjvzv*VcH~dcHdgzeTnPMLUJBQ)Wc3hbHL*-AGS)tJQf4Bm0~s zQ<%-RPCAe$f3Sh?#=lL+3<%>;y5@KdgdEJ0xNshe)cal)RP>`*3Knj04ZVd+5KSmz zf*z)s@)oMR*_20kfx_P=tm$9g1wk@cb0O_<-PGCczX!dn7#&i06XJBU_&*d=d7Lcq zY85++-#bjwoM?p(4;~~XYyE<F;yCA)E_ZNnW>{^9s_Nq-k{?Z4@G;`q#Xi=SYP>BR zqtj0sFh+-l*%m43MzUd2U#Yyoy6F1P5wKXf=Qs}<^%45oMN?&79%Y@4q_JzM)qP7F zSWaPw>cax=q`@j+7S>yquHwb*^5P3=;}7Awsi6Gb$xGfCrSZ;*yIt<kg+V)syyF^| z)~eeJcQWMV2`zqF!#S9$D}r+erplj2IVlE?2KFu0`qyCIOxM8pscK9yJ{&Xr*_*=1 zTK+2(gP}B_DIDDF1OXb-iPEqLho(X#ngok-$f^mLG<_3gfkx$e$IvMLD)!@1IeOe2 zO;2nO_&@j!^r3PLsC}>1zJo!+-%UtVVgC#dHI-Hc!7WgdZHcv1X4S+dxS8wUoApf3 z9ZdB(@x+nNb(-qQ6wU6tvXjxUE&32fB-)3A)A>kR2^2>X3|3KH${T!N@-$n8{@0c& z^Rb(MP|l1Vt%j?N7r$Wxn=B=lrEe^5^$PhFfRVHKiVw3FY?1dim_s6(*V2&9od0@* z-Ta?P5<I{Qt@>SmtCX(Xs^#|a*i`>V!DhM2yo#9+ZyfBD<`Se}Ic@R=YqgJK5)<9d zHJ|0_?yX<TOks>AGrg;&G;|pz9hb>g&meD<|HY9yNt)aMzN>Syo$m<(Zqis-G4IkV z74tUF`fe`n+{g{#0yP~<P0q?Qz1i`$#?=M&EWd-Q+8Sr2ocv!1IV=C-tVBQq<Ud~- zLO+*TD$S&D*}+0nd?f3jPU~Q8xKWWMq~&0^V3nZe*7p;1C}T3!8;ncDyr02rQv|aw z)0~uhVlYz(VKB?voe+1A3%<r{_xRBo(cpahM0{|zLKjpqbl#CJNe8><R0XFKIjT!+ z<TAm^DN1vu0UH>scov|~*ZI(L21-?Y20DZcyV_qO{qEh0IMURCdI%fAO%wg&*~!L& z367wp&OJsyjYXy8g5#lAzUUOj>-it;Pv-Z<sJPITeI$6n&_H9}7IOY-Mjkw{^ry@` z@F{vl-APxjt|OiQaU>~tS76d!44Y*9iYmSnm|?5G>Dn^D3IRl$vC`jd>2-P3DVz>@ zmG6UB=wRkUULouN)6m-UNj3vb@c@kS0^<!OpG^GIS-9szQRazcHZI@|xPWe`JZ_3E zjDtVblax1h;jD-H8IIol3`dr$ixgo@M>|Z%ex5@t$1m>#0(+gpIFfi*H1xPkTm9gm zV;A!?As!nXTp5NEgPk9BLHRKk-yue->|cqe5+^!8QPfn63empJ?^((<xXnd?18gM9 zZ(??Wk-Q;9uq~#~$dVOTF*#PaM(%Rv_rUKM7?!(2OB2*-_1Lmp^4vddSw79fS$Q0h zZH<#zA5R{~2HR-<r=0voUTm`{9tzHeK{Skd>XRDpOsV!^dsgCirt&sX2Hw(nw6Sq% zj{i<!1?VM-Mq6^^&|3e*AH%eIlj6yd+;PB?jHU6bh{Z*K?Ly(E6D(r(%9!!T8lHq2 z_|OG$=b<ArrTk`!_SbOUATYWNFjA+B3`#i(oakJCxeg?N0Tyq_zK}Q*CDw4WR=F>F z0T62iQkFQA8h_(XQ7+jnDzsr>I*~e@bBP71@o%+M?N5g_kU6Zxe+6(>&Rw)vD0Bz) z2baI2mo>eIxu7}Tzisbs{zbifnHK}*o}*cCHbwOtWG&?iZK5=K&iBI=sypKSE42Ly zy4JG|e14<BLHb7Y>J6ud5D{+NGp!Z*uFuKr%i!Rxw^<b*>k3}sx%<T61s-bFNuvhW z4-THx+XbMU<f<m-(ZBPD%!|=8AEy-U!r&68_+#K4(npIt_^yg)R#u)K;??;8UbMmI zFC|Rt8RggemWqOJ%dhUGzZGtG`x&^Q(ImQS&MDQtMqEXva(deTO^2q?{0vB&40+=% z#Mu28uz#!UNlkQz`5c1coc242zPC4f&GDpnenp6+cNzAIfs?bRy1n?g(H5sR)bB7B zeAJfuEsZuKN$1@6+`Z9Abtm0D&Gq|nH#tHMz0JMreoEk>`O&P_XyR5kfi9ro(>%P> zk%}2biH)wr#!C<HIWnZ!*UUboab^_`ppkhO>OrClz|gFSj<<)A%M(QjRBmV*8f(03 z8ZT~Z+^up}KI*2cW)F5fMbQrb3cyKZ^mj#pMcDZ?r!bAzv2Hd#_SAN6>kXH|%iwv< z-;th`25cnWbn<^YxVeda$PB=x?mp~I0{NpG(utjy9^G?nS^voFoot}(X>0oir*IQx zh%Ipn*Q&I;L}NGJ6*3sF5tE+&C>`-ut4B5xA&)@|LZ-q^L~I7Ug=@JzP-)0xY@*#X zU${HywYI9?>>?c0B=$J@4->~UHmT@vyi;uUg?9i!EK%X3PTS2Gc->2#o}-PvxAu4U zx1Yq@8J4j9k7<C6M`&Cfw*NHB*N(bmJF7W8{V_U1bqDtZcV)0g$E94J+}Mq)BUVg* zM>;;ErFt-LG0N;A-h2W*YN<jce$k}_>26-#9YWP@ogm#1<EHeQU#&#}#kv(Eo*Q?& zYx2*%LF6BagfLr^uADrrW{|+}rZ*Xv#+$eB!MUdQEz4?aD?IMY9#5{l%9V9EN9N@{ zy(FDw4?8PY3zpj&uK>+!Kx}($2gT$54|w<&>Daqxai|B$su`6Zz$;q&cZ1)M)bgxm z64(hMzF{%hLcRg09eG@8<b-&L%adIDjf(1LGQ=f@iBlubijVwIL}DR6%&%6Tn2=Gd z7-V=!7lSYo+d&*kZ0DVNb;QUdo^%#&Lb~72L%hkDcuSQXNw(N41+PMl=by;%y7PKd z(Hg%0X0{{wop+Z$G$-D6mfWd9l}&-rj}}LNCnAzAJIvxddV_xi5u9>i2I8vIf*Y~0 z(O>&4)ozv0R`?GKI!m%<^L%<;{tY@HiUXPautHm-@nW;qNZKlU4xFuQ=hUP|4fKa! zLs1YCclOWlaTG4@`rk3$oEFrSxo`in?}r%U3{gPk;e7Q-8_u5E{symQ4Bj_f&XRQ` zJYd9W@73k@u1&%9>$Z%paMkgo{R3P66^}B<H}w1hh#RcFIECD6vU@E~^CL&uBCaAn z`2Y+&=&cZn_`<8hdeui3`fxpXt>y{v#P!PXw311ug}S%CLg5Pc4zsa9Qp@6*>j-Vq zt$6u7^#nkrfxPukVqOWug5zIFCSG?sZncJ($uis)PAHuES*N&rs4&W|o}uo}RN++a zX9YwEiM~GjwWPbNEg#lsx2jq>CJtX&6zZl^8pWtZ4K*d>{tfXGMwzSYu-aJ;tuYZ4 z@!8{b??3L9nTzgdufnv3_8v)<>Ty!ICYZq_dP{|J5t=Va0PlETcFn^N#w*wCK%!$l zKk_rGViA{`@>=l(P3muu+G`r>T6WjOeZiYOhEQ8WgeoCa3cH#6_pezayfYJXtJ;V5 z9AoDdgfTg3NOjGea4$RcXo@`&lbwve(=m&lgEgIdHnD+)f+lt_ZEJ3|H@Go>5mn3{ zBFfZ)bkAS0I0VpJM6m7O(n`FJb+I2nm)X{ywEBaSGyvlC7S9Bd!eteVq!;00OD5Ji z*Hl61L1ugjx3Y<wwP7RRcwMKpEYi0RAFxOtrHBt$q>qtC0^Na&bTo_fF6~QNq<JfJ zB|6U`vsf8=qcMqzW^$Z)<J-?HGIO-Y7{M6_FoIV!1oK41tvs`zDLtE(%Hkf)ZfiUn zr2JVT%IMoE9Li`@)*Jl295o~)e{S!jaRcC~ObMk%?r%qmom3WW%DifQbn*}t6p>49 z?rLFrSPktAP9Y9aN1R$DWO*8c4V!lBf-;-Nj8btZM*TlroHby-%N9cZN=7&hk{F1o zBp<ZKMha*;9jFl?JO-i@ZL?H+p9tQs1F<ZBVU~yZ)78FRZ6jA}4YyU!n~5s!=$W*A zJ)hb}-eu8=4VNCy>INwQBh7EMCHBqwY%op*8vF=hsW>4lAueYnw-WZF+Fx_T2&vJQ z*zI&2K_-j{ZlUlDw;Q(cZ0~AI+;7Jb?f3LN<qdZ3*%GSrI)xKJ>^jG~9@yEnK9(KE z9Nt0&iOutdY{<V!DCQ03E^7AZ+-g&=%MOf=E86re4~VWBP|TH4dIWB})>pr;7>lk! zw@lPcSd>$k$V*tc&D<;|$2-p50>!&~TYkq!cdZ?ib-2m8DHpW~nqt@5xW)Y`RxYJ^ zP5yZb-lgTXHuq?CZuJb%Q6w1p-OHM9QT&FLy(1B7Ir$DiqzyVZKi>kIorSKYgJQ9p z{pefeYWB4yHqYt_eh#(r{t}wYC5$bXaMt@usA8T}!bOxYVD-1Z5-s&AHkJPE?FIGy z{rmBY2*nOw>T#C3^+rp*D{3<C0JR6-57*-zXXGjZ@Smuvtr$kyz2&3%oy;+Y3+)-) z^pY)-zg<~gBpR~vBALfWjtr{jmp{e@W6|NkSNRx<bYsC}!YOxi{`uIN=a1yr@GrT4 zHjS;EGlDyoVq@D}GX%?<PUCo6&x6gC?WzU}0X9YCBk>{_gCj(d80LKMAHtmPDDq8$ zWk!Fg(3_Lr%t$c+T2xN{0b9@F@FA>?!-pm`4&PkQ?MzoL6{W`@ZRFt{=AFkeFlWKG z!wonI4$lGo5AR@DDov?2U3r(5mgjh1h>tvS<OT5v`(y{?64(C9vt$7|+?u2Lpr79` zCME|FJ_<%z`{xf$d8dQhya`o!LcvpQN-H>zd>k-*%gOKd>F}ehNcFIdQ@{K_h-ph~ zbn<^yAQhb|<R9gY%gC)J)aWx>7h#}!4@uRUDUGnMV;YQ;(WBC_J(<$je^MmqWQf-i z=dgEI%KLa44KR@-A=}J|a8!9W@0gVk+H0==)5KEz_)Kh1$~%f&DX+$x8OPZagSdn5 zq+Vso{#^ek=Z(24TuGx;2f|Vzri?9#LsR`0yp$Je?<dkf)-$agw>zwps~eTXzzRt> z2`3IHw22C8a`z&vbhnJ^t>2RG{hV{{>rgcySTzgx!L4S|L&{=mzSM*=;Ut|yNw_o_ z&fI?{T`9G7uQFMAXyxF_L!+Z?bYPO+_;|ANta#;wIRE?OSuf05FBj;<j}4HHn9$~r ztO0%B#&-kG;?6^8OX;pL%<jF_)-E(O-~Ji9kr<eu>4kDa{{s?EvxMS&f)80jvS}|1 zhLqp5r3LR|r7W!N{0}Y!m&ptmej7dfHp-u}hl5B@rf$zh$$m1{@&2u&Nb|bc?`6`{ zNFx5elgIzvZRCOeC_O*Sx045bP>-S!;PIaN@R|NT%#6Q(#Ad$zvz{lNhoD#isKEp_ zDu5`tf^58+uto7g4T|@l6CyYh;Y~j!vWB(gnNYVhF~%?oq5qmVNRNS})engp)umgd z*Rl6`clj!DZT(yB<7@VuG-`AG=0<b>=#)Or!It~h?x)$9({J@tG{r$gQ=~~&%Dff? zj{D|*QP6FR83usR)>@|WinPD1UEMIr5YDnH50!YxzlumfATxxu6pW-qpgqwW_DWe! z6hieZl&QD}mshzUmyq^uhDS|~Jg&^9u8*jqOy&QEwBqs{{YDY=;jDND_xau1M!n^v zcSZy){y?6Ob5KKHK|_M%wuGlyZ6EHwCD-Wt2WtnhNoUeK+zheHcL$2`LM#bkU{}oE z#b8$Gd6QGT%-WF7>^AzYxjvw0q1@^K`mP!X(kjRv8WD97y{BdPd7uEcr!*m!@R3Z> zAy5hf?5>aKf5~CqnDZ%)^2D1WQ-e9m;(scG`MuKTW2w?veOzCu@kc`)B1P+Y3|1i! zj!h*%W;-x}ilVW`sWhb)^)h8cLyJ3iU|hcs6fc$0uRu{IxkY<D8#~U~BZZn~_iYqv z1}M`cpLl^DN})#TG|AoXGU`Z;`<6~)vkewd=_-$^g8ya*8OZN9!2heW7qJ=j(+BJ5 zIX<sH44y!c1Z7%9|1waE73wF-lJU*WBjcR4O^04jVY#D9Bf^!&-O{(55Q}r>w`<PM zgiph{U&mgHw5BVTip4i4{Ml~@r;-g(&(&&B3l$^AN3<K<&u&KkAg^65WM0*@O*Gkr zDxztV?yGDV{~%|1pFK#h(z52o$`EQ1xo=T22||H?jO5ma5*1d%m{6)>n*kFV-qHCG zXXDIE*3r31GxO;_?r$tel}sGV!-Axlh(h}z32r|41q_LlsEW%OGf;IeHTI)w5Ko|6 zGM3<~4@dxt4t~Ue1A`%D-(W0VwZ!LrKw=PoFo?vKVAKaBP-%ySrIl3L>wg#A4ID4g z?ZG3+S|dU@*!NfM@jzaxG=aXq#VMTtka_dxvl|69u;@r--lNayQaqA>p}VDBem{$D ztQ1%KY=lUfEb~%j;hIzYBNQtO#U{iv`Y7!U!-d(fUQO{!f8(nbs6^qRSp5m2>eqrx zw>szO)OCurG%rX@K2S{qOp%8@UoZ)7tJXuhJwz!HQNssB>2vTWCJPg_P2~0+CN`|; zThzn^2>k`C36K4)v*;4Gk+LFE=jQ=eJ4j!PB~>SXER(c~;y_*-!!vAWWiQ|jwI8Y- z4XtuB556~RN3i@E>XYV3B+~8Jq<(&|Bvh(1p(M29BIb=vvx=4PdQv1iK-1!E3I#0% z3ynACY{58jCw~&nif~(7<9K-GBZ*)Fgjiu*Z=;<4eWq|7Z@@HuGB})^M~ZVwqr;<y z{xhq)ZX_Qk4^zvhRktxWNe)1CSoOWU4y(>#ix_xV^(A5tJgiE2w}o5afoT0jYII8K zpf(3K!IYDJJ~~|#ONP<?4^dnGdF}(g=-t0`h0-tnGf}D7%a;unx^M115c@yEN6*gW z5rSuWqmlUEivvK=3`iuFs9)2+$PeBw?&_i~(XQbXWD6lW2oW5g$lMH67&&;M1e*bX zhyxB5Zf7DJ^HUfFC!c2elfsd1Uh=14B^>5~Lg%T$B1rhg)hSEAS!e~>yB)U#4}dYb zViAe_8_z|tdXE;I+Z&t+>USS4A80h5!>1AUX=gB==YGjyUvLZM<2gN)F^t+3{0h+# z-CqwJjM{}9A(SF;ZRFGY<p+`*>=$^J<p<=zzS(SRqR9{b#8y&X{)uHDAU^;J2k-ui z0SSSU;m7riL1ZXHk2tIG(C_002$ZCS6Wl;P$Q-2dn`pe&F{PML$mBc2Hmfv_#*7pY zuIgKwCLirFk|!kj%XCq2myLW`bgxAaG%<!{5fWu3M-HoP9?6yx?la*6;(EY^IrQy) zK)^UA*rflR_C)XpvXI!Hw;YUn8#F1+HwsYQ2qq)?b2kLr5Iiv_^FiJ$3z9SHwk}vf z<)b>Y7~2e2p0rcXf7i~tucDn_7rt3$98=20qe_#8t^RS5g#Hs(a(^l0(?*62nB9U< z686qk|1Q3#xNF>ML`Ls~(y4VRP6TctI_dU8!%1wv-oJ+TOvvCyyi;@KDWXZ6-H#=q zv$bMgeTt!VUr5$Nusn+a80XyH;G=4qE#=+YSj@zHf*44^;;!fvcW!NLr{n&MA%R3{ zUK_kkC?x%MKMnDB?%H4<G4&f<To~(32GO)zI|ljDK4WLg{~pg4S)OGg<ubz9e^~J9 z3Wh*NZBXmgWr&&P6qaiey22!2y7v_R$;3k^Pu*|I*>kt9a~eK{9bRrxPqcV5swQE* z21EGX9~6gS*Ia0ap~6{~s{LI1VBA9v%3hZCiozr5&>}&GovC}m3?eG94)wVTr&w=j zw5=xXenL(A3U?9yr#j=#=Kg`2DZ75MwJ}#0opNN;MJKgY=JC}`U39XxanWfx?<ldV zo9jAr_n87E{{2|wxz#!TvyuFT2c|R@>rw1mbrX@<>mZwOsfiBvn%-(IwTL$D#p%&? z-TqTo0MBC{l9((zBemE9Deq?C4cRfDBs=C!+(m0~-{EEn#uk^85<=Iz;No;?M3K@V z^nP4Na$Qiv>PpgoXCB*3Wh(KY3YqgqyFvbv?3y=e6>YeR1$a+~Bv627e)FIev6R#N zyzD$~r?9r}4hc&vAj;nY!s!-}>`2Z<I@XtC#57vW#&V3<MT@bcM|@0fAwqH89a0Hv zve33DZbOGyp;&jv4jw7{^dcesx;y+RM18Lk9HPcaqouN9gSDTBgr%gEd`dqOXg`;? zkq$9V7I@DBOhJA}ZgGb$FQmPWF+fGyeQ+n4xRc(?Be)AZ+2R!~%HxjT9{;|D+}m;I z4-f9=Qzw8Xcu0G5TZ8`u&*bjwRJBe)hBi<j)o^D#w&cF-IW}!JYZ-hthWE8FHLS^F z?j~Q1Fv#YP^{=@rPhH{)p@>5pt*lEQ&0xP=^TsZdAr%`;Ru?P~4z=<Mf}X0poNt!K zK3qjpMs;<^iD5+GCF~ieX?h)GuMmJJ8uYerr@)4&!1}PjG3AoV+K%YIhGiMmh$iDs z40i5NX$)@uc?$qfgkLO2zNA1?zg<rPuask6EvI?C9HU{TW%+mbuQqq*H3>}?dXN8# z+hAq{W8EfUP1&a^#an1-6r!4Hf`X3x(FA}FGa=05SS8tStd|5Mh!IfaPb>#&Ea3lk zo+QCe@nr~y4S6l>SWpLA#WchucV}b^An3cUlL0kb08ZgLk}AvHJY_EPud7&h6J`Vj zy?dX<XazPhFh>;H$=t9|&=T9Q(2xexcx{1qX$>{OL3AwQrF)_9j(*(>g>m#txmSzz z>0T(DqhI&JJHkMPyYLo5GQ%mTS}5>SNeg*yShzrmHY{AIhd7v~?r}2}?jDy7A9M9+ za~BE@y2s7an_YO51)~AR8*cck-POGid9;8(^nbD4pLr!a1~=)f|L|0~)gdk{zQarK z1_Rf|{d7+awAvYm4=O!D>6E;jWMOITw~|Xe>CYv=J*Z8U<l^$(g~Z!=4`vYij4JTd zng3hPP0#GlDTsH9pCqS7EvKBNrA<7HKc&HG_bI!R2iGK{XXmg`c%(;ly?wjp79k&V zXF^ljp^SD(`hd~<Vp!i)wX{|B6*>(4thVIR9{-(<(9)TfeUD#<8%NgljPR8k`1+uq ze`NSYD<0Iu7p1W;@4RezRDSqHY3$3>;g@Op(rpb;v@lzjzI5mHML!mV5R3)V<-j@R zz(fm>T&>oRj!(5q(-%5L*^qI#`g~5bSPxu$6uiT-5D0MwfrAl-Yn8K31Yvyl%Q^lX z`oMo_73uyrC}cnGNPC?&c%?(0*bM1ntg<TV&i{K%vLAO~EP)yiLLX_})a$lmsu(vx zJ618d5h0NA8lA$`jMqW50M;6blxIQF1AF|ZW`S=y?3N5Gc`gOCcsJyDba&|F-Wqt; z2zzvN5z$1j*u@51{@AgxKQx?dA$seWYcs_zc)10-JLcI_#pa?AA8(01{<Qz&atmR( z+Pxu1xo*c|{^MO)XivZHjvJ$pd`<U9u82ZT@n#C}I+}QQjn(iv#ILz|;WMvenuUeR zypD@3EM&%Ztjbs;cZP3PsheLFzNv1$b%k%LpSO+So0`Demher@;B6akNJg|;F~j>c z&~cFFUj$&be_z7>9WGtrMq#Ha6>%W$yBT}e;2B%J0v)F)#q<ByY!?m4rUm8{4}V`a z4f8>@oi-qw*0xjpGmVb08Ls5ZCf^P~Fuh!YE;muA!YTfQOtu~Y%y8ktjcZK@6KDnV zTE!r_9g>>>f88C`1oZ3fs34?vCHrm=AcNWqpJJGTyZC4NaSL7@Zn-$%CS4kueTO|U zmUu_)PJ*KBRZ80ZlMc3gi~4D8FHih@iO5&wvU;FeQ|_Y~@9Vf!D^O{EZ(sH>2>L3g z@EIyky6+^>aBV*__dt%X6%W<&FMGu94HZqiNZC8v8hYBWra+=wQy|e*sYrQi52U;* z7b&lHiIle%kWMXtlvj`Baxlf$Qnq#)66}ytmr51Y(Aqcsk8m~)ICZyQ13AD<bdR5Q zakl-t-3F6N)NQb;5S*ZL%)B|wfn|OwSa5}z#D~JBYuYwoHd=MLLaTyc4Z-DMkn7Y- zwLXY#0L?*$+IbMHsI7)@Q7pJkFS^i!_^<d*oZ)+EQ2SV&`)L=*tunGWTkGXS7$XqH zUe=PyhbS0#3TIm2kWQyir;w+zs>qt-nSmXeW;~HhPR(EtrU)qT8&H+>zEH!-=9C5V zqs|Pa-gIeM?VTF&(h~K>--teTR8-Ql+j_KIt6Eo2j->Z8v0cT6d;K_ak+O?#BMa6! z*(_CAl9$}i)4c!&`hqbjcfweALKBgz^wC`d&waN-9BNKzaL*Z?jGU8X9d61$cpslw z2H01UUEwMIao^)=Gx36hz8jsw&-s82?g!6gUXsp3*Ei`||5Qr%NU-pbT;rdVjBQCi z-rI73Z<6eJ=9i?YS_Z==q>!QtX@-tUuBly47{xL@^h@bfmvB-o7D$*yvCpYv%9R5A z^m$h}<_NXsPjL#*(-3b$6WzrS)_lxet$F1nTys6%yL(&ZgfZ@fl*D?)Lz(op{FNts z$mx(lw*@wP%uq$}nwEEoJF~pBP*WG>NnNHPUE&~;KwS$$i{&)PlxQ#q&}XKf1=x6% zC%1D?p>_?qod>U}6{qJsxU6;^PyD7|Q~PijDAbDM1GoH;f-InUr}yKh&B}i3>pEc> z-=Koj40{`mqj|-SaktoWtiG-<f2F_SXRIf8+4r=*cZc7bc5SG3$7h^k7ge}+B<?O< zMmUKz9hoHT1>4!Wg|`luuGTG?ZQXtw2_4HdX-YKF%KXa>P_6}o$s}lD2BYMTZ`I6@ zsj^@mct#d#vy@SM%^lCgETfJEFA0A*#l?hy-a@Uwmwdq-BKr9|7Pi;Q0dUjQ$ninA zPX%9LaG{684j{r*4}t`gCm;^cckwzhT;Sz3uwqbo74$EG3z|?hq@ZSRiHw~Ao-#-X zBk|SY&EA7G3KuttpWp({W29^Gu9u}W5<KJFGf2vAMtY3ua-#b#5~oV7K|Y_IdnTfv zxRyIFkF>v>ES*pKr<_HL`GN_YZg;D>ox+qyx|AA(VJfzUi!GN;@q{MpVOh&mrhW}4 z(6!}sP48L=!7GfF)+B4#KlfteD+uoqQSE<@cbUAyNnm&IPs(oV)G8fIKCRL-^{js? zIA66!?dM9lU~l)+OtJqM7Y>45FdzHx3j^(<dQ>9<lvMp1|1h@wD3;6rT}*m`1e{eb zG21{StVicp&Dl|I4l>5x;7uAH;>qgZ3F-*L4M8_yaX_p3<7$Gt2y-|HFZe!tXSk8a z_77e}vFrtYugYF26I?S=iE-6)j?8#J5EavszZ@S#Q`iXy;r7nOmeBM6+BI$nZUdS( z+w0~*$=z!za+=uY%>>2hXOBtdHw}qChpAIYb>-2xDrn{^l<jY;?2Z&s(SEn8mil^L zXY(r%V4kpNE2$lKBg~>L*IC8om@!-Li-7fIAirm_Bhs>@s$|H|(g&HTl^L$F_ss;y zinx8{!EjQ?;yzJ#$sSI-bE~^^(x0zUg(Q|c#^k+vi}*t<9i#>_pvU3G1PW&i1r}$L zvHiTZ?&4emLO#XIEzsSp0xG(T4faaO-Jz|Jba!#g{wSr<Cy{y-_dj&BC-?-*FzsDg zjp3TQ_m`|*EW@)$+PhAb^I9%Cs?(nxepNO0)f%Y^x{K;(7!sDz&rd7${zeUGG4>tG zE$eQ!#HxEZ>8<xpu_#(>0<9e|Uv<9j?xoq`kMEMHiIXL6T-O=?1Zf%1-9g<p_44xi zRSW|m{*K{5)~@%Z+(Fs1lZcQq?xs;)=<S#sX_A+UAtp_YBfq&9ZuY8CCK@L*3FZbk zonJHjEHBmh9;;>CFo~5iiEZs0;h6<q5kABS#TM*Pgd`Kzaq_R$z#;dw&T#WPHClOG zJ`eOSuJ-1yzMD^=B8uTXEl?zv8CR|oC_)fn5D4SSGMCVlaXEIrth#UV7+f!;6Wy~9 zckV$ThG~!?vm2031Ba4F1E@6uSwz0djA$N>9kNpm9?tv6lM~j-)Tn!zeUqD1A}Eqw z7XxDzbAQ(|{m<$8?sQ`Bl|L7zq}bRo`74IAy?>0;`JNwks{MEd-btP5?xs4;VKf~5 z>#M4Ngi`uQ`T^q=<=+NMD)(RIZBsce?lu<eu+TU~`e6{L4eN8q4JX(e#?sdX6)MFY zM~@d&g~5iX?*09xeyoF3^SR9(RQ|djf2uu3z*uXL@8@3~j>_k%^;S!^wn|e`oi6=u zm{ssp`$ye1Yl6xZad*?(>7Qle++aJDQW<wztd#ln!`FEWEOow{+c&=(PDXdosxAub zSyvvv<p4lZ`@bH^xSqD*Tty%ws(3n7G1}|rlrF5^IVth<oNr~^ZEK#d&eU&74OyFB z)5{q*YU#n}(y=w^$L)d@*Mbj|HPO#kD}93WBp#Tu6py7J?^UTJ9pqt2zWVTFJh3+W zABnYdx-+FOs-oH5{j---t1z*ZbYos}Xwprxn!-^!(0)!;%8S_$CMhvRk=|izo~u55 zVjSyR$8Y7IGr^EFOQuQi0CZmnl!Al-@kj7D&&b`0M3WJ~0A$+Bby6=EwUg({m?H+S zhhr>46zNg)x$go}hn_x|c#XWuV)z?q+87&Ou=#~5I*W}bTS2Xw!zNo`7YmsuIdefz zA@T`wIWe6VYOT88U(D{oo49t)HHhd8BZTC5yOFo-D6>s}Zk79%`Rsc*I}yz(TEUW| zMgc*S79VPI7qNZh*H6XxZD*PSFjeX0T2+!a46j$!885!GnSG$DZ)p`;w|HQ_M@lMH zy2Zx=4P$jVSrz8zR##-N_s$;U|M%C}-_LI1kOeBRR&zudHU4;uP7$rG#UIV9&SAWB zaWaTHIgzJQ4jU2eZmo77rluO^3zC&korRhRoob;}P-i%}N%O^cY9oYkWKcsh@EAMu ze*jXZb@iOOR^e?$`+C|tFRk7F*tCZmn~AKQx73)v$yKT&+DcWHMkVA&ljn!1GdX2| zJ8gViG9Z{cy^+!C=8u=svES1shD@?G?KKaV{%I2fFh(DFHdrF>``QTfjoQB76oqSW zlfpiu=`#PcqUt>}D6yeX`x{<jJWb#X$FtsMJYQ#d3$+`=SM9lJzHSL$d!yHBG}ALg z9~x&M#SDwmPKhV&dTiNo0HsY%0tV1*`+q@@3Bb`0&C49!ZAyC8(_x?X;93!WUA@Pi zU)h9=TpTD%<KX#^^mLnn*@6DISCASd=W1D3v~fcOk+TxGPJ@|Qf|6Zy+7tU`Kdrry zpu`x<dE(>7yQOxEKH`6jwq!Av`5J^w_7qgISYV}Le-M6(_Pg%5wj00#EgPMekd~IJ zh;Yins%2Nv>ecb0DnmwLmGZ7ib-c)99r(6%>`iccuoJ@%p3O{&1q5{1R5P8LTHyDC zW><V(d3G-WOb(t`4vjl%$lgD{9S6>D$AR<Palrg`Xd{ni7XF^%QGXaw9uFH1j<#f| zo6Dn%UT2<5!#+ui{4VHtR>)tW#x;HZ@-N$(bSrxv8@NBsjp$M6P|Vy#eidw;F<BR3 zI|_<mrl#p8jX)-}`paOAwTX~Zi`{G_G6L{hp58Gmz(nFnNw+GTf~21V79QAXs#ypZ zcA8;6m|2W-_tOWN(#7U_A?XIc#~AB#X)3BwMQTNzf5|#fF;`nuQRr~tR?)U@aGy3z z(p$3rO#T^RdI<u;^q6;H0HZwBADCxIm`CfPoaeLTNtH6EY5vWI>-%eZ0>>NT23(VQ zmovu52zZt--R0T|TDsH`(i)*=SgFHy>IL0dYQst}#%)4S$S<eKv(JYOxQ{O~rc>ad zv0SXqKpUkOtWlrS?&6RST&zKXW*kFIor0b@y&{H{x!7<KBxK^rS@*jm_tPK6UF{$C zX2k)}#_Zu7s)FgSsN<Ae9SFt)OWx!-6M97AFX4n1KS`WBE8g>`5Pyceh;~ng#Q)0g zH3;j<y{{xKM~>=%we%+fAoIo2-yh@&;!xym17lN<l?V4A{$%zVl?!JxzOG!h?Ci?m z#3Gr=&A%}SUncVGntHdY2Q}mG)VYtvD0$uk4AAB5&1)f^*S5bD%#>(nApNl5)hZg5 zTqRf#n%beE0|?n`ZmHd<7x}5d^|S?XMa@$<%(rJK0!1z&xofXQ-5*J3A4_|`vju~= zNRl>fsgvizuIpvhtyEXsI`=>Gd#kVd4g>s65g(U&N5Vc_oOnE1Ja3T5#Xt-aRaGl2 zXDtG|S#!W<YOb)GHHY_|_8zr`bQN?CY^OdN{bMC#XtfMajJtM+f5Lo&Dt-_(FYT?g zrhAPUZ&r12>-_)5sqLs2<qrU7IW2B)rgBjgHMO|^8nrc3`I~CB4w{}F1!n=!hLxm) z?tXYU3=VstJ0A7{H+Mg^&dUyA9VUpAko;HuCgWnOe^xc@{820xj&xLI&$SVL!`_}v z%|NSrPoM;oR==30R@t5F<VEhU#wrqxCuD&((t3|Z+F3k<HZt1Iwf{{(H^a_TqrJ*e zyFf9uj5Jv}Ys8KL>jm*dTDzVK^j2vs(xpPJP=dZ;Hjk~?`fPMXGgE*?&*ZAON<kJv zk7-3X2-f$xQls9&R|-`r6jBRAh^GRlV>8i`%G5IW)&t>d()iON$%jaUgIW_6!xn#@ zFe#?)Hb5ke4lVU!>9@s;*CJfrU1#nyWrd06$ZuiQq}c8jcmxcLGELF6++l4(C*rDZ zXvop%KWpj|cUyCuYyX3JNt3t9x}>2YBNo?>m%X&GKaDisDQN36029zISg$!M(-6t8 zB)<v(%HE`nQvZCSy#x=dDcz{i4SkSm_)2%wwi1KH_kJGwX^K}Vk<2vG3?^9uJVo7i zE8ig+<{q9z{62rgecFB8$!dj)J)jk$EuLlK8@L*69=)cO=X{3$8gd+DwRVq(eC_u$ z7gnYBpnw1Y`;xOY@65k=Xn9e4QEh=d#luHGY^cS0ncB&?ecGU-HMwdSZ4z{Vp+o3M zeYz@~1NwoyolMD665Z-!oQ}q5%-JouFw`8gvnd0w?r1|)`E~w<_d|_?Q>?<mXYQm5 z9am`IAzDSIr*AH9UA*iwcHmKpFHXCK&#WTZ{O{@<0?`m|;6SbyqX7ed)Zz`!xUZ!v z@35k1sF~!3MK}1FPzBr!PfHudU?+_iuV#9>ojf=m;j;4`R<<qn`>lGd@n31nZ%P_= z*f3mZKx67$`z-r|0Bc%*4_GoOskM!-4$kBw_Mp$lEN*g2i~C3D^U3(6!Cq=w7GTl3 znw<1jOw(e1ZGO7NTcriwb2!#wK|xiCo-0#n?=!-xuVH^NUOQ%RJ2UmB@9n?`Wx{WN z3QPBq^Se8V0{J~0@`vl|+-+reS=Xr=4~Q}HcmMtg+}@~Zg)y0GI|a0oNZXu6a?aDD zV>(WGL`tEecXz1v#)i^K3XbMrk$!ih&EDgE=fS>>Y)QQ8EINd~IQKMHjQx_c49i;$ zV~02$3&>E|n!#heQ#_gP3_I%`X$tovw6~1OG=9`sv{l8Hu+E-zAJC=%f_GPIzELhV zQUWW%aursme+~O7rDN{fhyGhpdl*xYk;^dIw>O{cEa#pp!~Gt|<;6LI%~JDGEs6EB zYw(g(-xQDT8@R8({d2tNbQiTP(W#1_2_$q#=yd#mS6+@*t`Cvx80F%oKm8yV$DpJ~ znslpjRrl{tk$g!cBul~0%@|C<(@Y`0xjJ>skwvGDi|rYXEDK-rvW^;Kp~dcpDs0Ru zgU19|<^7L_T=6*?!Y%ozA;mAyy{HRXa6Ng3P=i;c;-kUaKW@(;gl62-TaB9})i}3g zeDYnSpM)wZHw;o@%m-^Jk1?j5gm_pd8ODbD=KrVr7AQA)uT@YwWb2udJ1FT=?W>91 zS3MifFE~phxk&0=vYdaq?z<GYmVGG6QtrOom`|qhl3EzftKy4Gt;Yh5a@M=Z>fBSE z+j~(qk=y%ar|?aZIQMMLztWK3J7o6n<Zu2DYA@su`I@|0!?hwCw0+H0w~!M2I$fGU zLtdTTotqo`M*EuF+(B*atDSo$Rpf9<G$ps^u<W_HJx63G=JpKf%%*aChGsuk*pzL| z?Wt?)%#P0O`DFH!xjpsSkLUJ`?abEZ_MDkLDYxfK*%NYmzTBA|mfLeh*2(R;GJ9BV z&&i!!KH5JWw3SI3X)cw@^g#$~LifQ_V&v3pHmL3HhOpaad2;`HO(y!BlHr|F(;yqo zt?HI-kRaue^f`r2Fnfek?4Z1icMNW7xc8+AX{mo@5?AkR<%E;NUNL^Stre#@Rn>c@ zSd*T<%kZWb-#KnWygD>T$*{%D=K?UTwGo^`hUEDsHcn1KBqR)H_|3c5C=QY1-nsF_ z<JlvGg!++E%5xgJIETsxqjo)@ljG2+jGaG>dZxIE)gG&8Z|E5hd@Mji6F)MOo@}NU z+mlc1NEUat4|aq4$KB0bh{6Nn$Isi>m-uRY_Ob5MTu)k7+<Ms~cs|(@jj#JApqcng z+PgvYo*Tb<_8~N>=SDRsw40s0F!|;E{2TaiIB+cDd7Bt*5S?#Nq{~pJ1VudeTGW%K z-C$9u4v;JIN2hz@roX^5#gzgKf2I->K$PZyEaS}>J_o2=ByuYGAOaD%p1JbrvYepX zo8MTuySsvw%k>Pi?;ijhUh@do6db+gnvg@oV#0E??3;FVSIXzeOsPA6wg1SqMLRSU zkK0R>5DDk32)sg-1ONi%VuVXz11)VVUDkfp){M8vCXO)jpG8f~vP!8*_MOiLgN^(w zhwVE>#@pC{vUX@7Ak%G(M80b@Am=qercj}wAe{{f>8g1LwP}c<rc&xJ@*Uc7vi117 zLhYY42<)NWq8h44Z1AFqj26{dV+yr?_}UP??hIdhqgTmoaI6>RGzm(H6L%sbw{6q> z|KR?A*q32cOV6qzSzW<KNpxy2Wv1vvl{&#;4vn~zpgvXT$@?mvybk3-V=q=Qo~d`R z?aaU&LVhD$XQ+qa6h%iuABnc{|C+JWMTI459N*+`CdPuTEWVw@W7|YvfNYUrKs8CZ z7v=ara?xD=TiOhV&HzU=q1mJCw13WF`%n58;PQyZ*-AQ!m;0j^r{GbBh*N#elx`Pr z82=aeGr4;q5!+!YcB_k}Szax={$iV<!2dp15xntDnG(J{$V(<@+x1qijT6J7c;Dq} zM5^+q_Tr7tSmAp}s*n1SPPtO<^d|qyq*WE1sVgr3a*UJw_H)q6|Ei65C+WHW6ld*v zw`&EXm{o;>q(XQe-J<fG!d!hmyNP!CBhI0~vl*Ty_Z8pah4Q3-(n;xZwvw60_wbeZ zyHV}Xl%Xavd5p|I;Vqar(;rzz06RDC__4CeT^wY!htPyDL{*b|g;JX`S+t@#vy}|j zDQrc0W$GZvaj9aOM3dYaRg3vyel-kK1i#clc6mP!RS`99W#z+IMNn-A+Bszaj#ltM zVQ?o8zci8VgrH?`F~+}wm=LlAubSkP`^_30zJh;3xZQBpP{`l2hHKp2vucA=L~DmP zRs1u;^6sYW5YGIO<?^Nk9{Apy%y6FF;KwiIDE&3I9?r<;4l;wtm-Cjy#Es`L5eoR% z3fRxZ%Lj9jCoGo{rL&B_#dgk9L7E&i>TVjT{i==frS_u5br6KA0<%dMBuO+t{&Bwe z|0ko3$Gdk7zzs!m3Ph=}*QjSAf_g($;@vAhn%0$`z;Afc=;fC<qK>wu0r<avUkLFN z{9b4;zh!#R!W|veWZa(CO@<RU_uH`B*VOLdwR_xf{<APd31_^IW)lB!7VT3Eo!nv1 zW%h*Zl?|IP3M9%W@i2!7B+?7kN|q+P3mGs)oLQkZrw>4}w7ij<g)+Adq11wlrxJip zQw}&Y#QMfBjQxgFI2Vu|i;Kk%QQ+7KPEqn0EZ^21nNB>JJ=t0GEbk<qQhP*hZw-{o z-ov0=_8!sx?fvuy^yQRK%Ujk<_Z~rN2;Jf@d3t%VW-DUZA^DAiTzhHBug7D`M~#3f z_r61C4v-@eHCv_tjF}GU@!Z}a*_(5Fhi0!YY|Z{4x3?}^%I*DRc5!ZReKw!lJJu;& zP7%4iXF3IymD~Fzr!d0;5Px5_z!lh%wZN55VUh(-b_yv1;)k%P6Viq#s?hGS=Q)Lv zMg<dxkL&r#_9I(LsahP@KJ0Wnt0f-Njb>%Ns8X0LTOwh5HGG3Ld>@+qQyaQNG<1h) z=m;Irey%u!(GcW^P#dEr&fs0Ze1AJS=2GYZwfvp$liZg>GCx?&+y3#__}roK`32*1 zo5ttI8lRgqKFb)N?6r(d_G-o@TZAA+U+)SV0tV$$3os~Be9!GYnfa&a;7h#iFJJvR zO#Nwd7H#3P^=XLubiVr3N}sZ4s}U2_h$M|TLyZ`tM*No=@d-7eUX7@w5uMo+X+`$< z+}<k$PgizkkF=WGDcbgXhG*}mLU_W|Kt+I-exD|QF@4xs#BR`+1o?B@s5pzTaR=Wf zAdwqPfO#>6S#R{?TzMDH_zE9QWE0#d#L&6Ftp6&PHP0!YLb&JmCLa(JFMj``+6JIi zEJ8TdUnDzRhL$E$@R8yzOA{fi_Y8A7>hw+RJINB6y4)Ejs~e@0pLwQIVnmc4Mu~}r z_kW`2!~x@*U*9mvJGFLF5l0qpgq}}RV?NXVvNofKwp3Q6(TU*nN{539oO*AE0p(1W zg1n_#VrE>)R5xf@zH3mj2yKQ{D0YP0^MkT5qQ|ZsW!~)kFH)L@<Z`~rX%*f^L)?<z zdl;M34oY(h-)GR1@B&r&U{HR~;Mrd?`HZCCbM2@IzZ&^hs^l+fazBq~Vg}ArbL6EJ z#xppDW2k2Atyl))2}i&;%;UVPL8S4)24d5tPk)-Wxtr3{hb~FS-s~HA8uGlBfL$K# zxgFUzqK#zVl-g=$qvz%_zNAIgGNHD)!9@VBhFA@?=-@oXFm$b)ZVLy_&1N&DoJhlz zR~5RKrmIu!D;>*Tz}MxhaeX~5$~&!GniXJ<U#+@wv~6-WNd3h)6eAv0#fTa2Ps$O> z`}DccmlCi|)oI+RYCbqRD^cV;;deyy$bfa|1O9%rO=q>qZVe^4<9Tj2`hVr@o<pZo z-G_^P?M|uKhlWEN@G!fs%^fM_W);W~H0j_RnXgJit}s<cQ`6YqW~^gmDa(KRS_;b4 zo?6`0ez*kJJrCJ>RM|au?}u0TH$YgYT<%knz1lgNwa(OQXzIhh&y6=^kjJZXs?_*X z%v4n#RS8l#Q&U7=xBGh-6~t4Ix8YCm%vdgaq{(#sTdkD#`^;yJKN`&?65WAO95Myz z#A_z(dHd&-Ad~Sxy`RHD2za0l-#7!$Z?$ViqHDxc%X!mTdyQDQ8}$;Ne;CyS3wI|` zV&PWV^N!jsOTtOvfquj#tJQ7`-Ku><KNu##Y$&wVHxte87urtg7ag<imMa5{lC=Pu zCM4RT>ftS{dKjiI(uqOZXwQRPh&M?loc)CcY>$5w_rF<tVT0Olz%QDXbjDk$I;cWT zf=pVX4HK!T=yWx`hb2D03auokAk<&N4>ji>ND{wygB?n>Ft$}*SgO!Rqb-c%I3!^n zO!AJ%l+C@$ulOU^=2B+>_=!8Lw)saP6+&v${v#<trQN|j%c6n;d>Y#RTc)2P0jMS; zyaAjEwG%Slr8Q|!G!#S=D~yYfg>98uTVFzm@r+ZHO#*~bi*3D`kr-}Z)$yiPTE`dP z!bqi|)fLyk<p8*6kxS~n$R`bu&I=Gd&mc%AY8hEcjZIs1S*@<1@o}a;s*GtY(X77C zwHarH{Z|@8?~9&SU8M<Vkv%*c732w(V{5XfjXf+|KlX_1$;dcQs>q%=c4+nlta~3f zwody^_Q<iHbc!d?iI9G9?ioDxBByXZ5u(tpw8l$PmGaJ}!x%k!nn}%_`N{TTrgT9p zgB99ElQaZ6S4wGFZZ~d1GMt)B{ZszC+XNL7;nZLWhrC$&tf5qs0G-KPW=iKW<6F>O zkA!mKmJE*6Yp1xEJaC?^Y6+#xNPF?>4e>D*x%shAIE9Zv$0V6l;X9yX@v97NDlxA% z>s<33K`*o!%YE_EFANw#)Pk*JuM=!-AfqY~SS{7(>ET>R3E1X_l(%nU51bwrlU(&m zHLcKAaDGh-i9;+KT6>H-P={fZOesD%1<|c}#p6Za(rs$I<QZ?WJXE6}{~fp@45#x< zdzIRtJGhc-1s@ZlHvC5~|HmoH`(|$bpo=hrtq>|ma80W<j81W)jgQ@;jfM&Bh)(M8 zcxpS{%~QhR=XfsVc?3@>Zy%}gZpe6tWjuWH^({5tMC&&k_k}j#OIO(=f2TeA)7u4w z_hk`1kH^%qp!Hkz{esrHd>JsOABz$i5y}EkbJd!<aHs~Pe9yj^4>WpLZGA;j7`B=r z?^}9M(T{v!hPn*uN*Qk4Sr$!)#``Cv%^Nhv%KR;yzzSjy-~`6jJB1fTO+fAcRZoch zKkNA=>{k~yD+IB>R!_*<`}BmW{k@(LwGZ$Ne#XD@e0~EKg;(aYjr_$Q5jOU58G+8= zBqrDpbvXZsKLha-<@Vv`v7$78FxPo)ychuVVxl=~->R>CDler0pH@bnLJzr`_<<R3 z3NC>%vh$f}rIkK?`zde<Rg4ATfsaBl3eVCuW?`z$UIaa8w;cpHEry`~KLL)29ro#& z>F_pq|8h5Y8~RoTIj?QE@2l%?)}jxnE6N0B!ZiLt4O|gs8g9UJFie4BX1))o<n4&I z9h9RVsKPuURQ0c)aUYlm$eoC0U{keL+(DpQ{ed}D%W!fGSB^5|%DHpU%D>F?vaQ*0 zhb&{EFlp47;3lJcLmXQA^y4Q-Gn@9tRx__Z=yGmYTelYUJ=1w`E3zRtZkY5`H#^PD zRZO;QpDt!k3Vy)B;DP#S<^2;)nm<Ld2T^FDs#(UnyoQa_c0D_Mt4ueJubwp|HwG^G zpA>An7i8vkYRZJiAsi_Fhv>osR^R}7s<gCK^9GAlI&CQ((JnZKqX^HF7*jX2E>poJ zJ2PhcOg<<WP!nnt$sKT0AD}n39@#nJdqB*R9CVhO)D$*MJ6er4ojTrS?c@_%jjJ<4 z#ga66lZWd(c%oolhw5ik(k43@p<ESOxR2^X)BVtoonCP`m1w8ZQ4vK?WpBFnbmCN5 z6XIO|vL)f(WH-~>FV0NYwo1xYHXeV(I<_NHqCu?Al{ch5uHQ|!qII(qJ+tSvJje9! zMa0=gwA{un60Be7&;ONCtQXRr!dpO}u#I@!0po4r2J7pX;M4RnGo7;3Rz&S#C4Ea( zDg%6B&&p0U6j!&sRz2cHUNg~=+=cDS%}HB0aQqj(2@jFVU;!GfpnBLfO<M2{0FHE3 z6KnUzUgTW`x=R%mJjtt}%0P0E5MN54HF<A1<=Fo;;yNo%MtY^()dU1;?n8bKL_pQd zK%?O(`f{q+j5WO{jq0xNZXXd<FZQ8H>;pW6a_3QM?R5A4Kct-xd|XAj_p{lwO(Ads z1PE9q$fAi9NU?Ym+iFg;Nq6lQf-STtO0^iOa<R6Xwg^JPZbFZzTjI5Fs~5Eh`f`Q$ zQUps2NRzZQZ2>JHP(UT1=s68Yi`u3Yn)mygb9R#;-ur$&cRy{;oS8ZE=b2}odFGkt zd1f=Kcht+)8!=`F=j6Czz+-}yy<Gz;RoufKUYNC+i8+Ubci#Nqwc5PKyhQL?YhJ6p z`rvh{d9C$6qStve=kRGAuNDE0jy~04O1^b5{YLO<ZJ8H4&*@sio3rLJ{+h~el^V0N zM%vB1S37GK5;B7}GM*}#4o@Atw*aqF?zXz+*Ps<Vv_Hwl(r}dg5^mTt(0ah^OpKPW z_9A<TOghhL6QlJ~=TMu>lRZedYhV+zgD9QW?>5gzVgt(Jeph@E+P~T!c<=jVxN8vC zk!GhB7Ra7sgUJ>aT-b|*rSfh{C7;@&8@vaUzhj%)i*PhJFQLD+sa(itF+ox6>wR@x z;6IkCRB6K53MU_T_O#t7$momy#!@f}BbPvK;54G>-&lpL{RF8_SXm?I%w2-&^_eH1 zUIHLIZcb*KZT|w%aFK0ndlSxY;W^x;WvR$+^rchIpZXgrRce1jg&w_sEJuwVU-7xJ zW1S^zFe>ql^VA_HQHJORDN7Ui(u=QL!BuTsSKL=c)44yK6>&K?A2yW_{wSbd&LCS} zcTS0+)6WdlHx;F4C!G(_9e;z?liZB!szfD!2Wg>Hi&7V-uUIj7S2+H;8D9+2H<!_L za@<UgZ!BB#wZSgU&&(mbR(6&{pRDZ9`Ky}|vk#j<)XMHA5O)_&=W6Y#ZenuWO~l-l zlW@Ra(U_ZeCP}!#-xbeIx9nWmM6Q*K9JX`QKOT=f9gp-yTS{i-N+w`e*G|Q5OSQYC zG9F!6hv6!|hV96{c(kDu|GQ0*0a>bQI4Q3-x}>}*;wdt+J=FGywp39b1!-8As<jfv z57BvTG24lgavkEWbga5N<>rK^sa)(G9&8=TK8gRka(miDYfXj-<YeC$LN{3(pV77C z*Pkn6BLiIBwtk8)@|{?;yU8v2Hr|16Q6VH;{~0!zc75Lse*jv-TfTp(*-fu|+h&}D zT`GEena9x1xhhuML|e+No4y7bNJ*$V9-^WjFb$@JxLd1l2m4Y~18X?k=$1@jF^Lof z7ndJ@9?OJ#iz>5C`<&ipcj|d=#d-0XxAdjAZwiihBHIVsapMRC+sWyRVRBo_+(b#_ zDRwA|i?);kJHglAqSTd>+(d=Dq%2oaA9;&WDvVHNbV+ICaO63_uH4Z?IRi!NDt(Hp zMTw#xEz!$GG&jI6dwy{K&LIVwI-`%_S0+Y|;g2@Q@R;|;FapVJTRCR&*Row3ScM{4 z)X@(YYEL<UV!E~QVT~1oI5p)O6Z4dNzlIm+8%JZ=UnqInQC3zPA8WNV{R{_;cHPNl z{xFWmGk)onOfN1Y>%HzcJb|JmhUWgBrLS(HADkH-8cwfZrC5|$$09n*o%Aifx{<^D zuEw(})^K%eQ_UVPQ>)>CRgkJfW^1KWa$bTxef`%;tefUiik8f3(pkNHuk~fvw-bnE zx8#<bG`JmL38bdw40Qa_w<Qjat8e3(sw4DU@-G8XBc&4oM!=T41m8VI2xf$KMq+n` z_TrCc4o8vFtvFB8y{ak0Q{F(fI-`gtdVe{`EMWK%o-UQr`aiGu12@zg5mI1}_diSS zL>~(J6)0D5i+S9U#T!iSe~KqSsGP=i_P<uw_Mk)7Jmn3PYK}3w^p928_1~<%eoE4L zeNOaCRd)TPSlb_MKvYt{@A|VwWl@|glx}!7z$cE=GTZ9%__4KH7Byw@`t8>rrJUvD z9Q=WV%jNc2^J1mWelu5efqb?13O%-?6end;^kXBwPHf(-Z-#v<DsUJJyX_5hA?5To z5#?6w_P+k3BN)X}ef8Fn@tBK%d*!JRSQ!So9o-Be3!Jfbl4;Y7d0+*6Utlwbsi2Hc zxgGulnb8bVR#n33{p|3oh4H5xn3cSJ6C8^;mxhEp5qYO~Gwn^d$FgAIjNbctgUWs> zeF`^|Rk@c;V*N?D7t|pqsuCt)l|yS8#ai(&h=^29Mz(^Z*LO|}A2)5!TvJzsS*$zJ zt5Ge8^(Nr_yAE3-R>3+IsMgBX@x8vMj)~qrNI=r*ozf#C%@1){A#Mv1ShqP3bXTpT z5PSGIz%kLxlmutm6k1E6qvfTVzyblXtw2JkVy-eKE+*xHSi5;XDKV+aG^Q>l>Upsy zA_-D&5oJucOKTr$AOKX1C98Po%8V>}Q!0~{pB=-$D<_b&v306dj@BP)GS6jj_S5@X zl2M(j)5Dvsr2fV#z4SL$>k%9ecvDCL2d@&$A#Pza;Y&mx<;_FLA>|X(X5QDE_prg_ zGY#(8wu$Hw{$+ltWUD{FTH<Gz$*Zi+;8dYgr?4sa$Ln~&l%SK}c^$zyvh-{$b35C4 zaT+UJV`dCrpKg|Va;*k-x{N@;srd+hE^J7-v+AHpA(MVpxVjIq%&Wa*KSm9>6Ty?e zhXGFD^&SnbIxLyZIk4MUMo?8-TN=kZO$&G&<uqMJ{5WZm>X^Q1AxhsPZ&$dD72}H9 zO<Jqd^cBuj@~=n*iMcAhI^ld@6eKgJv|-9izC^~s{KwucL4!FOvbuEOf{Gj}-k%|4 zZEP9GiqKHf`)Z}JRGiqS*JA7`^^6i%O1S<htMe?f)9r>tuH{R4nQO}Z8jNCMQIh@G zjYIUDlg4C(LKpSEQaW)L?mm;b)N#irau=atNfr$%<toc@Hd*2mceQ2?AGds2DwjN# z_+$D0q9_Z|Ma8B;ua?IrK0R@lDb<vS;gv4FPR~r`zF0h`e!wz*&a90yIb7U$6pghf z_Tu+o=geG5j=B)|&8|zVOXf;SlJz}HF9mViuEDB$aZ%gF4D4dzhJS$uC^zoIzovg2 zQZR|w^l1B->)b;T3NJKhAQM48FkuaTOQ|r|AIJ9s2#^P3=W+t+d!M<@ApGb_Ft|o* z@?!KhjlH|7%2ORxQSE(*!yMDLqzs-KYukPX#-!X|2xwDw#@(hmuC@(2qYvs>j!(jN z9h|H<3WJ)`*337`CZsQgr;6A2T=!b4{)$-L@`b=omXp4BC5AJ)fI)%^#QMH>iHX1` zs`co+Sd@59%<cYWakMxi*ak|JPTalDc8q>?`QW|!X6fv3N-efJ%Rz|2@6PEQ?oL~{ zwNmn2l4;sv(+xa?39^f%=s6oSIp(!(@CC+j!t1*~TIB06I9RU(ed>$nC!Am9wGB^& zwxA~k<A|7^%iQAbq7pCqAAsmc1X5yXh}9)eWx3`fphf5g(Ub>ZqXzV{PnSg=*TET= zu$q)xz9%vj96A_xYIjkFe%_CR6bZgi>XD#WKYimWr9Yz-{qi<|e=FsM^MOQvHo88a zov_$l{S>c*OA`*8@(gvClCEN>Qmm}Z^IAcsUTqunOV4BfG3AW}SNf7y+{ZZ6ie^>H zy0X30u77>SfV55w7pF|yBi_JwO;be{_1m7gOAj$ucKu&h;9T`$Q}t%DCHtF{rZs9r zk8>2HZc$P138`y?l=pzt7f9(mFbY;y_Gs|L-^o}P)@vj43RY09B(nu@_uE6}ai0i1 z3q7ky`gHGjQ<3rZL7B>-9}eL1P|ba3fS~sfQVp6K%vYA5jAHfkcCRy?7$9sGrh<x= zw=qcZ3MtB?pLbi3vX5}^jq>Q{-58{Z)CDQZqo21pND1U@YJu|T=Uot_Ncs|dqdX>M zYLL=UNKqb>a%zxLT}V+LlTs9<2(5zBl*gp}QAd9uS0P1tOv)2MN_ingc}&XBf|SZa zit?D0bwSFIK~?ofc}&XnK}u2K8|5)6R|F}0^i99H5L3}K)BBW3d3e3P2`(u&DJT=e zKFl}l!-q|l`BkP@v&{7EpH*kdEmKnetSY_q&#KnLTr9NTd+S!E1OkUVgJD>%&tE=@ zKeFfJ@?uI4`-VX6E5yH!*XxjZrLY~PS)1ppRMz-~xFO^nq{U3|^+ISLA^rL@@*E?H zMZ$Tr-yC78`@n~X_HlSC?l%{yT*hTz5XJsXyE3f*FgR|meK8hK3HSc>#3p5d4L5um z9)0XhfxbWHKM%x&R~%EbaWy|ENi2_01oJdP(IO`LaX=-OQO^^@=Sg~cM_vwvMKOA7 zWzQv&nPg=Tk%(VqliA9?pZ>YonDVggt>%&7btRd_{Y*^cay{f9Mk<qy8H5dESCJ!# z9T=6jx)5uIJk0AAVoOzi7~3KkQ|@iCc52Aqs)4A{tKh&f-@?&dZG+`rYv7?=e_ksb z7=aHkA4VCJvS_O5NXIq}bbkM16xD$FL&pl{N2yLQbkFZbL#gxkqv@57>i2uw@g87~ zjSL(+vHnC>@<8kyik7gfN?np###`QRemkZtuy?o>bzS9*v|HI%5Tyo1E*o1U{Hktn zM>=2%%UoZ@cr}1)Dqpo~(YSd99P{e%HR!cYm=SEipXZy=rv|_F#W4-mNr_ClRJIOU zg<C1U5MJSn3kV8W`oS-;8DJgPpM_#JmJH4q0r?^C+V9YYut}pJZ=j<>tj;YEWL2h0 zn0m%K?gcONTnLyT)Az{4_!_ho?=Pg!+s;s|daR$-`FH-p>#H!~pIU5h(K#p!f8C(2 znv5js`<8#Wz3xkGZ>4feCMN5jTjt9WB#}!*(&r}FjpEN^Aa9=@l&#{8C_F@X|0vp{ z{W-=XE88A#Um5*U+hgr3OBS_lQR`Hz<Y7ya^{A7foVntCgUNv3Fc`N^?P1rrko4s> z?VtEk8;tLamyQ-Jks_i3L5l<ATu)Yb$Cb>0t%ZIC7_BS5B8QDhMq#~VFcV1SG;n#0 z^A;~WG7OCJlmO>hgJ<XEAxw@C8zXB?4)0WQkHTFo$ugLg<YK>f_Df^XRa{#hU5ne( zKch6&BK7C3LLsqw`@Kyl>5VFJGbv%lJhF-pel^Y91iT_rA;RbknQO;JH-0cNQXh<Y zP~QkL?@vV6ni9Md#&#pFN&}RS1fUq{)PfgBbt?VCQRozwZ*Thg3mUN1rfBJ@RSCD$ z((Oef!G_4FaPg>cv`Y9b$Y>JjGbYh{%$!2ELoBm8@8Cc%oDfT&88aa`nbs0M07Y!S zV-iIkF<R%2(B(#PKOl@XZDvXOsDATGJo4R-a0w7bIZH8^Z$p9*a7!U$bUXJ`h9ydR zGSlQrpVj`5VGB_srBF5!Cs-T5)k9$j^eVHkWS=IQNyRPS_#t<-_8B#nMFb>v-NBQ7 zwbMdQ0UW~^r<;hmiv&Qebp3FOKuBQSpeIHy;p?8@wK{xNhe@q9uST6dw4TX^8MJa_ z9v<LtgyM^c)lcpV!VKn#yVLMh%nGS3;p-|s)Dod*_@T+6hJ{IbhDi;4Wp%zYWRPn* z@%_dbrl1cgj9Y6CkWu6?LE0vLCxyQSSl!ASz&ss&eP@X1T$46K4WG)D{8%NYBB)1l z?rIbQ$)aA!yI$_Zwh20Hkf6aS*Ewb40(a{AIheO)f5vw>n6D$NQOEz0Ds%5w3z5zb zo*eA&Lxrx=rusLnH8+?npWq->@~%_xdWr1lw~`&P4^thv^T$!2(NbuQJ0D3nb$|Iu zTDnFJ_4vWNVJ3Z<=XlA?wqiCN_3H4=+WSirZ~+C(gDX;>`Qgrs5I_{~<76~Q{`P}% zE-}~>vLg||BwFO3b4W#u!Od}R5yhy|8Q{GZ;_LsAKlne%=L?o3ZJEVcy=%XG;08&g z?hKZAZoe}y`U47alrgeH@Xx0~ZZq;0$jEq>RxKhSkHj`OSWLXbpBY2VUOO<ddii@m z1bJuFc<GAd&abM1plMn{d{qb#%<9Ch9<vuM6=vCl5m~Qrep#rJs@TMIIVxslsF#&a zKT7KjqCK{5EE_8ZQuPO{%w+~vK{2YB7Du=%FV6~v{DIZ^!JsQ*^GsJt36Ln7G@2pO zj3G)ts?W9ju>J73<tOJ_cB2Bm+~PK;jE8~xIP0dLn;gxN|0aucqR^2m4zjHHn)Kzu z>?edJ;)yLRamAH}*A*pKo1}g@35bobc*erPXL?mpY|*e>d}YUEVSM!E_LAZvKMrvW zt8fZcSY6)$Hw$Y;NX=0j^X79clV8p^`SplXOf5+l!ezb3k~AbV3D%OZQlkbOtnZoE zk*gZ5S?R?F3cd@C9~zv~=oDc|pkC{KOKfMqtcqYwPFz${QsfQKP<@$huqP>}b-_KF zxfAD;Xgqm68e~{!GHe^ka7i@G@O_g3+rLZ^(DTj-d=fv_W@U~PT?YacrO)|=PUi!c zTTq`d%DeA!YGe4Dhh=+(f`#Zxf1~CWkJ97dg*mBBPau3E;r!f8Pw1FkYOp(WG8Rg5 z%`SazrIo#hVxUT9C(Rmks(&pJ)6Y&HGrh{d&+6PueZq0@PimCN>gswSO2p`J*~GT( zMF^KrpPj}kprASA-mhx=8;wi~B^O#|T()cLa1PAX>0~!X8K@<S!!owTxfzzC1APS( zeI12xi{)}!<=!u;tLwJ&7b~aCH+Y89B=(QBf<(u5iC~?^1=fR&i#vLaJoZR=?;#u^ zHeTi|Tj<QbLKi+|rGLWB01sV>Y(H1hfN<{M-rl{%)|S3jXZBZ|U&U*B>vuq58?S10 z=3f2H($;uQf2(ut)rs7^*z{Is894KTciaPF0Jw9FimC5vMA5BI<5I5a7*Fv8(*!lI z2`;y?r@--WKxAdb%+HaN4T+_zIK|M00%wP<Os2_E^w~Ux&cWg=9;;sT<*VD0$nGn> znP_CsxI=Yy{vZCjnE@58Zzcqr!c*0$o8BNTqs#mL6Vj$H<yNh_ac0~$r53YygGpFT zA~jRjl&3vU*Ty~OuOzO!{m|KMpVh$n7R_w!&de?=_OB%v^53ofjf=hLrVSw8L;7QG z-lLZ3-oKq-4%q1I5~HIZtZxF4PDd%fGAO?)y*|6Mtt8<rtHL)>72VlILZ1H(v4<Hr z#FiXn!Cn7u4o<54yUC^XC9{Wq3X6UXwp9-P5}zmOkK?4n>U@w>V|BJE-&y?o)3j25 zA`MW&%nL&(FrVGBn7^NXDSk@&3s)KFM9l}>R!c(Qk8^G+JTG!Pdce1T^l_Lj9qtyU zJ5h617M>W5obTX|aZ1ktdt$M5OAq1={J4%ePvR^J0e?r2p{?!fwaqY@3h)?7->$KP ziR{>vV1fv@)6wn4a%rY7!tn{pb5tG)oJ*bEu{oc8!}#=R^%qqvJ(UV~Fm?{tK3BBp z_^Ky89)Z6N3lp|*O#6|~N09PISZOAu8~OYG^ksI(kXR`@*WLzjudn9)Fz+|qKt|kB zrs{Vst*|!Q5uHNVxopu@jDhHvsUVfJfff#wmU4aSMG@rJHpFCGX&|=VO7gfM`Kf$z zlrx2iyUBPF>MZ3!sJQUSD0$IH^|z?hht|@%n!Ziig~n@oXbj%D{S`!xf>+@FBR#d_ za2Er)e0s-T*|SdRnfC1sjK{KL0M{l0IwLLF9YCl6pAh;Z`#rZKfgzO!3e|{)YWWV{ zRyxe~HA@qUiY}SbV+<DMHqyP%3_HXz;oho2+AuzBN}W#UER2K}gk^F36xA>(ZebXg zOgc1DXO9!zTU+?tcBD+eVeu$<z&lA2fOifwwLCd{(`j%O*C(my6ii|D;2rL*DLx;Y zRZ^6ER@E3}T@8L!f({915+@Vs(4A<urwt2FyA*`lSOObN8VebCop&HQa^5*Tnl5A0 z@=_ii&hE49ifMLba2k~2w#c}9Q8@#BiouHB-<M9@gE!|XJ@to|{$vh_LG-2E!nJY9 z5zd+xpjE`V(O={*J6`|d($*&D=?hWPn1jTi)L%w#ZD%W)v6tx4*;L{PFAc-N`PB|q z08sG#%De}6QBtbw25BbwA0NSwxbt$&kaJDNs!Jz1b|p$iA0Q27qd`BQZ{hrv_~U=! zKNg*%c7qG!9)ZXts42v&Zc~20T`AlNQ12h<$CMt>hV&JfmC;6Kb&0h1L=*Vtbs)-& zlqnM^(lMmvY6YuwveMRhlhZ?Xn|;QKdL>=Ntj)`RkFVh{7~pTvUqfFs9}FE46;USt zUI?&h-pF{9pMx+?^LK61+BGL2bxGHe$R(NCBsxTFw<b;c{Y`EIUI5Tm;K=FU0CZv7 zU=M#9_g^?f4eBqz%WXHa4gF#@V0a*am-~<Dm0^0}{9k!40u1Jq-uqI!1d)wZGzOj` z4{hl$ytjYX?tozbtijC1F>YSJ_cp49(uJ6U#iQuJaS6G3Wm<g4V99&Ac^!clzIx{; z5qUY!+ncx17^~A~Jh;tpN)K*&af@jj_1>Kx-!D0~4sF}-;kjyNDSS1ReVDBrIvn^& zEn?7HyWPzjNal>Oq}92uxD0VyajJeto2L)|ulaCd@ZmXQKg`chce7y)!|$udd@t>y zRWpzJAHFwRn(%v6Z${OBulZhk4jTSX>(@>_-~I(7-@ENgNN{FeWxMTZ6Iw!Or3s}8 ziE(UoX09aI9t6LkKI;Tv)y(UHI?o={XT$Hhn^%z|sPB>Dc3POP@-=<lX+HnvKWTCt zwrukwqrU&%yT9K@;^nJmUQesuCg|L_i5$F0=74+et-&l!<i1g2-`8V~r{6W7MjeA> zUauALpAhmSN#}7X98Gx%)y&PBRYo;Ut3wjEEXn$3mYq)zqPnD|=80!;^YMzg(eT)G z3dh?kuCzN2KmNoMW!ImMG7=yCI{awq<AxH|j!59QLMz6xnNG)M<tqLSIYV=<qGj;k z!}V0El0}0~VLhZV{z^kmvm~&p9>@%#o)&PaWmfhh<j)KpZDlt=pX6OO($96c^ovVB zNQ(S9@@D49xEsDe^JHpi-E4e=VpVqn`7^`gv@jQ07of*nvkx^z_92JgiLyPox1u}z z<oZ+N&Thl$+o%{H+)Mv@4;RO4V0WG-#dhj(5j;36*ZlWXZrm^QvGX(;6YEg3YbV3O zLo-axYYtLVt{Ly?PZ<)Gd9y@$D%!opW!wqMs)~+Pz0=3lzb|1w0KFLvH2V<^NozNt zJw~8S)xT(U-Od`TF==vMvumEznD}N)aL)BINdS5wfNuLNz8m=N*}?6BNjhM%f1%<A zOS^GaTeHLI9aAhGB22N*;IxE0D=AIjo|TK;*_`9DoQ}6WxWnro^FK(w%#l*-<|`SX zaQty+$cq_SZarsYeX068yYjvEu01;JZ05~z^w*a>I#+fs7lI6(=JZY3rTeWjhsRkr zZ--y6If5QzZpM|6L~GS*8j(42R631xY>iPwUUUFh17f%AK@H6zXFE&TkzkzVEXh>s zO{7NuPTKmA4t(+rsX6HFJ1T4nHk9x_J~Vu|=AbX*axRWMxTmS}0Jmfg_;*oMP?2gm z(y(!&?eq<HsPx^DUmkohv1o5F<_D+WONu{VJ>GY4Phy?$=q9{%<&p0#7C1fvVSIKw z(*N{jpf*-tv06tK?!@-`4?z04F~Zv<L2hQ7oKkO91RF1%s}SR#9j=%Kev<WR2SN&? zU1y45iNaCIqL;j-DkXQ~`~D6r?=ATrpI3c0U!rYXXH<QblKmI4eHmF#DCynpF%`!s z&G6%e_IS6;XhzK(Dj)H`k+*kA<-SmLF`Czf^Zz>7_mp$HPJ<H8MWuLnDd$;fWl-5= z5Bn!puvG5+@BS@XH29g!(5cHmhn`8Q=2iLHW9C{ne~G_I=ab1ye`#ju11aZWbFP%t zV#YSZ%AR2e!}|jYF++1Nk$IW+;hDJpo#j|$1RrdikQq9y?FX5mG77_flYH)XYSpOR z`7Qq^S~Rh*<8V<q9L>@GJCxX6e@RLDT7(x>?s%pbyzw2T2SKqb{<GVROF`e#oHtq< zCpdjQdrR66TY)zRGph(oojGjKiWdiQ_ZL?qO#`hitrUFO{zSz8D*5v3X=Z4=bxZG@ znm@q~=wvhQUR|2(eKU&WzB9=uP0kx+xga<BBg^9m8Q>e(L3hd`E^MmbLU{D}_7@wM zWQF}qe~HiiV)^}z)013O(v^zr8y;|*(Ie@PTeF7T=1GX8<Ey4~lzf=HxZ1@<7iUln zMbk@=Y(}i?odD8yF2+3b%?N@*DD_ihG&XoFe#yvVi5&dC4qmjo@NQv>A%?Ds^eOZ7 z;<g7{_4QznahxevzGslb+IUG>`{82FFb<cbanBJ+CuRDc@0qO5lywu6BFx(MEai;k zK)clB_z;B+-lz83t1d1w6V_felI?7=N#@@9Uj&Tyu(2>THwpzlRdeTm^vB2;IpPW! z*24TV{9f*&x=ptW;}FX*d*llODM0<V4XU{JY222co5&@rJQ*`4a<i+Qu6FW!Yl7EW zrz@-18+diPRuKfP(2}gywy2glR#(t>4C|}?AL~2S)F*mj>T6DWr>pelCI3+L82Q2_ zDDbtI!b8rtZfrl69joTBWz6G`o2-IzS=ly_QOaB1VeVrxE1<)bJ30CS?V9mJcFML9 z-(BA@<C8P3B6~x`zHj{XADwZ-t?PIxw(py8{fA}@5BzPMy&-DfS9<*^GlqA5Z<=lW z5GB8j`oEL?Mv0y2otVnKzxe=?mqk6!E(mm!Taj^g*ar`X%kGO*X=nVBIQxRh=%Y8f z6|VQUk|V=|$Fjdcd^4F0MNmTUZ!(vQ9efebgJ9<5<sa>Du7!o*YUw&<VGq<iJ$PrL z!sj<9f=2^gW#Sqz2)Nz~M9(UXms+Q}&bxBtojbjzdh<u#8@TAqn>F&D;Lb1aUwD_j z8qG<-kt~J?x+UG*ho(y8<!*$&nstdjcxTWfbG?*+t}6~E1846TPBZ*7M$r$0FOn7t zEx}E^KwtnOeQ8*LvyHQD{M*$^>w~d72R%W`BQqyTFMBsEJ2Gs9t6YbgxLX*>>Y`%U zs0V1-E&kFNE`-hltBknt9EdfWJxRb)xEB?;VA-R?EtN_4=b;e8%9<0x+?sZhQ*LXi zCrZT~bLFsTo;KHs+yzzMv><YzgvfIVyIpcVM`;Ta&fjnW;C{b~cga6K#9dL9)ac1J z3390eLXn5fOSM-s=Y`ayYnZV!DV_GH%2~PvQHlys#%`0bORxGFkD0gbrsDoCZHn~k z?~;9me*Ily#q~?L3z+XOco*q&_g3vtc}?_p=~MmsyY_@3?`-ACtr=i5Mh3H)H5qye zS-0i02Bt2z%Hy6I_m{8pW#-XpHjw&M(fXn8o-Rw|ZdJVZHQThHg)pD=chxF0zwKRB z3iWrz!U*rjD$TuB@<Vb`p1#q~bAyz-3MtBCQobIfh=UHkQ67^rKS=2*q!=!nByR>O zN%s~r<o#XBpdSa8-Wf{i?^KF@V0zW4JwstX0RASRSYR+PmYTj!WQ@kY5r*Zbv;6Ef zC)`KX4Q?(;FW{~ZL|~{wmm>8=vNQ{B1CGO;RVgVjPjFmk53`sPjUe<aipPB%GfQaB z1Q}}*FhcJGNrY7HCqE=I;q9FZD4l+N3Wv}O0?<n)koVLe*m~;|!CS(a;Pse@U*{uc zm3seWV)hhb%Dvl6%x_GL+PdHS7BRSct8%;kK&&&X+S=GPKxoyh$!?cNpw*dmj@$Km z5TY9f2)=Pzbz0FS39L>u?Zwv_IY+mkjl2Ox_3~i**gw<Y9L(aH?<0#q=Q>IF)i6AR z@CROx7J1)>|0jGhVI&mZ@n`VLJbZt`HM9Ffh7e$KcJ<b0KQ94hI~8eMs|^JU-=+Bb zJf*xi7%eLJQw{~2uA{bjn^g~jeCM(BGWU`SHZ=C&SMvN23f~>R#I4iT7-8!N5O50H za8l$}?2z6A$G?ZXW4MBuwtbYHQ~l>Fme-I=lg)Y2da$gewc}7%WW~=ZYWQMW+&8#m zgg+YXZ&~s%)Cpy`0|b$h0K^9OT3yt^x&RS^W00eWDcsN*TtApTE7#1{ZZ?LG@j#x! zJ%SaHR_@uGc{mUZ^t8QhJ;-Ga7jmI{aPNSz+%HJ30{&<m+G3cBfRp7Q)^rf-9Gvv- zjjTK!ciM@_&O~%}so@{Fx(;&Y7q>P#6*d{J`LlCvrL$}jaBpBfZPj|-FnT?&9=o0| zy}<AZZ5%W*rbiCF!w}D|cA8tfF9uPAK@{uSJnzCFYEKZw(zd{x9z;Dxl+%0}GnMfk zy<Uy=Pi+o?fn?|-nTfnO2|DOhHS|x-5$ip%c7Q5Nl~p_wnQN-R*BXGH;+5bx@fr<j zhh5J85=6l9N|}`XW$BdC<Yn%w9@ePEQe;^2|K+DSk6%&?O|g=~Xhg#6g1HSY9;;G? zYG}3h<;$gvKxLfqVvm7Dv~3mi$I8~y8h374bZ#XEufoD#U0BH38|1V)KVufB*;P!x zY8O#oJXXiBO`BWk>|V+RQ=ILosPpL{3PzD6%xs)8rHqi(nLS&`Ux@t}ToK5Vp>@|x zyS8%ac)NbDHS4hG;F3AHD;|RxM?A1E8R@Bi{z3|x<CMhG=SxlH=|mL$5L;RZZt5}M zjLB@WW{3A`MyFXNvF(zxmf*sTY9*zpMPx(aOV3BOAKPumbEkK}<kvsHEJJP1^KICC zn<9gJNoU?;Ma!Pa!_xqYd~=+0)6tZ3EYR}j!$s%QwF8wK%KUrW{c;&`Ks+IcqwW;= zlQw!UOqc|ROJ68wfSR~-MPv&&n<-NmByZ>E0;nfM;Q@P^*)NvnkasVx=oq*}UUF-c zeDH)V(S!ehwj^BTgiNI`>TUZMqa{M-HZh-nCA!JF_iu5u4U!)(B>e<S<GLnipWXg8 zcel;0x&UoTEBhmwMGW@8&zsQek+$>w+X-45OKCn=mc4=n&MO$a?9^*Cd?Gl9!8N8b zI~~kC`eewm0*1}^nx`3i5u6Nn)`CAm`H-IGr-gqA?q2eH4EXAVHU4AthvJd*CZG^K z#bL=%y^+FS9=x3#q((;K{ydno9?iG2Jp4-SRQuG{k*v@Am(!Xt`-gzv6nlu{<lHge z{DBsW5%%*r@1;mc-M8ZW4lzW)Pa4iL&s1sw=P>L-4DV08^EFnUlP3jB4X&73!cA$t zh6hc#GpXpUpb&UvdwAeo^3R|>`39t98K`Ppb0UFr=SM|J5}D097AQ)yM207w4Ydb! zOyQONfz=lrI+poluGe|NbH2>+_rCYyhQsrd?9+e?D|xO;v$k9W;D-R?A#}e>o~06o zh#TLc99prVjXMaa5+$ef9Nf(ittxKK*u{+2$oZ_Xktr3k{>*l&4!ctC!oZiz-uG zZaNc32Q%O1^qpnEF6IVg603A5mRj`m9BT{Ey|kS3t*0)`rCu1a-6?kcdFfg-8m>pv zix0Sbbq8A|jEHunKc+HiFO<)Vpvn-Rc|`4imfP;vxyo*7N!#|B?bp3;IMViLn8hw0 zyr0bG&CxfuIr|a$FYrsU|J?L@kRY)C430t8nPZT=H7G|PA3N0yaNBWa0nwRwo*sy? z-y7P4zDk3b$7Ae4^YSLP9~gtmeK}I423cGF2xBd{WA7UxxSc&oE<n!yP~dmRLtsLi z(3HDAXi{^XjdpISIo4zb6)3)2Y7funTI}0mX4~-+yvXO=3ns~%`C;$gzq~W-UQlIT z@T<3;SKH~4>K)fw>~!{i%1!Mn%@?I|GJ}!y2jaP9!?WG&U$xJ`F+fAS{>`>~+^ca5 z&|EdxM;~E$M_6I5Ediwq@RU5wfb!Bhv2&d-ad)74kp36(WNV<LhIQ&sbHI8uR&4G@ z)9wT5P=646CgU1uYw7U(auj&p6ime^g!JUy@HDbTR@8|H?9$>i=d{754oaLF?yhDf zlETJs3|NotZ*BnAFsm<4dBgh)`%{7c?~tK9_(cQ%*Wkar0RGyy#(@8HUjNtN#|kU6 zZNbRhb4H@a-aaK({AT*X1q8nxH6HLcf`aTghSWQ_ms0bNVe)N8%UxEwIwO@euFkf^ z;7Ey53{I7@x)agbd!3K<^B$MP#&Ew@c0UooOImG8f5?;^oIr+%>s`g&u<#*nkOM;1 zAnS^K=EJZ_1+DX-X|k|2?Qp|(pzm(l(XmZE;l_&VVpYl9>R7OkIqZEGzlF2{-5*)v z1l1dd@+i-#S#7!e^cbAh4Th7;c78Y8U2QPj`%Lipg}M0OSX|$$06eUNHk~iEAt1iG zF2tg+NB-F)jfVGF`|n&@k`4BQc;JHQ;?9}v;alEwQy|e8TEiBeX>B~g*@55NN#>df zxbDkNLPB{GsvXivo47ks|GTy~9TX-0aoZQr^OaEF(51j-m<6*74L6}JMi*FKb8ry4 zP`ZIwQS=+T0VciKBBWQi7nO0VC`{<-9HCbk>BtU%=InuoaVK}6&V3S_6lafH(gByh zgsV&U*_#*#PWk4=O3Cy23a)%WzwGf9t@YmWuQ#DocNNQ++gx2UXgjBXD^^wtWZasQ zi&r!ICP06tt2>|qZPh~AVl;Zi2rral(ZzDAu>?e432~<uD&UsVE}i<Qx|xxhJ)PWI zb4yRXx8mkRaB{3d!;{0oAC1r>#JA<xu^<pIhg{aZTXXY@qh9AZA&)fO>Xa9ORBm~> z)YoX&vF75Nx4iS9RpuJb>E<j<V(VGt1T5nDju@V>0rU^^o8rB9n1S+^$l;mQDQW}k zrhUF_=^nq|d{D%Ok+$UKojB}8MzujKCI$n}izIq?fgS!!!~}r$F+42rpAgptVp!@l z&JA+s1AgH!LP!Qfsq0#+jI>SLCawXM)#l1tPp*~>H(AYoI8e@nK96zhD!Q_@TVg^9 z531ouS+~7=khsa#o_97AJJY8jl1tF**;Q>13X^X;7s2KK9f7y_X+#wB)U00boRvrl ziP#=z3p}_jz}Llryo4SYVP7Itk9^tmDDY)Vj}{^r2zusz1%E5sB;aG_Pfo}m*$LiX zk%>d{Bs*cDI|<bU8abKkLuuo*fS>lg%h?H;_T;rhLArN$`(55_(J_z-16OYt(~`5n z0)d20{!eo)c)5-)KZdz8nWeF4a2@?YQ|FCUxD?vRKI^MxPM`Jx+*bcAd+c25sAx@} zGrK~hIYxWU08F+zKL=j0`XzF6%NcWTC+AeU5n;0NM=GR&On#5rnzDc3imvpTsT>j@ z%IF5x?8k7^LyL_1_X%W1(<i0^$*^T|kbxDTz@K!yzKP{mAjhErp%7)b4^%Jm&|scy zdU0exaPwliCXcb6i9cxkHV`yU8h9SqT4J0tm?(T9m|V}A(P^%VJAHGUC*@;*K=G^_ z3wi2?xHbVjPVh=>i(<>6A)D?oX}84|5F^S|Wp(a^Sj0sgje^L)SOt+p?h#XFiUr^* z71mf)RCF62$6`fA=kYe#@XMGwN`V$pd83h#1LokGlJXDoNmROq=o$wPq_KJ{3m#aK z>#ZVqTxTAcb{ZLkvW3uHVaWRi!f{>rvCYc9N?aoI&1&Yy9QIkq(-GZwQP%Nrdzd?Y zAt$+70S)wlvKbQKWk!J&uUl|n1r%Imf41H{gQ1a+tPQ;5BWn{6SfYj^_p3`l*Q4EQ z)8>4LYFuO40t(#{ZA5C}&%`dxyQN0xr$%;OD`d&tFG+MjUsCdryx;pG3wxMlfyrV7 z)Q~$RKKo~=k+aSJ1S!&R7wDxsui+(~ePywC`>R17oxm0Fub&KL$z5AwZ@9}plO)a8 z*0Z2+ukg~H$bCmB@QcO33SA+DZ&v41L^!?~|IBM+hkr_s!Ow(qP#A}Sf$%1gYp&|g zNNGkoMEw~l&G3(q)KF+KXKcPZcS*mo1C}jpe`bj?$Po5jNLdx4VLWo!TUafirOVXu zCK_wtJvS}Q{ntLCq_)?vVXvFxHZ=%Fx4&X4a<+T_!aRg`J+u7|_3enyh72<hh4oA1 z9^SyC;pbNvC*dft_<w>t2l5j5wFNXy%vq&*-V>A9h811>Ssg)5#0C?E1C<Ai;g9CF zSfnO-Yj`9kHc4}|#Y8=saBu83)t-3pIW{`(5=iEL@0nxFmL@5@)g@O6*9~*MOfK)& zO3t15eSP8VXLI8Hh!|;h<CX&FfnFnO2@te?;3qwJZrL6ZUYkaP*J_R~?onIhJ4Kxk zUYj29t{#ZWB+N5tD|o$tS9phPtepTN6l531JBz85dxBsFs5Gb&%TBu0VJ<4UaNfKN z1AnkKmI&5r9c4E>IG#H{2(Z^d;PucIU-;5u9YKFb_79^<`NYv`;@Y4}Be*f0G)vfv z#%cVhep;Q7hG85$Uyi8D6kFBY+&H?}JVdZGVA#p|waDPi!hG05-9`RxQiAa|5cLi) zF;t1wxlyPR^pA}4B>gr0xjd3`?_NiQcx}P^p~VOUgo#H_XN7vi#4(m40vw95yv#xH zfILK*{=^*4t&R2Yc>-zL!p&z>fSEtf8ym6v#_NUkb79h%97~b~4B<W=ycmN5pLsz# z`~$>*1W&Ra8qk$eMBB-_OQDj}_1_}tqScC2|5R4OI~~ykEmLIYFzBdeTb<%W#ChOX zDjuuAWyc(nB;81Y#M*bqxjh%La@+AXcFK8G@4()(Nj5cXfhA6@G<W!H(kj(fBJ&6v zv{0fA_LP|C1Li5WklSmvcc3TAMPHpiW9e3wa+Bo|vu!p45E@7n9;kveAemi8i<7x~ zVnc8*_LgVne6f7+B)2(1_TKB`<p>!$59Lk}a^+@mjP$@ZZJFKX2C=+RVr{TWO@d<( zo^!owWcjfWrR5Xr`>f_Z=21fY5@)KHFj~I%N&g+FtBJS(ZHc|!1$)^thK0BnG?+B+ zh2Kk--QYG)cQ2W)-u2Z;DTLn1;LplRf=gzYgoO9~KfW_OV?Br4e6al3aeq~#4*sck z?|A2u2KRzmljj=p;CD)4j+?!&m{++`<h9QGta+UtyiWB}=2aXBsnfj~=2iS2uW|1j zUX6>o0=_2!wZNyM6)plCDpz5_Tc2q-1SZ<(e~8ALk+rfi)ESKf#zB~a)DjCIGlV*| z%pe+UM8A4VHg+mS5O^T=0Rn-79QYDb!Ho-4M-{=)h~`kav+OdgXPjRZ+!{45%(p`} zGd24$i@{o^aWPueqfBaKKVxlqx_;L;C$!calnsrkdoNu?_6qkdI~f!8XQE^&<0Yl& zq#bi3_DRpNL}^5I$|hbvwOiAHTLg7U<$mv&e??y}w*Z;d-^W`wf53EfZA=Gnvi9rL zv25poR1UNPI9Q0#Bc|vlp3)TEEpjmVV*C_b2hEXinF>zn$qWpQJB5OrzRa!?8^b*v z&dDP%&g8h_N{4o)MLN@ioo=vhdCc4RE7N2o)43V`?&v7Prt}F!y`(6rX7n&>YKvx` zEN(dPSaBP?HD{JAnJAOYxKEiFp&%2tIpj{fgD6|4VZ`-%m%>D_hU#lr=g}jLV@fg^ zG}xkf6IgwfGq;x2>GWYh-FD|T;Gec*Wm#17I=hsrS~Dxl2wq7Lo&1>A>jXYLJFW@y zG?9SZ8uvukDBs6;1%I$Cej!9Tq`^fES!Vt%1VXCnpMeP^T8;78snerY*NJfJB75({ zFW^MNaQ;l)T+7>@eflWcXmuWhFT~}PETYJ<*DK~Esz5re&OIg>T0>8R9Kb|N>q>7A z#;Bum{uen7MYT5x7%FSy*c_`(S*&0r=QH63TOTb^_M66L|6IPnB#5Npn8Tu?vv2Ru zknB-4PbDMs<_Q%GS=521CgEhee!ERe%da~+B>KVyv=gmW#inTPHOLESlHnSTRt7uN zD(|YXP<UFfWjajNh&nz@*Wd@nK=D2@s4VGMgn-<<e@r89RuN;Ciu+AF*TxnX3cYn~ zp~k3{LdEdpVbA?7-sNLUKA)0hSbv-PpE*=zb^S>Q1XNdg@!zty4;DA(;n8XXuj&Sf zwI4HG5ffczU<N^emNo*F32+r&Cqk!DfPUP3kd9RdyCLOfLMA9orA+225J(3DcpH03 zvS=w^2?xAdVfW%%td6ysFR^Z#!z#)uqal;FhLwGm>2Lh3EGE!#<TW+2>mi6qSRBaC z(c0RWQ4OJcOT05%q!+O^CKZvO2V~8wgLo52wTZ}Uh0sW~DoIpcr$otlRT0JKza7=- z=P+{}J8(x+TR=s<3beG6bYMMD^Y0;NDF0=?W`->5rpwu_h!@(Y-sg^a_M1_FYb*}~ z>0&E&zD-&blfrCFHX>{W12blsAbQ)lE^fvhM2qRlz_egtx{6n25~HG@v#;%>`ek*} zdY#*V#*tgGE8&<cg-jEE!|a!%flXxP7|+T+F490m;No;_J0?gF-FZ7D=i6hdl1x@s ze51PZ)9b>ncvZB~>G$to{jfvM2Z_tB--#z!ZB|w1tvuJ`-5*A4feoUy?0UC_(Qoq- zL@R^W8Agjy3Zj+4yE=^4${a*1gEv2nHaru95+r*KMEjf2=z_+;0gF{`VSGmzV4ulu zm{)%{eURlYfSxk!pD!vQ2CIR2gHkD5LZpVLS{sk8>rK~Uty?m^stpSlnd25?jP=L- zisxH=fJrCHmWQg^PLP0f@G<36h`fWFvRvJiUmag%Rt3wVZZm1{$}ccm9^+rY>U@q= zf6J(u3LoL$52j^2I9i8+$&XZV9&==M>R$wVt(E)Vc9=C1d(M6Sm8O`ru_ZuDY0HDO zLQ}HygQjpo$08lH=EgbF_NHB84E&FgK{(U~d+gr_y`IuzN&nXWB0bJGq=3S*2=#Z6 zHRDZ4<u2gBsE0eP$4A<)AAc4C6grX6#_27iA!=>>NahW@q5YjxZL4vIpoKMKn=juQ zKhzY={Cz@tJB|`3tSZ+@YYHcI`v-rnS-&vffhK3QVU(%oA>+s*e`utxRC@<M!SQc_ z7`~)cBe?Tsj`RD(m!CFY<jTr*&ljt20$Hwc?3-|I)ZtHJoH7jlK_o-(`uSS)rt~B! z)ld#yDOQop1wO^KVAKL>^5=;m?Q7>Vi4d1?m4||&V;I3k%FIAU%BVxLyr(!ZLulCc zd$@6{OH?^maWZR<4K3Bo^}bvgu0Sf>%61YL5;#y_e3w57yv7hD#fr8tuMdKXc+&ap z9OpN2=b34NV{$9=VQ6fUxvG7EnB<i#hth4QnPxdmX1Mm~($~kV1xFx)NR0;{3cDxb z>|YC8oPgY^Nwn3R^u}Wgz1;hchyyXJGx-3Qfk=3v0W~fpw|6DEMv|nZXl>jlO0_}X z4BQYHkc0PaZk%11=%5BegiXIG+L3CRp>noqzpFoDb!{Z59+~ndj4I#RYISPz6cYDx zIG(S(ZK)X+T~^o^nRZd>@+hkIv_plb5P`15>vjqbV@ag1e)qDEb^IM+T+xaT)n{Yv z1eU*l4q{c^<j{u}bvB_PorS{GMVLvZ5@lK%fZKKyD8psZT;P^+{t`#fpicQynY&tY zOwZ`esI=u}g)Wm|9|(Zcj*A?|BOL#c#VdO;)6%biU&u8_<hqDq4FKlt8iPKay=K2V z2ctoTe*;E(+@)N<ed&3)9mOguGOBAbdBcdOx7Eqc54%>9&`I}vb#0Kf$M=4V)xA+_ zFmTLcgkdZ8zn7lY=cJesB88SyO(xuBid;b;awq;)w<9^db0R(7jmYvaR|)R<lC+ca zl`N8nbfp;)Rk)Jn$9;igkpL0%1tW-oj({VY9QyfZQbFd(eCwwF5Gm43{GXfpGt^e{ zC5|-pOQKMwsY{<IH1+w*(RG(LZpV?IP@Q$t)c^l#X1`}OM_9#zYVO`usAh?(@j;nf z1xu765MpV(M8#+V(b=aJFt<9Kn@~-RLp4_W8LMz^ic!k<&FcKNJ^;%X8p!<f!CPPd zUJ#kf*RB0@TN79XYuS)ISRCF>A0ahAhZ&J}@`bZ@8p3AYtS<PAk=gkh8kujIrtXC% zkzEK5IjrmlM`t~KR936=LnNtpn+&Qv_{?TK?V6sNr{eW}hSo_=Y-*f^GR&t+r#v0c zRh+=QZ^A)42wmUT+U!&$t*(oh#=0RudHqWm)j7`FDXv9erYy|6VDr0RAdoYWCCLfE zBRnyP*|IHK^pJ=-x0DxKok}HCk}mmiW^ak}l#w7KRCad$CGlg7%EvnsjJ3ppzT$Kl zbYpz0Q#L^>Li?+c^aPyKj$c(VA>}sJvc9yd2BCa`DiGnVc`hW?W@+er4I-d{WT%ym ztu%LPSq~=4ID%R@?Se|K#VcPi-`Pn`7q$|YYIRm=UYk*e?iseFr?}&Agb`}n?*BXN z<EYNf1QAC%mpuc(wEnpDp(7E$Qo;WAU`1=~Z(xNR{8@qCe&ghk5oLe?tVo~LS!Wu{ z`q<>WH3i=KclCj1Ypd&0)2M)!#|@|Su~B6>TP5vj;HEs9S*YdCQ8~i&yGhr{r-=BJ zovlv%^JP<>t`9(Ib^VG)%)zFf1G5rNwtI_PaSe=_B+&q3@OcKENn-|G>-$x#?>1yx zTPTAJf!1Z@FiYn`Z#zCm3^CR?q)!jYGhH>y^Jie6a4Bzf{Y1=Emk2PNLt*K}AJ0i6 zAZqK&_SmZs4zX#{Sl98?&&p1vY<B$F-|<F*z6a-v2EX0vto^)z&qCurXoRidI(YNw za!U~$`M=dRWz+(6D@_~y?!xBe=6&pl=*72>AJr*bJCQZm%qN`}m^}D8N0HAt;v9sD zDz1Oo>bi&47#!uOl$9?L{kr6~+5|SRYUuu1t`PE$f?8=<>Lfj^ZFR<L3>yX?q8Uxj zbN=Zfon{5|cAq!`7M!xsvq1JG<vd_3ZGFRf@sz|sD*bBrA=*u{;NvglBT=?|{y}sP zOf?U&B9PfRg8z}YbC8n?@3<3K%f1Cxj@BPSONy%m`$9J*2$Yg22!OQGFgpW{BArcF z5nGC{Qu<Mqa8BS+?VQB%wak7JZfR2I6??eGdO*bbrQcC;kY?mT_zyq{o5?v5pF8#! z`G2a7RwM^l)9lg}<;ZH_$wu_Mpw5c$=baBRmpqC48zj%UOsDNgv8B&(l}Nt1()5?@ z*DQdRJ=PX$zvj}S?e+rJ`)jJ(&TY+1K(XV3N<$*NmCRp+WEV>Z!t@UHhq3pY;>-Ze zyoEHbG8Zq7OtZ^YTw*;qL7H(VTMu4{F6Vrs3x{r8tCN~}gfu8>t21HnyBL~X$~6Mm z?uyd{4UDcBV^ic6?J<K>H~M~49MKx7lD7=rNLy6d&JKR3Ait%*!5|3!Ntez^7a(UK zZ$^S1G8mY20^_anXH%TWY$_dRP;-?=pzXDk)90lv^aNfaJ-D57(|Tn9ik!$?r<(#e zf4<WYD#OA{=Q^11Vy`8p(NWhr^L!+xZ`(I7Rvl1^-8|%bZ4XaOg-YA5!sAAr`(;!) z)+h}HZS+#J#$TZGiVUQm?e$OV^-i1Eo84*J(f0AC$Zk90w_p1i`Uk|+N$v{V!PhBw zS-D}Xl5W>NQ$w|I{>SDVByH1Q^}%2$W4KaBUG3(xpf_5-O!FaSruhgJ*OMMzQ@EAy zJM|6~FDWkWZzv_q%GOe4sJhn0>bSG8iYbM!zL~fl<LtqiS;{+-e?ny__%5*fyL$Kx ziUb8~Uby66zqTmpbgA|IovKs`XlzubavOWJpyzbKNbb7WW!@*AL!UkXlM&Q;xZ%{U zrpim3)8MvQA{v)zrnRuc-<}cBBi;l`48lM@6}wF8<UuKXFUsRdxtA|%g;6hvCNxe* zhC&@-zPS5U^pXd{OBu{5JrV~T{JD)<ffD#gH-w+25Gw|>PGpVZ@m^x=V5U2bQ@vlZ zWHOUJPW$5MU(^-udYDR=i=4T^u?2T<>(a5gW}R|O$$nhajrshZ{rfP}<-hOWYk(); zKTHdT%?$@CFXjF~Ft**<6?5GG5W77`&f|6Jg{3f!vVXw@8(tB|j;`pDC{B1fQL=t; zYD@Y&yePIdP5WrNCgr>+kBY~uJnO-kOsGC|XY048Eoqm;>-`mePzt8+D$*dab<@|W z1D5`$4<kQv{?NIznPR`laS+k@a#8B~17?N~woqn|%6u;U0XwseGGAHYn_~R4$WE@j z{s?XrFv-tP7+;rVj?t&K=QlY$ffEO=;GL6$56Y{$I?rJC8_gS7xHkSQjNbLym`9@% zxlnY;)_p*5LGNp-+x}M&tiR&{;HKa9jtzt`4tT&E7~2Sw7O(@o%^atJ7*}XpF+j#S zkO>`kD@|v}Q~H#mdZzR_yPc<c4^{LI9W`Y~5_DZSW%onbWkp428qT$8H%p6TsdeF| zQL@?uMVNIoN#sJBkjB&i985~xwxu*xKWJs%qVQy9TctFXS_Z!w$|n=KMkFYnmHBs) zafN`=Ut?r*IWPFVFP8JDi9M(__vpZRK(X$P4W`|_b87Y{I}UBpXE*<b31&Yt5O?^h zrvy2P@|aq$Q~E|EUt1&XhbN`G+Yg_%{C(|*53KkKHT9W_><-T**Whhty@EFy;EjB! zWU83uRoW~R<=fk_O(bHBJ}>gr$b(U;c{;JE;@gSHu2J{faIW%1`{BbYK1^$tZKTeq zveBB}S4&Op&ADu`oMZW?g66HX54OGgMAQ0ZUGmqlX)OuiM?rgQdW=7-8vGEH+L0cA zfVpXJIe})eUgTO<&cOl@|2Z@}$?n2AY;7z%F4^lBALwnjI)6~XMBjl4dvKm^*Y{eh z=L5dPq8;3xnCN|_I9c<Aof-bP)urBVLLyV-kEaRt7QQUvwxKQJ_y%vaw+JkQYwRsT zzQL}*tFw{31Q){jOUzfMfG?Tg`DFAzV}er@ywC(cs$iU;8L*p0Xz~MgrgamZLJ?e# ztJ-J)oLp4Vor?4gziMw0$?}geB^<9{u?c=q!Gi`M0I|q_-2_ioQ2I0WmP!SmGeNo+ z_^-1AErT8tdy-;*Zi4bR;s4YG(RnEHe`tcoD7e-Hwfw-Nsoe7vyxs)aU*vDdVA>w@ z&d=E)FXH;N$d2IwJ2O2NIi=@JW+`VxB{611iS#!H_y&1js^%>`BnYWfj=?@_&G`_R zO*g8@c0#rk)phcD2OC$d7XLw{nA#R|%cGYHqqE9u?&Y(i(_?n@su;#d;&m8WSda^< zt+hScNoR(+L}V?3!)@H?f?NzHXb3`4<wZHtl<~hDXa~(R^3{~HL1^Ls5W>c>Z9H~Z z62f%}Tqq`Mw#}*kqt#_JeDm~hQ-@l<o!m|C^q6sk`vL<KcMc66t@(zNl^71N!BX$^ zegyTo_=Lz)L-;9Zd#%Zt9`k<#MAckxEB7XDZ(dMjN3V+wsXuS$+vP9T$g^aXsIWOK z)Fs}JSx|8}AqeNQ0b2G<{`WORnL`t-HDAzYAvnds)Or{GO)%9GU2ApDR1dMl+jRF& zfBF#vVf&zu-N$JrB3`pASMh1C`a9k}_-5Q0LazYbMONb6yiXT<+u40<aE|DNBR6XV zKoG@*QQ0Il`#nGthsGxgLlk&h2pH15$T%1iZ`qR+Mc+%+_p&_K`mRhDgqg~fsY29t zbVlKOSlXFnWH4^%RD;yH1xPa!xp+e~kt^d^l?V~=1$MN~jxH`4(O1ov7nGywRjT*w z6B?!fPy9Wj@H7DI0dtBO0@h~_#|T8NH7}Eq+s4=*2!ZX)z}xnL-Y9Z3s2YZ4W>eNX zRGh15@X}!k@JMX6Q~`b;tu+fxXm}#d1EdX^0GIm>E;_#h9WnGmxU&^Fl>3@N=${IN zI2~jjh_||+dIW$&UOAl*;6ShIVt>u|bR>u7hBx?lkm>Er-=)Zda$G*+Sdgev?@=;m z{!TkfS<&pw!ANGX#5ksq(?nGjHf3mRQ+%(})Iuvvd-64mG-Zg&yoF&V)0EDj$jLGP zDwS>EEB_Ns&aZTciksj+8R)Vc;E0kd-6Q?p<!qUSrt{fUCKm;OtJ!8B=*NBNQEGAT zFk2^vrZHD>gSX$D_FA1aMlceRtZ4z2%KQOLH}e^4^H0Eg-!Ao;*{MDuyL~sBn?9`$ zGZ_pYHAccRfmB1Vm^^u8OVyhOthmYlqUKuW&^T+&Duu>O?B%BEA^v@tt@S@l>XG>j zDSGO#R}yx1I+;g6Q>ZoH?KgzWc>?>7T{0N6d1uh?|90lC4Kw|ZGxw`xEHoqNymiwx z47vXW+JdGR{a2&L_J7|f!uI7*_{)XHySzyz#p;}ABJ+c4XuOrN%uF2~H^=#FVRj)1 z(;luxa|={XU!v}teL5Q+?@5lKg;C=uE)R}>m=`79PjudwU-iOHbRA$WX^v28+fVK2 z<k;X{V|%f|6dsPE);~I6(6e{%X<W9-s9i8RM+Z4Th={dj1sIEm|IEOV!b(-BJwKAt zS~2t?TrEMiF*rJkczXT+(E1hqzD`fgN_7gI3s$Ppi`3S9@?pNtFJvQY*qtN;5FPAH zd3r`sJ7neieUaS{<@p2-#gtaF%iHxR%jBkI)e>ZLX}JWJO7VXN$nArZ-h-p?|5Hh0 z7sv;;a2EZdkUN*s!WrjJ&B$VjNS^HpOQ!#?d^;*n<h}AFP5C7;M&3D#@WDM=c>O9x zi$^%V2_jM|gKl`8VEY1(QEk$W6}N#KwU~Dtg9iXBiKz7|U<Sxv>$@za2CL78?@DB@ zi`5~VxD$4a0c~=2!Rs=t_EU#Z3|-gc><$<a1nBHOkZoymT#K6$ZDnioWA1iqzr?M) zjtS&GHKF%VG_hzWOW)C{df&<%O`Z9w7Emo*(#cl#95q1YN?PV3!>JxyV5V<E?_tV$ zIuUus|24>$FX9U@gfx`~BRv9FX>e0y7niF#uh4L{m<mp`*7k9sa%T7hYi(~5PFyuj z+@&u4lWxQ#ruqJt13ZsfH@_tbqnM>zAIsOC{-i96G-K<mEo@^kBAi?9^qDP<ROBYJ zuI9VJePz`tw|Oy{;_j*|*jWy9JtQOIb-_+yH!&;`Yn}o9;OoIuKh=~_U_c)q45Fh% z%lw@_Mav-h^Gdi5m@C~fL)C3>;NQpDYd=g42xv~@C|Eqv;wim|22mGhPh8W>F7zGJ zB*29knbOzf{5p;=R>Nc2(Q})kSB4C&I-D7f8YZ^CRM^x6TpiD|x3T!bz&^#;FW`Oz z?0A}-R}rSNbLP?nDwNsON-K9fVAEc^I@0e?63*tk_{p#@|3beFp$T|wZ*S1WDuDy) z*TlCad1_Z!qa$xNIft}dZQcq7v+k7{_U#|?IYZ?0){;r-SjJp(DG}<GiVDcike3eA zajHBf9SFkH4SDmz^h!-NOykBbu1yisl5@jMRsQ+HnS3`Fg#Bq@%^TItNElsDw7RK6 zN3F>DnqTard!r#>M<6yZs(DB>IYW^*ZTh%DIR%KIq%nOYlh+-l8yN6G9tNsO=}Smg z$p!}RYDt_*$udV-sG`!J3ojpVLDztZ{~Z@}sUHmIMJ$CQOMSov{ZYp%W4NF}FUWlc zx$_ezm0v`DXE0)N2&#YJ>hA3gTKCU5Aj2+v%VY|9eEO7!!UzY%eahr1R9@hK7OHl$ zwdqo53<r=l%?{VjE1|SN#Edn3;SoDGAD#zNxj?QGCWbw<$)%|?0+UWuIIf5#uD?jT zmIY=%SYUoeZ(X!@jv%k;)dM|L$%f-skhKM>IAJy%sa}p?c+qAfk;hu?IM{gP@h9LP zyrq;NqFBflU0E7kT=uS9DU*xI9{omn^eYv9Y7~8Ay_pvqAML&e>hCU|>U2wHs->sD zVY+b4X~AfGdMvuK)<4lqg@7GOxZM(IC335bn5%x5)wTBx+LHT}mvBEblybkaPntS( zqaop}QdX^-=a0e<)zN#nJlY+H;!W$G&R;9@6UtDx8^VI|*^%rR3Y;T;OXUM33cM60 zqh8dV_2RB-;Zsao^qG!B-AOMb9rO(*KZWIZ(pgYG$5~v8!ncY>=9ZnQ08#~~J>RS! zm_;_|SfN=Brdf5SS=N8ktiM3=-?Lc>KJ~BAzJo@W+4ZdU)|%6)Dqt*}K+fTxAiM(> z#{0=+#7Bm)7(7#=0Ta~TC_4bAH?d%qgi(ltpCoFNSRwy0LV3(L<9Spto+E>4MiF6v z(=uJ7DLH8gLmFK?)&HbvQ3(PEI1wRfzNA3%;&))R)#R2z(8Uhn;=wQ;6X{%XQ7`wE zbqY%)=S(CHzL<>sTH=nIPF10@h~U}_YxVaS{&bV%26J+kW#8tzIl1ZCk^M9ClPXR? zNksl!c6Ga@c#FYf1k<4;b9lJzO`Cbq<W$7ko=ruWYwv2|%Zv^;sK*lheeCUqsg`@% zIgq<(m^*q`Uxyq|Roe%jN-laT(fevKc`FPrw$^-TWF+c;MJy1K1&EnBd|KeJGG7~f z3R!><wu_QU`B&<5GkqjuQU05niOT1P>2X$fOIaYy|1YBw-#rSONz;+wE;TG)0+l44 zC;VYB44_{>vE5uTQPgH_Z<k0LO&k9rR^x6Mq{<b8$wj{kk9waOun+bW7wN)_&1B<6 zS2<eQ%fJ({Q?UPQdySy$5U%6b_QWU3SME=3_gIEEx=N&=ebara!C578fF>Br9zcu? zcINl9{;8VFxyGmwRR5XfA{10djXbt@pb{aq<kmPL3_=_iY%K|d*O}{LR}_Q06dm8; zpU=mf@D_Rv1CsFXqSJ9_XXcfNzmP%ACjwM=tpTckwGmpuWkk%Jkb99c&2*6Y6XOz( z9mzA+Q=S$F@K>SmKKHxo638B~+K0s)c|ZNVstBa%&i9nT|1hmGgdBEBgYHjcGo*=A z9gjTgPn0bq+c8millq!4J~L2eWw93yT3+n`gy6y5?61OU;&&L~&Mr7yKLbB)Z#fPa z_?M}wEt2p17nz_g&h(p2@Dv57nP8oQwI+Cuf@hlG*$SR&f|C`rOz;B=mYCpK3Lawp zvbVfn!9SbeBn5wOg6~ssj|rZt;FBi!5e559uwKCjO_1#<s?;X<aRqNT!4D~Ts|hj$ zMZRl-F$LRA@WTqWnc(RPe#Hc<6ujI7Pg8K73Dzo@G{G7LKVgDw?TY-5n&24<R-53z zDENL8{Fs8ro8Y+$P9VqzLwgH07J~SmQOjPi-SJN(%FrY`XLIXvStlc3#C$pw5lK#S z<3J#fg;8hni&-y0^R(^HHYepx&IxVL`d>w^5)z&S%Wgsin8WbES(?9B;)4DX!J^1N zg8|Xj!*+I~k6~?TD0WbD3U+0~EmeLGEDFci{@vtbMu-(p_&?yqIQ%L2N8vbZB|Mny zJL}Bzo>+@{asYl$Y#~9NbO)9T7@>3SWl|q8mT+iI=$L$g$@PfQHg0mBOu1hu#rQ0y zbH|QHWi?<9wz3y-Qh{GNqrxxotj)XJO`Q>+W*j~mX}WdOi+n)AIxSox8;<NwA~^Hw z&%CXUvq)h#3-wVbvm<IBd<=qwNAe~wf#q?7+cXL51Fl?CZnvo_;eKm9A;)~f=@!JS z$i29MwIE%AW<aG%N*`q(c#L&@m=>wLhN7aNF`aW%w`*KqYVGXY%{zUND!Y4YIWNW_ zGT~$cLo&BZ+UzV~s1an14Vl|zl+#f`(Fykw>WOZaUw><DJa#1t#SjX?Ddm7*+)I>^ z%-R@3au3^1LR|1NR8IUl6Ax9e`WqKsm2Uf*IK`E+T2qRKuiZS2@>gb`!Y-^IOR1#1 z@IW>^&gxL3A!~F1h+C*;ssQf~xbp&jGLhfIyM7Aq4ua@j#$#7wWppLQs!R~A!RqV= z41n}5LE~EzlJLd)@C$->js))-3EmS1Rdo+v;?Ddbow7#wV#7$b2MXCjQo1^J54qBl zIu1S0cyIXX^5Z)WU6m~=;;`qd+2P@FMeV`hF`$(E0D0p)W!IK21(>I+3LWxRGD685 zbpv+dcd4EvQWJI6nD=5$EWj;D;@N@Dwj{`0t#LQxeefmiPh_Prg=T2RtxN@%i!{0G zq%Ll}CM2mX+0nB@5AM(a=kn`^?RLlXO50@WMDI77-gB@kIMTnvh5j9WcmMck1DUwc zK>A+XovMXK9U`GJNGK;knvQBQv6G1P{xrbOE9{~Sh)i0)Ie;)d^nUUiIt6-v9+(KH z1PlD4C-4u+{G$l`!RAqcJE{dTe(F-Yo~-zv(5l*PB5M;);KJ5ecHg(&L@p^OR#<?& zH<)<e1`}+kN;n;x6jVhwnK)!9+%^JTxR&De1>6OwAt31|M+^H1gUou6M@8{w=HzOl zGS8dLN2KM6`OffefTX+(8$c#E@5;@azU581c@xfAo$Wv_q$*aY_7e0=z;zlMoW>R| z$l6D??Pxj5cyX=hhn0N|T)>^!BY~tA{R-Y?EYK4qZ`Uiui1-KxCsPG>8M31|hoG?t zFp)w36eko!(z4Hpeuum3C`d-7O0snY2F*!W4+hp)PGgF>c{Ne<j6!LDKqC4x0<C^& zt2Oh@Q!8~Y%BQS6s8x$nF(sgk%GGupQ6g1}!k;4jP2}zgs9Ns+bwnGZn*H9imjavM zg^=#HQdptIjQ(*V2#c943w3n5fCDPGu|fCoibV1u{j4x$tK0iQOT~LFFB%!-LT-f& z^N~naz32zP-NqET^{w~8AopT&>zxjNjU1`A@zB&r+w71y-MyX<xfWE^KOWqXXJ!8c zS|=Ed-9*y4J-oWJ8+0c6TkbA!XX9L-x3|1s@kWsvp#cGazLY&rhTxU)^N6k4?aZx{ z&JXr<ygI#Stu{uh@{ZCt-I+a=^ByX&Gq07Wk8|fz+HCZX9()Jscbx3V8^WcQCDJUW zs9<T4l&V$>PkALUD=O~`&3mx^%G<^g<?GnCl800RDK9>4c}1{R-Kfhr2Y+Y~!ODIK zUO~<l<!lxR?xEu$=IYigMF|-GCzLI>M#`oF!1cEvlDJh=%-T4_x>rg?xlaw_j<vBD z-CgGR_9_yCMbB-ibyqgX>4i`Ua#3g3!*T>B=59;eB@K*#YA(h<k>u~LMg@_JAb-b? z0jw)@43_FJdNt81J`yb0{&pimUllemrM1lHMR?Dwg|7kY8l?0+t=+Ua^8=V<0|2fn znd4@6tFcyA9#KXO|5pp3iSK5K41nWbOsxC?<sLD1*%Ama{p9e0i7KVQTAYTktRu!8 z?iTEVMc_%~nbt;@7eHV=x;pkj^IRJ{!#wYaooSvA#6HBcu)G)6^Zv$#%hF%|V(-9s z5K6^Vk<GkK<-!le*6B73p3{{Y%cnM=0;O0ymYOFrn{4dEL8=fBB(}2uN3gxSo2EMV zuhn2nzX9f@NT@9aY&u<zJNw;|RYq78?J8A@V<<h?ZB_|G?ET}(8Q_~Cazm7iAYq?I zQ$*<#kTn8pV+{mQ)?$h@ru;9%&UQ0*L~%phW9ATHh^eflL(Fkn$`ux}K~^IPr=?P) z#A&JGvDj&e8U2Q!e&~wRi~1KXTAvz1T0J-J|0g?j60=kT7ISf>cqkb_t~r?$?e~pl zY{K~+XVo~u0sHW}=Dm6+2so!i4r9UmU-RZPm7pypXXl+gH{k4vZ6q4C{!{d$P`>H! zboy`l`w0St{$2x+x^)|_Y!r<<q=y7xRw(uCUDQ;PkL&}a`?v7NF}_Zm@0ekFf%-7B zd|K6Zv$oDne_V%aJEAO-aW=V};YZS#FMQVjq|Q;$9{wACD=}j`b<-L2JpCu!K^FM? zO=l7{%0HxygXSiu-@c^D`K8_QOU*y~VtbzL{QBaA^JL&Hu^Ql^C%iH}ugRh42h6%Y z<s~83;BoH!d1zNjzj-@eE?-{G0md!u)X|(PIipE#@DF(jHrXr=C*ioNZMQqWWpw@( zyHU)=<MHL6voEthXS@Xl7eR)9@f=N#*Q?y`X;tccY3146&BC7d`@9t;xUMcy^GqW8 zU2Tixs-$<gr6oXEC!^KdXh)CnhZ)@OC{+Dl+#lEB>3evRqo+LGUUx1>NxGdH0atim zT1PqUNpO{$+o26b0+m>TRY4Hs?x+rel?3H^h745%wWt%UCfE=JYfT46>3ahU6!$xJ zklgBU<Cv**tbaeeoj#rBYPyagHPR{8J%)PK*m8woaDib*DQ~uuzs<6M&njQvkGkn{ zj6S8(RUr3T6?D<bP{1$J>!df$l9Gl*8i#N6eZwC02j|LXbMu}^5Q?B*_#S#%F5XL5 za@r+e;?0?h+sOUTFK&~5wh+O13p39^e>vgcFB1Da<1mbP=UHt;*AddTb-j5$U?`7q z4#vBt2%GAw2olZ=@JMklFU?H3cj!a0_bive73=Owcwb1|<zm=eY+4}%@~}I{**A<x zkgQi(o%i#x>)y%VCS9z+Rw297c6Q*#7MFlV&dAz?E2^TwV@AQd2gBgw?cP73dHH;* zz9-@Iwe4jc<Bs$<Xx~&?!qS47AH~WkKb4|ojFKmLu2RAb)#tFMA4*_Rkceh>s~I3! zLn-$Xv_oq2;{r-?37^W9{6eou>T_;Q6O*jzPemU#^XH|cd()mE?<%FZHw^@D-NBnd zdZ%k0Z?-$Dgl>0<0kM*MR-R}?4Rm>`y=iZ`pzb4d5EnQ#u?Q1{{YhL37TGm>hHoup zQ;kb6R#8FC`z)q1fL6Upw?QSoo^Vf2WWG^el)e(DFWx=3L6t9PVABgQ;BOdO)_Ct0 z6CEd-*M!%_tHOH)9%Arg&KM!WXRjb9uJd9ITx057Vw}jBkWsldp|}ofSBk8)Q@VUY ztuoKNVtj~3a9`_*mrp1yV8+*(^5N@@2fogN^`>TrEI_VO@8mycs&_O_ZRKDz94$=d zxT@qkLJ|WV043+&E#4g;#+dJYlJB{9-=);(-O2<9>}J*zh$0r!Ds%6%xr%b{OTT$X zyG{yaO9FXq%*{JndA--MdCw=DK|&rM-$=U6b=jTHu5>j5@VN9_oxTflsd9yJvHTh* z#hAWLd`!02uYW2RHwhWF#P}^}a^95ZOxwoqpHYs*N;_9l-p$v>$2H<BzJ3Y>ZhKuv z`w`$!Qa*(XN_ESuQYY?G;+x|4F^G|#T9x--Xr#rb-MxWYHo<ZhF;LYyGpn*PtpY{O zF7i%on<(h{^N10K<pCTNargcLe9f1d5;#8_cE2Nd8DE+EQC3mfRPX8$uw{3^4EROl z982FiULOKMB|woXuINmUdEyK5p4e`KyLZO+m?&rrZU{{fGjN``ffTtJFu5Ly?c*7T zFuB*1+K)0(isJRN%2V#W0|c$ETNL2{Cd>#iP%xsaUWu-fnB+C>b7xL!IIx{#_IPZ* z(_w^HtP!~r{|<Z5+TRh#g$RgLA!xCU5XcFLyxYWa2X5U#dn~7zIMvF-iI~Dw3TIxm zNUf8b?fC>C)Q3gKY-f9V4osx>B&PddyXii&LLJne#K3?(iC`e}5z|}p2@skU>NT@s zhzIsI&c3+L!w#LPo>{kKV<JD`?E>#SI$~;UTO(P42Y}#}-sVAe8O#h36g%Fn0?DzD zciMWH;?@zDq?@9HX1@wzEZ~Oj%#M=Ir-L0VcT0c(a9iuC(Ys<DbR-CiP&77ppC-lx zA>@TEynE9;K052B6o31JT{C&KSw0ySmi_dKqdHtocrB)4;Y{Ol4{H=syslSU<!$1S z_rWKEjqzmwK<}U4NedbqNM+8mtG$z~`q3MG<$d~b@<;D9FKlxQ`IH#u(<gCfQG@p( z@-inbWACdt5Ctz&skRpOI`a*z+WDfe>%H4F*40VnZ;98|r-vsyp<nVh-1+|gyA&Dj zeD`|K@<xf;`L<Jm+J8L$92g+IG8n6PjN19G=GE+cvjj4K1i)tJo87<`BfsZ;iruvT zLq)6(gp}_6V#B<hw^Hz^p{es8BqkUoBSoUfxYJsND=t>GVC=UyYhTb@DIhq_F+V}E z!T#6UvalGZme!gW)X&bm9tk*ng}h-QLCE6o_4f1TG?kzN9m_NM&-i~12tt9MvFDkK znal++RWRRH_EC+z`)#eVDfe~_y!fSMt|KbOQQ9TC6?9~M&rSUZVtII~9`Qc-n0Uoo zJdq_YaQYkG#Nl0RqQ0X-6aCGl6dK;MR9^qE%Dv%1eR!^NA$cQ0KNzKQf=W3t_+HHB z|6}c4;G?R}z5h%yK!VX76*Vf=sOd4Nt-;#UjL@2a3GRW31_8xeO}%i?qD7bi+Ik7h z46@yh#iFe}wJqoLM%BLBs(_%9L`{OX2E1XlE#Relh<I%gsF3&jTYJwW(f0h$=l^-< z1KE48`{h|{J<qeA3!kJ>gnr&X%2nBlnqrL7n3!#TOkFWXX-rJFA5&k9Q5qBTTR%qV zf?to)n3xrQjK_x`qcr+;rynS!`Iet%H=%wSrPj}z;l~J2{TQXu&l~5*Y%Rtpjea<x zs1BYrdU^*3Eg+r&PzL=d&ii<T88@$xGhOhNgnpZ`SKKRX)fNWH`UI22;&XxEu$Jwh z6o`)KBXDt8<m{lIqCbq3Qb2?Vg>9J)Se}B&#wqJ${tv0DvG_}63Elt0ef`{;!ei_7 ze$M-1w4*}c@snVP{G7sd^1%vOMij5LI18aN@7w-oo%yWwuJ%9c&1ao=k^gzR`K<R6 ze3~lQ5NouC+&3xMNx!4NE4HYT>6E-;tN&K#tazO_-87%(tk85oQh*ONiqy5G_Spi3 zF>^rQly;p$?@sUg86X~GU;=y3j2kDU8AS4M%#5cjAoP*D^l&!ypKD{m$iM_=%#jo^ z{-4!@J`FKoZR>p2km$$ap(TvG&N~TxHgFgC5-Lpvfi*seCzS^UXE*)^3;o=-J#4DS zTe&^vc{_LOX(~?lZ73;n5OF|tD#Qla*=hWi7w|XHH|UUDISJYXdM-cbr~8KJ|H>c3 zs+=O<sez_4q>THcE!1pCncuE8q)e*ZP-gOHjsFGs28U{o=%Yk-u_68!pl{_{s$L!! zO5k-N3+Ua&&ZYh0NVE-W+-ajhz)+7Y%I9$AnbPYa<Ch2dYtSNX;Icr)To7c3R+!QN z_RB(PFry)`moo%@#r<t?{WWC7X_D{bK4QCN0`@xl@|G|IDs%;c8(eP8({|Z%jeTIt zKH7gUGf*Ld2dZyc1HGhaf&LcycZkE|<c^IrU?_0IXs9TIx;&ywXghaz?Q#l)SJ<N{ z=D7uf%)Zw==P%L@=a9a0D@haXZ&&j8UA3_f`l{_tfb-GMwu;rF`)X^*?R|UmzW#N( z^d*pz8oVtp2q(6(2g1&ZyI29teRZFU@js>c=vP+O10qQ4tM7P6p$lowJz|05nNmvP z*~%$I%jO^}Y1rD_dI5Ww##|u?A45Xfh-VL(&aK|#Bk2uA+Rl64j!m5F&aSBQB%<6= z_Y%mry!R4;W1hhCLwQL_<Rh>z0<ClYj7GF~A<b87pC`&UFk{`ehZeF0F(1e7ile=^ zR61bR>bq;(OryNM&llj=T8&P3t|ip=kNG%EB~=_jm8CyWey6wXAJbBQruWCvdrTuf zB9t5Zh|k23e3{9mFpB13MohF(gId}D2fryVvWu}FG@gu8H^RkcoePg_WiYM}E1GNx zH&a_@=I>Py<9gmeb9C1QTuB4}bY8_i<p^hZ;t;}m*TjpD3l0h<#793m(>xGw=dH(o z6WOJNpN#`0Q6_Q8O-VGQJ`ve&EyXOX5S3L#YB;O-)bybav@`C!)Yt0oUow>#nx8t1 zQ91OMG8*zW*e5`ddCl+0Kdn#|#Un3SORpJP$9?31Bhc);9d}-gwvDfymiie5Kj4^x z3&VXY;{EI*_Y&Hy3-b>GlaqkYBJa&3jnPR<$JSQf8IuM|O<ev9GoV7S%@F7AsBI;j z0iMG{KVH>W{i2Ua_QQbUIl0;s<1FKM#ShUy8Mem2`ZvDBOmJbe3q#!;`CB|U={?(; z#2Si6y5}8;nc(I455~87_x!I!+s^!a>H~V0$253Cb`$b|(pLA*2PiGO`No%(GVRa5 za?E?)oEMa8E&Vo4_NTX(#Ojkqv^nyLwe;&m4VtwJ36HjY?Nlo}O`B70QfWN$q_uRC z`8W?05E2KyGy7zoa9LpM?;d5{d?L~4OH5)Vd^t?>H19KYy0<2reG&(PFPZ!5wtq)q z(|H;0XW!@nd@bG0UTlHsfe2s*jQV2@UrTx3q1B|0bfx|rPwx-ic(Qgot{NtV8YYBN zPir@XtHXVPth6*tFAJqsi{>T6O*`H5(Slb4I9FTKd-2BpOZE~xD;krBi+Q(hei7OR zC?$XP6_Gu;tj^-}j&dyuO|&rvb{c7mry-|;S%_>N{#fd!7t-GcgVYIyVa;O}X8<47 zvTo?z*T0s;0xm(12m%3B2@((>;@U)mZOyync^$R_jdr@o#F+HlIFV)u)3&hxFs{!m zHM@(yj<VOow$}c_&=>cY{ErEQz>)sPTJ5ixEQl_CvV<zUXAUnbd0cOH?uL>1XCV^V z_`1T!mgM*I9>+@uV+m%$Hmklo`W(2D0fM~O0#(EyW^N#1UWXaw$DQ}gxSJWsA0+Cd zuqOn)x3ZrwKq5GM=#)r@WqkzLxrhAD>hM`-(@4BkcwgNnqV8@##>on!H23?Dkb|8_ zOI1?-8_j0ZZMzSzB;zB}m;LCMRBU#@tcH@~Oy@?-&1t>ZxlHYB)sCG!_c4{qIk%N~ zt=2|^_l(^oV22@zCipryYy*JcRlmPaHj-2TjeOE}vRYPF_D2MyA5-}y)@`@)A=qi* zOXrzkeDYM!sK&6sgzc3*CSZ1d_CCSx`C*(bp?#mMokQg_=TD90rlC?oo5Z}D<2Q!0 zg#wajm87?S(&V54Z5Rr|)oy%G!*z#g8V3%SAVx97${s;$lx~ju!@rTe>`sjd5aZnn zm27}my|J?IsVzU;O%ftue!c7+09idKf$?Bytu{&G?)mtQYH!M2sMY^koO_1ls5K^X zl}ic5h0S4;bK|k%IMVp8=?qo$*pa=G0BsM!36Djdn7>I)I1-S;pUmN=cW!tow-}UK zTz9m3uJLTh)U=whF!SSm|6TR<)}XK5aiYt0tCKyMKEyaaTVtG`II_`<Y8G|Pv=ern zq%+i8JkRKsD*F$O{NV#b@@)w3K|Ow*=s1Oxo2y79KB~MEpB|E89VtLNYnzp7?B)kT zPB&e2D<40(^6+?BB^Z5YIPyf?soXvPEeV!q`xn)d9tX&~#`d#o`z%~%w>xU7sc6E< zqyBxeTRAtbE1v!tHIaWTd^PHfu1y0yA$u_}C0v?SXpb|y{|(2)(HzX*$6{mAo1G?q zJ1d@#yrY%RMhL@|A&`fb3-_{u{Sojb-rPF{zJ4OG=9dEyzVQ;d-f0*s>kkb38T3p@ zG7e0I{dtE{48}_QtkWCdeKVv2n|u@l65iiLH3TJhlUZ^2j<1T1`=u7h^}jXk@t#w% zZc~a<7;|5WY0=_u{F7N{=D-D-S!Y|xYGohQCgnc1k_^DQ*0^>P?FHhStn1R`SlJ(t zs`>Iah0NMfv%{U8tNpjAF(57BEikL6eMyeKlX7;i06FufmARi%JGO<F9R&N;%HAnh z;=;UcEBK^1wl-_C!CHC);c#x}p9C}4THTY**QfVXELfYfe?~cNdxkA|FlTSzY2Cbv z@^bdZzW-L+&PMAi#z}-<8cd^EnGcae)z)f9xjdps(ll9Tb$MN+Qy*jwSz*pj?@)qF zUl2i6j>H%*9_q+n&$e5FkMpijehRNr8qVB9mFeBXlC?~;&8Se)vNeQ}^Qv}3hLvTt z>EtU_d@gJ2y@dDi6;|d5N*P~cWh^}pT#m0My>N)`XUiR5X=QftWN0$t+>HO4mHi?a zePLx>V`^V6uH4U@nAJ2UzY&Q7D(z9FuK!-8_nY+Y{E?#xPj9q*l>+Z3FhI0c(u1}7 zlYdw#Ax}tPyE*ONTGE<-?~*6?^>>>MpM=<T00xHAU+2f1Zfr{7dCz!?gN|FbRY|)` zDW=5Aj20B7*KhH^#`2|W&JVmRC|KOnj^u%&Dq$pZ9E;y7WWbX?iiu5aPxqHx|0j5% zl-9Oh7u7gmxsOLc6yj!vAil~EW=&vXHaUX#!+3{jR7X1Oz#My%4s=;gr|M}KiGN4o z?t?XY;78<$zN?D(Q(znyB2WfzhjV4n%!b?0k$PJpf>=WPykh#OvD2P!U{Vc!i1FOi z0ZJxsOflNLrzZJ+W@8Eihx2PV&t12{G`>=;M$(AZRuVvS()Fe}?a42KgCuW+zJuJO z-B^IPGEeC>_tnc341QGzHj<Yc(v!*Qy5js=8y-BHNB6`!5^-Kmtk=^w%8!+PH{C)k zlI*^9{z10+<>3MIS5{^{=`l-Y?EB}!jVK#_yrW}BskNa~X8WB#jQJpf1x=ampLXqy z1sna=nzTd*W?`G3*GB(!!QhE4;8*D>m8JQ(8Lc)o%`Q4mnU9HS!-Mz{d{($4TZzs4 z);-h9l`?nOdze-<Nf!7?1XX669-s$ibx)k_l^JD#by5V#3)N<DJ(ZyTeOD_=7J+3- zZ8`qy*8(dLGS3?l|9sq*0?sdEA5B-`H8>u&b2HebKD2Jmk&f%4D-Dj7`88jOToW?> zUDlHS;=@|q%+_^Mv-4CucM4vX-?f%}k6;)m*6NM&EQ%{F_WNTa2e2wr2lUM_@DUlA zOaLx0hPh&g4Z&&tPAG|tW>cw+8Pg*u6^OeAyyz+0FLwTKaTR77Z9AuGhzIak)(_;H z&w20frLx~cEcR`&otH2xgIlkc`kqbTzp#4<|HQ@9Z<}@!+g)C#_1TVQ3XVx7U^}&D z!HMqVs>sL(%I6>RK&Y>3x!i-%T=#;S$OTpN4;JcylUke!iDLr1n}!XN&oKO`?r04o z!6i?%9<;f<c;Bdaw)mKPL3Q5<)<-PY7;1`anLj1wY)QCNYhq*CH+iv;c8WO1$XRaX z$Y^9!vH_Q+3tyn>sPn}9V?UK>Vr10F<l*xk@}uW%Gu$RsN&9H<kotZ9sxfz@dtG%D zd$Cy4W2^@5x7D5~?MbLP7Yu4nXS`!O%^7uQ6V6j>n<ASQzDRwv=J<iu3{I1Jo!LE2 zRrLLsjhrq=x)xL$$&`2vmZ#Kjr#;RU_$0TI;l}~6@xDrf`#u<eZ;e-WbF^CnS+Z7J zLGtqud&wF(k-lBiIR7wQJkvJ2>~>A3I|1>0UycMZ4DpL+Galf}uzC;z2t49KUCxoP z<MZ+KqM1Uk$E$qIF$q6WTJS$uSVOGnnej|upZ9@sm^2Gtu~vT#72Nm2>9?%Vd$C;Q znN7~dX6{iVo%7Zg*rI4@`d*u<qDEEtxaZ+->Jqdad{4~KoU=0vvNdsLJU40;JGO0Q z7P5*_C*kbK#m+3X9ydN56Ni@~KvRLT0AdOTEo9Afrnae=e3RK@N&?m$>l&}~Q-_@w zEbK-*@(R}W3LUkUVET;}d|kN7ZCqsMt_rizzfm?RcgpbCxNlx>-MojL#&+E{S`2Fb zCK|)21~)lxL{Y+Na^8|w#F3k!A4=1m6;Wv2^dGsqc_WPNZ~yhJ@@RUW|N17HU!Uj| z!K@Gzfi1}bnqw_#qY^0yXd{m~?YZ+f*TZcv>%Y&lBau73H~)JLSxy_x4K#OZKVlFS zdnKE-X0ub}BU^Nn=n8A~clz-qUGWFecWe5cMPbe{$L0?0=PCmf+FCt%AF1}^iCV?% zQI3i|2st_SC@b?5Q`2P3PaR^d{&qj21{KWk)ctT!D_()hbQW=t$_N*u<<~dE)W<FP z`)W<gXe%Q#S+Eh1zk-Y~6S8`SB+2MOh~{ReYK~S%XfZ|{UK?m)_7ZK{=$5K^G}Clb zEtB(V8kfCX@wv&=8#K;ulj&!*mA%T8doV4baUnIuw|0^{y<V{4%wNRfY8<?87Wv8k z#yT{X8N&Bv`l&K_-w2IiM^&6+cSRfBL!?rlHS2WXdS^pklZewxaRE604$FDh!wO$y zPBVi(4O!1n5kusSd^s!k_7VeguoXY>cI_1QzoJ?p1#J;tVFPui%L&x4pie?Gx|O^; zt>k{psN$PYL;Z*r`lDZ0T6hxRErBN%dmV$*P~d+L+#c4M+ru<Ti}wcp<%oN`&SBe~ z4W~ZX;e!odDEc_R>06aVcOhvd*3Uc6j}gA<$0&`78R5tD7Gspg#O!>>48-nYjMC`W zoqjfWql)%opph&m+Iz^)s2$O-OhxF|oqoUg_P5~8Tk5ASSL*JxGU-P~2DR|P00yt# z`F?U?%p_MX{d{+LdIRxHRrDR9`x}{pbx)%t?|5Yb`-CBc)r4;BK`W_h$@A4%EJS>0 z{k#wQG^;*F#}pZ%!za#9<Q%aVP>*D5uVHG$_((W^cm!S>To`tKZW<EK63uo3uRzbB zXJ-z?8u@%?dA`HmkF^J#294%4n8Qxb4I<~m^KrL9cPOWTI;^XqJod{|cxWWN4-IRr z6CgiDq?JLia+A;jd&*j}i!|(@2idu^%VNvWTCg6EvXJ8_zHY^C7zpI#k;G3TazX_* z=h;)+?UUUtWNUJs=$=ps{|SlnH*^yQ3vqIlxw}kO5HpOJ-wi`?s5CiT=k?@DGIvCs zr<<(%d(TF;C=q#S-nX0NeL*9^zLNT`wR!=&-6A8y1{0>I<LxR0d@4S6zJtB1x!_mG zC|6Z<IrF%GO81Z}Aiiy<3Wp>LuvSkf5BY)`8V*(ooGb=RM<R!#hAgdXM(`u#Me!<T z_L07qxeuIMn#kFl1UO2kYHRh448#JIFjrr-pGIis-OmR*EN6t1r)jZ@Kd_Ni?04o> zliM_$7Fw&%HW?W}ZR_0?&v*Q_%38Ba=|&rKc;-A-{XMuj)3oHLvk!iDzp?%EpN+*_ zhdiOlZsgo=Wm=yv%&?ArxT&A@iOfOjgT$DRbLWS=cb)|(wc|}}^&ugJA(-9bi+n#M zWPM_5SGYkt;VFH;6a3GBLx^1N*nSa>z~eMSHa2887b;HPkee9LzfNb{_`^$**W;}j z%OL&f9W`xxFI{*Eh4&p<peHyX3{{qXucooB|I&q*vG^lf=6N7i$@6m4j6LI1yh)~& z-9ZbFc3#smboOAF#p^36D-nBEaas?~4Xg>7I==K0tq-t4cvnxz88V*#7|*_6jy2lI zgOUxtk3_yxP%QbYyUg<i(Yp`Tt~4Ky`oiP7qQB4R>gZNuEm2U>y8mnERYF+;Io)jZ z^7JAPi&RbmW<i<UC9NbvqJFE)GbjtDjmnZxQ@eQv1(8k#A=IR%J(0+z^@N_<FpnwX zcsajQHKcy(nll0Zz^%mV$Fc|+#lywxm8JgNNiA!&9a-6LF%;?b;^pC|>oW84CLa-N z=?p#=uiwhY$ODy9=f1n*9lll79Q5)GGjJIJR<@2vJ9l58$H#5?4)30IurE7dKq!TF zmN03+D6$1F83dO&hg!>Isxh+H;J}!M<D*zh%>B8xJFox2A(gE+q#wdfA9zilu0*C9 zspNs-AY$q7^N}01K?$E7+TKM2MU+wme5XMTy=WkE*khmS#F@m&m$9?Lre%~IbMB3) zjTa4VBWB;ZZ8dG&X679(zduxReT{7o%=+%c?(3LDE_$FeAln#?X6?Br!%_f~0!cy0 zi9oij{p_)m`>n^%-DkGl9wBkPq#5p{6Q&japD8OG!!h_@lv(Mdg}45zlvEw7=&9%( zi*(ye(pjscl?nQ$mf~*&)H$3y0vCGQ%fX(H+>AxuRb{c<<T5N)ZG!d#&qn(QVh_#= z=K`#HgIGJ8ArY!{mAT{;Ogw>FCNEnBikspij-kn74c6nfcG(smMa9A3sxoIqEA2>~ zR@C}ScQAJTfC|xN?4pcad><HZtfCVvx#DSO#cc9`&L&S=RRg<`yB}$Ks1u;8rNz!a zKAFAx++t<UiYv&rsu3pY;2gQh!{U+WtR>eeFozxDU_7W9%(jtz)o+b|Xtra<xF_bg zbNtcUr}mjMRaOMd{I*y02r*C3B}MYzz>kNU;t!#CfMHmnIHgD3#7V0p!MF#E7r~e| zX!Tp!oH*X@we>6}6=>%ShB5?E`2dYHzYv43B%FH}kuv7|yv;nedp9CKH)yq=L6O`V zsLt?Eu&*&}^+^EtuCsIF>yZGkK%!gNYYKxB7lpJ^0XdtI@<)a-ple06Lgay)F^$DS z#z2}zhI445WqzXJgAxrvP)td;`iVe53bhTzVxT)wbnz37{2vqD;U}v69~0f>CpzeV zOmsJitkpJ&e6T|d*>>EOgr>KJ`M5YW28!!oF08F3^Hg8}Q`X}x081luTzN(BT~1oE z*}J&^XiMZ)Xws}~8{9I9CkmJoxw&P{k&mq<rxK+DNr8+tOX$3Q;YyvnP1+xIUI6f- z6$pYL48g>2iRZ!q9d!!>EYuy(ojW_8n=m)VEkQ!&&$*3wJ??xg+P_uQ)9i%va^L4> zrT4;Ye-G4;H*95MBDo|w25T<IP&QZRpq75?tR<CxNGYv29ElOrs~4;_uf-y-SvRW$ z8PQz&HZOt}=a1++RG9_M7)%Y2&`xS8P2B>h9UqUpJnv3k4zfPIaPb?PLjoz?e#mE| zPXE-HPHM<Eb5wDBYQru!1Mq?8{!R!I_ILjeCqmi=fP<yRN)mkQXO@V+>W+XH?;7Xf z&UeFbvKjvpSS*N#O@zLGolo(#Rm#<ss3RQ%v+4kM@@VnoaM~*`1(B|W??QrS9w03e zs{CE6LR<qRyE?+D;RqSyh!m|WD|04M>7E)s(QOH*r<9kv>qT&2s8L^y;KN%<0%uY@ zQ!8^QapI;D=B^Mdeu~p<*z9gvi^6#c7V*{Y3IqEvbI2wLcU~cQj$tpO+tzIm$F!Cs z%;VXEe8E~9o`R7E=egh!wo@Kq_sw#?c`ZDW>_>D7h_|vDYuA7?1<ZwweXX@-%4}1< z@YK2R+C<;TRaq_UV?A!f<N|8$@>58jc}~yAJFeR3P*BI-(vJM7kN*g#djUdp?Z=Yd znU);8+50<M!tM$)GAMS>!y1}K$C%Pf_aH4?o_~~s+n+cPKG)S0F{GcjbI~eE^mV+A z5ZdYWeX^5L<;KHUg-UF)VNf_7sduPkZaykJ$)7La)-ZxbQV%e|S4n+)9>+@JWUu54 ztkm40N98rq21fl&yLeONbJg0BlQ5EoM!8q;C3Nax44vi9R!O@VbqsjZusI{E0(m#r z4!c}_wAamYM$U4+Q`)g@c*kFdJCnl@TF!T*WKm^DcBHmA^Xq(w$}jMnwMB)Aug)c- zxmcT>oAwFn3o#Lw-Y_)#iU&bV<dc=DkpjbsYR$AybQ9Ow2X5l;v>5PCGx*I87utxH zAs^vQ!)8gb1moAw%HFLKY>tk&+$y|*6i*B@eF-_afms=x%jhnd9q9@Zb6!Au`@0Ba z<MY_5t>8#4VX|PFhI&oHaU|3Lv&XRa`Q8M@9<3`5uQv<9G9(rRdvw}R{6Ui{l-XL{ zg((cKPWrx7XhySp%W@_DAFu?hs6fiJhoxrHQ`m{we&DWh^!<`<qKty)fyBwP8XUJu zD>29Yb#ORwD1;n$lpiW6`|R0P=y^bd(?@g6^)PefHpfHZSP_ZYL+4qLzMN`+P0s62 zgtkKyi}hh3(Cq(RV74fu{#d+`Cg)W%VP@VxHEgHCG8i;$S|euIe1OP4$L*r7Vj-t} zzun@ef(^E(+lOHm>0<7EORc63T|lR|mBVsPZ|O&eQ;gLuuv@o+749~#*8NY|s1~#_ z;ATdzqF|c1i@hMuLTrwFU}ai$o$Wl+T=t(2kPHrLW(MORF+7uvt)qyKF`u=yIy|Et zZ-NSLWl&6WqH>mfli)r$HW~F|CRiS=W=MlfcSW6vh@SYZqU|<q#y&~mc+MQJ+H<X- ztbPkPZK?N)T8>*zSWHu|c@vtp$+;Z#b|Wn=c<yS>U0GJhLxyW~M#pLegICn<M=uJr z+Y6dN3o7I3j;j1WSh9nTsr<(*!ot#Hi~tN2+`MgX4q9>Cos%fvsFVnaXp906dj$Z@ zA5I)dcZehQzyji(zk`Ke7*twj47-I2?KNie3$c>&D~{ej8S?yB*&tcKHH<P)?+;|& zqbpH&!YRg1yU)*({PQo5hO*@XB|qo7q4Ll0yA}ac0?Zb}_eyVOj}#|IEH43&WEl`9 z<vJvq?&TUHDf9$WH)D6A3=70YyO}9HqS_!zBApA*(G}QaSZ@MoE^(krq{*l|823kF z>)GxjD@i&56F?<yxJn3AmjtU1pS674{OWnb#?2qS0D0x32}`{@cBj0(e3ro^3#2n8 zLeeVRN7y2zO>}V)E}5oP!OW01syeR{8Em%6r&8;z)ziRS_gME&tMq>G>mc+O4B$7* zWA5dZQR#tzvgN%aKSqecTK(OM1oB7Pi0hh;+mD&Y(&(6{lIM~FzSXl$nO*T*C1MK| z22P`4t{9k45meO`PxEH)GZd2ExKSvtc$zEI%x|b-zSW#-DHUKeW%`?~STEF`bw8J7 zFU}j+cQItF?plr{pVrqK)v<~#O#aM$yaT%C9WZ`_b+;w*e)6J(HDME3=bx}?2TgJ| zsZptQlu|ml6y@yeB|&n2bB+rzX{h?xZ*@g4Z!HjYkivR17aF~h_fs`AFNxu^$F+i5 zLM*$AP6$P7!^Dv|uR_3z!So(uAoCXs=Fl7LdqedO3<LzC@q9s*!b}TQQc>T}3jC_` z5=K@+GV^ubw>T=@6+(VuZd%j^uKkjhdk~o1S7PoYOux6MkVSd2j_cL0`}dbalDh|a zr(6zN32IzO<Q=Vm;eE(rwlVlDf_H2q_i%A-jX)f(A9@bRAqnW~V8sdCLGuJm?(dW( zS?(@YlYGVN3cq1oA;PPMyMz~tNA)*(qP6DiYIlWN4UXX5aU}*p)|`EmAA)d?0&gNv zMy$dy=SuSTCrh0XFdqT#8gWnSR4rEyv_`<)NGI%1%lFg%>b5gDWG}7-nv=Cv$xESw zr(VXNXe%N{)`q8Ld~X&*b>l&{8(q|FZP+rw+7O$$A6F$evQ{pb9l!ho`*KK=(XTb< zMt>A_zZChB?&G72;-r=I98N$hXYwc7+EvP8RaG<(wExNKC!+5BaAbZs^@k`otfs1% zGxf5f{6{R(bK^sw%~g!2{SBGT!FBzhYn}vJBwz3yq)k04Hys~jQ_B~^i<masb`Nse zZKo3JXVd0(g-b)T(i1O}o;&TL)w-mCKUuh+5u(Brlz4|4DZ3Pxp%X9bTQg99fgkDf z3gI&jVogSKqap=PB+3m)-W2$e1!iP{b@^$gqy)r(0{maE)XoAQEI9+4X8*5Plmqu; zM)~kn@1_3^s!9C_o-(3`Z^P*jLY=H=!@&2lU(y!Lq}3J9g+V+_+Z_oKg$T#X){-xh zjD3QY;3J38T~D@I*=j<0gP2e}QiObzCXXT)_sQhi&G?dQE<1pq4fS}Egp$V>usgUn zRDdAJbAHk@3hlstMpJlVZv0nb5XCp2!<`I9Y|7z*WI1q0Ew`N+P<4yI_nAjY1#Iq% zM|W|&1xIZ1a(QyJBhSxUSU6_ED-3T+{EY48s4TMtHo_H)Inq)NgDNhqqrB)QZ&&At z)bFL!&_<);LKP|JR5n*ulYfG%s?<*sT)!rufH9L?kthsIXk*_!M&HP%EJTAuAJbon zXRTp2@&~dDa^K+((!5s~phW`%<gjPI$EC;HR(`M274KIyNip}z>cRjGo+$AAmV|po zFkAC76v=i~n5nKdD|0O<Ky+6ZSnzf$`y``D4QDdMqtD8XKCLP8#DXiM=_kry5PkxK zu+h5tYosp_M<Ax_s_6hCvW7fjB5EYU3oseAIRp~C+n$g-;eCb!W;?`#j^fvmcwIhc zr3eypE*Xs(Kl%X!@Ox%L{lSFN^I>2k9d2?qGo9z;!skxTjq1$bMZGM^m{7dNQX?|- zb5a$sBp=t~EETHP395%T%5z68-quDoE0Y(qBi-&x8qFD$jWecETuoaUD|$G({6o0M znShKzM=0G?jV#Uc)>7#v7eK1m%;PBua)cYOisEE|tAt8+byQ*UL8z=C`X6FD2iO*{ z*CIBGPHMqkuRLu*O|ZY?EUE_GG;=hZR?Lj+f&WcriKz5|z%z3gX3gA9F}&d)_d4Ei z1g_W)53Bcu6i*jZ{LG|i-__B`kg>2PR9e})G)BnNm~kFQ6Bu7-!l=S%=QZ?&^EjG* zv)s!5hElqk>ctkgf-#4%`s(Eul<Bk8d~!L|n#g_rTZAQY*8r5T4?eT@H~9qSA<;)D zjdkKLyqL2IJDcJ3HVe6s5!TJm5EsKH%;n*m?a*!<JZXY{Kvr!G&PI$Ei7Q5h*Ymsr zL1D4TsE*vj@RdZ-Z8y||{WsT{LnV13hI^)7#-Hd>xUwvZ;$_pic@7iK;WqU$$^N$5 zx$sNsM!YOKJ6<+*uFY0K_-q?-5WNs!S9O(QjiqZssI+SWM@}>yy{wEL1WW@Xy~-w^ z-wze)E0R8P8$9+|%h|VV5ck%;DL#C24qMr+R5k!_Q~ka7_lAJ2i2km4LxJS8PT!_T zkC=dqtaP=OYr4JMc{;tl%<uqZ9K=fhmGTnYezoz8bE#)`W%+MmGdsGlLo`MHY%Ogj zkfq56@!AA;)PFiv&eO1v3Z-3YN)uB0nbJmmrZgPD_Cq65T2-O67Iw5fVPB@V0~502 zv>iqMU@d)Flq-|uY}Dj2lU4pa4w}FGIG`>teA;bZ#pQYA<b#k=l#|;4UxO!^Jepl+ zkyDj#q<DRQm+$MHmT=!<_S=B1k;q*LeE->6auHQqj~|i<EM{VhLs^mR^yN_t=?&vS zhuO*MQ?RMBo-c$(Jy(b~2=*UAcgd^$YXE=vbbWn@Cl9SpP0PPwy3ok9`}=jVzV(uc z{vYZiuknN%*dK|rKbn09yVu37gFUX?pzq>Jh$S(hDt|N+CVDUD18FRG{s>>Pj2Qq; zYC_;@JDw7ZHV4SAcJ~LklpD0WLk6+Cn~nWMDvLQY!uiW!zZSO+iEuMSi0AuDIpMVD zuM>b3_Qt=Ey134*#~ZabwlJ7m*&Er$H*C&NAbBD;)1RsbNKSd2Kt3oVQ<$GPxV-NT zEpKLFuYH5^poBKG=LM#A&OdN`N?lj&UwJ8@)U{k$rdH-u(&eX890$>q%fojhLR<T{ zTB~P(Z8z76FWTx|2Du)r@cfZx|7phY?2LNPkrghIdF|gA7_WR-ZF8F-8MvJ6(1132 zmy(ig6Lf_yYlDrq-xiSBgG1w5$`@WhKq~>&en90yjJgf3e><7;Kl-Qr`HvUXA374W z&&n>vEM3f<QJp`4W<=Mrj!Oa`LLJ_bOsjSst^K|q4@~f@p7o#munx|_{SEr+Hdn{S zY|C!cC5d<(_akzz#o?vP!1pPQL;kZP{`g`PnjA*##GoGX*CPrE%F&i0sB(yUJ}G zWgzKSwB0n&$_}TXxC1_bl0~8nD$?5UrnMn{RMb73>K5<SiAa?RE3=q-1acVnA+5yV z+-S{>Hmv}kM3-V~->_NB$!1*Kp~m7>ozD$(*`#tA$>)R&W1IfGu($U-6IvOiCB`Uy zEOLEq;-)UNSx}u#cU6;mCKmNCw!U{NyFmU*+B$%LMHk=55rRp~>~%!SstnDcuiR-O zf?RXsBQ!^WP43y{lXKy%P41*h5VCS;EIU{EwD{MZ<*^X|8o7^o+ID(VJNq(*W3+Ld zb~Lde8olg#&54)^jaK#{)=~Z%{%E}}ey4|2I_O1+h=VE`L%h+LR8lZO!mG%TRXo!# zgCqIU4YG_SGz$7v#K>Bc$~OdpvZ`#<#GL1%k4Yj{lxEGiHDcDxug1C@S{PsE-8Y2n zCrKh-Y^W8}04e7xAA%C53NXNxDjy<8tq`m20rL#%C0#q;2vqd&ctW%9)&P^(##yOw zG5gEbh#M4h*HjVF?VDoxtiePqYsB0eE1Aj$Z|ucJYzOsjcQ>UB*uY@P;o${!DFb^a z1-cPW;c}iSgpaSP({Hf~TR^LgIybL1yqd<i_#MJ2uiAx$OU!Dq8?I1yU|eey@h-%@ z`_tj(?3>OC1tdpt{9j*t)Da60I514nezKT*vuJ(yhvE%%Pi!P1kAxm@Dx#6z<Orn8 zesb=<{#`e(Bnfz&uD7txf*lrQN~g47eWrV2%+F`*k(xa#z1|oCYJ#jCEd%l_ya!hj zb>o-E`sbH>5X6!eL)mmj=j^aE9M0s&(+txiFpUVzmq&Kr^pY_I^P%@gB7H+Jq<l^( zWd{bOH^x=7>s2fv0a%X?Y(W3|F+I){89;S<Pma|lvB5a;bUYj9x$%L%aet^Av^e(3 z+%;-g!oAsNTi>tS6S0k9xWNrtlc>caI&N#Zfa|r=%L$C9pQ?*SnoClBVDyRFqnaYk z;nZKE98Izzg{VUa6vydoI&vd?Zt(SCd`8_L+KgH>{c3-DYnVl%w`kdn>V!Z<7NhFD zF}G`NY3btH@I=+_&KNB<Z0r6_-hC_lg-2?9@)7C0A9v4djJnOEWnPW@S>_!cJAvj@ zY<10d3&qFOG}Ep&8sfa9rnQ@<!G5Qu+|x$IaX0NE{TzKYjeQMKWgQ1I`#zuWMRLK) zkWAhVEwkCsG7-E-`@+Bro1KnW<kbZ!1P~6;?l5zcXV`(g#)#P2F!K^@UG}``O_`mk z2RKd-q0CU<qeXlK%STQJ=7sXVp>L6n1t%kDUam`onbA#o9Aq#Eg|bE+lAvaLUO8eT z=oj_f#~68^Fh2PYIVphf*$`J}v1i5M;(=lyGF^}lL4KJwlVlDXWf@6mi5-HBFcew` zz1m1&{&d_!iKL9N)-@xUJ9VT1Tdht0ieXB%WVl#kkzh^lNN>?Ou*GO{A%)54PUcd! z1we|`R?GJnWl<SRYBH%!3JTI*qM3G{!X%hi^F9CIJAoQ0E~ft7XMn@XT7=1DS{&nZ zhM=ZE+m3AFW*$t9?o`E`%?2-q%sP`En#=bcz#eQaEAujkgioq=SWBK1ZnwG-SOtRG z_lDbdhpopqTaULx+qCCPmn9ggZDr{_FiDZR{4QDLO)~R;coD-4!>qg+Yz1>_B>q&M zXROR*)vG)Q8{qFFk4IN=auMoK!>whFv;otwUFjt(!cY_+Y?x?b4{vgw!Q&_X*g#>2 zr`u~{TrS6)i%w5(g)rSd90>&=Cdzc2q6E$g?eiMmY4utz(U1S=Oqt6DK>`~;2<+3c zUmJ6#KpeeFIV`zpvF?dxyK>S}LNg1|yYn6mJ@cTPthE0E8e{H7vzy!vwKTk$B`3N2 z+YZyrPn*L&ahptP$O8MsMKO2ETxx$N+V<B{^)7XA6a%ivuf7`n_|<02WQ4X9#;FZ| zB$>GkinZhw^0)0NwX$;X3#i$shS9yTJAI|g4Q(`T>}$S0X7lA6G4G!|tU1!TpbF5g zi>CjEFOK#Q%-FuD^OtA^c+s0ttLZPQIeFfu_fiKgJH`|tHMg;^F>T2i>75}klkCo@ z_0#UY`+*|l@wF0=$Cu-h4&4d*3nKq62qg6!%u>=u5zDs|u<V%0xzkyFFN}T7FWPy( z?^o&Wwq)tDV+5;n*(LKy5V~fAA){tuEtyHaChPIKW@n3x`sLAQ)uj^54`#?(5;4)M zXZvgqrHEEMS73bbnn(Rw>EW@M^tz5!^nUiF*^<X14H(+aye13)9}%S6rbP?;Ocw%L z>yS8&zTnr>^p(tZzma)qREH5{qlq?G6x$@!mj64IP}Z=ZEVBX7WKexwszMO>9FuKi zL`qqK8}RF=&z`&TYsnmQUeJWbozB>pC!Cia*Hm`AQ8tbdVJ5A!pBeia97pFF7+WK- z&^0aUJPY4qL{sFAR5^t=XlA3%>(Pq8HSX$eV_IJi^)q?N!#BOlyjGj?=$${WeUB}x zo{|fXL@Dew6GOFqe@%<M_8%;=W!3ps9)5eenLJSB80{$;+b?4hB_<1SW+dwkoV}Sm z5ga>n1hIm*V`x#GTI9TkCJ<K*v5x-mSTuT)uL6Cg6(0%YtV}Ou{j=u5^Z~0u*9SG} zEJOFxC;RRm1Ro8MuS^GqOSiB)AQot~?*TXF5@5TP|0%ObS|;DXQl+2POdme(x8!dm zo{1^|(>p>*A8!dU*QNP-lh@|<UHi?FUgD^yg=J|jVlRN9X~?=}hsih6WKd;r>Y6HE z)p3wNp8RHDEd%hu$ad$)&>OBfVrKC2+I)xD2j+eNzO7M+Yhy%oUsK+;ry_Zx6i1J5 z+cPrxxwbtACaaNWzXL_+N}1{<c||W0^O8?Cq>w4V=f9Zp+{Ig%3=>-TR?)_u?^g3> z?D=~BYnAOQ4Pd#qnpfeTfjwX71ieB|8*{t7{wsUFI+*^YJ>NlXTuytccXfu>K51%6 z>QV<MhIa0EqfA||q)w1I?6Os1XX8iqFOy++xPN7&lnkSPC*v+QsngwvuKcc=j85s= zb_(o!Lgj<k47uzw7foZ)|8nDv-so@Y?7i&)wp1*YU3-bP@e~66KTwG6e!oraawmgG zPhl`7*YE@<oeT;+rOrLKo^#{V*H>vSV+QD}e_6j2(A0n*UtMefmQTEk{~xuWz|W-q znd(10N~HP?v2=xQx)JqP3s{aeWM_Gk^Q`Uu#!Pi!&ls%}cWz4zM6S*|AFLS-RJ2my ziE2Q)v%;M9L-UQ$*?R5H>M+$0OVs7Tvr5lsdL#A=8mmoM&gAVj8r%v%om>xo6x-v! zeWrwB?(W7KlQh>fTXqeC<lWgV|J#h+Ml(gJyPI15M~nZMu7~ZO-w5@lk&sD{y8a(5 z<5lbgY}*mLLNNdU<2i+?pUfyuY2eAwP9fuDPT?s$TA**-$<v)F)7{Cf&XiW$z2z=t zbPUPC*Gm7(JltDW`CsPY-tvI|WghM=YyB_ta3{~E{Ml46m*-rbi+I9%zNO7iWghM= zYBP1|;maBM2H4$Ogt0iT{<^ocn|J*se~%uHYaZ?`8dvxGTl_G6_@?#*>U3JL!`h>} zK#y)}Ti9A=`uEYm8w=A{L6W>h0s?TbKE!~1wkZ4DqD3XLBDu^gHfS>B6@KO8!YnX< zsM9jOHfTM$ZT`wcEz>c36AWiRjk!+=%CE6q=-;U{(Jy;($0~Z^9pjs`!!kF-p;scX z4oFwZkTE&!7fhj~Em$H<>N6@xEelHW`b+~6iV$~#LSCB%Mftu)hCxx5v@WfS_gm-_ z8-sYhww!i8uGI}FU|>^Q46@_Hyz}s;3~c!W{(*PIYV*0(jK6gH6rrED4;=s!db}e< zO3YRT^Yh;DW8UZ8k5L-^yp4X$Zr=SErP0s3-;ZfgJ4|Uxqn~%DA0yh+k5L*E^Ibot zu^6K?CgvM{OjR*PX-v#nevB9}erZZ$V!q(V>^7Ud`lB=^=1@PTq?ku(Ow1m{(=}Md zJW69?{^G~1Eap)f6Z4cGQx0K6B}$+ljq&bP3`%;$=!cSC@CIa5D}-l_c_LDQ)WxUu zrxw3+ml6RoGi`L2fSOiqwXD-QvgmXL?vvnHwUI__s%7SheK0-U-`u5^y7Q`R5dz<- z=|2}3DvPdF3t)OLK$aP)s^0XD`t;t41x@3}TbXCc5kss}05?+r*Q%w+j-c9Dii-+z zU^07VYJ)kY+F(wpp-{f!hhqY3n(cnG8o>-Ft;5=Eb_fvv+8+0%1wU=Z$gG_+()(y{ znLBsnQ89}cb=p&H7%GMs{CPFmh%Fjz^$jkwQ(g>;<EMF06F{0kcJhN_k_bs~gHjI} z2+Lq+-!bFAmYix@g-e`jZMR30qV3F6(SFt#slANNI6Ja`!5C}xi1AmZp0jgjm1&fE z+HMM6o9b-4sq~7}qt@zk%DismWYLhiA6t0!jMlyCpg*csW&;=(JhDcDkPEx!YsiJU zY~~+&JDx7pKA-t-KY?vp{{Gm_P$mhybsHgTGXPfhyC%tsRVo7kTplLTNYpERcSeH~ zpY11Bc|pA~S(l^G$`2E6`2BVCuVhH^qyKsFL2?1dkmM-GYCV)2SW0U#U~Dhpsx`O* z={G7WLBrAO`czUF+6i|u9Fs=)r6lg5nL*+^Ka<#$I~kMTjaWh-Qt(xuN$VF}P1<Uu z9aQdDNt++fA7B5KnQe5ZR7)jX%&WpwpNz$f1yT9j9{XnBDMfw{aPpM^PNr2uMrS{Q zUMl1<;BX*|X8ftCm!s(?Lwzs$)1KdGsH&d}5Nzk<{Aeml<j&HK@Pa=j+(Xf@qHoP( zI-B7xNnEvVQ18S|s^iMR6yb@rWfuU57~aFZ6S~4xC4k`<lh^odNx0l<B0VDvVj4-t zi7$W=kp0%us{!o9m~Nxgl~3f(2@M$>2|))irE38jHFFNKaF4Vmu`I6+SW9-2D1WR5 zD*$9e{=1`kfao8OE90E&F|dr_XT1T)CM&kjYU*8vA+!8N)IV@OMbGywBE+3%v1j@c zvnC%Yi{H`Kp$h=pJ(t}Ho`$%Djr}uNgiY*C-0v*F%{J(_WG|aa+V)<Qj6oS9QICFs z{;;~wVRi3xnyOib=agXAhgM<~YKPZwKU?nNCsl>iDvOR%e0a#4N>Wt9X=*LqLt&WM z8GnhD*~Y7#OVnO36-wkak<2O7B6mhJ6}N~+TtUIwSVSc&Vz%>=w$7(m8Bj@SuRguI zVqvRkm6e^VLTOn`|5UUZqBy==mNhHM1T~6tCs$9h%wc7H<1r?EWBl@0>@iqjn9cR` zChJynh^ic}zpEINP_u~OGbjrG*I4Bo)?bo3nk9yhO_-fWphhvKSJDl4w9}^Om~I@? zmROmQX7#>n-L{5_#&EqvJ7@NdADFLn{{ah;cw0SO{_b>+;q0e76k8TPxIpi9g`5v# zV|GN5{JHH~N>L@5EF&`S31lcze~$daS}NxosAI>uoHb?ari^8krE4j#r0>x<GC~SA z6Bb=tNg$LjypY+$B>u|j!R;y1thrN8GSKDpb-WQyKfw*utKP-Pf5o|`Q+|f-dX3sz z6%gF#Qv1#N*5H_PC)aFT_bL6@%}67M;%FcY^cUgfgRALp?BFBiCl}^RtfJj~A6<Ak ziYuss#v5#w^wv*8Psr;7h659|HMlYN`ysKE+!XjCch|0>vS_-!(zM=m$@>L{+&|Us z%x1F>18DiLu-5$X{b!@bV3y?5B!>RR<3IpStQ0^;hl>x$ADUqlAZM>NOP7L;4Jjv8 zl7E#IZSdE^wC2xbnd(%R?dgG4mH(~T9{{s{A-4uLZD5nl)0Y|H>P}ad0OCyh<6fQW zSJ-8UQG>9W-kPzHG;<AXo_NQOGvlGo_@=#Fj5ndk%^I)weuRl=-@}KQJ;`gCnwl@i zr6Q}z-1u^2cF?jK^}WAkruIlQ1Fx@Lq!o$q+4R~g@_W@*=c%C`cn7}7XZvMx<$H-M ztmyn!>MeZqtuMe2ThmZ{%V1ePf@P4exa1bWhyv8>(<s+vRW|syfLk`anWK~Ak#}&& zZYHOxWc)=iRM;V~)OPb?!ZMo^?sse8vC>aAbaouJbID8!A4!Zm!CETAZwUy5MAR{c zF1h-2)~_N^rfsN)!x&L)P7pJ=11ck5`iVw4yPJZUBy?05K%pN85CDGHCy`S4Y#EL? z8M}e}Mv3o9>*h9!<ip})!4b$MJ^5u!fFU$O^WK$ZuzUUZLkjT^D&9ArYvO-QJeV!J z9_#!6Ck{!q<5g@`v07tdCEA_cO6%3>zMmK5jdM*QU$lHfi5bJPyfCohc^>2mlP5oi zeg@xaUjAaf8BPskIp2kW92mp*er(22HEImC*K`P4bLj_2-|Xy`^*Ehf?r;P5for3L zmHkhWjok$g@;Gi2yF$@NOa-}Nmz*wqkaMbkg_;}rc;R3CxyIyqJo2KoR5Q!b()Wd+ zf5?>MiH<;!y0$Y;<p{Mh+TRA}TCe~$qsF%VS0tnS<sdtRq8qK%yVCF0r}tMZSWh9T z4LV?1RYHei?zC!M2-VAyPj-g7gsrao%=wtRx(tY2(BAf)(3PomZQm)Km3j!HU{pwY z?>T&&XWLEQ<WGXJq%vYpHUgT<O$9c8oi2k>A8HJu4eYnLIJDAd8i1SN+a^9uAHqVM zS1HA`?jm-a*RT^QEQ)b)JQ*=z(Bflu6cDI-e*jTEm<SF?(@-Gx5tc1#&gHwJ962C1 z?;F%9|D2h&t3!GDRvXMOz$`?sFJNZ85*TV4aTBO?Nv+frd=n&VPr*xoS0>*CU1PdH z=MQDi#$UkV{gQ4lx`Y{#K{T_5*uVd~x$~`cKGa#}z3qS2na^7975}r|eAanA{^#lD zv)+4z&!H{}W&?nzS?lkLiv^6+<&xkE|E&(ia^3=$1jgPlEP|r^e!>61?+fQQ{FB^) z5AQ_qT>O(qzc!SA5<M?2({xz;4m^2a<i&lYfeNzyH=dht|Ep1Ttv(6dXBTG6mIK`Q zk}r?!zv0Vqchu;{hLck7pvUEX@|ZBh)YiDW)Fy}RR#qDpND&{)pZ0hu@_Y)Ewm|_+ z`wac-^e`E9Xv?{6syg9xG!f*E>h-RJQ(~Aib%XdJW&(4EojR6vX6)0%%RPIh2zp?2 zVv9*HMoeM9FW{%X-JuuQ{%0D5&DWmmUh)8S>gU^+#D>M6>&sY+_z@;q47ujDN}ltb zUwPN6CT6@5S%>B7Ha0Iv4;pPqWCz>IcDYwasz=VEP*Ulr;4qXOW8)<@k;~L3C=w$& z>x3BT-fH*F0MkPzm>es~A*)@TDgaFCE^T{IqZM{8r){afSD^xlLg*q=_@O0(LaU3R z?Sn$Mm{1(^p3V#9-)baLQb$V8u8tt@wV#Whkue{npbvRjyXGxuA|{3oMd?oCQ*wPp z<Lcp7MrQ&DxklD`e_*bomp-u^=W#2Eg`AgJzOkE|;S(8mKeqDo>xUE+UFiJ6AOqA~ zua@x}+zK2~n+AK=&lQKA`B8o=BW6pXGgjtjbd<4C6e%>!`E_gzZR;g=5^{Zm1HL!C zq2@kOhCZ@gwmd=ph8-sJ33yGyzG7}z<*7_Bwmz-Q@goSvBc58u7#!Yry7p7-dzNF4 zHG8GTn8o7T_&n0L@wwgLX9&}q(3I?Zi#8)^jKLISbx*AGyXu=^qW8VTnyH}&ThyPl zuuUYy`QFM~att$NfRdiJs|Y`jj%dUpH6RipEY~vt%Nz~_$eGBwf_A3CK<R0}H6z(& zWuw|W-LxX%Qnpc$_j$IBAP9R6Y7llsO-tRDnNpQ-rp-kBr<G@`wWeh@8pkMGw_MHh zYMyg=&f$42PxPl-=JG_Bx@8{EdDfa0!zqwgjC-yq_g@zjEtl?UtSptXcxCCX#_}4Y zHeO?BA%yQZNZ=bY@3-+DcdtRf@X=ZpAe}<jK>}d<klX0-Jj=v7(g#c$y1+{VFH+M+ z9I@KF4m|a%Kc`bx_9Eui*Gw<u9Rb~gB!h2_K0&m|pzIOm2x_hhikdhf7A=&|ehU_z z(cLYLp<=YWEoyMO^4kb2>_>%lrgc9TS|<S4!LV+?TfmDYb`V+_v;2iw6nTjPU=Y^I z?jjbdC6t$3&^k>$OUNr3vNp1BQf=HY+wpL5N`S?E^sD3nv|dYu={DISs5G(<C`fdG zC<L=4y{c;lueIzQDv$B6!P_C%XI5q<!g1Qq%z8s%`UCHaX^OhT1PBPVp$G%HkepGd z3a3-ebRb^_mT>l~M8etBsxNd@8=Ug8&8TcB;1^Y#kGSI@gCH9_EfND>$-9-^!#L3^ z4Vr$)94fui5h|2RKSUyH#8qOaS;;56S`Uwc|JFq0ZOd?RZF*EiK{m^#k*A2A7V&4n zdSY-&18Ya1OGtpNNNUj#j*&;h2Q7#utNvva-`4~$=|DSh)Nu1o)o6CqUf$@Y8YjGS zT`^*CqvG-oaTQgFgE1-f5ak>x#Qae(=&zr|lpaVn+)UgzP^SOp7lIcV;^UFmt)&N= zc5dlIyj}abAMX#5$bzLi8Sb`*Z>DMx%fO1vi-tC+pbDfyjNxF>20tRvKuyKgC-0RS zDWoc6M7PbpJHd!&HZqFxN`XzoJN#*5*czyRQ169oHh@a3*Q}fNI_>c>y(k#5+V|kS z;w`o()5h0%G1|1^-n2$HjG}W;RETTJ3hkkW-iZnu=eFNJKjW8o*}2bo?3;<)DUI=t zx59}~pV+`)?k`!ZkBByms!csBMa<a4Ea1pfpwW??I6a}s4D0XRiIql8Rs?5jdN=B- zr$cGD(=aN8aM7QE4rx(jMiPi%y?V09wqkdfnOBzuKWPug79neCr(jAXFRj*oC63<Q zz@YXWwc=%%MInH&G9R$6^S@GmrKM}CH--?FbB%9hLM$0B@U!<b$g%^S{}nHSi<1Us zM~#{7e`@<?Db>(`GMeW@g*Ho#c77>U4dCwsGg+M8U`k;-AT-^!{sJKBq-1@t-1sQT z&mf{eueoWV7`8~!D$_hnIE>&W#yvs}sVR0P2@of8%z2#Bb|jGDAB&Nbi$v-5TS*fl zMp^U&F{<KK3F`IqO`qsfxGSG6LF_8ku2s)7$XFdj^#)OT22qVfVMQK(KP6pEI1@Bi zam)oGch+s17wy@zd2(<%KBvH!R?*JDE#gxmon{yNzhXB@qd9cuDFL2h__wC6&<-VQ znI$v)aNA4t2=#(Mp7d{8WHD_o@D|u%67K1%nuP(jlM$zd>L9~q-Sz<A3HM&L8RYyh z1Mh%4a-ro>jO*NH7LR)aI~F+BUhjh68x;Ldf&>;PH5e*&mU9|zU>^FsYHi>+xP<7r z5d<EupC*GkSk>7IxrPAglc8}Mf?FkVBCuE_Z<lSfL4ezhS!rJRIqCO#(?sxaj479V z3?X)(9-*|p2Lud1K`zVbTAqKAD6HTo@k|p2AF{Gf5WsxtXl@#Go`x8u=JNcn$ri*; zIA`Fr)fhIH<eh=ovB_`DDV)W0jRQXaO=2agS1D^A+u~*6+TffCut_#1|D5su{Xd2r zN%zpC{I>+XW<>`JIe!|<?q9FqYPz47Jek0yje#j_0QtRQS>=XZ_c~h)+76JA_JsaX zbqtvndwv*siZVP9HRa~+xlME~Y}47!R8;C3uYysIf63@*L*WdycYX3yM1{vq9UVh! zG-^#~hvrfOwE-;Q9VEg>#@uN2T1^;o!6-;|EI1emR_x)7i;kXuP&9-^40vv(CZo{w z_QHqmvyFVs-6{*_ZMm3ZoV*C1IEE6>T^CNB^uLg?3EJaE!?>A1&gQyuglu%8_jL}Y z*Qu{TnA{-MW_-B8b5mvBF_6yInn^84j&2|BOsloloYy+07dcL6VjbbLj5@RVlwc9( zQ5{`EoMvEu^T%T{D=idvdSQGf+~q1d;m)j2PKa6ePcB~<x$TVx#;KMeigxTd_TwE< z7gIiAyzizvYdZE0=dh}aax|pd@hCVPN%hFuBQ!i3cK2M=D@qFKl3UpNlLyFktRKA` z*{%t#COOi(DS5yv&zG~n3ix4kx-mdFU?#WGb`N1w8czwLO03Ku_2T~C48C@Wr}>UW zCRABV+j-M9L#CUTC@XQ6lrwOd+hG~On1uVQmBg3|)=7o~q0x4Pt!45qH)@pi_yh=* zGZ0Iw=;n0U(C>VAPQVXLcMi8!UyaZ%0-A4C%ihFOynkZ;$`)Y7Q{%2J7g16&|7)n3 zm#4c&boApAeRm+YqIn8LZJqDVWt2Oi7bfLm!?=^0R6g(O!Shovr0mOs_+5ZuKj~`q zBhz3uBflSF`mI~QpZu4^^)dS)STPq36KLwy60M|#Yj)-@H3Qs6O7IcJ5)g+eSX|25 zee1mKP~q4NhuB-ho-tlXnT%4x7MbWyoQ;#T&^w~vF846Ue@Y_q)`H^_PUmuj6Dw=u z?3K$#+Lt3y6T)8gTMP5#h&%6qha@ZFtgXHt0<1L)*oKWScX!I1ZVbTE9;dV0@D9{A zOdL25YF-4~Q|gfp>3Dm%otsi0h!H!}P7ladXa0Ea`=^0x)6h@p*BN;=bIF2HP|2;i zKQ*AjvaPoR_mi%(l3HXjWD>qK^j?xgE63<}c;CU`1I^T7BgE(##L<y&(5HR|VcFw7 zY(kf+Wc{?%s7ckr!>{)jT`(WW&&he%paq>gQ9N|Ad1o`gz)QUi?QoeXGN6M4ve>L( ziuFr0{L4TduTGm0`CfJpmVk`%w`vbhTK=*xW=iBRlao8_7su(m`@nnD&@`z(V%RG@ z>#HSYsjus=Sq+Z}l&q#r<EE7_Je$zc<Yl`i+M%@^w<W3H;IfkJ`z}=_sUHL5m_1!d z45347%>Rf1Eb^aBId_{fh9(n>Dh9rh&QOScDDx~UyxdZFxwY_en|aB9lL3<iNl`us zhL-kqVRMVj6Dv~Y`GV-2yLgrOh%hd5vGGuCn~8;=#nbrb#(%p>1xrU!?ma81iVa2+ zWOpwqOtCiQytnV`=Ai86;1ovW`(r_qY7QUiehB8f87+CZQh?z;|5$}Wr7OU8?^SWQ zYz}u%ESDEBYfaOvS&^nItjshrw%u@Ei6Q;jxo)`d*s=wN4d5%evSxiZUqWuK2ha+r zv^ORrg@#*A4aVKqMEKrd$H!44<zHc~nQ?Y>t!-*+p4>gLj_{IMQg<sQdOG@eAI>Uk zYGw7!Vt-vTgPR!i<46#$HMwF|?0pjLAeL8;i+6AMF*=8uTR8!w7(h{#WRLV%-;;kD zU%$@J3$OUq&!N!KUZW`zHW_3nZ@b~*W-yy-wMGr%eYAPk+cD<N%7`oziLH#Vb-(s% zsn6>09)cTg=mm{yDuOxq26MywI-l0+rmN76oQ++Cazxib8zxq{P03hftF=V@W6D=9 zZP&};%6pQL2eng}uf%2`2@aKk74UWgQKS&eNQupW72g6Y$q5+%BAo%C#ZRs!xPX7C z@vVHb1P}h4mSEnCAhAl*i!fyF0cI_J)TC>^kk$#bXeZ!RqpURX^Po^vpa=*DADXP} zEs!oCm>u4+8BV?H`5L=3AJGyit`Fesa7r@r`TqTfpLyL{LRq^oYP?1B*h&5VLr4fh zrQ`Vl)EAmi<=tgeO41IUs*KQbA#D;vkm_!63asq!l^)~9)@{#{AsAygBqe#-4=A4R zz*c3G<E;}sdXFCsg9u~eXkO-V)`xx=`2-QyUNi3-1&9ch7_Eiie3Q#`@w&}skv~{P zueqc4GV*9_FS+PbW82EyY7SbIAa~erkM`%_;n|-`*FZXJjh}AN49xoK*-f~ZBJ-@T zw(#~bZ*G}z48cMa&OvT9FLD8>xzV*wMrMoiXPG`XmPE%q>5p<WH@!CG9q99#1Zubo z)1ji3x{$8BGm<#IV3_T)J695psXy;$zXW4;O){=|>VUQ1DvRzP?jS0L4H92G1(GG$ z7R=SOcX*rOLk+G5HdGbWaJ*N8y0MndJxW6{rDheomgamFJOgzUO#Muv#_kl`H{Yjm z$w;d@zts%U9ku6@NJABjd8pI->jlAL)EHP<E_X<9NA2_=p)xQzV>-RBUpyq?auRCR z&SzIea-{D>eN5(KR&??H@-{X_Q$jm_lXBs#&>dWag_@A1$$KX#nFLO{Qk<@NZ$5(G z!Nh4{Z_uCoWoRsn-Kn0PK;!Azf+N*w`gJJZL2|+91_P*HBDvF@KZOSa)I?g1!jzi) zTl9Z0nC;?*!+^dzoO)IOrilT-t~V9rz3GUx4y3q;)vW|AO&XsWTA_qIL`VXzsw{f* zsTH}k<NyLrC!kv$5PK)V;h}-*!>`9-mry+Svg+`M7=tR-U}a<Efug#Ll$dqJrWCtJ zgw}~6G%Gglq1x31&3iPz1;CWI?7TQp-X+Z3$xV$3c|msalXA)Wus4QDg5M75hf&Gj zkX*+?W~Bgn&E{`*E*RH@MU30|#BLaN!*dVw3QOEtb`hhbq0pcd_80GHxSheSLh}?Q z%<>1y{>>LL;G4&2(&64O&mYp63Q989L+a?53x~w*WOler637w@J<;zSL5pLUW?R$# z!d8{&3=a}```8bL#Fz_cJKfY!?nQ~SUE?G{cGCYFCP;9s8~uF_@s)lZ-iV>CdzE#h zewNS~<|KcFzo&fTiXrWMP>cFjzYG#Ll32!4C#%_pG2-9!upcI{A;@F8ox8R6eN$yj zd{&r0s(_eQ#cT~?;I#VVs2EtVw;E=mNO_@81ye-Unp<lRBD<ir(mbg;H|k)NX>;Qk zU6=ZDqdLs^o;Rf3|6pY#T+_nCz8G|EDJb0_SldDp-QdJ17)Y_4Gy&1YZv%oiQDO`> zgQ8+(57n-uO=ui@PtF)pf`n~U2|YXPH+XneJB}M#$$XWW?y5psAO^16q8@P>ZF=+x zPgFa*gAU26G979OIy7@=T_*)~F{FoG64dqZWkZ@Xf+RqvuGoN1=OG5@^Fe1AR|RAK zQeAO6nY);`Yx<DvJpz1s!)zS(+F^cgrVXt@=0-^oV?n3et5k^k^KQ_ecl`cz1^v<L zr9ZKtKg)*Jc41H(fN)qYsO>FGOAMNzuaE?er@1n;mc7M_;Y$!$j?s5EguW%SFmEt9 zlz&M;ittU@9kse#(KH-2w6=H5a?8}V(IzT9C8#htw8Ab@#m1eGJSbfj>idag6Y>d` zxU6LfDvP_pf#5zYENue?RAY1MOhS4|MI%<K7N_InJIqGrR1xzcK|a!<Rr-n1)(_Tc z^7i~+v}#|;e;cC=1$wKTy*u>>PEPR_9tBe^GM9J}{{!BKyIe>bckb;x;4s-vlxuqB z@Gt0#_>)QB9j&1e|I*)@@vG*>tH*Ba8;(^hPUTo+<NPxaQ>@tJA@O}qF5DR%SC#w{ ziqrGAMLOmm8|o=WG`Z#YUP~T<7q$hR5pba=202&*f3VhI7=m^|MT1k8`2N*!t`>6- zkps1{=<H#_-}#{L0MmbD2!r}h8(jYrP1HY;>bFyU^+5F|{N(u?BOTQ1$!6N-$ny)T zoQ){9KNE9th|(CQ=9qJc+JMl7X;1M}je;5*OplrIU0i1-m>Yq`^}NN44%0OLoHT=o zVcQ)G?&8Hx05FycOEc`NT6d|ihmW@eysZsO=c+_ewf~I0HGuE>{H=45v92)ut<BBu z1@*}|ESGZ&jIB->TfNbay@MEA_(upBTc-|TY{dr{TLu2zQ2y4Y&+xb0#cFs{*<$sj z$mrS*`6zJQ$D;W3c+EBpDbe$d8X1NM&c*fOhjXc9?t6sPwc74c@_m@uLAkLA*2|Y} z<qh%wY&&%2O5ihD9?dQ4w>$nCw#(K(K%}+dtl=01Kdao@aDFLVPHV%6uBA&z8FF1A z=`m;0>{;DQ+Z0kVrW2)et%{NtwmRp{;rcguy!E}G5kMcU>`JB2T|FY&v9B!VTsyaK zlz}&bEP}#Kp`8jv>DpsDp%I%ef6Lo2N4t`h{R(;I^_<=1QMB(BWOf_(yhV@#3QkS+ zgAY{76>6LFQu?j()Yq}1fs>9!$r;VgR?#o$L_05qHgDRwc>6sxHT~9%iXF~N9otJg zc9t&Q{;Uc5k{=ZA*co2DU210)JC+@c;XiH)yin?~LFJ=4DNi(zJ9l<O8+wpt+hh>x z^tO8JQN6I8OD!vNG_6VR#Z1*p6vaq}tqqp7;akJICmH2-F{{kggL7V^^R)AS0tQyc zTf?368Z_|Ewd2P;ZRgIeSIYD1-ScLfm($%9f|Rlq0u&B}Izqk2kV@y6s4MbM#58FT z+&7A|WE;s(b0=mj*8)?skxC9HE7QBnlP4GsWZ$#Q$+67IFx0tAH7WU7KwSX8#GOgp zaN^7~<|h*uPk&NoGa1&>&vEJ@y8-vGES`QR+_>zdWpY_}HC9<ChZ>h%9a=USE_o+* zay}_r_;Ox8c6mh*O_?Qe>St!8-zhbjk)G<rSnVgFg>U8Ci4UZ%j80dLkr=p!?kC*; z65?vRw`)JvCHZtH7;)kFg!`sY{S<SCA0v1aUoMD&HJrTMP2bHYmP;?dbM;O+HKNEB zN-6ofbXRrcUM08@bCR#vp^uZOXda;=|9aED{<fRSDNl^*lH}89F=C}^oA*2scK2CT z3hjGH@TbtV3UyaBQWT#wLN(~;{nW%v!@7uqmB0kw><8DFU|%cBo9~C!`(ZUE-KBoP z+C2T>dJ}B>!S#jUv=W$@FPa#4B_D-*`EKL)R<U-ZBXy{EbV7|y*N}x1*Q87re4L`M zH_hqwU9;BzM%EZp$F35$aDfF9lN<IuJ+LtBErm<~*3cw0QiG(pgDCG?hVDzfWv#|z z->mM5BN^z<wpkDb1RQ5xrvW+BYmfKe;Y?4jJ;8s6p^lWF|1OPf%GUTw-|q!BaeN%I zttD$`Cu?K)bZxM66A+Z@vpAD%xsq+KlAloOz?*3A!n}d}ZV_=h_N8Z5fOj`q=}xO$ zJB=8nd@TkUdKO~>t8|13g*QE|+&NrVU9Ikvurspnu|emV+-f!9R?Bad?JgOwfpovG zxs|>|11SCJrdqJ^I)#kq#20E_qhsw0j45~-X_6yon8X(C-1OSh6?Yv}g~2Dsv*J&O ztNLeWQ~k!pdrBzU%05V;IPrnYYU?|rZ^nK6K}-pm|K^h<WK8{9BRQUg7pqOg)v?a} zN>gqj&SwRD;8hmmtgM)+^m_b2waJTtYrmKk*Q+$wc-ldiG~<8y#TYBa#3fCI#v?`k z80{R#ik*=WJ)1ws|E9?s4=gJ&a;Y>?h5CE48Vd9V4Yjg=reSIfiEcH;e&DC`p#J*J z)-f2r`@2j8>p*>d)TiV-r;lxKcAn(^NM48iZ3Yt$nB{$i9bwq=$e(UF+IFpkv)zl_ zVU&E3SJ&pyU7gvS#I-GdEA7j7a!+#2J}$4jsHMgi=`-*NAZWqpqQr<_-oBE?y3XDF z_1fq%7ym}kHaV(oQF%$Krn^jxJfrZ1Kpl1}RoozX&Vai{f_fOt11SppGWgrOHS;h} z*P7>}zU+!rB_FD7H$nFW6yP7k@)lhzmiJcke5lql&qsa2(&uWA-3;gBKEn0$PO`Na zz^GU9l|09+B-tG{)j{O76D&(!J?81xB_^n;2)5x?!o>tN6_L(Ru#2DEO)&cl)7hZu z%pLaok%HVk-WdhzY$YjD%NMU#d}!9?b5og^>yGCmx|plyer$Wr<snvf=07yDIlqa6 z8Q}#UxF~AyCS7A4%>{?tt*dk+n_#wK!y7)1Qv4cJ=9mhxSKjP98e8F}RxYucB2Qv{ z$x5#pM&|TWRW$nmnvI0ETHaQmj8t~AhXr7E0RZ_|-{#m3>Kxej&8TXet*k^@f_jiG z%l*RKd?#}E)&7ELpTSQJ;Bj~H4aF<84~>U8wKWio-d~}vic@4|ehX_TA-7L??+a9n zOAoysKhTCj6@Ou%;-I|@Me_8;XK0r}ha+`d{&k8g;v4Q&RbWb0i}#sbDAP_Hr>_k1 zzZLawahyMDEZ!_M$?snmi!|t8p&Bf#1cqDp1hT(C-AcNrpSni>uBff?Mixq1Nw}32 z7h8KV)49hx8}0YPWCEe9NMUA@&5y0Kelz9(>4uekAKst@?Vjhk3QTP$&tf6p2IY+6 z0S|sX`Ni6<COeliG0eCrd#0T4kNx6x2wK@K<YzvALHc#~-gD1AA8+s2Q5KDCwr>8D zVJ5Ke1BS?%m@64+>tNd<R$D`Qy2e3(K9G02Xx)GT<QPOn)(Y#z@ckjBAOdA@{@5~u z>p#`(d>qqR^KxGm6uO`<8rfwnoywsG6|AlYU>HZNqX-S%O_i!NiTMeGEHyj(4Yo+z zxHP6@Z{)(kuvx&D27$;(8Z&h6e07cifE+S$1;F%V4zt(}<XGT27(EkBTx!ywO~uOo znm7f2ExxZGQzZV#TA3@g%m{vkEl7%Ayxw=#K23#2-k*v&WR1CIqI93O>|(x~@P&|_ zrZPD>H4{zD1XD&~FrNlbhQB9_K)n_Q$VwHe5Zg=y3~`ku8G^+$Wbk~n7_y7$Fpjm* zHGQG)*djcQX;y1T7|EmVaO5Lv>2YM=<u^K<LNX+P-sJ}HM)bW@47rgICQ}Uw20>6; z&jc9k%gTP9*Hz)<1;reXf~wHs#$b10YhXhV0rd~sPN3kz2yA@3ebbI{(`y^&OEOIr zl=DCT5~+L>R{3iwTJ~;(#(i|QUvS?qWelycFp>qXD_(qbrkU|8g0}ZKazeW6Q2BAE z%V@F8qY8~@qoybGBAJ4b^a<Fw!|*+i_*7%xA>ar8s8vS(ZY}*jNeiPUo;JD!;j)qx z*5wa-nHR(6-s2r$2*$$k)GpxmsUU_Tzl*(tO;g*jZvk_Mm61zt*ccen17BR=^nxN{ z9RTe`-!&657hq`za%E#zA{A6AVW6=IcTCKk8AeYPVWFCYQ<reBDo;4G(doV*99>WG z(8^K1jzc*k=EN&ebBJ=?x#W3?SdHn4MH(xun>+aM&k|%equ4bX(~AQNYsn&WjJ=jT z(6DOoRJG(%LWVB6K__zlb&kKn`42Ea{snXP7giN~!(L-tNuyoP*ykrxZ86Dc1Du`t zgNP{xeuZUc^6h543j5k~&p!LC_O(*&YfI}?Qi(bMuni0{7Q!*f3JO!0C@b?CqfspR zbCV4ev7r2oPVlJ>?h?9S;3@!797Am!(~CSErl4Tf(=-;Y64*M<HNGs}BAofFb}APf zg;fg_S=n+^C}ki>t-Yc#I%Jc{(|RdbYC|xV=?52Sc4gBdZx4L>Lb>4C<cd2VNsE<L zze_X{&51kv+0SRvE*d63w=<=(Z7mH$;<&?oTWD>(BZ#%*Sm_wf=fl2BOkfVKJmN$n z67X{By##lwh01JaL;`XiRjx0S8j+sxva`zD5K&^;P!YCE{en*%T<}r<qTr9XNwl4_ zstSb%CBFt%6Iib8MkA@K(pQ9Kv^po6O*a1nvu0o@_~*l5z}v+D7pHb}Ftzy_P>8YZ z`Bm&6!6v&08mjEf!GoW9ok<Ng9+6sFoEIP!OP^?CUOM~5hB|MU6UtQIVt5%=)+G-E z-pFGRs7aWj*q+~WG8D>4eVslwhNKLEClR*rWMdSsa6%QdA&zaIoU43T2ZG?ij=G~l z+0Bbau^1OxW#=Q(?CKbdI@1?dLP=tGw<q;-uq+(o_gs|%WqI$pZxs*EK_})GxXnYC zZ}gEGY6B<(6fPJF!Um%{$9^#6#Jrti)*a;M^Ck`%&uoe~!Fc6_;KWqFtc<Qz6#Q1B zW`ECJ91Shr7XJfIpXWV05HZu+P>k5>J;?hkC*2bi5aV+Q$`htS8A||yTcV)CF)*~o z*vVJa&SW`_VYJQCG6y`&)GNfR99Xac&a=(?3D*LJNkZ)lZHkZj`&s-5#_#c3zcv_T zvdh41ILvf)c-xcoj`_EFl=Mwe;xZa&ZRo*ldGb`m*rOaA&AHf9627&OO|io)Jy^Iv zKpCqOGwm&iyBWtqf`3@><F2T+Z~PYfmPRg|x>tq1%OF!|-*5D>jSrsw7{2I#m@(`b zh?wcEFGg(j?&m!iLt|sU2%EnGHuINiU!&YS-7Frb<x~!KGI+53-EDsBz(}#5VH5=< zV(ez_5Joq-vBOGWSH_%h75AI5!@~H|iB)k8(8;Ou{7rvhlWJ!kW6p!(*BX6t@P7y& zfOsVp4g%FLa9@HWCM$af%b{)k6w;UYG-vljEfDmY%D>M;>PO{2;Kg09b6;v}dgO+k z@kwbx_h}GNOTxU3)cWatng2>#wo9<kS7azeil#B|K6&HKe4l}W3K=UBIe9XARG7jz zq;2oF@Q0~Z?mfp>DQMdpN7mnjTxDf;i|WY@d*B}^GpH8t;Gmc~Q_S&LVy2jq@s}mT z<0qh^hXPe1cVNyWztuEQUJ#49UwF@N#BnA!JOMSLG}E4}8h>rFa{SrJa>*~N>14aG znC<TWRkk*h?Fu=$@I}Uf^RXx+CH9rXyTiJ@MEY=J@*wZIbZJR*E;$@w-0&wbA;A0l z!>N}Mf9KLP^*MNO@9u@u!P00IYcjyE{jo0`Hr`rLxd5v)y7d!lgjIft;i1|o?)1Nx zOmR>7n>eI#JM!I{<cO{jHL5G1CnB^Vp59-U97eUN6Xak@Zcq;j_$?SHi9EHSvTgi` zn$!nf;Spcx>$5}e#SJ32Kb-nm*9fE2K<fs9-D(Y!&w6zYBFP}0LQlMl-}Q%mq=wzf zo~Iq2F%lJ7Fc^i#AD|b=sj>O^<Z(gx4ai5FOLrrKMBx4}ZSMjfWp(HOXOaL3MxKbE z(Naxq+6G0NShSgnIzwh)MkWyDB3`OkG-9QSWCl>FCe8$Tb{vbfwRX3=wbymmUR*Dr zXdwY1fHy9RT&hLz@{ExRTDe#tzxU@n&rA}u+wOn&pO-SvbDnekp6~gd@9ligmvR1p z?5GyDZai-4*<{bA54G(^294S8e)I@kc=8}#GwH`0sXtWoxYX}CbbmzX-W0Y+R<WEw zt|xYzep;zB=^>c)G}|zea6gyo9CY31sPPtRbW7ajmWY4;hCq2i$$)~V$Diyg==YV3 zVG^KJ2aTH(MWXp46TBj2*786(b}i*7Bgfgf9L%3{x|gXR9NesOzJ7tPiiz-^WAO<o zlBHB^Es1dX$NZ|Yg2ad*yH{~j+gdibsxm7TWMtOz4$lP;*JBaR;Qj-qHL_W$Q_a{V z2o2?lyH8eg2NKTFIyzvetm!)*pZy*?kQ?s(@561m2|(Nh!JVXGu!*0jE)6DVOBL(e zo9RMohCFGC5MNUNOxLrE_$T;O0be|~+I!#gHb`Y7wu~~3g)`;wC7Iv_w8YDy6!9{s z1gqnR`wI&a19(XBARmZDWHVAv9;;Z`=o-OwryZxS9F~A06-0Gb1NT6;UGL66A>J?& zZTzqB=uy+`Z{e8CISN6nB>OS^P|V&Rv)@p3nZ{mJG1~-o3w%#Qs|tMWeUK&llHq$B z%gwUe>zv)EH%6y#wcP;(qfB2e)3IcN+DrAHUDmhV>_IyJ>3+cf6=dJwljkqz#pA1y zt^w8*wIN$3N^R%oCe(q|w%Y*Kw9krFOUzzktZ|-(?o{*HIIfIvf6fv?MAd<jy^#~M z$a);~{4y-HELC_|s}(F&0Ti9Y@mnOSLwtpSEeE6Vek})Ykhc0FU(3OXdTUPnn76`~ zgA??2b0W<SSH#i2oAwnJJS}BDI$TcZoJG<#N@9m}lMpcAC`q26WL7B2t2v?P1{i|z zu2j!;(p4@uBiw6>xs1$Q3LMEiv&EFy>fH1;wMdh8&^g{JEEqK){#C|)e#Cyf(jcYr z4fk+!w!uvT?J^C$?9Di5R#S`7jb#t;Emz+OroKN>-}bKG<y{ccqje74A1rx_0d!Bi zB53`zJ!my3_G}BCLhI<Ae_7<{E!`q@YMMYR#z8@z3TVB1>5onR&R`|E{s;aELI2u0 z-x&RW?Vo`E)yn^kf5Mo*;h%8U(f$d?AMKw&%Xy!KPrE3nUpaZ&g>S2i0P;`R0pR|7 z{{)@B(PTIe6+#onj4%!eRp~J`dGCZJV@ibhpW&Kd{7piN0p^{zAs)`unpk?FDm3S9 z{xP?NzUOU5^|&Sc-Sal-U`@CvI3n+f;CP-0$Af;dj}qV3^FQeAlmU?d<&XfR2#ZKt z+Zaio9rBN1AP=bT){>=<1^8L;0x#0ZrrzNph=H98TgPRJ14iRgG&+!ua58DeAU3Z+ zIseQU!avh0V7Dqs8LS|zHi6;mXL4J)^VP$Lx|@s}{bn_B_fPqkcVD8^J3Pbv5%n__ zZ`|ApvjmreM?~;L_AiXp{cV}G`Two{%u(-yBV5?c5tbVRA^S!m&`%#_rf_5=y}%tx z<3QQog9RquM$efG$QZOtK;RH6fm#KGB!OB(=>_E?$b$hP-7Ait%D>!tHjQ_;qlFx1 zXrW^TzU;VsVsZAu{Bw~xvIG2slN34bQp{6k<;Wx+uTS5=O}Ceox9z^8s+PM@j)y+M zZaD#jtBC6tYGRUneCMtxy=8kdD)}$)ISRQeSHpBPXSV9&Z(<B%FHL0H-H56>TpdaO z_^E(?j+3kTHUyJM`re0CiDyxzPp8p{GlBjy|K<}pA63py<56jv#Ir#a{Fr2JTb&x| z95X}d20Ij(4KIOdg#O`ll+S<1)H&x!=QjdGc^jHve0p+Ti7$b(hqmjjWN|L09`dOa z4Djh@SaUh*veo%IU(z?#(ZDpf;X48_t>@P6mVWa@6<_6Z2CH}JODjF2zRGnYqG8Uj zG=-9#HU69G=Dw63&y78IG&06>YIpZ4zfqa{mS6s<^0B!u(LeUnt<KL){wa<0DqtEQ z?OxK-4+u9&Z8WLrWefRbR}9wf*80o$_gkNCZ^F^-8RrsU;8wyRS2a9bxia^z52%#| zs$GAYub;wkq!+9S2=vR^`GGCFPL2^h`xlV%|4upPgk=MDyW?!exjK1giO+*wVyhe? zJh(39Th1rKEjo8qPkmlPUf1q5c^9Z@{ehI2=CA%HS1eDNmOY!za*^!)=JH<S3!-3P zP+Lh|oUe5FamE?0$($OK$#|4%%t!jg$zl(g^yi%Be%Zk@8Tld_uRo{6d?6&1N#0=+ zN#2Xlz~QS(lk9nAyzZvexM`Kj>Z~<sZp`3L_k0$goyU~inN%nB=Z<aVl-hQ0MCe3= zB`n8L`ikp8^Tc2)y2fq}Xhq8(4a7s-&$QvsLAhMF0*P*GZhg?d2T#7a=b1x#o~#ES z6HzcsST5(nMw+yXP=Snstthga<v1aqf*$w>pH@}N^iS7Q;Fs5#N;N9law_D+*^de~ zM@SI+P4_$Nd+0{*`X(cQP3k$089}|<87xzg_>f>rT|s;hEZ(F2;{#ywQfmqIV0z?+ zJ6hSJ(G@>t+Cd$!)Ec)@)TMf;-ED5q?)uUqdyTz6`R0Ijr)bl=$sMN#O6C_s6F0_( zQ9azDFSRy)T+6{T60dQIablyn1fc6rVVkQ#t4bO;;FJ6^l$k?`1v(Lf0LFz$NK|K@ z@sZ?~&Zb4F_K1BXF{JA&d44Mwvt}q)_3RkX{$5dX=c(4RNkb~FU#w`};U7n!51}PN znL2h9MT&@#dL(L%IgEZr*Ui`2<I3W<nfNwV>NVy2bS+kL86P6{{;m@iea7eJL5R?j z$BE0EYEQf#@$a8As^!9h#MkM&flJK)Zu1oLH9mo~?AJBDF2C4vfhy+IU*-<q>i+or z?4SD_SvViR&dBfFMJpPCDji#$)piw_rW($o29qsQJm|dolIGD!{$B>q?6r~3;x+VE z_#Ej8T(y!$YWHQEDJE>poU?5&Lg+ex5V1$D2L@fMbSE$^$$eZc{YA8g^j~ZH>A_Dn z9yW<9C4xZ8Wy?XB;NqFpoZy-z*`!fy$5i%1aURp40@|893xQb+^)temSdA~YvfP#N zCCnbiDo{VeTODU`Df=w@V}vc@p0Im;f=87zes*C&aCPyBfixzqi}Kpdvn09%#KB=% zQV-baiO8tt<zIJn|K(r&<ZnIylPf=jW$86O)(XKmE}c@lPb&|@6J8?L;`0LBh5l7c zv-UO}y=@Oz%k~MIiO1P5<Ws=4JqmG07&{zA_wThg>+ZbB^tF*p{2ausYhOIjm5)#Q z=Mp0OMy=6*QB*z%`jAMvBv9v1aCT^$bKNZ_=D}7vUP&BF&vB(!|L6~l9lR<cpz*`4 z-A*(oIRXrg*jo%2>z>n0nme(P1ve&+sombSGw)9|p7=*=<L|Tn;xEEMJq)g-8;cdw z*y#qlbU2G%J%+3fpoX!%?_$+lHLdF*gO3wkZ!_qTOWtP+quSbyv=<+o=3+c9=)9cp zBJrWzkrl6D*@=_M^Y5LyJ<9mgtd+Nn_q7*((T|$7xif1$Idc4ek3Y`eDDQ>t1w}Cc z7@H8dKVKLrA6)xYq2&xQ#9%89H*v)$f3~WHPH_``5J)r#5+8&8QbeVt)iyhTfHFFQ zNzpx+52jJM&<zHMnuTsezECtyKFo{ZNTWKvFuy(V+$4LC%IU(KW#53mz-bDXc>;E= zPy8xfUvgei)GkBcj?2>xCEwKrYR0Xo%Qo;&-(I|Q%H+wD5klF-2+mnf2MrC*(`s%2 zyO5**T-sE;|2-av2{?R(mT8@Re9xxjJcdyb8!(ELa+VPhY^=5~GMStg|5}56Se`Wl z*nbq9gFsc_#BQc{B7AKFmfbzhE0BqZ%{@w38vO6xxy3lK>~+4$S(IFDuZmXHm(*^| z)=_VsULzlaf5A}t;xa7GaUvCb;+s<!%#6nI;ka0)Y?b!2+IBBLO433sxy5*`wwJ^( z^!!=(&U58FmLCM^Mc!U!UgUoWSlZT3RFD#!lM1hZ*T0Nrw#Pq4fWxZHY9T7Pe|s~A zE4=QvPDq#O`Wjyt#c`#|hwV)Y!YfPfn1#g^-nWFKdXg&{>-J{671rxJNBRmXl}_U9 zM<FT;-iN68*Te^K57_GB62zLpxQdy-{CR}nrBVB3g`Dn*VA%S81^XPXiDH|KZ<kS) z@gmw7aiXVrW)~&LPXVQrzfYLDUh60GgQ^l!9fmVhTRW(RSDoj4tLM?-QGd1Dak5uj zmuX9<R+>!jld1_IzpBxnQ&A^@z)fIL7!MvtZDic~qv=a)nu6eAS@)e$3f5Jca;VBv zRRQlAe2p@i8W~n1!KVwb3aDKc50QG!_Mqs)jpWvEgkRNOOe<8PAN}P~T!3NyvY$9z z*wk?iQWkVb@(x;y<_RB!yG~<#(xA%@aDdXQ-8%IcgCZzW_9Vfk!G4#=Ms<nbnQBX# z$b}}KtNvFUVHP{#wFx$HL2&p1=a)<hXFZ~sQRhX8YJN`&-ByF#`#%Tt6#b^{mni&O z*^RpKV7Kl*fljf~sYE^3phcZ3Gs6Z4?e#s|qe4iZq!B%v9}%`6xixEJgQzuTXR(-i z&9~b8CQ3uI|EAO0ZJD6>I5jjaoI7D^U==}#)<dPUIIJ0c*2NSgcZKI^yM<Pwl&VfQ z(!;<E#dMc^S}m3E$<fR`W@4Rh6I@0EK&!CR`3??V9%h{XC;$U)!cr^s1I8<of@uTc zX6RpbVWY7BRd^Td3>%E(7l@m8W5E*haf%Gs^nRd(Nh@_3J(61qh4oeU5A&5ER!Wzk zDIbcjm>2aY<2LR*NT;I2U8iH}jJnYYxr(O$p!TWoHY%if!v*(2FZURzdZo4Vlpgrg zbGv!s*)@-?@m{0pC$(yw>yQk3bv*8Nyux(+pfk4b*DttVkMX_^@B8%y7k&S_Q-j8T zrtjCee2ry(Y4qf=%oFBRYVB^>rpk`=HBFt3Y9NxC*{`o@>NN<tjhD@D!B+vyT{nB3 zkt4-`tp;qBfK90a+ah%LwYv$N`sZkR)cfM&$431LS)lq?DmEmi&m~GNApmS7c^C^6 zwI{xy=w!tC=_-?a%>EVecgp_M-`Jn}pDFv(5ff22dAK<7bGY7oi#haZJCTOd^=NpQ z*9gPZJTha|{GhV#ZBnBCpdBvPYU*WBdKI%fwls!Q(+dka<T~M=5kLZFp&D#>_|3wC z^o=8$if*g{%bM)3IzQr2nnAQLGE?bD`O@nl;#^3|UaD|99iJ2qU)N+`S_mrLN@3yV zwYeg1GC}wvl`s9pH%q?}yy1D7l3F{A87WtK(C~HkrE=3B>lOY=uJBJNY%QNruEQrc zbI5yWjhlnr*eP@~#brmDCePL{c%`!}$X-??W}rHKsq9DgrDeDnnJPbRJ>oLyv1P`3 z^bV-dBrAUEk33=icn<54_4`$x^}`;EPt`bgDgeF9L8NaF90l>|K|y>KA-yHh_X2v1 zRSR(%Ni=3@-SlTPN^4pDR9r0sMAsK{{2lu${;SBvoi*~kO8$ae(e!UkonuQPz89P9 z$;Bc68tz<3Y)XF89e*ik|4{XItup-4_{@lN5g)?^+%~vFJ_M88AQYpBefK_fjXE|a zXQAD}rN`2d#K5jIM;&XWM1WDrfvJD8?mY)Au@)Dff^zGWQ3JW5_F35ugG=@A>aZY0 z^`lOXA3N%c@zNOngWuakahw)r!ZsWl7+N@)mDMZ(XOh~$;|d7y<yd1WGu3bx1)JZb zYzJR*7uGb`hdf%uj1}bI;cXQkIz>oGz1N9$XRA#Dw4u@FXxWPtOx|8u5-%Y<ObJ1s zs|c%+o(NNglNd2U;-%;{9}S2jz?NNAlP;C@@JEyqRoy^c91o0DaYN=3HgjwF25b4A z;U8K{noIm2#><<AcjSvV+2cx@&Z{qrA4@A``D6-Csv6wnpIELB6U%#l2vrSf^4AZJ z54AfeGdTZgKTB@hAZz(L8uPtmEg3h^{}Q6zdNK_Rri%&AVWmz0P7haFZNumyK+@P1 zq@Z?tcA8-Otl;d<X!dfrP8qiae(f{aZ$dzO_DjWHh+tiF?LCjOreeeQbFlhc=or*Y z2HWiP!h-BTN^!^eLi{4-2v!#wP7JpBRh2Ou<rb<nd$X8=nbb!(NbwZO13G>#%86%` zim`Qa0RMhiQ9)M@R?tIcIXB_PF-!AMUAx_>!a60xA<801o--7+S(G7EQ*lA|cI^R~ ze*6Cjtzr0!NP{pHc+9-JX=Tp>Z9Uj5<s+~OQA|7JVnC8TO>pT9SMaGIyH^z==NKaQ z&%DU-;ybubG~hZ>PekD9RvY6X8hzL}m1O7iE-)XMW5&g8E_Dl!EuY+ErDm9i@mA_; z9>hM08^~Uwms~qv;l(R9%;cun@#cYI1C^6v+E}xPd$+dH>)yBM)@a<6^^HR*+u6dC z4P}Mm?zB;7|Fd_YJ53>DX+9oHb9@lKDDl#kPj0Z<uH}<9e<lhazTU>@2z44`^w)V% zXWCWoNb>8jypT@L#%;Sn8V}HtWwWn~FlUDT)D+t4TrRhk%+Q~?uWUk2L@97JmNv$L z(#u+@U6j=RyPjV}hc9uK#h7As^h0Shu!Wyo%)meLJix@*d4neyjyOzWI6ax5Im|*9 zC#`6DGAfY4QTvBN&+KNBAaf8qmvCiAYeyYh1~t!~38wTxW_(qSLS}=!ebCw50g}GC zEZd}MTt2o?Hkh%+*>lY6s-rCC_SnMg8vxGmac#0yMUr=xLkkrvF3-CC6`VBq9z~+u zi4!@yheq9N_ZY-DjPhE`LfM`n8z;!fxub8+xA2s*78i|*;y-jl;xcP-y>HY+o|_X5 zJQt3d!1K+CAY>l>*U;m)x%>8Cu9m_jeltn^y`(oyQsTsDI-}0;W$#uzU)H%f!$-{! zIn2ChhTJE2hI&nI<oh{0`?3&zX6Mn-qbhMN-Ki>7B4c-|N|pEux}J9B+4wAL@ky!e z@f%wHS`*6*z4Q%`{~7H^@vE(6o7(?cL^f;LcBIwflkH91iW{_kv85S3^ygz_)zR6= zbncoSay+Do5R1QGDMveN+4^AnfuaU3t{zJixIzSxAR5%L^^1<#FPISYA+3<0Z`4#k zH!tx+>cJ&z=+m#O^>SLLQ`z|vM|$Y1(Vxo(uASu`H%|%?rIp9peJy`IlaM4ly5sns zsmYAv#{Xs<7c!0%StXzUe;JFtV*fT4Zg_>X1Ug#SGbY;`)7y~No-s+p%IhmSe1XNN zc26=#;1+S7OY2Ljx14?n6^c<U86{I6{nGP&^h+44AEsz5{WD{&BZ|DITFR;4TJY#_ z)o)hnIW=NbaGr&&=*DTppx3GH`3gV!4INw$G41R!|3h7rIQCz$8^JZhq%Vu4CzngN z`g3qos>IH)rnUf&jte;d#vV7S>z{k(SA{EBwr=58&WDi!mkHHSiB!pDSW+jA%1$>h zgu{FMm4F8Q%np9=%;8vo;)(o#{VtY9wB#P7->^l7(#=<f&TF2^-RIC*h1(~<>Lu3Q z+VPRO18jd^SOh9(iq}&-mKkwLBwbEG<f0gWiQ1FVVREzf<dSq_8BpVi6V;skmiirV zS*c%|2MDh?CLB*HH{*DsP1L<Mrfn+8LD&X99ji~04MTSGmENr~!`)Kdukz`be5usq zZt`E0tP)=C=e^vo^ljr&ZNWg>J)$SVeE}(WEskomQd=oAYL?4|jcV}Tzq1H`6@94Z zOcTGI^_7)0V-AFS{y{R;XNp(VL2M&M$@TzWx2sm~zA3X~xj@uJfpV(AJF;e!h%gz( z+g>yHZ|7(RSD+J|rb(0t_%C2ex_&BcsGSv&P8Ej@36yxh23wN#Q}NzzzA`(Swu9+# zIRQ-#8tAY<439uEM^POzcMY^N#q|@T39AhiDEli#ze~|Y!Y`eQkW81IM2Zr0{KzEK zE1_*4e2i(;O34NZo^l$Hhu*mO0|Y>%KZA=JhV+%Dl>#!l9UNgg_>2^pLgH{{JiZTm za+;E9MpKe~GoQW2WWR^(E((LoK(kIza8|!dB}t5F_4#kkW2AxMSrkS1zf}rcriP2C zfp-nSynlmt_^p)O^s^aW@JwG50K{oCo3RXD47mx?u3asqj;qG`;A@z9`3&Bfyzx?M ztjjupE0lgjl^DJJQkG(O!;QNu5RR&K?Cpb(9*HE^0@@Eg{GD+g;ZBw4{>@SUX6x=p zC=6ccL>35#ri`mCXf%&G&TY9y0dGO#UX;NK3T$^c|1}jk`hK;lndacAEZX8ARgX9> ze&B!KOs<&dOm<{tLKjtMwdu;6q#1JFDAbo~Wd9w|<mhqh`wrFUJnf_A_t~m;^ZPt2 z_tuTt)VZ0$r2NJ(lR8too_FoI+RjbLd0j=i!(@8He)XeYH`p)gM6AR}JR6msIsZcH zdU~jv2hX%0by(kDQQKa(A$~3&cW%h9>^J1Lrr2C9w+~>@^#kJgS=N`Vt{-4ztZG?x zI>p?ky&l6#n*O1FYghFsFW2y^4w!!Ou72uB?hbu#eNF?;`IouEUS?>59!T%-zC7S0 zUnJ=~tjY~u`YXBgV<4^&&mX|529s4)A86J%4e}jBo&#**MGY7%s%37~g+1H_lDbmA zr7k3*_Um0`D948?;d^uhg8&?aB;d-#yQ%i&)PwGD6h+wH&qE{?{Z4jw$BTmtzl+&m zUwmfrjuKzIsUh<lqd=sS2iLRPa>~ZWY>;&>d(*WzZey0C>6FPtdL&)pyrgx7M*BB3 ztgNSiHXPl~>W)%+hCH=g{*pn7<%SbcJln7j@m?ti@Mkn|{}x8sAzfc`>19;<B4b{T zA3v%zzGqZr{QXg<xwjBTeeE&-Dr-SV=(cz=Er$_qD&wEaDgs{4AJc&uKx!zp+9Y1a z{Ozj?3g$Xl%it)o-*UX0GeZv%zzDaf5s{1{%Q8`2lhJ@m*yH0<d}Q#>?>S*3;<N)2 zVJ0>&6lZHqbpc{=KA`=xA-!M+KdR{RT|y=q>Cm#0%Ww(WD;F#R6fT_}Y4(F?(c*Rr zWp6TdrT8k@bb0+?x^Si2znXmi#`Wr7mDfMZ>tDe1kBy?Kv&B^(WdDOC@ngV;sERbu z^2upd+dxtQN4AjP-2P<t?&}t6?;g26yHi!!uV+{AD<Gzxp={R*YuSP9xjZfE!#`?3 z;#kAN&Ll6j`+_Y8U?CsjnJ4kW<2Dr*xU6tI$I%i&;4^sI=JR5i&!10jkA(yaTz>c; zVTZ*+Hud2lz5TTpFWKVpl0SxW81`6Q&tA{^P>V2;<~_`NFMb(*@<9y-OS7>_vijS3 zm&p<<rF(lH1m~6)g)vxs&GpJ$TPHInmdoE%wUFB|GBRTdU~EbeepoNKo_(|WqhCku zZ5#&?&xwCBAA&7+3@8X^f(N6SDFduFIq3<nPTK)jM_Hty)6$cPT@gUti*b5#g*by0 z+cd0U1(~&N!E(|G*+8es20BAFP%NM76C-FL)8D**nfp_N``RlLUuRe!y#O8Ur`+~F zUC?nak0C-z)4&rv(ueF^;6+DE=<tE;BmpyX{t6Wn^Ja?0LE`h5^hsjB=WDQa$AyUA zo#9GeAbKH4U$&kq(z;7|T!7;xXTAbA@Kg<-ozpKVEJ$8ga73fa3ZsoaF_Ov1oW+U> z(Sj_W|M^F6>x$3{*$D7ya_Hu)@rZV8YxN`TaIw{P97M6Req?~!gHP*U@fqg8q#6XO z`AyX@9Zuy4S!HHQu&57&Wy*?Ef3l&V5`vvJJrZ<)O8lhccPqOS$778pP&_usViURa zdUYpr{^QRB9??Y)su|Pt`M*|jNiI2lovN@>m(oeJgh|H-Q|(?cQgmY=xWB!Cti(r# z#-Y^<59Trhe}{F~g=B|2fcPvt$Px~=uA#yfLAHl>iJay5Pq^H+uTY1k^hvU2m-Ep> zst_mb>mr$d75JPl8Y81g7`m0KsB_3>_=~O1$n8B)#~lpb1^-1h4n<>$>7{5VFKz9p z1`wX;q|S=Q@&Km?p9Xl4W$8R}x_~}OKo3_)o6^>8c(9PF#V@lX$d2K>IsxQpC<qwj z*hYrj_yG5%^w#iMF1Xv?706n5w9us0784FIc5w*VM<{rHcQ<;F1&@REtTKI)x>uMk z-meGUUR~>=+j-l127aA#^g_4qf!)-H*)3dY-Te~n5|5_iDGj#clYYrJPetk{qGobM zSvvm1lD0io>KCv9tOwRWcYeM?>4r)j`dxS*AJNp;h0d!VX{B0<wHDhoR{}xg#`YRE zw7N(U0elJUH@VVoEXhq0Yx+x6d0|-#h+tr}7&bCpAM1-&joDu^b#UL+_|RCtUlT2& zWgiF0q?J(Uv&=a^fzS~fBj(%h?jP2&lXdia`u0K;^8Qa2`Vu#bstF|tZg>A<0XAkR z*71boXN|r=X;c`fK?*D7$Xw4;|4}vZ!R!ZozL3w62U}oP;=|~&6cK^MU@4CSLf|0R z=~17rAPLWEMzIG?nY}4A{G;S9BH@dS*S4?bW)G|s*>5pmW`Ek6KC_>Ch}uYQR5I|) ztw9~1A^H5ix!a`X0apruwbdpCybwa}YS}w!+CvakBLtaAQV)VWfs=#i(aBqS5G14= zy%1!X&XFKFm9;h)Hvs5JeV<Bh_9}VxwVq144Y%4u)NZ8`boNv;2%znI&c{8@>G~no zlC?_%C;8Z*e_vnWJkfz4RjwtG6vmPLFKW_&G=S{yRBfJ`?jrz@dVgiFh8LKI|KL*7 z2_?=R*pEnhLb>WKC%%O9CpV!&3E0g$otNB%N+k>-!!q89fIfIkW>lThPT0RiKPPiA z?7Nimzs6CG*RUWBCKJ|(^;T>JPvuRN<}}5*{GQ;Z@&tN?%bNVFt?{dQE8}gD-Wv4g z0-`X{kBSq6xDvbu;m>M&mvIWx%%(ejgmP<1Qb-EIHk4bx@6hkyWcz@Q16(f=t|rAS z;5k<dPLd0<3n)~&#}56lB>OG1-l=?^&X_AoDu9o%JR?ZHdUKbjmL|)xF=V6p&{DO_ zS*fwy;>=!U2n!@muo!`GhXrv>-|Yv(gAw<fpM1%Plo7ZMXiD2h02B$1ewl&s017G0 zfG|K~8Pp309$hXR@B^#VK5bm=FKUt37b(xOFZnF;RGKn(H3)9yQlNSUs_f%tGXpBf zyMd*-9TN@(6NyL=nhfX9RbFqkV-kp&-X_^_MZ~fJC{T`jSzU|X_5EHI79U+<qg&y> z_NuTECrDKL$@&O^CF*0@dnq5ZJF@38e3!KK4Cg&jTN`4l(Nr>vXF?r}zOwcG5|%^M zUMG=tji>;EU=2ySi)jb%5>Op}6{`A)DrtKnaB|Z2G}teQ!`ovrJyCVQ{61Ty(DJeL z71d~o4XFpVc%H-uMAMHL#bW0C`jrqLmp|hCmGz@`>-!zmYoLJ=HvWnHa6dKNO&?0% zQli86XHq_BuZn*u*mBzdqC}2{H5`o~%fBVOVdGyBV~Z`=EC8$u5lx9PxMT5pj4-Pn zOPDodLYUQ<#0;A5Bg~ralTY18s1;N=UzRSyzSlNJWi#i0S^ahym(3i+mp4%G50BDc z4Pu4${r0*QiB@?%XxyHUU}t?b848v<0jiLCagQ_Ocx~ywF}bk67*1-es5MF{v?{7r zLAjrx5*9=7>Afm19H)H5zS{t?(_|w}mKfzUk9SKJQ})igrQB#VPg{7>-%)y!OHll% z7b;AxI|4EvapJ}8m(`}Q+iZB_ZkKW3tw?L9YU~;u#iNdRixaI>2V_J+4<qS8Q3=Zj z<Zv_WH4$oN0ppCI5Pvy4lZx0ZQ|g1D_+AH4w0Mr`^qs43CwW)j<hFAu{cv&c508-( zFB*f~8zPys$L>xhdxO2+d1gc32D#LcJv_p-UX`?#ZU&-|>M)G2A=UPn5~t36sc5pt z4767{!`;_PUdx<eyr6~Rc@VVO9y7SfzNtKUOiA|F)QUX+a7pkF3YBN2ekfJ}u_)i8 zmF;eihJUI@-!?r;_Vfr=d?nGW?J-kXu(mExaiPU@e=4$w7Jjw!%gWw3GiI7Wn!&0! z({CXgVDcD_bQV`-#T)|6U(*-wWU_(rujn$#5A;oLI}0R#xG?yK|1u+5N!dOl+PmBx z(WUE;hVg@j^7n=DUa5504(%~RoVVTQ3VTe2vz6!MGa;s<pFL(6I|JKoQ|E%m0)~}2 z2IA$ST(;iy{c(ZGbYti(Zu?TPzVh<XT^Op|_TJ!=Mb20jzSJ<!8dTov{7CQOwO3oI zKN~X3!ji_O+_@4NCX&9rS^;HD_Fj;uv{_=V2adRJ1N*!b<eYkH?@1V7=HOnhemNkz z?SB}2lIzUPPUoB-f}=A?$R#|;=c%hrb~#pa`vA`^?8~W(l!*GNh8}RDTnu+Cy}+z< z=|W?yrGSQpPBcBbERsIK9#g4+gY6&wj?-Py{jWq@55Z;Q##ca1vCPb>8p7F1A@zrP z+RqIA33o+v;X@daj>Ls8d9X|j;<)lCYPPJ@5jDWaGx%r*_9Tp0@|Z$%I=Pp9C3F58 ze*m{!p?Guf58|Cf{-l4b+kga5F&4>_k6Wo`9yv%SebW<WZ1f~WVP-9i>dBd>&f#H0 z@)(k3Jv|>>=}kVYHn|P3p(<0vEsKgMFc@B<#`$_r1;=?69D2*EfX&gcYxVd5zlbp5 zDTY`s!#THa*2*R_K#%h)j(KukIJWl`8}D-ijeqwl`!qpLKl(5r=uL&k6dMxU-;m!i zBHTyQ-p#{$)7~-VriqYg0z6@~=}XEw1J&#a-F9PT_H^@QLZx$u_~o|tCflr@c+_4| zi)$74i0A!xIp(o%h0hAV+_d4n#D`7EgGFZNm^;9*Pn&i&;k1;xo2BF1*knJTHJH7X zH!67}0tO2MQP@qj7MCQm^|}l9?sp+FqT~gUr3IDz@P7oMt!;hcEK=A5^uJ!uh?q7^ z*0%Ll>UR|E98;+>*`K@5f<^WL_qklp|HO0t?6MvrnbrrXA(pwXjvr1Fl%zP)%E|Aj z6@nLTJdMjD;upozjhN;*<7O?f<KznwWa}Jj$vR?Y%?{B28e(Q~nZ#&oNpS!c4~^=Q z(Dx7VBttYt)*gR%geow&ww+(o9^c#prgza;AtjEpmLPfM3#v!dkvk}D&fnIyw|=7K z#~G-KxdY5yZpFldRx{>%jLQMj1JUgE=f3w2AJHetJa;I!-y#0Vy8oWd*(0*Ezu;}w zo_`Cu5QtE|bF?6hIy_QrEe`bSc(bIG5w_cf-hlG^tLY#8p^dq9n9O6DX#YrShhl66 zI~>@lb|%WVv2~{wJaMFsL+eKj-Ai;<q@*cSx*}qQI=tS{KH@L%n2;&<VZ1M)!;NHo zvm{iyu65@D+Q9aCT*SXF;#seWoa@G4hd!aTcf$dI(a{P=@~9%WiSpTkR;H2Q;fn+P zTXz}YW#%!mi%?$AK0@;4-Re)Mw1a0vxFs7Hx#=QFNOr@Ymv8>J_&D~6wRl1<Ghh7A zH;)TuhFu=<ZR0B=<IYA?Q#;@S*2i_cQ^HWThf3eb6w`qv97I?nZDFOfg>Vb=aRN{3 zQbVI(qsLuu^wNiNTrGc?wmN+>hn<O)k7r&hgjWQ37bBBeX0J0_{F4SNsfod|$wxF` z=5Pk14CwhHcc|8~i}i4EHy!QRSrRP87vf?7zI<aTIKPpR&ea$K*5cjP;+4Tthp0X6 z#LTqrzEjPu3JqTsw4M6Q2&VW=GrF4X;nJ;{VVn<GvNr5r)BN?!q@nIy5iVQp>JGmg z5&@NC2<Bh-B@H2QzC<)eMBuu)8)~+<t}Fmiyx}cSh*M4}wA&{FBloN&LSF4|$YQpI zZ;R}0y*`1@S}z{{f`R`S{%Umrj?sj09zCElXvkn^a0JB}pOB)xX@eu=59$_5v(EDL zFF5%rx{(V5PUD2<*A)3TSqt`4L1yOX3PYJ;pUaFY;`)oh(PuSg{crCM+uOTNKHp4Z zTNhbTqHv6&P$k##N>G2)b^SSMzPN<{1HOpQG2kxcgofe+1V`mR#e7@(eyYRW(=Fwt zkI$4bIm=ZnphFz2tY8jN{hv^ub=NJ7Bj&#b3#4@PoCj%ZZ%9Af0vN;TmWBMpPhn{` z_?UYZXvkOCfN>~!9(g;1Vi$0+i`bU|%#kjXawjraqtChFA@V7;+rfd2+zXu<=IdIA zGjSfCQ#i+EPIIR(t8T>~3aT<6<jC{$=`n=a8#9Unx12{EAMmfVMsErESI!+RXYA|k zEoY3WBTh+s1oU$C)m)gyQU?DT4gRfj@%xyN4}xOwuYu}={w>X~rl%;3HM8J|`EP5# z^?vZFbBv1)V+=aDNVpQ+$T2SRe%>p*yQ{-pzxGwt_LLD`KD~??(Y3bM_=1<}u!}i? zsv~toGl@a0xC+6($5<=mzV{%o)co{kqHY)f1_n!41zWi`8+=YZua7MUIP&8pw|8%F z#I0MYMyPc-Gr7=S%@GfKW7ml}`s{z+TJQ`-GPn8s`<ug@*4Xe~rg*SGAMy>d7FUbT zb-ay-NLQ$I>-fwt)I5aBS$qcn*SjCy50&l!LHsM5AG0_6_s@QY7-v{O!~U(!#{w;a zbkcz~@FN0`yNI@&ciG{g`{%|Gi<Qu}FKAyurt8TRw3|ohG?*EreJYU3pX&>LGk8_- z>XiuKu+DA{`_!)2!}jh5Ul+!#^XOBvkLQkeOG=Me%lAR@N09b4;56L_oeh@$#jGdR z$6JXLMP3P_=ifZHOaYh$ys_-PxeMa=jj6;T<~Ja25N_6d=9(}83SU;tO*OSRi`p+* zCYE6)KKO{eFPe$h0<*KM#do-%`M`cLRH{&v+}RTH|JAx%tXU>B_)zAyZj|{WaB3bI zT8LGj`^--__-MbE++9dL$59XeP4S5+uFFi&T~z)}b0>2c%6^S$IDv5;Z{~pUGCt;F zXG!ULpm4mKFx|(T7~)Oh;^Vcp&D$#)yf>nd72e<0ok*kl9}xmk_~$S*gZ`l49~nB2 zW0NrAbUElhf+vcdjeoN@Zqx`j#&er24UG0p$P7DOFlHV~_mXlph{8mWRJw;(Gck1O zZ%vH4g;RZey#0obhlVp%p$6YB3Kp5dV0r0kYso&zEdK_RR>aim0w#F2@9~;n|5!ZT z*-AW?ox=wvd4%r`FXwe6aH{uVe)6~|{|)&P2oHnGtrixLBgh_Hoh9mIxBoRO^kVJ4 zkRODx79jW%;jj2yNL}Vi-ynK-hQY4}-zJ`ggUkg8c)+X)pju<y^*#v1A|l^gA$xzQ z^lc`-P7{A2*VSUj99f^4c`goxo4dFlB)O{4)J$%7>~78OY@1m&HP61v+k^M1jUXz} zmtDF~jC@caGXWaDtcXf(*OD+@G^C=F9+JFVn|rYIxuehlxA$u6?zs?cP=MGW^Faz> z#DyVT+UH?x8;Pd2CffxNw0>$gK5gdU7zP;1%!cZKGufTIX$=de%xN_Jb;2ZQqew5- zK4GOKuG{;}X?E_V2-)v|@n0+CFt=4dvueaLios)zeh0{m$j(&WPe9R;*<UbM=6GPw ze$Z<_7efk07XMv-RQzu=6DWZL=H?I4{(#GS02$tvv=3jwla~fVM*N};b1Hlr?Tt~N z7L(Y{fLWMgd9{1>@b6RLJVdr(GNRmBbaEsUMDpgOM6!dnE_2x`AgWep5w0zmW7HPV zd+o(ARr@-2F*AFavW?8n+ED2xXsNXXch&l>VS8J6__~mP)10YeS&MAA<Kcy)nMfho z8Gg`XJ>inK&^flzs;;wSXjdm_H>w^e6MUJ=D2M|;N#`@EbndHk-@6Ok+$jN<p_+P< zdcj+2fxioH6G_1X2W)?NrOI4(h&~*)7T>~^&E*}tDoW*I+AT`4vbMeSqr^GcAFFQN zm&>TO)7c8ZvOCzZi;y~tUxSql8d{bOmu}!5spi{~UB3ABeDYC`8D%jqm-Vw2-wMyB zEwY@oQV}d|=X;U+!vWcjGICw4ez<EvUk_0;q3J3@rR(+a2(*i)cq5{PwcsY!MGx~L z`AD<xTMy$B8s7d*<f}_LG&?1I_C!tpQR7vY`V5%ym=Om{arpf=MjXmaF-{NpQ5@BA z;NW%MtX=iDpRyo=EDjEEfBI`&v}C{w0NkN<gpsouUDz7Eo{L20RsmK<2~@jXpuSXU zIK<Keq0%)BCFEP5u!4Zqy*0yJly${b9MHYmJ)oQC$Ak}BPsoE3ra?qexj+ex6$$1r z$BaA3#6$~uF9+{PDqWKo6hC7<yX!Mj&iWjpPE$dYTgNNFgK~9`SNx5@<kB_T9oMiN zBZu5Idl(SWN@)jafo}H)n3t4x`~!<v_6IX@X5C&^4kU+Y*+9|NhkCaUJLrSPR8JqS zpbzcLBCo;2rCWsAW{|rW_ev#pd%s6WX5cGB{w*P^ehaHOI2`x5e_$QEi}=f3wJ!gt zrA)=2y^IHI8JmT!r5v(P<~+B}dgeFB@AaCmf&Ult70aLi)cQt7LTWD)+>1JPR)`fr zHfJ%pPlc<4)!cIqi(&`s@;ZV*L2yz!IAStqXD*$B3SZ`3yfa3oZ><Z$E+t>$y*@MY zib(o~3Z%e}cM9dpJZUKR*I&X-R*O#t*S;m_Uj!PnHnt+DgZP&m0jUjz*cvR|Kwf1T z4biz=?9C-Uz6v*knlS`>^FtAcF0#TJ(s1@4-9b+7Kxm&miU3=T4O+Z-W2khe2!xT> zH){EA3k_d~ayaPgh?jMp-Lwe(dC<2ZQB7|t+q_4!K~!pu=B@zLLn4kq5xkNqfxhY8 z4#Idv@fNsjB*|t$<ky!c3wU8|aKpKwBK-{<?O5Uo{*M$fplO92?^KlTWkd1NRn$Qp z@07!WmA-&Y1OU3yz&pu5q3+n-b)5fYYr#7thch?O#gCg4V=`rD1vg~jX`&rF3hj0P z+z$X>RLp=+jwV-VEwf<=r$JsrS)$-G5Y}4WLaxgXn?-mL$gfl~ZdEGCZ+?}ToLl{! z&36$SpGIe=p(w}*U-G{^hbZwK2={MVsXOUaTl?zzYM*^O5E(ZzKA6C!_BWuhb$QVc z-xY~8It*XwEQ1YcxxHG}V>BhC#5bkuYuNN&NZ&rf{zliTMfPFP<ZSd2AV878Bwlnj zm{jgQ0Xq28OsHRhxoaH<|NArndH93d)$EDl*W@}==iDeY3c3bQALC6-4Ok2k#~WL2 zt>#Me^9ti9&{6W$1dXopitN`Yr~QJOs-6DyyS80DSFfw%Wp1zgrN@mh$~JR3R14rh z6R1i)bN$Lc_<v1r|JUnxN+=y20hSWD+KroJrL<}ZS1~e_zNRkh-)SZPK*HF}uuHgQ z0N)s*MRe>!`fec={$dMZuKSfYWM&mdGn`4V7SGcTA^~>{6n3^x%Tf2UX~jZq`8MXT zh^+VQQC3mp(T9V6^mC(G!J}O|oZEj!Q`04eR*M3$#%B-fc-Qb0?11}94}%UY>C%t2 zqF+x`dSsNl5_Vd5UGA;g;FUpl<zBTCWVCN!y+%iTQ>jGP7#Y+JT&(B3^qxbESo)fZ z^yx^`Rice?j)}U9c1G_-`*zQwMW9>*T--(bLGpD)Wav6MFW>lIv`i4caOM_P?~&%4 zS-oHHy?WuKi_2p;0LC&`6<dpSxR-S);DG&R1FkUJ;%Ikw9PRFoWT?lBf}iHYK=_Iy zKt!vybPp@szp8m*2*J~TWcGdTx*hI+F}H5Beb()b?z*kex<#N3h(D^ytzBT$XZ5y! zYV~e#*TFiDm)oaziNB&pXRG&rd+p}d?GFw7|NmL9C;VTm*JGL1|BLkshnL@P`vaTL z-fukxWu!A$qjlzOz17~<o5v^BmEVrRU-#XO2gBSU+4S9yyzirn2T^HfA!|d_P^N;E znkj()UCT}`PW-YWR;*#|ePYSP<BRDo7CW}GYpBc5p!0?^UGOuC>YPSM`Y0KP!<pif zf*YJMnIUbeHiTP(y%Al*ana0d3AHDSJZQUdH>InN0EpSph+Rg264I_{{sk)I<}1R! zHN7gz*K)b3#gr26_f&O-w_R=F_Pi75p8Z!kc=y$Y3K&{`^-AicL$iN%#Z|TKE<>E( zFOdH>8u{-Z0D<m@u|LwW{RJ9ih=^ih2xp`FK6!(KR=CApjjHFQhRis1_H+DiHsbQI z*>x{79p#xCnx78xPaSOg28VJ4qB<!?DTw0VEQLTbr<GFn>e-4a1r{LjEdn6N@qZA3 zRcHSU+Q5S5=T}q9RWpBgc60c^UBA`>otO`2IPv7)ZY{XSycB<qNg10N(!&3Z?!1oH zAP3WBE|Y=BLbl_%kwNZ6RNX*D&5wosFtjV1V`22!|FhzViE}&DnY){r$)5fF3M9_n z_tSyjM4B;Y5KwP;@uO?xYmPExoxI2c3WgOSf}6QQC6d0iB9fWV-`VAwSK`;iG6CqW zIL;YjQ5!KiFP?@jX7LP(=(CF8k4o3^8bMYmcb|?(j9F*3X$cY0RZ*1o@&8-l(m%t{ zm9t0f4wt?oEo|wZ6KAqqk1`LTmZ_67c|ZZRP#7!HmIAkeUtxP6@t&2RD?(7iXi&za z^f$_6&x6$28z_@0vz)Wgy~t!_obuE4<q925Y)n&$u~5l4rJAsDR(wVex_9K@2`JGF zx%Rg@fir+-w!j$?I2&aWiDbt2cYZ?iSgDpWN!{@{CMsZAr&v~kr=+lH@b?$9ozLiI z2QU2u373TEk&bu8j_Q5hk<xXE83La`DcE^1>^7B#OW#I27cAW!EIk}Q9^J9M4al73 z$k~H4q9+knOyB}a^jDx_Y@ZH^o2Q?EY8#*$<P@QsqTjM}#P8}_n!|teKip&SzPj%d zGPqpK3SI*q7h|4}pb0WE{rdRlgE#?4G8YdRp9!@d<A#AOj`>$)Ld1*RV~A~E{uEVH zu$&2)rf=Ol`qJxO_5_h7R8n@VSW5062lxr4?~Cw*FQu4CbaiX3)VCP|R5FsOFJ@gH z&-w3xQU5mUE}iMYw>SMW*%I74q73<6DZ^<5_Kh)(MyvI0CT9x2bGk)5HlwrUAWKcm zzd34+{V?3N%SvsbsYqttAR<dzcgbFnn_o%^LT@81yce}UM&%tHemGNniLX8KVAQ|r zyF(&R>2^B)PLJ;29ql-LVQBb!f}5FT*9?iki&+_+RwC5)<4JUt*gYCrE!=mAj{9G0 zzG8G{#5XqV4rSusDG2-au|&paMt;2^bCV<<6Agt<yaThjhxY{2^bWg>d4?FhL+AGR zx40*c{VV6370P@UPVBYW|LNAB%=+S|M>1pjNBt{ie<AF{=Cvog72@FTclLYPTSb6! z_<`ht{QO)+504}Z$Hw@QNap5ZYw?8~&oYR9z*_v>!ytLr=LzQ)|1sf!&}@YfX-VBt z!3Xrsi@)1#{$(+se)exkykaezT%ZG9hKxUms8Qxy!I||Ed>0U+%Ch6>3R>dHVzY9& zy0(Bp`Tb0|Tic%er2kw7)$gUB5(RT(Wcm>NB8m&aHGc2gBgL+*e{0*@*5)nm?s)N^ z(D68fwuT?fw90<l`+ZjLcRU}GPahx!2c-M-`|0}X`sQzW`UfO{Q1?C9JA3Z@BmHk^ zTN`8SHJmm@G`s*uji;o$jDHow%#Z)V)1&tW*>@`$S;tQ962I>NX=&8)1w^mMTLT}b zU|wHkihA7#p9G($<T`4ST>px{_wJQ$q10!V|9jt$=GXl9Rb!Yk9h-BlR&KFw?k-?3 z{UgIyFrFGdvp7fMH=^Hj_ze_V%Py+uc(XrO3zb>RMxR7@3R2OpF1zTI;Yd-7FF6@r z-?vT)r;=$1w;CyIc+hV2V)Ezs?TUy!jQET3DwII;tFRA_uJNy#^W|u#I^lN9IJ3~B zG#R0*P%JVs%!-xdJ{!Y6ZVR~1>c;o>`09q~+lesqx=KeocJ+@A-vk#_5%X`EeGE4l zCEM$wth<M-C5o@UG34JcyNid$LZ0TnX)T#oY(L*Le3QM6Am#n6yAz-|@epeMm3RnC z_D80Vd>rQJl<r;WsTB$ZH$|V*v#PBnCvd;=)wLVZph4}D7ieYJ8^>5nhD{0jpHDa@ z@cG%+?;FdCbaMW<u48Gu=hcMN&wkF-7OCV@ddPjs^)A6XDo3Y>d|xly6j5<w*Aso$ zS41HNwc}`qB&epK=x&kR53Z>bv}S2jnkOT6X~^HI`JOw{3s>%9r0XQ;MN9vT4Gd^U z&`*aHa%wBCZERY*1!2OGgC#H89i09=os-GV>Ch_3=g%YdSGyK35`H(>9jHKrmD$%H zGT~qQ(1!@K%ee1Evr#1-Nu^AQ)eZI<wv|dX!LPB7^J`=g=idb;w?7K(_@b*gpec4; zZ^R}hHk*w`%BTrMYNb|FSJ-~*qD=AIsy0g8`{?lJ6z(=AErY_2FXFIENm}P<w{xlF zbY{Nzu<}Ma-er`X5yB5f{C{n}AWwh2fY{C}h4RCk$hqzMN>c!jnRcal{?crNbws<G z`?4A^2c7ns`w=)aAiXz-g!C`Vc@^0CzIAt;Ax6_bG}A{_395>Aw&_)W#P-s_^amV_ z--;9ou76gf2OCV#;2buzJRMP)Nculy8;=i38_IfqK>^2e8qP1kz83$&>ZF&)FfWFU z$#F0S;K1j;sRAjUm2dhqyrf?B$4P=l^VqetSEgsl)RcVY64UZ$WR8DL5&M(V_--vB z-fvbhA<{z*I7!v+ejvoMC~85I|8dnL7~Zb}>co|9C-iEvbS6zx1=+I!ApGm(i2Wj} zVHY=kEFbwux>a_?^nd+PFKq-UomU>$xoP&S0ADATD-2+<sn?D1-DF~ZGlLbF`-wN5 z{#R3vdyByK0zsioDf;VdQ?>eQ>NFuFl(fT3%FR`;c;TL!rxJTlU1z;PbA@X?fqvj% zyD@&ObDL?P-e5iz=r-)$>)$=kiZWEQj_9Gop$Zjk0`8jAt0ppZ{_H9XICsu9cY-yR z{#H$V3Xw@;8G`;SofrSkobLM<vFn<M0Wppl^BjVRM64x`i$jfN9&hJ|88`eY()EE3 zr;x)sV<8L4HGGnzab4G>rbWGLozb^eIqK(Xy<BB7_s`&m%BS%|<w{gl#*mzEfdf8r zk(5_(46;H1cyr4l=W8Sh^aM_5q6;IPQN){$+WldZVhAE_0ZJ-n+Q?63C+=Ew1@$du ztT>T$n9@h~9s&uayR{2*Rfryt#40=JEPLq?w2rI*Ni?M)eM)5dYMjRF8ZtwY4gO8d zQ({7sHF<i$#wcDMZ!0cR^sK1dR)<YySwyDQ0IZ`it&%tzb;pY0sDI<!wbA{X#$}3+ zj{s(FV{I+A_w3&i&WyTSQAg{78$Jk~H=i-36@Fu6&>G(vd9Wc<HacdnZ$Rv=b&WpD zg7C)|OM-v}UD0H-fwmV$**tfUFS37q)YlQ+kR6u^T~tVX(gZ8#pwsa3q3%Fxcj8u! zzR7;v%oDrARBgl4w6V<i$B!aweVLAa_m`3B%t6ES?t0?i-F5`G%}XLg{LeHkYO)DL z(~c>B#oWJSZ(|M9sE|zUceP<31(@1Q><vmK;H+8O0c*)Dn1ZS0I)K^}b;Y>5hln%c zoU`W;heH%~gso|;0(f`EF@sF>g)&#+b>9(OdLgyJCY;=*YXfCP<qm;OsFZe~nZ7z~ zja?C1C?mWt=HHfh-QKslxJINm5U~%ydiS#5_wAnu53A;HcCKl|pAm3O7r+03x)`I2 zwc8P-5;5Yg*el}~X2#RO6~U*~K};)LGLc*fx-70|Hph9hDHqaECP-foTphH=u3czi z|Hu3r6C3kgMNr;?hQ^3@efHm}0;i%H*~Cxk;ONx|aT1O8X7*bXiW^PO>=VU5L^SJ- z3|p#!6#dbnB@+g$h&`^(yX}<C8<%f%9&F#vvwvm<q0JTS0sYf>XB}0O=}=x?$mzcc z7S0^wt+#n%1VuDpgteh&r;9VVF>0$e@$(M?h_m>AIzs%7T0hO*&Ty~>NAh+evETVO zv>}o7*qXdXM7Yox%uL~+LF@sHRmjW}5uk6BKw6J2vP60o{B<W5UX+R7T^zByN*V4a zu6!bM%Zg&~BI5rr@nO`Ty(lyP?&8GLUewdR+UwkY<lbJBxm?4lHcq|GnAt0EP%=j1 za`SLRdd}5Y^qr}2RNjE5)NTZMIsX_B)8UA{3V-GAM>6wIEcN6ST(v+81U942SjRI& zWM#k7b%bn!x!~^BKP9#ksUR~%r^5?6i8-uU^q7d1;@8+jdh}OjCxQG)QR4=4&*`tw zz6cr6U$KKrgY^aOVuSxqfIfRP$Lwi;Pg_KLI1)n=S@R-`v!tQ<HqJEI>fgb>`Xa^$ z*B<+(Yma>~So$hL{$a)!L^puA56L{jqfvgW4%yfn94jTlfx{Wc5OjH5X2^*+5Hie= z{T|2f@=5<r62dz=9Letl>-lOlGe$bM6F6#uA_xUUMd@p5PK^kp%*bn{ozC@tR*ZxO ziThz3jTT>{Wmpj|eU4}OrO3Q#Top*dj7k(jKXBoAgTqnlzo7y94DDC;Wt3T_5b=IK zQ*HKHg_fd->RI2JNdt%)>`>l0&Q->>eG_zwX2JtF$5W#b3<w%hs>t)MS_b79gJ?Wb zyH@*=7Qox(rLUH*0y+Z-^;ya&BPN5lUAa@U0sj%~*O}sKtY~v$k?BYTLl)GwXNFbF z0lULzpRA=KtM>b{YKQ%QoIN9&nJgc*u>5qwMRcLq%s=Y>Rni6t;H$bG31Kc8NQG1q zvdb2@&PK0Ucgg34SQV<FKOG}duMGK~LyIX*pRzXy8BnlX>($_YO_j`<%xg4rRX^mG z1(~tkq2aJU#VzAA#YJ6%df=zUqw4t|UrHtwoz!~06h`ega7GB5RTV{9@@i=K2H!z0 zq3A4DSdD`0$G|)6-!=FBJSbTIM?oXxZ=dr%nVLI;5Yld<=M;yAW6>;Y@zyg<eb?2l z@bn!lA|=w*$OkW6*kG?J?aWv1(xc3<y57*n^tQW!I1;IA0RsLo#a+KUir%uJuFnx& zvzKy{7WDg;iV&x?9uk1@cJ`cy*)N^vadmZxk=0hp7OYb?;-|$(2Mp1NS|F%dsU4(p zo^oK<SDD<Sm8maFkNT#oM}5(1lfpsXLaAT#fN7=(2!jgaHKjUOaEEr}IfZ5o;v2%( z{*<QnV@SVARHF%uyn`+ArtZ@9r5*8mBIzHPesM!f(M1)!JVebQTqdiX2hE`@%J9Mo zHXuU>Wf(TRUX9jn5EU2+`@*FM!q_lv!->&BF{50SdO2kb>m}x}CU5PE^wGk(`V9{} zAv^2!AyO2naQjh?|7n{H&!!)TS(fI)7)?-qKjiv?^-PPo^Qkg@3o~<Th4uu+n)UXC zOWi%8z9v3KdqQTyKuuX@82iGI%e6NQ#U_Kn#cT?gWVi7wL)tN=+k&>7q}UW*{_IUb zSE3n?A>SXmvL<HhSWHb*^0xk^b560ATvW`ttbSITAdDUc`N=(&gxkTQh_(Ep{;m&0 zbkh#PoV3GV$4}z)+s=DTP$rl!=Tg{cwjkvvM}M#?{vQf1S4p-rGCE+_;e5@o+6g>v z&=9Py?^m$8zCZsDC|JmbH>v6i3n%*Yd)mT@So<eceR1JLa0rdULhjHoRlDnho)$hO zVbMxm%p`U#G|Qm}-VCfxr+V@V6(dY-#@K+)BPYMm{~iqq&LzF%Il{0NXjNo}{+#jQ z@836PcIJzH@4unFlHgO<UN_@g^s=O@#e2Wzx*2*mVZ-|1gV#T>!t0{B6^M1WdFiBB zePh0dhF=3)B*&|VIev})Nz+RIzV(^?d*Own`sc>qH0^1-cW=RgSDY_l)5PK2)N{p) z1jxFhf^dGD&OM+*=}WKs&NVl6KadwJN5#L^ixotaK&bfpH@j#jdyT*cvCM)kE}##l z1?a6o`#EP2y*KjMsKhVR%Or_Qz^r@pzEEc5onha*a217PGc!l_5Bm?#z02^f2os$P zax#0+KA1l}DQ>gpsO(>MiH}_%G2dlnt+ornAD9evXmNY4U8_y!IohBOzf<1C(5{<M z=Hd41@8l$3a#cn017G|i!2d;h?QP6cpU;&}pnsfPq9cJ@2tcOp`*swC@%~yxScf@_ zy_kMYozfX~J!$k6XP9;(9fyl<SS90zZ3d%G-A9O!w0Yxv<$AB<SsOCbi@y9f_!Mux zdDcIIPewnV8T$Qy`Ye2(zwT4`R83b{Vg{vtQ&qtm*Cw#miPvD3j<gp~RFx>5zzpU5 zDr7^Y$#>37T8Y}PJbi*_js3yuRMj4yia(0{ibow&MRAa-`jFp}f~9AFb>ak)rJ^tA z_hWux-?u8qKAsy3NR(zt9}nuIzI?*NBz-x=gMKCOn_7?PK`HC`Ddu;B-c@EJzXSC} zVX%(nSNj>4TBfQt^DtFkws>E*=Duv>;c|UZ5aKd^U(bD!7vq)svcvoGX70;Q9<I`t zx4bV>I+%9kkvC0W93J$W)vtQ+o*oMF6Ir8J5(du1h%i9L(Oy7SED2494l@{Fw?3zt z!aVo*0e!aLLuaBh&Hu4R=$cr9T2CJeI+GFUOw5zQFX>OpK=a50alYJ?Nx6q9xd$Rx z@<%jt)=VVx12dO2K|@ZxX~k-5;FH&q&suPymr*m|WjvXT*{_gp_FMUnXv-8qoHg&7 z?|571tkvAkQp`Ws(6vz2x7a#DRo5QJKi4top{gce7OI+2#y>Xz&rsF3i<K}_|9r<3 zxyj_HR2^S138$T`k5wx2B~#?frqXI93^xg<mng>wC7fvz&H_hZjg(Mp63#AD!bl~Y zV-n6Cq=Y&p_)Wq$%9Sum3Fn)H3kEA8poE}F7(GM@Ati)O!k8135K%(ZBwSRXgqRW< zOu~56^+qLJY!WURrW})$FxezbIYkK|Zm8-qGuq30q0lkxD6_;Fz|V3y^ekZqdi!bY zc0|o^?9~Q8wzZlsI^F>i%n_#OVP5Xxw%o(~+`}EYhnC#KUAc!;?qNahVPWp!pK=fP z<R0!d57xbt4YI&4c-N-vS*4CyZRe8?N~z8Z=jw_EJq5Tq_Zc<(*EvcuPs*jruC*4F zs!V6nycJ|QIOy49T@8g{&*q_o1zx>Tq)Gs+D(9as88rK{L89toN$^m_pxFo|cqn3! zs747MiWns7jUon#>XgGn5ragdl;EL=L85>XJQOiV6jFkRA_j>fO7Kv`AW=*S9*P(w zYE*)UA_j>jDZxV#gG5u6aGAlG%MB7;sf2HugsTh^O;f@(CgEF^g2%N&v+GPk(`ibW zp?_{LX!dPbzf;^Lyc8ZNuZK=VBdseRWGcFb^?c3ilQ{w2y0VV1#(YGiPn}mTe9oX@ zdENrknb)DuGiOs;gpuO6un1@u;OxD2ib%(s9BnS+*1$EhkLfxa%|v+wfp++L<%y3% zguB*3?e}D7JQ2HayeMoRM<{F*XNF%pcJZO^rzHOA&8!dZZ_I6We~W*Lq;IQPI;;7b z>-#WAhR2M!8n--iM71+kdV034&V^5Dh%hRn5?HvnulH#&DctX|U<ZWN*^__eZleOH zmDi@^GJW#RIkBm8fl@KB%Kp^#{ha=2$?ue$V~x-OyRAVIE0x=*REZ_)>>?^3nzI}; zq^piIL*ywzmaWdOmgIV7wT<MHuKrx+P;p#0G;`tbYVIq}b#H((MqT3$1FoSd_J2J0 z4OOv`!KwD_U);s!=^N3fit|Ot+@#qyy2^lIOSd}9mmMMoO&O&|ut9w;mKlRWc<8My zhCg)n!Vj_hf7p(&C&m-UoOl&Hne3W*`NoSk@3OR+YZYtVs75y#ooEl+D_g@Xn(fQ% z+FN7kZ=<N(iIv5vRd4bDS_x#(q}z8?SZ&&p;Ycqu=8J>I;(*3UZT8|g@7gK=k1=7r zMYZlyA(!183zm8FelyCYD~M+#*ZgwmaWJ`xa7NEz%>G~w!Li?o70sy@G~Z%EXdcUb z|M>P$`i_zbnUNUXxAGl#Ww(s8oJ=_DQC0!n!uADo|DduFk~I^qeJrmA&LgF?Q2)(c zjNT}V>Hnuk`I9YXl$9<XB_0ASe;{K)b_cVr{iXH&HN3h@NPOVKyb&Zu+~PtW#VShu zAXf1~^UF;Ars^Rc70c^U^Xo={mbt5)cTjmgKQKHjyZYGZaHp|{D=Em`GI{xAe&TwK z{@afq>h_{lZDm%Uf5L<P{CKliDbop9Dboq>RIym8hp0}hl=`c%T&5@Fd&<1KJs~XD z8eUhL(QR2e{pOk9g7rD76aSo@!vf05Z|cz&rk`JeQaLZWkM?Tk7f&AQ*1gEwOnr<I zaI;rYY*DZk_LXZ^-q(trZ>D1J(mEPtW#^?EEo!5+sdma<lf4WZf2vBxW~ODnkZ-VA z-gAOLyP9NL@7P)FEC)0O59eELduUrnUmxLf(B9WI&6T&&XyKSQ^vU_|8vG7x!Yz@w zj8EA6hyJto>5`sL7m)llk_qvn@z(WxsS09(jh}*|kmD3XzuJ>$NInm$AJ95;&I1Jc zax%=8Mn12BsnCGXSx@s;F+5Tb^-Z}znI2i?d(WBhXs&lwo5I5f(?hgII(8O0uRPZC zsUM$Q?N5#>0#|c!lm}TP$8fr=%31!ZCW>3pLRBR>NUlMri?R8FoPUwlmpUo3J-|7i z$1qYbArhg6e0!gSpl^53M;N%95#>AUWP?UOvDNu6pdU<+s)|C!O1MxkRSA8CEKTBq zMS$<p%k&h)@2yVa_dVU`CYwA$JBR+O=fjzNQ0Awom|voW6+6GlKlgX0x&2hgv2#ea zmW<(g(sAg44&W!VkiyoI_0j1=9*Frq?9SbP>$y6FKVj6`speU2u!kH<X!pLP`C`)D z^Bg&J`WcxJm911r+j??!oiXU6Uw(>r@Xv%Knc$Tr0zz)Q-j`RUrKGj4-{abIQz70t z1WJ6>x=SaE=`XQJmh46@4_ZHXPSj7c83_)5)$Da4`zB7Atnvk04*5<ZibmFSwzoDQ z`SuZK*CqjJj0o4f<f>vVlHIs)Dm4FAZhU#w`FReR81g2*V2p_0P`eSu$+e1HHzQ=f zOPmp#0P(MAj|p^Dy7V<x6>#=}ZS=sm1yYX2`~#vo7R))N!G1edbW<gFBd4z_NxUkI z3pmG+6`I|(9&&tbjDKcmZwqK17csZ$o{8rVQh^wUl4w|b@#CnsE_(!EDBlb>-~8+d zx_Pud%=IsbqDG~YsC-yI(*J1$#>qgtR^GYbXwL$Gf1flD5%-RImP?G;<MnBWR4&2e zPL8K}3O)mUp)cGA)~+~-HbEKw7`ET&8WcpE-NfP3Ip@NNRW$h<`zPLS;+CU=_}kW! z60~`s$P8*|o)flL<}%OSl*b3|fn#M{OOE7W9<JvhoZ4-ro=`WY?}j#T*KTH1XH)Xd z!hv&7MO`_e&_%J#nKcCPAT-o}6tQ(#Z9k_(Z9BK?KFdSCe(4kADgG_8+8P-Htq>e{ zNu;>-&2Gp|@*r{R>qw{1g#)d-&(tuj<&nbRa(Yq_-Slp7f2XNGB@(NGunzgM;ODCB zLC8(My^y`5!#S1s>}?m2zhU}Yk<6LSj_z)}1FqFL)I(i+g{{Th|MYu}Q(VKr?pHA* zgATEXeY`lIX~Gj!ZvP__{vyUvT#y(awx7#hBMP~UUg%t4$o@ENf5hm+_Ft^FAM2AK zZ#3oVQ!x40?syxXdGvRS+utkH-|RTb3piMSLVL2uQm`TYvpoO@+?h}!+AS}S$I!g* zHN0nj({ip^FN3)WM?IE^V;hOcacP-U2MhnxqiL}?8ql#2cy3tP>(su^itQX*4n&YO zbRA{wM!_T7MWeJf7D3?Ba#e8RZ*mn_spWj^dO8n(k3aPEudt#<|JvBY7@~OSs}CL3 zhecd^)9mYR%qe4n_KHLqBN!EY>|U<$o_nrh@-Qn$bNzpZ!9u4iXKanJ;kW9!>U|=T ze%y7@hI0!(Qz<;ax*4*Q^4P|LXPl)mqHu6v$;RX-l_6`)HWSr+rPhdv3&2UC)i`hO zvF`dkX(rqPr^yteP51m1be(46f8pL}E%+e`(M%ApWg`7ZHn%^H*=shv9m4}ZmYF8| z*~Le&s6=H?<WMc|ld6<(Z57rRLc$~u_O}*HpkUZuOY&O;6e_`T)nJWXLkZ5!w(i^y zbHnA;i8K`sYVhxveV1o8o?*t~Iev4w2m@*u{`TK<{4V`K<mWu_Pp9jOb<MRbpZqiL zP-x-Isx$R^L{9`{33OvR`l@@(UfBnluJ^}Iq|i<?FaW=W0r+j6r{VDZ7N<|lGlt-| zIDMk$Ypc$5KfG&Rz8WrdAI@^Kyc_m^F#Ce+Z$LLjC7ahYnYHGrHmu?AQlokA_I{}u z6IJP<Fy4X-=1?kZzs(R5D>&m}?kn<U%1+B)-+o43_aXand9-I0>NCfGVDA8#V;NhK zHALeP7kX?8v#$Bh^c=RvAshLF4eTF?w*fAoQ8_TM#T4J`JZ~0X{FTn6KIl)x2Cbut zs+8Ga^72;O#)){`>nkB1*Te(bF(ie@(zaysC~W2gPHi>drTclcXN2o3R)*bc#uJTP z9$t=*)0}sM=N*^$Q0}t#J)}0<5OOXriC+*(AA>VZyn-X(wm#S^vj6e#2%9;6A!L8f z9N@{lOQ!!9LJx4E+V;eXT&XaJhF4@~QBb~wM%z<qZd`j3gk?8t*WlefPQ>@rNcwKa z^rAgp*v*o@+bC4g8T4bn?OxyV3`A6WiZou4bXpz5`%TN$IpbldRQi5X+}?|BRXO?V zOllt8C(Wh%r0LY3Gf8q(`hLMol(I9a3iQ{R++lvnQ)BYvS~C;YnN$h=q1+PO$tL(v z)im`@J;=?Yvj^FL587^NK;QKzva^{lEzh`q^qom%(4W<|gMT#`4>x|V3b2jPI}bN# z)zw18`wKFc&cpAqLN%sLTN5kIVCpMWoioc#gP~=B^_3>=N|Sc~diGk<YLv$3PB%!g zbAi5gCiT^P>BP0ndraa<i3&54d}gX(=*>dBjCoLk^NU}bqSHJ8Q_BqRu`@Z#d&&m1 zTGRKpyP$Gj-fRH0#s!d4^{3%HsV|+zHBw2dlLl5s$nCox*k2qKPq(@Y>K+r%Iqj{^ zlotj12ktK%ZjDjj$W!z>STsz`rtu;!o0YRg#E+*E5qV~_qj;Z)02d(!n8}t)OW$MO zb;jAF&`qTq;<(!9%DmT8hU<~&U*4V=Nqc>g(;h-&-+JA5w_f8(g6W<(ci23rgOd8G zZKoMMFovJ?G`Ru=+$4H_uOcmp9}p`rO-6!;^}^6m-L!)rlVp{|>=?-q9nAa0zRZp9 zE<gQ0>|YbT`-!Ug9}EmDi*%FvW3MXZD&17oznMCWT#bW7-wH88<sg;&&CQ5A6EUxG z_8pGsTw;#s<RW3<-=MwJG-RbtGc|iya-WuJ^1VVr&D<^D3<zrxD5BO3iUMf&*L~-- zBn`NSd)#T+qS`Y32AnBr-3{R^IEW$Eb!&+;vj52#dy?8qJ}aA*O7+gg-AUB-sOjhr z%r8}{CI9Hg#N$Sa0f4WNpg(jWLIU;ExcNE%L;xqH2nVbscggpc>RR}5y5Hk&2&5pU zdxcZ@z7L0GEA>xQ0$Ue{+J<vIr9ojB2jeKJCoe%-++Gt6$|2@i$xil11XK^zd%6>o zzuP@#2<qEZ=PFoGG>s3^J@sEz2|I~#+m&LA3Ast`(7B>mg*CA5#;No}C9;=@{q1Fs z&7HSHr8l{DH_kaPYs1-untC4lSS0<J2$;}g2gAIhKA4G`fI|2mqPFg;Sk(GS^Q`M{ zFb-W-=si{l%Ih`p&!NdEX#J##Px!Bs7<`t-3;2|H8z=kqJO|xqTFH44>~X(_z~SO3 zk~}3~MDm%51V`YohYVIhLv-TPb6F4zm6tU+vwI4wvFBwLFG@Bw%?PJB6SG?H9I8_j z=>-*3CuKTFYMNW`wid5EUt09I!p@?tzuLq}Fwy&vA!qU>*S!ZG;@K;6oGFudq0_iH z^v?94TOiky2Nv<pSPsy*)C4m<pK^8(v(w~u7rVaPN|mvB>`VFqJECScKj9QY*X<Qn z>WlrQiacO|%>bSCxTd;YvD!k+EBaO|bq1LtToMkCR9|VO&ZM?<eF?V;twX_Z*r$_p zoynKE31=TSqf}6R>oZsKukNL_!Ux!GdEpArv|-?qYl^KUY3<V-X>oUZGT8@`Ybw3% z*Lw}%!Of#*%NR&R+vWt0UR~U&;+iwAZ>?*(b>{Vn4?^i#m^Ajq-_a~w+$T?cYu)T? z<}@kKH1fP<@+6MwI)kkRwAwJ|wAOEs!BlcN8MepYu@AJo;A1zUZ5RJFM*H>>EA=?@ z%>^<e0J*(Bxx=@AOOjwQ9m%ymH~=e5)c7*N@Q}Iep{}j{j_Iscu3ZRlTk|tFa!E~Q z$SOoOu5D;Y7oP!<I*mjmhX@h$mNb@i9q+BTWP2HCZKYNMH%vAkr01bPIT-Jk?CwtN z<f>A9FgSh{D2e%BO+1-?M%qm2&VEjIc+dNV-mHj+Xo=T<`NX_NYFt%C6=TSu%~Rwc zOK8iZhz+6jkql^rpehd%Nthw_r9cRF+SRM}NUe`xg+RgT`9#l@02>Iw{xW2%Z4iVf zY`;cyz3mKbV-ueJ5CYUhM1YKCupg<$nCgynU1{hGWa!!k-`l!IzR^|Vmv<cKkDA}y z3l!tN6LUtdp#;aw0rrZHPfp!G-@TXwrC6xy5{~T|^%5r(!^PHuA28ln`bK#1Jw}t& z{Xh*V-uk*fdy_Oq;QrE~43X)Qxpx~eymMGTp6^;7>3WvOcL6O(Wu<&t>Y3Xsm%2_H zrqnNcm8zf=YlTuQkY9VH+TfS~)B$515oXNpDUp(oYxYgFRg0K1EeF`Q1NuQ+!0U|& z&Ks=c0@KGeIh<cH=W9JU9|2w0x;X!Nm-1!Hs4kQa@}WI(A?|Tt__{gaR)6J~G4+WL zy0Eacdo*eaqjHJZ=Kzi&I_`atOvcQt34Y(U)~%ImC(uzs=N?vP1dO2?Umsd$wfRUx zhvMplvOl6kUOpiX@kJm-a$HHFeS0;O<Kd!2fA~n7Ctv(tYk9JYJ^+Oa__6D!lJI4o zn(T=)?fNTut2XJ=cskuYT??%fk~i7)Gk6^3K7PBYC>hY>a2T}vNAu*-6SCbzWwYV~ z$ozBC`P{@>A$_(Dqcd?%Q-@>u);Dc9!2J?MN!@A5w|G|efF6)NP)<<;DHm|x<5dX% zdB&Pk>AKrZ9=1brCE_K@`4Jl39Q>!{;QtJXh!BR3cV~agTkA7>fb?~V*>Nj1jvBn( zO}obTGzIBE#7x7*hI5B9&(kgGy62X9E~kL851AdtT&bK}?pEqT@PonEF~Fyk&)$%H z)5o<+gclbXD{R?W2^q_dBpW9<T%YRf+q?;hMG}O>zs+65JJV|Wf<~0Qy#hIDBai0x zrbXH%mLBKjzOyHH>M3RUGt{vUxC~r#tM4U7;Yt?1>;{cbaJ$W0M!6oG(NkyJPpM98 zH9MJ1y&!eJ+V>#UwwapTOLc)EAB3sdNUr*ez3Ovaej(dK4FYcUmDv$qCV@>*`1hVn zsa-%QdjdIC?LsaTI!Ydb@iFRgX`bQpu<p&28hXC*MU<uub@WVW(>c}_$0VCxDh?@< zzH5;hlOtY)-RC-k3Tcy;8T#Ng+D~RyjdEU`k0)We3GM^!VsZ^7JCj>9Nd7vL^32j- zFB$sEA5lQ0aj!1O8qaZ7qg3T=i`AyuVX~&j<5t@f`DeF6lbSk?ZWtRwu5O=Kw;+SH zOUlQSQ9c@tr4ivFDb$@Hc*xo81Z}&`Vcn1weLLj;#SRMHaSHP$SwA`*Gs52VkVTID zLouaR>J}<pB+W`d8W<!%!3;CNRH+lEDbxo>TY(G~D=*KregdDvicqY%)=&N)b8iD5 zRdpu*XOaO1h}>9Fqoq2nX`5MWO_bV9!8#Z2kUKJgC?L`5mWoZWQbm{{Q9}q$0^Ge0 z(rT;ix?5WNLbu)4Zo7bJAqheN-xBZzun2-L_cEfOH6)<q_kGTtNdoP5fBX6E=l}Wh z(cC-dp7-;d=RD_mm3@>Lv-HHY88fCOM$0#hL<^UmD4&0K;_>|CPit2VjLyA;BG_}B z`=!|k-e%k@qv%kQNLGR18GJSEVW#z@S|2MVa#nXPa0K&6rks-d=O`6Ir}C#+{wv|C z$5YO*Z5b=*L`@#Ebh@dZb3F$F>nHQzO_<hFKsozCDaN$49n5z=!OE$fLZxrftl@oy zaoi}enV4O<FIHLa#tZ%+6;aH&<A;dYRDhr@ekA9{cs1t@d*$2Zk9bmXnQCE$yWi!{ zD#dHx)Aw+I$rqStAkk~cu;%!!b6oNNHi+Jbu%9cS4VeH7OzAN+uwa0+DZpJV1FaFr zo^9GcR9p_otg$94E-YPz;+x6Bvc$@Bi<Iz|SW1Yp2wE+j(ic2){E1P;?UfEcH!(Xn zzSpgu*pu=qa^u*B0+xO_hc%qr%-J42g)JN;V{v%L;xECaA38MoE)S$HZ^x~D<|U<2 zQChQ%)l3O3d!j#kLsypm6R&nRR?TTeA@&j4pOW@RM78_USb9Pm2D}hi-wJ@8FXbC{ z4(nc|2Iu@=31=T)$`DG>rdsn_>A96Lt$&p%a79%<%fE!IOE_Yv?NzU;Hq-tkf3y1Z zj1r%-0S228Twdj`CVv^X*B)gAN_cS0nex3Xm|Uv0FdeX?53t|kEV%EXfiG{-Axz2X z)1<A&XX(;6m_mUcB2>8BRQH-?M9lZ#%HRENu8QO$ZQU%?hK@P+^jDj_1%mIL7%u3k zSLOna$T)bqXd_i;M)cFS`NY^so{xc!uj$0ai$*o?tRJyL+^qN%zk@5?t6K}0tz%T; zq`?L5mcjiI+~qo-ML9~O9iAM7l#a?m>8?{KAF@Ic_kIdWu7U4fe&?;t1GyA7be&x! zxnHBeU*T_rIA@*vDR#CfwBK~o>H5Gr1`e+bvOiJ0)f!l;P4q_hTtGBEq1dHy;UbW# zH4g)I#O+@RpRTHf#e6Kmo7OD$Tng8ST~OTW{S#NOJm*KR!X#*E#g@|J4RDdsnwRng zFZ(~|0Y!7?g@_{-2gGT8VhB;#qJ{9*PZN>wy=piV`S4z372)TS;mq~kdSHHs`I`84 zHhp4`=2K=Vt$w5`$`>>ag|dMG!tYT&aj~9y2l>6~8WU1uIj7xjSK$)=74<Ozj%&b% zdblWzcZwhevlu`2EqLt3C<^&?q<c$I;&rUm_~2s_ge!@}V3EiU?ij|OsbW&sI9ypR z6%%;_vl{g`UutMK!UyqiW*yK&7zuA)_z35Sa5#mZQeo{hR=_rlgOh@$59t|PB*)q- z3>K=CFKnQo)-oHYM-YOCq_@QB6jG2ki+FBNy{ReRQ)0<{Dmwi6)W^8O{||PPmJ)T% zX!tEHRYF;$hGqfLoyvErZKli)T_-|AteDqE^G6B@y`?v;xq%MZm0SbeKk;Ez-2TaG zewyju3p9xR0dW|Y%DepA5S(mG{8NB8v%?Eq#Is1g@GQ<ggYqQ46#Q+WU9^^4saWKS zsT0GrWwZE^)ige;b}x5(`HuB@-2SyRWI0%|1*+0j_}#}3DCdwcje#P+ST8bP5iv{^ zOT~#FVM;27o_LtNrceD<uDiCSdWJ2+ZX4+svsb13cpJmFi*!5rDFg2r;yE@Q=>fJ3 zL}wU*i@h&OiT85ca2l!+I>#Q6O_|D#{l6QryIAfOA0xN^5ii2JlFe0qqyx@_++XJh z+^?PSfo<n~n8*h@ghRG1+I{sbBo0z7ocCD279dPtnkHi&F+7IkS+?v=>qy-4pbIA< ziLv-Ns!GRk5VrOjjCCd!2&-Bok=x)xVuPmwZ1}ds!#k4uBtZP~^JrnK2%htNu6T++ z{rrR)RHPx~P2AdwZLJ&vLCA@AVl8KB$7h@ep)=ud5McYJ(+DE=;ASaMMuDHI0(+cq zsl3S-Qw?asCkhqKmD#H9+a#6wlH665QvjHU@Tg7eyv&;Hd8CVhIw$5(!D+ZAK~rgj zxF_*UewA_U{UxiJ9U$T(>`S@IkK<JgT8DeDecls;Q+BB`=f_VIK*Jua07RlNgNsO4 z?|r$KY-R|8%D`C9ZVy)GIBhvbKH{yQBJKZP+L$;(CEiy@qB4vTE>Uxs^;Ys+7<{V$ zwPe4&;mu-i$lk`*cB?d<ubd>SSG+Ldl2H<edXFKDbR@rL(!YS0#P}4ni@oGb*w*s! z_}1g4Zz<@+yzw{5n-~P>;co4|%XksDIvHljdetm=RLzxyJT%h_*-z)NlctJYE+S-% z06jZkd6Rlco0uN0U{AaljXqD<0QX%;m0b3<X5~e&yj3VFI5Q0;aZ$fH&a_U5S*M~z z+ORtCZhUe91HmEJkww?*>4p-Yw)P^0U$HP$)|ZErC(6mFs&4fU-#j^8a)}BUQIxmn zX{9A7NBXeqKkCCv%(`3x6*?bq$D-D{e~Vkkg+`59r-V|2_d`#FhAaTB3B%r7J#mPp z9P<C8vJA)h<z%(+@}d@dvn+Lb^uI7sd7-1?Vsa)G$lPrpMU79fjwGT2DhRZsTl+KP zjPRia^U#T4D~w@f#mMmps2T=Sw=sTQkSes4&}nK8-dl8wk)D&A0`bi(OG^)A^kSO1 zNH7}~mzyOD0aNgktfD0TQy4C7Eqtgy<^35S^<`T6e;(qeTPJt~LT|#rROqP=&<ZD? zwrn;1(9?^2?zhO6-Cx<8bg%Q6lo#(yxf)r>ppzz**$ukuRFO#DX<zTmeO<*@@BAM8 zUE-scI@gd%{4j{(ZP0BeXD*L(nY1aoEraxh!5`xJauA1F2%vuXw#UzpSuZIcMbP)S zGZ4@4Xffll%ES@eePaMn6NkG@<-(6lYoDAGa&pL_I{3U0F&ZB04<cZ~89~1Z{B#_U zLwQX1cEHOqduAZ?zDR(UvY0sCT9h9BeL3<-y6+B>6hSTO8jy^DSYwg6wxd4rCLxy~ z97|+snVe?I07&6JZP^iCbbDqI^yn7=7+ej$jze?tI4Gz6&L|Fn)%I({&t`Od+JhqD z-^krb4*O-F<%hrxJC*P^`?a-SWglapxfA^fYVvIBwY4|<#onG6q{%`tv<JHglui9e zoQKN};14_9a|Rn7CZHHaZv0^mEc?RywPn}jU;<@hbT)!wYg;Dd3;|O>*3P%D6Uap2 z2L+T;{>le2!7Y<NL2datlvgz3i2tUdPfJCAyB1eiG3vZfutQIr58#xzO(ZJ_CPn7P z*+;5O(DMDNKtzaS^9*?Eui|m3VyA%a|1aQ6jC0O_uRBTlzk#oLr^D9=1MnrWmi{h$ z>ApRBsJ9==w82nz@&9*FCi0!!!u%~L^H=|UC_5_$W&Z!Bq9>>Q*H9)G&0Hs(?~&16 zawdQ^kg5Re4FzC-7rv^chBM%6rufei;>Aqg<rmyF8r)UdkGq7WASWT46P(3)j4w$M zRP(On)Z)l<A#?y?oRrzVLR$)5_4OmI;l!Sv6$l;1U-CE7Gp-zsx0xHf6KWztv0<4B zqVoM^uoc*2I`vHw6*8Jw*E(M5)hyWGe<-X(03rI(JNw~_{Z#7hCs<qtHv)ATz_ZaD zvSuDx)&F}szuj^c<MjLMY4=kzeYYQjFTvqIEDFlVah8%p<F`OYiTw&89GQw)gQjAZ znu=K-=@XN&D*W6Av|goAjkav90^CU-$;WuQwh-SE9>oWKk+2~`@X4#td-BYZdvZ(} zxv&dxJqmD}q}`X{JdqDV^Wbljvt<%tr<+(QZSB8Gx68YQ;^cm+oTtEiiSSKSTA3d~ z$%jD6+gV20i5w9A;k!VvvGg5<!=F)v-DE+^(4<QBZKjX_RpNC+d8L><%zF%tS?>y3 z799SuL@ry%5W^o3{)(p#PeF9=gze{@BXWD(o;^-1{JDSv4hBN6MF}x9ymK;Mw4>fy zYpEwGe|$4?+rIQ<1hO~rQ>Z7Q`V`m9`q(<If}MEh7jmp)xP57J3R15Rvs!nZU_^eu zgmZ171iD()FiyB)Tf412D&IM6ZjrX`1FMz%D(|in#DZO)-DbVc*f?<WtA6<EPd|rr zw}MS(y{C9_DW=s22@!$hHne5u(NCrV5T5C?0OFhZRaM}o2X=6;(>aAI#9Ijjdqn2v z#X(<lNQP4k+C+}BGUvw>VD@?CucXQmR-w)@_YrTu=lb`ziqHN##YH|M{G{WsV33@C z2Ojh}t}<<h9T%jJGHvgomFvx$*><3e2{ZB2&_BhA7jum}-PbT_Tcp11>DTKVB1r|c z5H85yKJj`LNw<NFiWIw>R=xcSZ^wB|%HPjru)mS-N=kt`9tY0He*7i43tvrxaMw=+ zWYTg=U&uzNW>NZ8l)zt;PT|zb_ng2m4&5pP;)giwEcklbxN-!Zd1rYTY7!Xg?95dI z?Fp_TUe^Bwt~waY;;KO?s&)V$ZRT_4M+3kAz;CzeZ{nvHvivg~G@0pZ{hqtSdhwrw zPkVMIBcS)GQ<}EyDnDa}LbQ&?kOzY<7JkBxav9KCR;Vw@fDytS+t=ZKiGQ(sRp}10 zAb>{9wrE78yMvfcmy)^bJ$z#dVJTNBeE;3|0SJ(sk_}aKal;`UxW}tPkPy={lzM<t z)N0XhW!9yUuc;g`s$aEs5ARt+^-oe$*Lz$7;tS47`>$pP#kFPP*HNvt@GpOE0u-=l zV(Dq42xA6qD$KivVX!K>I+#9eZg3{aT|MU8ipns9g-$d|Y8HJ#N)bWv6jv<*pJ{8s za#<B9>_YkyXZ1HRQJT1^Bo2O@!6?<$>LNj>T-YkC?($b-IE_Lifx;5v18uDa()Y<_ zPWX0_D(kqgCFTlh!7!sAUsx}IVTH$528*#O{jL1ruLutz!o09=FC=7R;zCW^I2wPt zvTSRO3q(JQ<s07l2m`1FB^gR@I#D9i#>G5*TrO|g@`u4NM!2Ky3u0(enqAc+B%=OM zH(W=Hds!F1Qt^@*z5#gEJ)1G_`l(1aggmm0IL4~-9T(Jk8>QkbMhzjJkA`~EMjk<a z6!>tBpSx&a#)>MLF$GP{DJmfz=n~x`@FONCn6Bs+mz({}Xf?VT1NS2=L5*<tqRLpR zgQ!VsXGtK2%Kj6cYwAAEH5CkXe2bhN3!clK_7Kn*kv=+E=&bI#)|@`GbrQpxD(fAC z%k^w!+avDs!m#TW%~3{MXlUrxQEa5NwS^pXGm5!iDrDD0pYyWwk=)`za@|NNdaKqP zr|BGMNUhE#G%WjERbBV<+<gg5HG>U(y3SIrpdkp&yJfx+rQd)-sdyy}x*~v9=dWrm zF-6U{w)`g~i!(K@bc5%eQ$F<|pIliyS<rlUoT>o)>d`l@lcE9lB2t%vGjK%m@41D( zk+jT@bN%hgr2XSrM;uuG7-Wi@B2MBrlz>}t8(-gbAl#$1V9U|x+Bs}1JMa>z|My(` z`&&F)Qcey|=`%>VVsNP=lG08duUA^j8tEbbb2>Ip<>@}mpZ+R0O7>c^_wS$FecJQ+ zi?N00VR7xXpc`GB^(n#-gAdUHfw=}p?0Th1TA?j3VE0}%gg@Fc(HMxO7Y}6@FWn-s z#7*nt%sFB|+xAWYd<)`t{W%^!l9-6P5H&{yUwzZta8KLBw<p-B;JGfn`{`kcXQWWJ z&&Qk*^m(9$<i@mrpIVcp9SBc_!y||nKqxcq$x7j{Ok19&J4yh_fh2C*k?u?bH>qa7 zgT~FB!qZQB?QhXGMo*Ch>t@{%k{4(30NY+lpgY6~ExI1WF)qR(q;Jucf<e}9SB4&5 zWcRwWbP1r1K$m=r&dc>3A_4x#B<yxTGNqswV1Xc95{Xn0fjBjh{u@J1iK1j#-Px1U zGrk}W-F=;sP_gi=4a3PJ(osLP(7qHCX-w27rfyTy4Of9mK1K>aTFg3<8B&Fv@>Ou$ zWbe<Ey^p*4>>{%FUq@?csJHnQ;kckPyZMhfk4^ljkHU4EV<AsOo31==b~$?Z&$zsT z&RX^#08;HL_Tt~XPfH(XQ-#|N!5~+0oXJpDTXrwSGTU=A;!Kb{-ykiEUuKySkO8gC zEa(Mul!Iwc4di;R!0&vxj|*mBHAH6k1~nBxQ~K)!ukR2KSD6uNzvE3hF;<+7LQjqN z#`sSE7&qzQnDEKu{sDZ+c!G*r%Ek}t@92Z%<vx?sAI-+iG=*BcI_JMlBxtLddALh> z|DQN4Y6leC-6Fc-($^*avyL<EF0>Z!rH4%oC07#-a8I9}4R5^so1|LXB^@}uaTFS9 zBZ`O$jp!Z8O)P!ss93sis%WQ;!EmiZ$Z>e%9CfZp7QFjK6l0;~;+sa>r~$mf&;6Fz z-Aod}na4$X7LuP(xnqFjH%yBNaO+y@&dtU-O%^U?y#!e(p21S|M&!poQz3d=s8`ZM z!`g-qy{HJ9eQ=0y4@TtzQ{_7qASX1uDk-4SzTe)wGuePzYO+qpxnTc5#Xh`WwvHH# z2q^KAV0m{ut%D6vqHGrrtc3m((;t~aaa2j<*CR5B;m_c&kY2y4rAC2!aSg#iB}WCf z!+e6*)jdH^rRBu3+Er>Y(N)@+7#T;4c(n{fg>XCFms~&o6Vvil-e^tx-<uTXnkNqN zy=24wzUY99-5aTd;fVWQidyYc(=*P=7g>F3JD}_-|9a~|)V{*pT)6MamO1_YD-<)p zftnUe4?3+or&|yDlGt?f1M0`Ik-!TDn}tWyzP8x3hl@l-{HQteST6NByMMCQGi7%E zRVw)U#j3i{c)c`Xkgq@7-8ib1`vOXLqz;N-N32llSBcmy>0&(!!f988zxWHFlcmmi z_i>5Bk1do{DQM&=drGM_LL6p^KY<=q;!$OZFBbe2R3UBzT1h7?k9ZQ;rn0=Er$?8I zH-S#|^ErS~d<q=kml(P_>iLv%S|pwc<Te|}!e6KqvG|YhH1G&us^4?UoTGOs>3?&{ zZ^)T|0i5fD*S5qYR}E8ES`_aAUY*%Csav&4zN36cKV62hSy{=8@|^Sa$CdJx*Ff^e z;>CH1pj23{ljre*WYL;B7esqy(+LE!k3+?4%YFpBG@bBsA?9b(iGbFEF=n2=b=iGX zP7sU9^R0I6cU{<5o@0A8yAuKH?0Sm0Bd~JNxU?1#?DoSeMw~;DV-DAre}-B&Fco>` zu7lm}Z)q($3FyxyFKv2@i@Y4p-e(5#GBahhgRNwy)=%dT*Ws3D0MB^(H!4xB#bM{; zMasv9myvDN@=HP0>pF6(LOAk9KFVo3{|t?xk{^ItX`qR^v%`|&qL0K@pPv;Y$)xUG zaN6juVhFV&HWOjFEVI-g;+FZ4{5U=^t=FuRgYY%;GdCe^9aBoV&Uo*Kz9O3MT*f;u z%I|3{-X)V=Ch@!=yyfz;M<he@b?aki+d|5xF)g4aGwmS>0k{?N8(?UXCu6MF)0LcK zGZ<{z3!aTnyv!WKx>b~kxRgNm3aYNqHdf-@+C|hP+Pwx=399NW{t?=Q9Qk}M70~4x z6C|zF!O5LyP-VgEvRXZL#0RDkp4U1p&a|PacUTM~<~yH#bWm2US+4E^&R&lnQaxr} zoPWj4-~EML*>m)$QW$ezrzH<RHDT|WNwp5k!lSRPr$9i`ol7CX59|r)B)(CvTrcV# zXbY`)jM7Ytj18bq`r6*R7@K*mWjY{6y5#pA*T*-`(;kSB1d)TXw3pxTb?{-X_Q2Pv zBciSSShtQF+V3!Y=pE(-aqDjXnbvX+#Zm_+YRz&Xk2HyP!&M~l#y$$Ew<A9Ebhi#` zJ5^x4ucWIu1?Uub`ltB<Pg={zkhQvf{d}6g89<s|q1$)NjoDM{0reFp=%X^m?U2F! z&g--Rw5dUD3^39x@W!k^)4{{$96SKcD4A`2j3+=GMxZ7?2e-zThOFN5K4E2*KCfHb z_4KqJYe(B*=CJel-t_1$ynp7$WqU+n<jeqqw6!nuoTsPyhT+v8-5zb_&uC0^G3KMv z;G34d=~H=`%lg+#BH3Eot-ZTW7}l{sb>FT-fnw2KOc8DO%|Pls^z3&hzCmqu=TY}3 zo{*js6V?~%O?3oz9UT6Wm8osZ1ftE`lYb1<uua-Cn<<-JZhu#gTJ3whD}ceQw-#i- z6}0sz?Bw3eM}V##n}O@YJ&n@Ng=e&LX!t&>?MaR>5MXB4$y%Kz>Gttm#-|BI_o{Ba zs_!~!1TN$vG_R2_#~8+qKF)KiE!45=%}8_iddiAHh8A^n3=<Niar9PZyTYMUaOZxJ zBhs)=ly}QIr`m_LohVS&>>!sWipH%&EIu<`<MiGMY0Qgz5|v&^gRWEV9-uk3wV>@( zzWcnq9`UIqJz|Dj_d^l{ZrUm4;`maX(Ea!4tbZJ<6Az^WK5?EQNI*$L&RtH_dR7!; z&@<$|DPO=Ut$*z}2MULF{yXnECOb}@J^-T}KZ1bd7U3-Tp=^1a(j=xB_-)~E^LG3H zf@_?k8)g_2qjWB3imbKxX;NtTXK(+g4-Sn<Pgq+<1)5X(lq8l(BF|EJ%4NF&W#@V! z3g!wuH(zjO&^e6GvFf*Hv?Dx%`Q4E(`x27~$xy6qj9d_EgC*g!cBBhqZLjBxqWg-< zA==tup?0gY?eN7!vfA)1sHU!-6_rD+ZEd|5A3xl7B0sca#jIg^>Wzrj{0>lJ*xzKX zs)`JIaX`e2D?g-Du{rxyyZ|{h%;T?dX)T5)x2U*j!sU61;hD+Mhv@oUExSn~BD}8y zF46E`w3PymVyp9<avgMZL*g5^-ZE%@SOu*`jKbaB{81&AQ3C!>VuJWZ5B&uweFdGX zsP;QNNQ<(>+309GEC1-rGfKZ~l-3pS|4<{8qzvX9RYls$MO2`iRMRA-2{93efkx<t z;uxVDF3_c?6XRBEW{A8=%su+txqv=noaTF<2+fNxiG_A&x;mnqoGeUK{_+r%khe8@ zq0fC9P#3$5QAVj24Lxgws??Ox$+rzV>c`tf)anqmSf#>TL*$-M$HLEgAt9m1hl545 z6$)LY$6ZimeGs>fX5gq5nZDi4AXRng3_o3WB<kA^f(tP9jhE}G_lE0j@8QR-4=On< z+OBdR;Ye?9Jv_`9z9Sy)tV|c?t*Gux9=axNgncpJtHugZ-6Wub8QL8SKfP!at18~$ z3$KXzUdyabeaG)>s?6vAA-<+NeJJPgwFS$bp2kL*O!q2|4H*hhSfj6RV*Gl#4o(lJ zoB0Tf;kzd7$7rj4;g_sqkne)OL9orA&{{Y!`%K^7%=uaR%domWGlB$0-qIr9kfLR* zq<>Je+RAzIfp#-LRDbb#d?x<Lp^A9=R(8o>`PM?~p0H9-CpjluzbRQwr~fMtTjE*E zxqPl@${z$O*=F;cON6Auf|u>p07<T>-~SB+AvcZL=x%MkT$H``I3uB{l$v)#@=@9n z%R@}UASStxICs=$KjM?;ULjLa=em{qV--iXSa8*&3jxB2Gd4jS6XXeVxBQ4Qz7l*9 z$=sXj`I5FQ0RBm}E0eVg237hwDpmYk=}H+Vy|NDAXwq6n@@eUb4<~3}*IIT^FP*E< z*1beVjF!?f@{63#Zw~ZsANy8%Kr^C?Q#&3m<iZ7v^JKaB#e$C8;{>4#)lln`H6XPb zYP>03STuf0pzc{9t6KP!OMAt)wANfHt@qygjc?BNTwW~gt(+R0o;Z7HuRbGMrTBfA zvGrsgl;KOG8B6geFnl{gC>mN{&m1vTqWst&N#)aW#TcP{GPq;;z@;+|_xarc_@Ym< zDgWEQP*|Ad+PWP7wwIRbN$vN?W-XI*MYi`KFL(|AB((D~Icca0$kAFvC5Pdvm2EF{ zespVY!J+>7q^<jbH0I5#Gv-?ZUoF0RD{k6rrN%^MxjI^x-zJUhv4%Q}vu}95T9A7U zIN#zGzk&tu>(bX3jh_TR9<w`BoBTe?O5vU*Ps(b126&e)Dq9&fS#Gg3c*cEtsq$yH zL7Xf9^*+P##u+<o@HzfpZ?`8_GaBrSa_6J9HF1sbjsJJfV4Mdzw=&DDZo`HkEs=n} zv6!j)wmARb&HvWqN)+Lgfk?Hyz?#^I#3nCsmKRgZr{Zj5-;|JRLT}u@vkbn9Gl8i^ z0j!>z3Zk?ZwRO(YkMn^)ZRL|xuWHC_6s+VGs-w_BXIOusEfo53ZCFKw!jzzA0S97h z6dOzdR)wNZgQhR85Ux9LCtJDN1OgS|AgrU7Qi`C?a<z>1tsG2&CyGc1%(dq4GaT95 z)ifd3DDG68M8p%;t#{C4hHQ?&6r?z;JSPECsI|m_4lJMjOWZ6{=(XMzzLII+$_p!; z8crW|W2<luvH6Aez(fbmO8ItiLL8AjL)2=co^bcgjEH$zmw%Oy`Dy&b7vup=AKunD z9EU&Jx^4Ur&J?j;le^h-^oO1@35rK}#=a_9&b+G|8*_lBKud_)WOGE=<7YEuWrBo! zr@WQ>UyVWmwG0o+B8DE}Ju*wxx3Db^hxVdb_P|5*%}7rnwsWhx#sBr(|Hm?!dkI2l z4V9}+iyX(g_-ci4MV?D#S!9+l?V(WQU@xXGu+?9jS8IU(B3kNpIw_f7{ssz`TeOuw z<hMFw(C1*nnK^DxNfc^#hxcje8bQX~e_nNdq4ImoB5g%B9rK8lq=z=UlgJpiPHO9D zL^;Hgm~`he1d%YEz#zoTh4bkM)P~<(a8TBW<v-@^laB%u@}rX<0?Y0Qg@zPR(#r>~ z<R>mu2c`yBpNYXp?qN=Dp-<~$)>i1B<U(B>AF64&pB`qX<z_JJRYY4I8g`b%loK$a zx85&r%>)PVEzvfawRRuglfut6e5TF4n48rnp=rWfmK<UgAFBq6<JKQ)c(_ct95VH? zPpL`N)CzNBn9MhJ)Vz{fhJ*zYvjad1-CRvIzm{rD%a&?tEfsT5fY%h|cd0obr7fox zsX#=^do@wZqV+^#AAk{WNzQ=H70ogotfjPOYU^IXM$5GPU3e4YjM>V8*ujAas4n<V zx7J%@=Vy!s!Zf>UvfM!Ki|{Wo_*Bm8f^sh?HO0FTf?;VhBHMLdNkx_Q^rlOg14#aL zOB29UWL*)_&A(*YzY>$c$hu)BbN{*W?R_(YG0R_Krv&$11^UZN+`<E+xVrMbs|4pI zf>w|0@Sxadl?pH+=b;JN?Gd<^=H{j+O=gH)_DA`<P6bUY?+b5Th?>EJGN0B_ZDV1+ z?^w36%x@!Qh{$BO*F9$Sr#_P9k9f5uW(}%IONmN8_8h9VZf%`^el192(Iqq>s{<Dt zb^rFGTzq6Su4qgS;FoRLcHJvTUd72)-seo_rV7#a&+f%iF^AokR08}|)W=D3hw(?z z3;GQF86tcTEvfQXnf)^R?xIv*Uc=?Mct|4<Am)MRyzv&+60MT6W&4y0Gic8*#l9pl z9P~+`%vYrJ(`6E~Omu6}-fCjLy!8b6vVKZ!pY=>2<dbWkVZGpp|2VeG)?|^Y7W+2o z?W|QGDvm>nWzFW~mMDv{O2Qsa7o8%hIgsl0EsA4cH!W&c`;m^s(89KM$E**c;T??^ zWj>GpNpXxe=01!cxGwnbi`wUqjju~a!WD>GBcoPP@>NEF$p}$j|41VNoK3@K@vBBM zzc`Z~pjCS!UPizB2z{_rXiCNN7Vps>{00X9)@O=pyZ?Lo46X@nOtj)Hi4Zhk&Y8&m z{I+SP$25_phCBb3JRAv0#ddvJdb#jFILKlhZ9M@_yy(%}`sSaHxyJIoVd{g~)7CdK z9)1qF1ruW5IGeS~oJHSjB!tkiE{cPGB0hp09gf-6W-MGCNgRNYs9Sq8!##M!gPpeV zTA!~|YgtNu_Wccr_SQx6@xQsb@h(H#blXq_JK_*-6H^?1GpbE}Q&REL@RF`oy`+a; zG{SE!seDA7AXq2#&}MuVSUvjjj|^)suX_0|J+x~w0ez$6YsPVxwra-3EHh|~zhT_s zvkmJ8LObfge*P4O{57%gc5V3_AT&3W<zM25*I#0(1+g_E;AVJkFoCo1Xpn9*Z4uB# z6z1j@io12Yy@m9&ym4VRaDP(kN9e`t2tPcqjyj84Vd;hTeXUHTr5D-vJuP#3UC`1; zrzf65EUW#1u-MGaLv1Oz?`vBVUlu0V<!GxU&c)A%cnA@;m=<l<yC)X<5`H~}+5b{? z(4Gb-m@Q|v=k~7x1Uuif@L(pIi8Rf#h$mu`iN!pFBwPA85-q)g(A3sa>7qSxw6#>a zC<7hr58E4`VPDe^qyLk!F+?@C3Vh=yuaL2g8W<ZO*lt)myfG0Ze23rq?kbsl=|XnD z%iy-1G2iC@^7y1ZSJb}2XF2z7tbA`Pl#tAbeOH9|uv)X?IoaQpTWiPCCjQF5j-?)9 zMm|V@=j6I#KPX#{pIBo_X8G5Vl99>34i#uv-kcwMxgY1<%Pr;PUq@<<_rjZqK;)lu zmzTShcQ3b;lYbql_1+6_Pi5bnNh<gBdM|5hF8NX~c`hz)>LrcO9h2tETgRk?Je(1d zqhr!sFKxE>xJe$QM%2@uQo(y^HmyvaPU_RDScOVVNlapvFp}q;1VAOb41Ltad^T+# zxZPeag9S@pR4m@hF2kcs^;_c3$q%4LN@Y)ufaM_G^CSyI-(8lpU|dw}HL*EhrcMTv zf9g2Hun%Ev$Ixsqf|TR@aId6jcE2M(CxyOw%QnljbyRL+oFhA)xR_#b>xH<D*zp7N z*KuoNL^<|vulTzA0qj@c<23m?q(oMnh(yv(wNl)~x0(si7_jH7c}5XNTlbgLC^%Zk zUc8$Xfvh&|hmWf45R%AUB&*XD6Izd(P_oLSeAeoP&8;g^+sLT3T*Aq1S4OPLYP&LS zRnD+0XJ0k{J9o}WOt@-ZB6+9Q{Bvj${V7m+9u>}}LQx@&Qz|Pc#C7axb}H(8(KcOw zp}o9Sb>$cxONbNzZ(2XYe&6d05kW~d?Ukz~ll`#tCf0Ufh*Q4WCwj&S`;KZX|5nO! zCR$*3OVf&aOXHA@L<`^lPkGGXwl{Hrcz;O~sgR^J*C1CZ5nFU*_q&~XhmZDyGC5S< zAi^n`Jj4FO8zkWe$>BlC8K}?HP_#y-PtCZt?v4u$+g}Qon|0sghzhG3g4S|^SIKYs z9L2=pK=OA#ouB*+{hUEF+~U0IEwB0qr4yDdo#1R*bRlQak!a}MHQN$*qQ(LTHP-fa zLA;<5rH9e4#KNyEq!)3aKoTW0qFnJHP->9enc}YEI2t41->n|}p}LCACdzIB=O>WZ z@$gCF1Ja9#iOdfIg`T_@wLTQ1s2Rkz_piy<S{4tHiKl+N)7aMr3{?42M@S>7K3zD% z2)kNppX8ad(_nxF%%}K$n;o|&)4{?{!U?w8XXD$(ua7-DIu`vEdor8MTL+?F#@gO2 zfTZTEW8Rvxp6n+FA@l!O@;#<N61~kjxis$kP1eu8r%FOqW%7NE<im1Z-XG`Pc?<<0 zlm-*p@{pQ*4+7k8a2INNQeX&>{w@%!ty}&hexQ8$5voFxu<4Flv`tel)HZdd<7efi z<7fNFPYr0x?&BMav0Qp0t_{JqKfYUl6!!oE`FJEghsu@mHChO4H97LCf@V4=z<=;r zigH7FQ9T~YiuLhDr+(XiRu9+Na~^mmo&9;(Ibk4oNpYX?=rM@-x%M=}t~AF^s~B53 zK~zugFF8P2MlK-g>^X;P;LOp?ulzLAcNFtQGB}&~k{x_DGh#s5)(=Wf5pnO6?V85@ z9lu4(Zl6wFzfo!dfVrfy!DJZJ{xpx&ma9_-TT^egrdqEC^GJr&fmX{a5qgPMBr~4l ztu0pN1SGoBQ0nzoYgR?UL#k7u=jgsvW!*VWidMpztqf49HOuIZ1pLV>5Sj$CC~ACl zKuZay02Ezh?QEKW^Bn5}^&9z8)7_=q2S%u$YL+5Qj<e$vNNASJ<jOy*GSad9fV}Zf zu8d4(+^!z&JVrKqRwUILRK19&+JmYS5!oH|X@v9L3s@JX-xMDkc2%CUN-aMNueDr& z3=mR|8ml=g9`>NM8gPDiwQ8pt{Qj^9qt#_}zM`XYwqQ+C1zJsO`FbAiPK0>&gVI;S zP92aB=?A1P=cNchaIL!5tI8!r+YF$w9Z1Eu()Gm%Pz+!D`0EQ7T?ODO%V`BKU~GX< zaqjJ*wy`N$0;a(|#lFZv{{TH{Po0Z{@KzA*YVyU?{w+N6oTq=}%Zq2BA62t@zDvie ze67x}vY%ud@o7GvWTeh_Nzc}APY>GDA~^KFg#;N8ue0q*C6?+8nlhg66z8I|Kk6%( zR8pJTB$ega)A^uKp~A;n^J8551QT(5ac}!}g<Olzg(o`OOiw8m$^YEGm%L$$LXu$R z)Z${4I~Mb1Pp8zB`Otvc%CGRdThTavtwnUU1a;XrKtjjx-!)?=iWIHfZ@LU?j}h8# zjGgE=Ah6SV4{oB**QRbu-xh>bC)$nYrzZxqsh#YA^u(a`YX#m1TJ><o>-dsU@KYLx zr;bFtZ+f`BfuvTFS|eT-TNMg*TFVbGWVXZaJVbEJi2!i!<EWSkoJM30&46=KLubS4 zP)WqfF0rSV+Ge4_iB#e2=bN0C73f6{3rZwyKzK3=(}Y+#(CW4TUB~yr{g9oV`YM$( z-DtEt=HVr{LI<5o+3;rCLn!jQK>+X1K)3$XxpdDhqdQ)Y)78OrRZ#Y_tww#YHRM|A z;6g6>fQ-R<SVp9bn!F;mEl_Sh_!NJAZmKPqo>4SVL*^+(-<%c>cB$f4%b8sytHda) z&Gb#2FQ6fn0^wurkK6SX=A6hl5im!d7)kB1v>*LHgxnH_8&XPurW!Awa(l^x2sG1v zOHLqFN7@gKF?V)HBqCptjtCN*b8Qd|j<~w;x~vyNlx4RqJfCZ0p;cYXW0X}r25DUx z(V6PpIQ*a*E%lpxib`8BpW1r3EN%ge`diXNTcTD5o@lxR8`FnMWFCb4Fk|-B*qE0R z2UTmnkt(>t7FfI5PF`HTH?-FXAJ&@1DS~O8#HscZd8npskU_wkT}3?Y#AV`qelh{b z3nJRa4|QBaAp?f+)60)WL))TZ2i~!?WPdFv;kUb@&E5DjV?HUTtNVMRJx7m9CVOFV z_<e2K%i&{M{CRET!U8?~L2`%`{Vr%mTQ}0QYRs+^wN`aL_%2dAazyI&f<!@6z-M1K z#-1`J+-1GIWQ3M}iIH%<I%YjjR)4K!4y_HnOs8w{?SNl79h|gEBA`T~z^uXQ$b85@ z0|oQ6_}q!{!A!$ZoP(>N5A+T6nS+)^W?8<+%o51b-zf-swrLf~b8ckCTo~Hb0r@eX z7nKUh3tHw3X`(#utn5P`L1=-Pd0*wFm&v=JC-PLt`)cn!BJT=&Th*q#dpNtg+MWWo zuZhTf#I5>jYlr(3NL63jbKcDf-x5MXwChOXD*<!AzVyWTk~kz9?ra>YZ;&4XDQ48_ z+EAm~5$y<4B5KsaKZlwT4S^m=e;Sq9kx(wC@Fpub04~YK@3A^hqpLSW$e20g(R)#< zG1Mfxf23=xg!0QO_b(S}<#u?-r6y;w+6i;+VW<;LLO9&sS7Q=`$qe@_7@v7~5Wm5W zmD;f};pZCzq363!)%xZ$)z<}C`0%d9fzV#S!pH2xvoXURizeg!j2fA=aF>1882iRC zi8sQpHEb|*wNT_(S8uJ)9H^zSJ+!OqWUa3zS4-Unf?k|0*W-<|PTv(RhrwS`*O~hz zIYUAUzv=E!-?M|WCzhIXt_z;AqqP(mZ$SUc+t;$a+2sS<+a057x;yCB@xnTn%2~|) z60>?NRO8n6S=XbxIURyK^-cua4fF*@!`hy}QUK1aTKW(#aXVUU&glejcM4q`54Uma z)0VB^leX#Z^=9fY+SZM?xuw8)j^AjDJjJwt6~#?qp6-E~zZ<x|2iUtCu)ZhA6Og_K z8slyt=pG2-y8-2U0H3=7W7gEVJF@5oZPPvL&Gf|e;r$I&N|@fxj{b2t8BG3&4ogoM z57(k6JRSO1tZ0$ChDKH_IIGsWkgYgDP^Pz6#4&Ef1G~+X&gAY-`1D%ZGk;8nZ+(PO zEqR_m9eUeGY=K*YY=MvN;)`s718jk(<cCPTCu}gu8?{~+aAyEal7joZ?})3?R`_7W z(l}wJ5tH2wAQ;v+N7JbLxKQ>ih6tCl^EK#xjI=1L?OV?sTib*${z+vJ=60-*m6=DA za*wO9CymBziEYB@#tLrfm=w%@i+4;KC$Cw)L&v0Q@7G-KQ7;c|`2~JizQ%m2ACs=c zAg6T^_=y%$9V0iCktOwZ4<~MRaFa?g0P@BcL@xqAtfdTYo(#<oj<@a|BXwz;hFbTs zt}sVtgGFJi2#_$$K5NoA=a&;P-GhVIyq^-3jtD{kb4=(+ttOlN>qz~~djaTfFU7en z&P}c90W!v|DVRlA(?@H~4^TDw9`;nA=nl9LC6Tz@SQKk}!>_GF)9%*K=2eB?)KZ@W z9EB!~TknY$D<`lYkm9b$G|I~1_Vj>X`5qFZCq5;V&?SyE$+R|S{(+MtZq>ngZw%IU z4D*4+P9^aA*HIP=f21w@H>n`CB>-mfK~>vPzl^5VnpQ{*s!`6!VbC-_hqMV+Wsz0s zx2yb4_t1~}d`GRy(N<*umhiCDfr7*jQ$45>dd+ALwbBSoO<yaG6WA)bN?}%vVoi>R zliDU9k|9$|OK3B5jw0~6t<fdM>1TjrB4*nmzgd8_7@fo%T3aqsJM1~Q7&A*U3vydl zb2n%DIPNGFl)?;U_rfbU;RfhwZIfs>K|>s5im-X%pwiZ{dvINzYReaYb>Yo*d(=GV zG0!+n`xEd)Xc)AdHp-j60Vwa&H_5x(ED2VRb@Wf9_36iV8{w@DBVbRHB5)G5aD~C) zU%ri#Uw>khWXA_DYRHmolw+BInAX+7Nb3q<eLt^jQ{OXIOet7{AEs8Rpkj~Ke80SC z8}R|WaeLJF3{G)Lz=D7U`}3lkt@jb1hcjC9YErdL3k$i2Od5q^Ba?u)i?0E^^@XA1 z+NSxVj1cC5+DZ}dU>ALqo*&;Aeph+=*5Vz87RQ%Q{IENj?>YX9sLZ6!uwT=gPWqFd z6~YEj)a=wUr)8wvyyYM))0%IQ;_C|3eFyi?wN`;E;ULv-f&PI$YMY{kVvpS(YJ>kD z9TjR1cP+WfdI6gANlNq`-yc4qrPnYn(PO>1{Jqe7f08-Wez(QiA_-2&33o7WuVFG& z=88&<^_<mdy>NV=uH-9_YVkHLej=*H_hz1ip3Ncx&pa#jHYSMuh@he$5uA_e28f^{ zhX^FRt95Ug`wQr95P+<|hX4SOJkJAFj$X62;l55(74qB|+4}8ou;z+e2RNHv@*;*j zA=EqE!V191w7(}rPRAs5I+^J|mNbD!2BJg2GZK=S`@E#nV<yZwhZ9hcRE9nn_SYsT z5&HA|0IBL5E~h>Ktv$U$$#Pn?7<z~!t!+v%5%-zf$awrPowbFD4Q0GF72qYW>qMxX z8<O>)z`oWZ{yU_;_1XGb|7LxbExtRYI=s!w(5X)<vK|y~Q=)aE`YpbQJZ1pF4b(vP zKx4M@CjWSSI{WH8EDG*WSi8MkCf}q$Hk-J7%)Y*uEAh>2iK7E0q;NKyGw}LOuEZ7D z5_z%!sJYUH6wa3D8F>9DSHhPqv7Ur%2`Mc9oHrMEJzg{LO|r>9Dt>(6^^e(C=MPe1 z>C>|Qr%{Wx{VbF2{sbVC^WUBlaii+JS=FX1)hy8kaGlv#cp&hx5RUfD`r6b6bxqe+ zW=K&^%z(KkzD+@MX}f?}T+}6-ONwb!LDVr$3`4}$JR|Z{;%`=*gIF~4W{|mv%+8m% zW(u@@kBZ4#BC9OAQc9)`oot<Ob{_Mx+^Kq_(#$!>QJ`~b4$;5#=(XV70xpW9)#A^2 zXtXT-z{Q~uWW7yGiG(G7+w=GH;Bp0i=XL;X9TPoR!wgRhCcmm<x{e?*g4erm=hs~Z z=IDeU8#;{lKwV6$((}FpQts3NLyXXVWt3z6Id5#4HM7VFL0BnTxUKHzRD*=}xVB8W zhrDg8H0gQi#_@xm7CTG-bzEGVP{k;Spn;Jtj6f!?Fv9VXk;R|N+^p!cBb;CDgFcSu z;}Q(}Mqk%*1a9yu^sCP)<0nN&uY#vB+7OE<?61n=_ANzm>l=`!w-g)JH~9aWBE!0I zv|(LWocyJzyF|n9YRm5gjhMG}OYb<5Q}aqne3+M9F+pn{0_p261~>-E!}M9|zK&wf zOyyx}Iygp16`^pD1pAvz?(UtEz%ARfIWXr(obz*m3aYWSmn}P|o6l?ce=-cG&2ij8 z;$6OpQW#c@=U9oD_CgdfN>guR`FS+5VtfLwV0AF{W`VX&E}z4nOP-gDUwB;*9VG~Y z;cbagL`4q2oXkjo0^bU;aYUH9yAE!EocKtwWz%On*KW?KrkNUUSM{?8pk&;x{yg@5 z0@8M*EWKVyvO#hPtWl;$G<TLlJk6>yySnI!R&qK`eJ9a}{Xk2J3Ku&#qlrCe8#klp zJ)c&viMbhF8%em@#@q1u_FnRU#E-;loKns(w2c#ey3bMSVUJNG2kkW&{%z9pqv(XM zSmh<%h;i;FUH)8)KzlQ%(`Mdp<b79EtJ)O}bwb}RsRb6sO-_$~jzW33joT;B%JijU zqT$1fFNlWz91S1T?w`r38{_o~?SU!0aefiSic+WN{-l??0e{33D;m!Nj>Z|*L~a|` z1Q}mD<9k_Kex-m>cCgB)6(h@x>i@p%DBGO737f5taMt5z1(R>E$F9k*HNw;K8+VVN zIIa=l#UAmVuV!q~7X0CpL(fkfAt2+nC4}0#jnYRFubJbkg2~-{yP3&ZH!GjdyBfAh zCaw7p%^-Og2mfxI+`NB}jb}bDi`N*p>lK(<Ppr`H|By^X?aq8cxf2#jOC<F;l~{CN z6<`(*cO~D9bwq+PWihM1G;;vxu2%E~NUIvODj<IvS_SW9fg#|&3x+bR7?Y$kN!JEd zJj}m_!L|bh?9=>+aD><=S;(|Mp#)U@zcF>T|49H5xXXcTN2FT1W~RppQ)B`EGj$Nr zo+pd`u0#TKdxmHNN#iqOw>>SJob%szl+yOpBIjQ*pHKA^X%9RMs<amsnYc%+&{CoX z`PcnT``hjMYT4)!p>pcwZ7%v9D;KKG0AB|^_OGFl*R5|7^G$BBHRU@qn$Wx{=<*Yu zX|_>Ob5=5=ZNmTDrs?^5Xa_3g(5ia*4&I~TR~lb1!Y?=OfRGDTVPf7qg4*Nu><W~k zt=BWfU}IbcY-%+^Tf*-)J_a|S7@hpY=i|0c{?>%J7OcwW4=NzhaNCj>DBw_FyAgUW z^W3U1->033YtxPnbgM;t;AHVnmF#YbJ0Nb6q0x$YvO+b*G3y^Af>6w`Own?2qvcHz zzMuzV7CX*{Nc%Y+3)|u-f~0oHc_o+aCbeevjc~DF#V@F}TkyNbvWgUQD@cC8W<trO zt8VY0`-H7y*SZrXE)IoViz;-k?BK0Z0wWT6^VP&~bNrMd?0c=3F&i@N`XH=3_E=3b zZa?k{CWi4BM!|kG3KHYAO<&YDUBIT9Ej#DV{7}Z)CuD9Wlwq>o(N?CV0d3PeB7ihP zN5cCSBfP6C!d&=sO;Za|^Pny}QY=PRpXtuSb;=#ggU(bcKSDzP@|9fdq20;Xh@-ky zFU(sqTsYu<UI7GTHVKVKFfS1>JM>aDDXBKbjna(RFS|b+%%7n%N9fEOM(9mf+9FyB z*GzYfY%y))B%i>L66=U<!)&?q)d*Y$o$2p-<N{Y`wNUlttvN;qq=~j^3dI^q>Sbe? z*4J6;uOqL}ocnuD_HoJN-ih-s=2^k{*NRtEpCzjuvG1u?7W^>Vnx*G?ZExp??;Y1L z!MdhQ;Rg>yUelHps&)w|2XS%OzNX9^e`7Fxx6it#Eb*#+&p7lMf>Is>vZsWhW?Iur zGwr!uZ(mo$exBjNj29)-8BY|E)d}{}x2^6hnIBLdW`W!n+-KqP4<M`RQn!p$^LCD7 zmdZmac0+!(J5}JYqf)hMc1%=H_ht%<hS<RUmG}pus)#rl|Nh*4k>ZQ?=v-yU31Byg z?wcueT(vL<W{aWcd}6Oc7WvyQ003_&O}*7>3pc&K#+(zWPQBa2CwSoFI^wu!X*B1w z$J3Wa5CZ$L7aYsYa^bhdd(Har%0m_M9}X5`ZG8pAlIh84ghZ+xeuZ}z-M0wMu7Z}W z$)lgm14CUUcZkFr(sqJ4B)1o8o6ff<`NN0nYYOm6TZswG8;MQUq|uo_4H_S}_zHEY zm*qD_zJ~{U#w&OH*%F_CAO(y_?xZMfaNoUsl&UunK798YpmFN@@N@Me^n%H)`q;@& zW&XK*dkoW_Dyvs}K+b12DlWofR&V21!!I>{#Y|5#QJB53A6~RgXG?5j0eGvG955kT zeKF4Kw}kVh=BcoQX3iEz_Zz8jO4?{W4wclQLuUX>^*TX?EEgERlx%sSHfPU=C;Je; zU+NaJKdP)QYF%QcO&{22@mH=%`-hudJsc4r5GLOL3Z;s|FD>2!HQe|~)3+`Ab<n3L z$(cDoXST<zZQ!vEw@!9Btx3mpI~LH#ngKE642IgBf9gJotu5~`zpY4-dz0j)kBV~C z;l#O#!S{<<Ix3LQd(<Ot{zQ|o-syf*HY*iI5*JYwi1rMQK>z$%Cq(nP7SGwbb)w21 z8nf5R;W$N5Fb8T2dexlJa9)N&5Q`Hgq5QIxUjMP_$r6CVU0QR3;{~%=ypp~_UL$r} zyBv~iIy6Cs3WUYwWOWjMIVn5Q;Ivem5uu>7iirn&t*vpsaBRLqRnif;8O^OsPq>xa z!B*){jlCG^p^1J1Pm@rnIH27xZWD;c0yZ4!Yc=qBbN?bz<T!npr=Yd$X}TTRb4~yF z;bh6xBh+eG_^j)J#luP18s6GC!l=06EUkG0g>|uj1H!Pe#TQe<vx3Ed?>LqO+QwET zgiwR>5amCp;3(b@TD~m3Vl=4X55|`3CMj$Q63Ai7VdCXtMdew7NM&BUS(^HRzyg!u zp-_fxT3-Xig%01RE$;&m)Jo0ii`nt5*>iF<=Op2i{Cwn`G_wcfIqHD?Tj%4>x>pD9 zXE`77h^5ZQ?=!>R`8dC{{D>TRMfl?>5*&>4v95^r{Vg1w;AB_@?~|7WkZ?S2^Qr<u zT^rO|4oNx%F4s2kUl=N7PQK!9<r|^5a4H3Rn^}L`2)(UafAN02#h38$MvltqMbwj+ z(sYfSmDl#4m6htO6uy<LjeE1&B9j9GcTYrUPt6{HVmK3WGbs8c-c?r))N9p&`UC{c z|KLE~p)D7)F8AL!FmmUWiV^os+UG6;S@3}pw6IRD_??&Y8*|97A_(O`oK(y+BD9Zb z-4JoFBm*Gn9l7cNj@{l~s@n}itKHA@O?Iz)HBA9_u9!Zl^DxJsM=p@n(q_X~s2k2D zvd?Y|Am6|`#k_5cN1QefeVp`gO@KR*0Hc>~*ef657px;Q?d7m)0#<!tqP%;VWJ9bk zoFN$KVB2#IdugZqO0|ta5YD%)%rSV@2ya_(C|jf0nWl}QWmb*fs>cb1a)<qoMHU#@ zYcigmFf?k{!T9P<jK?TXc1tPz0<^~w_9|-;;fte`ZSBR%XlR)(6m|UQN$g+moPZhm zX#Ov*d)~b5h>T1!jr(F%`nQ5pbQ`Ajr^%Y?`Mj?EYcwE-82otwz0}hcr`;^<8w>4w zMk~Ww)<+JB!WQxg6Ml$&U7;D;2BKQSaGlQgPWGj%OVI(qLZ*4Nf;Osc5y!&T9#kBh zcaK0pZ0?`y{^1YoC+i<aTa9Df9t8~sGj4x}2xXArw^9kSpe#u;bNlg8$|*`6IDl>d z2L8LnY{~58$oWs{V65$}A+gZbnD5=G>2X)a(ks=-Q!7Q<<+JtCp6ZRS9aUlLTCONe zugt0uUQ<X8ZQ1+u0p&JpZ>~b91oYsjvm@rix6_2LR;7RG&1Sr$$l3YsNzR>k$rxXc zwO41cn17?B*x4ZIsb5N~r{sH)uSXwCHu)O#a+WyXCljLmRL^W}`2ra!G{BhX*oKlK zYcGBYK(tnyQQpgGdpkMHccywS)>aNDW2)zBZRK%#$`mm1?uWdF>kGA(N$ddkGJYZX zj`7IR{{sD@ks;x!p{tPHJ)`ubUq(|pt7z<Wu#3FFK0>LKiR7WwW6TM3xN8ROXLAn3 z1iJXxiVp-|?5g_|w%p$S+X~Yy)n3L07l{k!0$~)#+7pX(OH{Bqu>EjP*7%aIqz>dG zV!8muu6%ukFY`=)e?>ie06u7}w7U&$xH0HwCvXG=`G+iVUP-Y~jX|w>JuA=IWZt%0 zpuXv;3l-m2YgtV?4)9URUGWGXIBvyP80zRxdx2EC+kjLdc)B^i*$XK$p?xz=;YUN8 zy4}33)x!`*ewkfe2!@W@Cd{mDp=~P8V0mY#lkKFfd`L<z?cGFO+5<o52YFHlu1@s~ zZ#)O}Z&pcG?}63wC4J2Zz8>G*f@iZRnzP$Xn}IRu0U-}LJY-;yhe0O3ROrF(w*2HL z>0%8oI3$*8wxPx+T!UZmd%RxSiTnvI-Hms}x!@ZZiadD>y<y$af5@i~AxNcNI{F?) z`CbEqwq1>WtAiAw1+nr)$di0IT^U4)hXZ`^_>^;*9!7!@?-i1Ee5&tiT}_L&@@g72 z($mmPdcD=XT>6vNgS1CUZ~arPUeRe%G`S`9Ix)%zm6sEl@<CNzHk^KZPvk#2p%lcj z|5<`BKT$#FWeMDRl2d(`HBL_TEm_i$>Nqd;b}J&9(^f!h)G2hC_P}FOU8*gjcl9bS zd-@Y))RXGPd2H2ow}r2?tiImu<@9<nPkvav?yWpi?N?&`Ow&8unfzq_^%+1PC&_fJ zS@a{a5OpPMnT05!iv*}ze#vK6D;uU~@UmztKTG~ImnOSk{^t7ZUHo^}M@tL+;H?ou zdx44eND8I_<lyj;X;4d4yJ`@$36|$4wnhr}Z(#LKgK@Kvv-n~=0*nJNsrJvOPE4)S zva{GDv$!quIBk4MTloWN!vpyx|3aNvaQ|Ko+|Sh>Q2P>ackiK{f&DDAc6^U)MV7sP z?rtZKyGa(JADpuIz=J1NL=Cg$0x}9rRmfPElz3q2o=<8v|N1NG8UTW06<?cDL1Zqx zg+508s{~XU&*ATqC2#TNJOzlaNXuEs5hqNko{+Y(U0w#@;Sc;2dIgu*N=S_-Il)DA z<V~;>VrjugXz397G>2-dtY;0_bi%va6yZ;@q&r#&s`)eTdN<q&tyyf2BI~{^^Rd31 zcRaA@U<1E>Gx6At>7hN&z2J4LE$zPoq;vRUPOoiUCs3zpA~QCUJ_Z_U$C-i<>8yeX zVpFeQofrbelbngEaLbY8xtrc+exUfPde)1uG1WIpo7xe64FyB(0l|RiSX%^8<=z1n zlFoaF0D}{Jgfv<P##=Q=sb;gjAwn7KpyVFVyX1>TczfdyKmo`1gENr2X6$k%ll8?# zUb^Ax@$Oh!A2`4JB8jo|B|V!|U0!DK5)JLpMKU@?CH87*&jXj>0{~XW1qxkK0y(O! z{5*L?<7MSVysXL;TQdW`9jf#0SEaa84ADb~tWRP#jD1xU$sJ<d{Xhk5?c@7lWdKjF zs4hdHX;mGD^-5dc#WHtDx|MjF8xKWZDDN;rFVIV**zHOi1pYGd8pB<R3lYaP%xdPs zV^s+AB5QnUDs~0>A&Rq+Wm_Pr;<9fLhsFMxQud14rBVCKbyd;ObJ5US_zy`e(9(ir zV1WpV<BFX*TNfR13pKFRW)uNmTX3=HzqyT$5q`a4j-D<YHSldA0sgp5{m=Lf_Vh7& z+Bg^g9EIm0T%Jap;#^w`4`qIjgh$iu^FywveO_t^^E3{#>%2EkDudqOMC@?Y^&&^_ z59)id@EcF>qITa+ED=MX`;Bje-G(AHzRbRU`1srH{o>G|_A<X4L?7hneL>NzjVU^n zar>?cgv*bpr9lJ7oTCS!t|L6hLD2c*1%P%7DpG#*N5mOe^H+p=XM`2;aL>YXQP)PF z&#n$+HMC%t)Mb=|`S^IqqlH&i*<Xy=i%VnSkLxamMHJ;em1)_M7?GK|N*G34k~etE zwSVE!SZXW!aFnXsVLz(6BzM7Ia31uxr=inrRTFoh75#^fx?}9J)14zyd;k344oeh9 z(s-R*cnNLOef5LpN5`yZbKe#K3r&ol5a_*iW6-w2UX?7vGvCtI4W)x~u{;N!jxRhK z4<8~}IXOjH=Dx+M2q2`TWDBBk6crNJOi#zk!YC2Yfbc@a01IFl8q-(mIM9b`jN0;p zU`b_aMth1Lv?qHtc%{?VcgC#0NFg&lnQI;tu_L!d<$2x9pKa00uY#+S7noFe8zrv- zp-IJKCyhydrhj_1<>KU6d4(sE%NQR7&&*;`qJUvicO<(U+I`<46Ce*7ot_2r{R`h4 zRLN(glIi@(!L#TxG8y7GPc4{QtD^q3a;Nb@<@r;Dsnb$>LDwo{cK%_aDOmEK21}CH z{T*5R^(k1pEC|<_!0s9{IIH#umkMQUt>yOssLoj;EI&MmtDx<e&NK)82;>Pi1w7@I z<EgBHun54{56CW-HB)$6yOCMT^i^<oYy#+?j@$DUr&QQ~#F5+@3!l<b&rk!5|G3pH zcuHJHL`VVu?yIt1&Rl8OQ~k!+DgG$Y;NbGg-qP*+mA-T8IluE#cOQ!NfyjzG3a!a# z9&JVLczn?Uf+rOc#?LPS#s1M_gIq0JE&RcP--_g;C11uRp*5R(7{Zw~$0P#xQM#hI z_B?~qC8r+YJ>!WWA@IlWNJwi<QwsgGShrF*s;0qqWERBlvGQ#3Q%b2p{*V`(CgIbz zu)E!#yclUQmU!KX^K8>!Fg1XM=GdwJ71f2}w!%VZ6fqKNrghLBeTmsjjYtc<p<UNK znHH`0lkbXFWi0%1-B7Gp{fT2HhS*-QMMJwIDuo(`NRG|?(U$F@SN8S(g6hE7YQKf^ zX0OJ&-^x|LqUBXq<$JP92%!5{$xL6`PC#XutZq-qoSV$|k#QYfI19^D(Z$r7aS(*` zuov@|2+H23xKN7Z*$V=-sXzqgt2MtU0f!|LM26!^^3p&PD?$3`q+{Ak5VE|G#IapF zLw>35SMU$8S-;s~s@2<raPD!RF%IhnVF$#)W&)%!;ZMjlHz@8LjVgOeQ5E(y&WmVI z2)V#z_B8H-0PnW}d`!qumK*1DtN0;qGtf%*z=}oBK^BWIu6f{pfNq?nz?d6gzexx! z_YunFc0}g)0=Ta`FYNbZFmi9peRE#|XPDT@Z^-fc<DsLbIHE$G$V~MN)gF>ZAw+x| z4j3qjD=qbmr5BlS5#|bDrk5%HY5IC5=X!>!`|Ufh*{FusqoNC@m7pDN-u-kd3d;kr zE_8<;%EZ$V;BlW3dI>#StwsFB;{C#7rEWo}nEH5__Q3U|-X05_vgZcuMS*nUOVDJa zLeIe#Bp_s>AaspbN+(9?p_Qh<KxkzUc|?;51d0u$xZ!~V=yx@#JPROLUVp#U6?CMu z+GTnke@&(*c~}3`h@)~KVeA67QLlF&>4%>4yx+e0MOpa45XJ+ZcYO0l=YS`PQl1An zTirI=lHKxUd$PY^VgRESP=Wgl(+>)B-{UJY+l)WEK4w)A8M7K>a@kkzPgz!N9U|Iw zBM{JUPmUBLZc3-g4M((1+ce7lc7P*UB&(<%q8t<2?mX}+45&*>tvdoP4sF2M5uwl7 zQP?{_2E5As4gP<XwbkSQi(hLc01y<rjUG5(crhyoz(4%!B-qPy820;MR>823lPbuN zc?Un@z70<~V$UMz^+ghK#)GdlQDG@D;Wb-v2qe*9#rfIX{{2hb)h(!>39%guf2gHe zSUyg5MAtEkU^<fu*Z7mD2SeuBXyu9_@$n&`Np|YzP;0Pn3t&`^kafkxLhIXs#7Hx> zgsAGxTLKavwmYsFA8^0{nXlFTA#S~$xm~Tem=vFSOKphe=cx^h8LwRhkrQWrPWRt0 zF)0F!#hg=#aO%z)!T#0sRR(U#(>o~`13iw1-&HzW+A?u)!zjp9Bbn6s4aas4dui>{ zjObbunK~L2+)i0$6H_TVE&6>}aLEB;E3Z0w>REQu6i$~aKYc94TWO(Co8F24(Gd=o zXuw!8r_h?j%6h~6p?H(2krU)0t~lF~Mi1{)WfY@V@RAszJ~6Q451aU_jN#_jOr2oI zxA7?Cf`S*pn^<RYE+<c7oSIeX7H`L=Wyd1~^TQ_@dxPJ%ckH#iW^HB&ow@|YCphXi z1fmF^e7n$<otPdoDYVzRHUO`iaqnc~-WU)Dc*{#zEjPu~c1@fmTeY8_Yeos}9;T$9 z-T<FgbJr4B`d-Ts0VHq<BBcnd-@+z-qgXVqU2DEX)+_w}Le!UTMBwmhB82_}i2oWa zYzA<9&FBP%Y>{AgzqVO5qm%Dtb!h6g&=yyfUZ?ILcp&@!>%XvHJ;khuFHz)e2zLm( zSFNuod&tfqq*bXsEf}}WqB!Gs-pGKQe@rg0dW|njLKzA^LHK}QlsE<UbU#dMKQMB$ zx5T1sJJ+yh`gz{U#+jD|i4eL33Pc3+mtw&JU<4&|nIu#=Z_%0@8Wl=IS5F=CYt1K_ zMF}JUX$N~7m;z*)s-O^%1f@39Gka2N7}sWL37rTmDf-KUXKk5qhXCbR`a1x?H`lvM zbMVZjghF6L3cp^=_Y4LBo5KiUF{D)TP{%W1mz<cUJ+PlrM!~fKuCoTcVADc<u9#G~ z=qw$84$%7I0)b-G;Fg_3i?9RyiL>med}$oQ7t!AW!c$w!7?%JKF=);8P~w!SJLJAb z*U`dY$x04+N8RVZds(CfLYgiD`cwSrhc7@xON|!nn!OKXq2=>~p(RTo)D(&M3Sd#c zft8{pv`o9`Th(>AFVJ@FDy6S7nYlotoHJ!r-KTW8lMJI!!b?Q*U~Bl3P)RN{(Q}KA znPD7<9bQ<hMmjuGv`UC1`7Tt(%iMLsdlp_w&brT=;k}DKL)xNG;b(+d7F{!(tgHdd z*=NkA`|pfm6|<jeFVe?e?@t{(pch=PzDTSP;P+N6!?|F0jm3FhSFf)t)$?`j0dfCr zz*W+pxRBM^5af@(;dAmAo@J^hqHEK-^xp^3(t(Mv0~=S4?NFE4wfS~LJ*H{2d~Y-a zi=Q|c!a>DkbB`Y00k=SlcjABwFQI^f)z;P1)r+rGJ+#eWDXnP0O)_QRmge(WB=CxN z=Be<JRhH|nmeY4SNAGJX&lZ?5Zl?r@UTYr9@dXu!?+D6YBxl*$O1v@R27SN#PA}i) zRMyAs-!(B14>=oKz<KPwIG)66bbDDVYs7C;O9@RQtSUsp5fIwcvh~kB`|Pv&rXXei zG?YKbU$?qs`?tA6oR3}-AyKfO{)bc2Q$C1)hYBq1DR~RhJd7BIn4!&(s~6d;L@w6d z4t=*?It7BRP91~_**NnoNRg+<E59NTTYANdp1mN#eatavckGHsDT-&=o{P)d5P8(o z2PD*si(=_VFOpAUkIKHs(m3&TU3h2-5#@TFK<Gn7GxJO&Kk4QxMMHahb&>XHn_ls3 zqI_)i7<}0FAWbP(L!|Z#v$dZaOaJjo0WVcM%o~N@1oPpYxJ9H{rg9gT7%tid1U!n$ zebS5*FQ-OZF2-)cvaik}$UVmeBgF#tb?p95InF#@Nre&Wa^BwQu`enn!!D6sZCFzR z?mpJvz^Zp*dd4S$I&Sv5PAZr@*ou{f(2m$f?9n+{LeJpKS*fgTClQ-r_5KX$(eNGt zLZFTfA`n*~b$TZ#Xv$9dJ%pOYrh~932d#HtVljz=!}lQ+WHUS|K=Fk9@oXPf3O`Er z(aPWQg5njd)Pt>p+yuo^66h5~D^21b_Knj{cGZA*XZKJyt(Q8N(vXL=eeDLUJ2%8- zjvmkAK$zyoqQ)3|4Tpqxv&>xyq~FxuuA;&jQje}k5a%`YI4I1yAY|a3bZQ59e^#OU zCU*t>4;TLab5X29x_Y9%P91?6^GfgaP#3cb$I%BRxtr+Y)()&Fv1wt~cX=k2{ODvE z;Wy&4X%~Ck*Vfe=+R;DH90CDXoNnl$e=!AwLjNKZxm(O&lmo1O{U#M88yBSIZ_F$| zBF<u7p8jMRQwg2QeY^n{UqG%xC%=-2dTzr;W==w+Ck{iA>+1`k@I*KMm@^vvE@<~% zBJLk=gl{dmG&!Dv%G8C@Nepb8s5Vc{3qJR0U_h=r$ls9xGxyTW7NpjDz4Ki9A=fKU z_gx%%;L;7x9CP8|nD&Mh)VX2KZFeLs9ns+)r@>X-yL6E2ABC0nI6r+KL1nA(AA`a` zE|uL;CcW4!I>#`x*Ow)sxSxEEjgy{QN}{u$8O*evsSoDS?{nCIS^7Okyo>fu`ctP~ zL&CW9o!xZIwC|Jtnb!R!a*<H@Pr9D#a7J5YpTmjjms`>rm7~|$;K&G)Z;7p;SL%em z{!XbTjSqM;{l}8k{BX{Ze%iC@&GcF8X%QmVpaOLj;6YnrB@W5LtiaY4y&s0u;ElaZ zTYH||bzTQFo-FiARY)mnnIO;1r*rfkw|{hJGGI*+KxWI;OIPJit!>=toKXEu5JZ#& z5AHFS8JDl%f%#@P)TY)eLy5-U$L-atsUH=7ZC%qNywzgmuyO>j`AFQ}Aa@zrlo9de zCQ2-*#W&>TBh)HCqHkcrk+{Dq<1uA;>b#hwZ5pE);a9blQZH<Hu0+4#O$hDg$GoHh ztyvf=u{oPLd}HYuPeUN>&RnSA%f3APF2bxf>qBIX9Q%Rr=7uRP+wXqczC7a!hyX18 z>wp49spHwyii$F1P8B)}s6WeMpAkbb3-3m_D}j5^*P_-wj&CH+`LS@X*1Vh<G}2%5 zxf2-F867)U`h)=Vv_7rN^$GZ$Fj5$x&6lWE!1kMopWys~*dt0)iC-1Y&($w47K#`p zR@grfeGv=K_&#JVmionok19CfCSbbP!Vp-OHl*epnR~iUnCbgRDSM(hJM9?{&9|-{ zV_jQ>Hr)=b`4x)E*@MX^I-tsep36!H=JeV_n<Igf$&uyV@*R8phqmHdaYsaZv?F{x z@g)fgmL8{?LdhA@M1q86n>;3-?FHZmnwAEyg}Iwm@Bq`a9i(&UM0rcn3^VGXv*iTt zm{=_RPYmOQpQ?8(yXke*7@|E;#$JZ@kFdz_q|f4y;d9@E@Db;h!ju!tPz``+D;86M z_|X&pf9YzDddGk#H?1AhWz>6K^oQO{bqq=Mji?)9ggcY_^z=k5N8XQGhcW2ujLkU# zG5wK0<fK}Mq<Y8%EtbUJma=YNx`w(5FIbd1SRmfm#+q~3a&%^b&zjdfU-1)Ats$|3 z#0sDFo95M&aFcXY+vu;rt^?6k;<bKzW5JiG<h((MIP$R^VC^&4QY^x<6U$mY^pMoZ z>W-Av9ki@1;wVV5y2Q5aq0MTAA&7?Waz!AG%A^M)+1f<k#te0KG#3bAC3KqmsLD35 zTG<87u9|?UnSS&<X;wPg)yqnwuF>BoYkH9#zkj|pWsLg+=u9>LVA5?=tztZwS-<FU z+*!5C7{rxmHoQUBZ*$aoVIY8lC&oI{YctG9F2D~rNd<y;_wr&-93vFvTwd|AhAozQ z5t@|4yvCjw6w7j6Z{l`&ly7aK<)e`>*R+-A8vOd9mJ+LQ=0Qru?S*CP9)i+;UUYn8 zfEw$iMm36s^J1vE!FSZwj?TyH+TKTe#4=f8+7mkMVKF<g6`C5I`xlrc(>~9%{@_rO z+YmQ)P};LVw3+4(&WR<y+0NrjnK)~!#RW_Ru0mfYKW-SfU$I&%R0aQUaUgQ%f%pTH z8Swg$p2Fp~hv5ZDLgK#N7Z4=;`blTTe{gi(2R~;PS2pFtN3=j2QtcJa6BmhD`_rhc zgX$aT?eMrYr_2@Y5!^bF{bA`a_S7X6F>3;RmbMr(jZzK!Hp-uXQeq`s!iFW}b1t9m z^C$qp$BSQ=!xL7tnx-Mk2+A2x&nu~?i|SyLN+L}9kRNbJ!_8FOpEXpI8=sw&5H`wR z2wsk;@skIoMvB!ZFXp_r-dEwCdYvmsS0li=d?GYH>8~r%$J4om`%v~NpsP(4OOjne z`%PF;l-ZW6Uo5>dKN`?Ckn@qXoD4_;X}mCg;Exx0Z317`<e*#3zUsdpgK-tU5alS& zE18UlfJV!uOyEYL-Mo(9qNXD839nZp<!mUkTAK><n>f-_r@oThtuFmoBH*#}0EQ`_ zkoy<s1L6UnJ|1EF;!hHzx?-cu@~59qom!GSn0mb_wLO1@S&>muQ#povook@Dn9&D+ zCmf17Wz2K~1z^1Way<_`JGJs~KLmlr?4eLBMFI%*roHA7_1SfPg=H=9z-X19{%hol zX;)%k!rC*pUy0f0ag!IgmQ_gn10R)p!XYYExu15O7c1});?>Z+g|?IjVtZKJdaKI1 zb!)NvdqJR#FUNmHcd3c?|LfnYynm9vLkFrkV|4Km!b2T39iFL1hhE`*GrdQR_n0dW z;q#&^_E+@dKz;1-|M&VzktqWPiIO6_T<9X+8<2z|m<Ymu`<D2t9gPn57!I#VMX)_* z+IRbfUu)l1tYc0P>zJelgb3*$bo-N0VS<T=hQqpVFZ>?#f9yP19ZSA!6hv?mySw3w zF=X)JQ;W{Rtgyouw{F^!XWdP8(lQ4r04&WzbOf1z(#?9x^(8t5R5Sk}{3H0^m?jBR zPWo*RN2#ZZELeJO%Y15;IQ<R7pfD@YW`j;MC*Ybg)e66<HPEuNBQi!!Y)3@kJTK8D znfmhwBs(#@WZDPzn<xV=T}^J4uG&v8U4O=Jh0>&)cr%%0W)<;E?YsUDYwrRdRe9(C zXGnlSqi0mC(WYf+(>5u#O{#4(hSoV`22NmtL8!({EiINsVJ+$mpg;&tqMRNEW3^rX zy}JFmty|q{TUYT)!Y!y(15^aDiuW1D3u;RO3i-W1&zVWUc7MD3dj0cK=3JihT))rv z`QE>b>w+K}xQRu0fwL0SU;0(tiF+G;z<_*Z9UGC*>L;WhsQL<WQKz1Eyl?RV490<M zt@*~!x6&I|DYCDak2FzILlF;orcO1JCL7nHUei$(<WhaqpOa|<KfITn!F~tngFW8M z#&zw@bi|51_7%F8@w!wLRM6Y#gJxq?ANMvw)POaO{2=4CbFJ@3`rj|n_pZM0ZCs*q zN5>}ZZLHNpURIl5(`y6aL;R$fU&Z@=JQ*iXVDBV<hOSf0KmGMycbhhmxw_rVo1Wb< zviR&SB+>fQV&w+Uq$g$*4b^`>DIlw<y{=ol)*8BvkF^?2cuk=PEWR|3)<3yNb!0}q zb)0^Vn@gJ%Kl@|COH+w<eVqXS_qy9u%>BU~erdvop^E!SpSe4(=ac56(~eP*>$?3S z2?93r`99sbKiFb^ezM2B`$X7${(}<J*m09+jPG{(MFvcfk≦opV2KJ`egOZ$<J) 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 z%0D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%0D11?lGzkbP5Z4c%e6N4%_ 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�VHH{&gC^$85^`e3ksq>rbRl@y>E@6I@;8t(1q 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 literal 0 HcmV?d00001 diff --git a/examples/SimpleFreeType/freetype6-x86.dll b/examples/SimpleFreeType/freetype6-x86.dll new file mode 100644 index 0000000000000000000000000000000000000000..e35edc6bb07a741798aef2b642c13005b8b8ffde GIT binary patch literal 522240 zcmeFadwf*Y)i*wulVpIAGsuXePGQtjn@FmOq%|W^b0b8EFv%p7K)Bh`G+YWu&Tvr( zNhhP(91f(dPoLVyUY=H4->0_F>cd4XWD>{#R!vBi5L#|lIl~B|*dzpG-tXFHCIl~i z+t06m{_^=u&N=(+z4qE`ueJ8tYp=b}!?RlqW`n^X;1`P-3_Ee9zg+(RAOCB>>(LWl z9&LDO#Ot^2G?u)6YkBRWI@gMo%fG$yk?**^`N*<m%VpO$zU5l!U*=l0%vCtk>-x^} zh2OgCy6Z+tanPPA21AL_VwivDrlLe`Ck&%+A7wOU8w!&RhL2MW1{2=c;=ct*GvqGe z&qyb{jrh@(|9LF@;kJDi-Y$c|rI)1w1OtEkaw5fW;1+ta82&~CuvrWz#?kYq{xU2E z`KC{${Tm+dlE1Y^2AskIw1*I)whlEyuV8_}u;8wRkI0YU@jT&3ZKpiNM1!k;xdub) zT`TpB8C9Uh3cR0<YsqKw<=*v;x;iS^$^U`2pYzv1@V=$P<1_-T3{GVH)wTI^(Ghno z((`c|f|eY=w$J1PeswFq2@ssdptZq)hmOz7_pPPNk&)9Jv^U(0e8)bMFCVG@|KGoX z0u}7tN}o6IzExRo4aAIM({BKjt&;?0u1$H^!sbX8W|g$(a*_?K1KB9gQ*D{8!9MY+ z)?k}lt=wSfoVp}<NS>m6$%eb=buGjH0#U);z49i-9Bh>@#5(odJh3jS%6Ax;UDEdF zCL1yjF%Bp!NYpCrS)>JHep>>(zbLbh=RdE0>*MNq^XIl%4fKrs4T=1}<e0R|OT$Pp z7=B6UXqSMw_5}V#?uf-=Ejp6wDuep!S18jzfnR1!y93y;`w4skKLII`<$$Q&jJvSG z3Rsz~k@-kbw-ewv{EC+e3-)f{ea9{;uS~J9a?rFy5||)qzkM*-a3C;Xys5QaFIKT@ zDF4fe{3Xa=uIFD*`P+vP82vXl(vRlF(@;-LmR#CX$Qan`Y!AF|r)T_9wG;6)r4RrM zB_T2s2_OZ!->%G&oUuBq_5zZ^1=Jc`xIPM#<^e26b-SL|it=`)%DUJ9s7|l82t~ZO z%~)*2|19kxUQKFsI~YrmC0nphStr?drUHsQKk&Y#*07>zNu_o@va$BSUR&_!PUtFw zT;N%3T5RxYH_;2Hq@8?#nqXx`!eRrZ8!3IBmDStAMNkYtu*jZqeeRNQkwd@*kTP4r z8SO2g!D5^CeO}xKzPm-|hj6aYIR@Ettta@!@-Z%`fM|p!IXs@2$3iq4M&1^@5C9@6 zknNIFc2*iv8roX`h(@Gvu7yYgcuD+XqgI4-9ot7H;o>x7*vf3Z1{eSn4JkG8#^)^! z+;0Ox3`D9|=uW;Fc|fPwBwwIi(B8ucsf;B$9r8!2s^_)05M9?vHq8!ZW9=XxsYm%% z6sh!T(;uMDLbF+id_4r#t9=RCkiyOrag-FK0cE`bHoXCMYJf*uk;oW*s|7q^LEDLZ z<48L=Jlb1#LNlOWUcbWO1@>A%?@zZ+0iy;Ft+A@#H8dCuUnZlXeJ9<fb@GS)p7xfj zdC203=b_u-c{ttISoF6wE&V--;x#Q5Tw^&wunh24iIfFuWQ$FIMI+o7#iqA#4fe6~ zV)G5?k<9(U17fp4cLTu~vAx)=AxGmC;eQPVar5sfcTC)T6j%09<0-;}T@ZJKLQz{N zVq<TKTQzZOm$<cE%`%BwUvqcVB{zo1=wKhQ^Pv;A&>5R*AETBe8QdZEN#Ky7>k~CA z&HV=M7`l{wnAztZ3>QjVrr1(0%l4fh^@h4zUvZ(<7WR7AsnFR8BhGZa=N?>{lr|W6 z!`O9ly8kpgkCq9+*xHo-o~XHnod<W4?rU$n$dTVt05FZQ<6BJzam&59560@pu>o=G zhg}1zko<IiEV{e@cw`LT@Cu{b`j15Zj_&I}7Wo@4;4__;B+{;6D`+X9##FJ1s6w>- zKe&RG+QjBw++`jlS{}e1dn@x3P_20@?(f$L`2=MJA%BUhxTBM`gMc6-dmB^~x1QH& zXlxU=9&xvUgzcP!U7=GpRTzgXs&$mRGtgxKwJtJ2V(nZ-9@Gg{u*(IgtOs<`CX8qs zPN#Ps@}CZ#W#`x2-U3;^hC0i1irgS>4S^KFvulrmjJ+Vpv>}3=0YNhG)ZY`CfJ+UR zEzb5}QoHPK93(X5OcoBsCZH)-CS(q<?#v5m18EoTCv#`@_{K|Qz^xuf9MVFZ4u*)P zSF^TxtaE-l>lJtGM@mQo5!yin)efrQCX~eUYBpmVyOen$vp21`nwLoMw;dRy1`mPD z(^;q3{4*lJzRbU4;BDT7`(Pg@jXaKZg)Z9sw}2N<*{Iu1nTPuOT7qZS%n$6fb9%7D z?4!_WTh}17ORD`w_aJ*M&~3<!xi5e%1;8@!A!&|eWk+;+hd5)h&aRV0?@-ri_lMxi z4+C!+yH0^GLGOXJ|E+`X@0r^UcKQwxu{SasmlmieuzO}-u(du7<9g^7vh~1gY=1}_ zA39~~dT&IVTKIKi=%mTrw$hx|Ry5uJPBl9}uRYOrCx)Y};8B3d08i%l$FPIJ)-^Zk z?9V#qwzmXZ{Y0Sb;L$Y^p4{I%pI!tH$TpBHJJ^RpZNUT46E!WYHvk1;i0&q~42M48 zZ21;vOUN~(J4|f(rn^o2Zjgx4iOy1Uj3DeuoAGt`>w&`tc1+yS4OFs2=TN#3SEz<= zacd7}>kcaahPw^YZG-J(ht(tuX^C!9B;fL_n^0abcDcI(ZyVhGU~dcbgY{(^HN+=x z1>x#$cp3j=ksI(&S1}P%$?n(Vc|L*2-gGF^hYQz%Ad(&8>HwiiBvOYi*2@OgWCvqw za)JlcbQ9aZrU07oqcu~EoyH?;rm~NWgKHj&Ypb-b>d>Iz?wTh)(>h<=-imJQg{tWQ zy$1Sw;^o)2qTlcYAZuUg?<Fv6cd?K9j~EBn?&$CRLQs$+;sJGqy(V0Qv8E=RYo`I5 zW)TK;P4?woBXD!!IgCg(G{#z>d@ypz7G;_xb`o{cIH}vEb0mi{DOTt3X@3SW!Ue=k zhFMjyI;T%-<0%|y)$CZE%cpJQDXv7GRG;=!o<i1#f%0Vev`suEi&DY`>H39>LAXG- zD|Gt@z3AdR9=RI@I6kEyGVB@oMj8^w`!r(rs@XoT=Ee=iSQ?&n9fEx7yliy_+FyY7 zi+l1+YR*2YODPqMgXTO7^9roMqLf<2Jw<j^$PX9rcCZ3#L%j_IE6T>8Zc}`zYykO- z(wVP>6?v3LouT)V%#XTQor}hE(%-}f!K1QI_1bHce3M$2E$-23%tfXeWqNiE%Qq=S zPGi1P+;cIrwZ=Hz?jBfaL*uw|h|JX6rueKaHOBP(T)gZbdU+3Caut%WgKT}d7K=Pm z+|f`DzC~Nfj!D=GN->F~J@aVr0P|S<cDF~UOM0aOZHBGDdbs^ard*jP)&*k0v^f1@ zMf{cC3|nRl%q&Cm-T^A##%B#q*mD+NY?9XaHL?e(m>6ic&^!OTP?-ZTY91H#8}Jgi zi1>+_AQLpK+1NCJ<y*q}eEe-E{T2h>ahng>oy=oZi*1XIrJ9Hu(9b9(ptJ=qt<1ta z0xUhwCAlvB0#@dh9$j?)B^xnCDRu-8_>JwclQqzR9&`(ATb)<xU?;zYnt?x{+mSn2 z=M}Wg>(d4=53vvG=k!EjCGZR?=*tz1ervd(ifRM3s$s8Ml<7jOt}6EELTwL<DnFo% zfSt(o4dDvUSwnrpZF{fwD^!oVC00<yjroMGwE|BU@Ei}AO5OrxjV1Gtl2;xb+2Zbz zp+l8i2&ex-VsH%}5}N|3O{ul8#TMn!1<DM&l2-`%U1srrgBzSVR8un0>B}{m<gWtV z*o%Z<g?2rVt(qO??LvaVTdBn^#jQzw>?XnDnPXqqHeJ&+vRDn#KTr*^P5_VoK=BC5 z3JY6V9`U0_v=z<M6$!P;CO@n+H=s=LP&kh(4Y@`!F{6?%uslJ@x3D~ml5b^sR@{%u z7i3r9A%_u!NLS1XWV6)H@@%*nHC7hz##G(jcpn)9{+`Ciz)QG!GuqXn&a#E`xI-zN z$JrwKrxtcF4B;>u!g;z@$<w(fkC%#mkJ}i!9?663n}V(4p7C;iJqEn`jLbvs-d$)- zY!Cfgf1|R>+9K|;`rH@m?e5TeTfV!Oy}9meG4kz~Q)*gXCKr!xIJ9IQ3Lf>J(;u$t z1&EVFE`&Jc#=Z_Ix}`rBn>{PG3j8Cmux7>MthupOm~E)(DcUD}vDp0Cu~k<6?KwQE zLdvXpY$7XwjKTB-e^MWnOPFn8)}Nx3&B4S(0DEx0%(v2{uq@`WqKhaot~Y6@Dxl6m z!~OT5xI@XeE4evftsG*II%w*TFOq(bYidZv-|);8FqhYOw+}BW?}Hr2(-T0pehSFX zhJeK94OV5T<Wl@Fpvcsf?;@FiJU#&3F;6I^c`T?=87r5vpxG<6`Mf*?nH}>Vt7!>O z0lgvoQ+U@Vgo5;m1;vs7?yLFbLqn-IT}}1>Ir{Q&*-KRl>_ADv)Wo7pSp#ke-Uaqi z{N?Dg8_>R(zg#PYD1e|m(I2JRwp6>&mAgc(SX!n@;1p#_2Hpo-!&A7P5QBdKmcg@P z)04O=b0t_~N9*S)Q&OYj30DZ-69ZH#H7snS1{I;S+b`8mR-D_w|I@9?nuSUpI!x{w zPGXds@p<Jo?B{%8iTP83Te_BpOn?}k!h173MWQ-DZ;LWDi(07Aqu&xbHxkGM-ZT1Q z{#tGSATSCx;8naSwYW9-Cm~A(huRHhO-zA+RRz}rk#T4~CzGr{ABKH|A|77k=e&pw z&tVRkAnL%L_*`J$1~BMM8x)8m2D8Jd%|pIxTp@82ge%b@p3>(}=*BR*kt&hz51y6X zYL!#Tb*MQ3_oce=Kth?MjH`&Pv}iBgl^Dz>V3O~?wDJ@wuVMVe=Q5eF%3vf~qNft` zG#Gix42zm)&OAD~NB~8px;aV_29z*40Sx}hO0sc3dhIsVBZ#|aUlzCLe-e7ffqAO9 zeesnM?V)!qBckH=$6_NcscQvRPgP=QCdqDDET~H*YelJ#(=jk0$YWZ<Df;+L+L>dc zq59}ghuV#?LzxbIjG29t3v_%+z|ceZOjOJqpE0V(B<_CfO6atuM%=zKHsXr9$i$ZL z7K?j2^!iPxe{@BuuHOR#rq8c`x+VI%c>U?@^lrm~q9vDi5zQ|=2RSN1&y{EPMJ+Wg zMS&|R8_KBb3o+HlANN>!v=W^sFs~I}^!KVXeFe+CZ)I)fa%oPPQ6tuwGxRHe$%Tv% z5EtOpZ-cDwP3Ht7dtSj%0)HObo6j`@Gs$Ezuu`GDg^i&Lw{LkS#Spc)Jr;R{k_&sm z|1sH4)awddI~-Q7Addo87>lgTMsply^!LFY2b4truftd!BObdQI79o+UjUsy`dZ$B zq9s3vy2Mdgp=|&|vyNb2)ol5QuY%jYJ~YjyJ@GLKlhs?vpO#`623S5$Li&aS9O~;5 z)O}zliL%)AYy3whmjV~ePQpcOdWw>kEeM|7c3WKSRB*p#LL$`qrKrkPsl5*YCBGF= zS_*}75s#$NY}$njgc8Y~%RR3OzU6XMkPqVeS16e7713znBPlA8Qe%&jrm<;zP-a#& zIzBb5D;tt-oA!Jh)G(oHAw&rKXas#yv=mYz!P;T<RnZ^PID&HNx@GYU>2qtD{tyfo zag`b&cS4*Nq_9&rVs_d$#bRnMltc_`>2WgbAu>D=jBQI1gD=v3k(D$aX<4PnhCu?| zdR%OJo1Rx$#H}5HR%w@e^E=rz0Q5)Vo?bMa+p(CUg$5?1wZXH}L?AG)6<BXgi~2am zFsC}(6*%1*c&9b<K;R0TSwAJ96)yPT^8#%)_Z#BoO_Z|O8rbIwyxZ#jtN%3U8EAC{ zPPDoQ<dlYWl4y{-L2wu!axz+x#YShg>NESf?Ml6X$?<3LLw?TCp-Vz&Z~_w~G%T%~ zT6rgEr1&gww7o3`J$Qh-qKU4oJMs|GPY1p8Mxe!Q3GT|H4s`|(kfq}HfkLXiTFv<n zWHIdec1=wU=A%PoA;0-R=%R^;5>g&u``KVx4}48$CWN9BjE9XqU9tY-T?4G%&Wapt zhBE+znS8>48tudw6`w9aaoR%f2<G`N#cNRttjf%)K${DM2@NKP29niBt$kB1#u`>? ztzktbe`dG{(w&P5Ec8q+W^<DjuQhZ!nfa{YB5wVmLK3?o2i1mp#2qsWOJj8w?e24E ze32mTm|Ex|2m1s(gU7`^l|`(`;wfY8TJu>XwLUm&HhM+eGqac#S-qv&N~H26R)pMB zr+Gcve4f!&O&M8{UEDLj1csbfo2sW%@~k)ty1pQ9UbeEjN||a2bXWr?u)cGg7@|<h zQEZuK1A_u&!byZq$Ud&zj1`~Y3|fwi`NY3Xzb2bxHu#}kt&Q`mhHjybv4$>A0H3BE zBo4;29o?Cu<iQ#dn--#&xHS(vC;c(b<U;>hD#Yy_j5k0=2z|o2d>@!_F~rb`pF{im z`<!wR?l}PGwb0DtYXC<tE40ISi+T!`F@ZtztZK38FkXS8(TWz<e|Z;;h8KQwZMOyX zN?dQpr2h~eEn3o|1KP~1LDvbh;#Er(+S3u#T_{PqHp)@P!qjz%JLVU1dLNF)VsmHX zy&a~aSKE)rS=DSGWY(_Eb%BwHi!LSCuyHkPo(Y{-gnS<D=g5bCo;$3ckzT4b^YXm& zE2p8ikyxhH@yxDx=H;0CqcWjFtJc$JRdXJ2B-+GDzQ_`J8Ol_rm%zHIFCxp4f-$7X zLOPZfg7{C{p>aM0)|?q4w~*xWeiJ|n80rsM#HR0qig5WhJxdyUhK0MHh;xba0Nla3 z6)Q(+C6WU=bt$Cy?3yKj=s@4I-JifG2s<kBzqnDB=fL(;Dsz?j*=hUIdf_W`5{T#l z00F?t;<PUK#2olJqyH=Js4T==J;$#VpWyDSzlr%Qku^FdY=#h7gj;}jMz^4Gz&SDp z34HEcj)^yosCL=emv1r2<AMj)B)O+KH{1kuu#?Z2_&f#=G;~$d7(IId+2K`lz=C6e zgI&q5LI-0CV_`?CV<$_?v=D~K*|U&9%O1QQKEbD6=V0Xfz$B9~y@abW3w|tA`qjXF z!s=9I`T`{nlbtFIUtflnc;4t2o;Ud?mU*=b*!9(!t+N3Y^ZFs=FvgY9{Js<X$6u)s z5)V8lUhVPtOrq8Q8gijKvBHyrzC+IFpZR=06&Pjl_Gk0Hog?M?=a2){KZErI1|Qsz z^l~m*9k__QU37;xDX$dcW?M0uY=!s77GLH>7YHDR1vLQ!Zc^uHMqXQXHAZm%Hr5_} z0Zxx!u&(G&1MjD!LfH2}Alv^4>jYraHY28orau_(zk-F8RY~x_VC`j4e}KCa?(!4K zp;O7ISh!j#EH-_;1Xr$JuR)*z{T$ev(+<EtVQtZ;6SfgpJM%22b#tT)y+dvb9^IBK zI~CsoKG`gRm1agW6DynkkxYXH#B~A*M>_p<;}>J}KL1I$jnhqXuTozXTW!PK`S@w# z0A>cVme^`L=E&NgcoJnaVumdLu11+^tqBY`R^5iX(fsZn%%>g~XwVJQxQhWB5FQtz z-z{By6BY+(%4ye9-{oD1s+c*tw~XGL_fZ9+{sO?GJ20*!+RA-45IDYGGh}_pHwOFA z;xUSMfnri}v83Z4%~uB#&7`?stpmzWH*R18oxuDe9Zu_12&6<VPbD!6;eJ>eFJVt{ zs>a#;UQX4_#!KH^w9GH(z(W~4wDS&-RsNDvFR9j-qgKe1$z3I2>99?3A6)s7E^`<e zgE9G5C508u(U)qKd8y>_+jfV1N-2`m!oX#BPu*9l=W%fG>rJyXUNjp<8dz8!-*}ON zOXP8|%{0N?v+^ay*7%q}IQY*+-^y%dzB$p~(AopmF}M@arZd6qiWdl?ikp=JVE5hV z2;g=eK17b%g*a;MtY8iVaUSUf0%1|cD$^vGLKhA7*C}PGZs&L9q+EAsLtk~f&+7w+ z+cNve1A@E`*x}RWKng}fd6<~FI=+@cnt|D+IPb#K>nV+uL7p)%%5N!IQnZu%iuKv1 zEAINF2_zgv+_*28gATj_Zh&McGb<a7q6t4IfYO@yqhwuR2<JfkZ&j+mtBhV$K}cB` z$<bEsZ-Pvd3qYRGS1`gP-=zGY0aYmZQefZ;%{k!x<8zW^LVZ4Ya=?{NOvDiM0T>Zd zVMZ_%kZkpjfq6H;F3Pt;N~THvebIx&RW5K<DGE@fI{4_}U69mRv}YLKA`XG`k_)_> zzK2w?ECkQ`v5q6BLU~B;0^7<j!ZB4LRdsy}XJ+_)=R$9HBpagb6*QwsCv16(k0-E& zyhBn^hrvG<z%h|vA^CP4>ldRthhvQ)OGlcT+pXjMHt<gPrHOX&97?{Es5TN*yOm>< zq7#kg4EofSb?7N5pFriagme1aqKK%m)K2_j!jT`j6db1a-PpbYINz@uCfp-hX2*Gr z0Obys>-UhN_aSDZyc7RCOm`5e;nD(4XeI+IF&$E#AtzG}eo@yJTzrVeRN+V^kF*K6 zm-HpqDRE!mr|LZhuBU~q4Cs_}=#*5_DHunjYxT-7Tp+B&^w>YZA+FK>2^>D7(~7Su zH9kgKh^Xk&WWJ0rGV@RX<9sKg85B=KbINCkrqhShv<E3FhC_HLNQ~icZS{93b}1Ut z*Fc8D9L?AA;$T6;t8l4ju7&&OYvBf4d0BrOND0R(M~rTvW}8T09148KwA`=&IwzT@ zwKGo@+zI;H6X~WHG!w=ZuAS}zg}+Y@c-f_l!UCxoOHgo%^Px~41Kjd0?iCI&RvD80 zAL=Rw#4)k4)hx_cSX#L2gr>+=?P)&#Te0p#T1gqhb)W@~5cy_^7MvG1G8;L-p<l+r zb)lHChBAt5EUb7%-y5b2;7<Ua2YBz#ky3ZwN+?#re~>JfRRDXbv4gPoX|F)b1zTs$ zmS=i=+7qb0s&Tzzsq9}qTh0WYw<{HPWo1@NCHOcawpxhYTM>I3{R3>m{$#9IqfR!U zb1o*e@LI6vp9SD(dkr*D^lu4XgfmU4EY9p}9ITTUeFJE@<b{ocR8L2tlwy#-NqwKt zD5Yf;+7_rc3SqMDrs+m>66)b}O0V?ByoEXj9r6P?V=+_5km8N4F0RmK^Fn|))`*g@ zq5edek=o_57NjOCKOy``JfqKIj*hyIqMe6%98`t&Dz|^Q80f`NFLV!B1ZFQE&*U4G zX|$L_wuPfCwnESxywj*md)$YS1K#j(*{cFC6_9a?0Vao}n~Y-k1C=^*K}P}Fr`76a zh&qD|^wi8&kUBN)b^DF#TgndqK8b|<!f!f?<{3y~JSHexo(G)%eH0QJF7n_WmlFL_ zu3r}Fms);#qJb{>3qR4M-{7u!=#D%Y^cQ~ONBRw*74rmIDJ9rB{PIK#UGNuvf;>|6 z2b8nr<i^(#XAFFZHRa^M>mvj2UIH^@Lzc$$@1x}<|A-p6%vmyWD3966k%VRDDqpO! zIL=LC@C33o))x~~h)rvev40;KsA5w!74l_;i*oU3V7@{$+y#&$p;C=va1`Jp1qk?O zEC1DiEXs7O7GjOchqb5$w3M~+S)?M#q7)Uo^Bl4bytJygOiRNYfrW@y4#?N5UYoMk zUgq_c#wyeKaOYL$<$5*idzeU6A!0HgrSB*Hm9y_(@tx)0lr#JH2>>joF)cJ;3!D)B z*EPONA;)skPHHrC52Wf<Owl+v;w9n&KE5jVDJgw>;Wao5mh0PV5`z>rq$mw2r>wP7 zxKB4FtcAx%4DQEm|2`Mq`ETyqE66t_YAlvVHmuD6k$y#B3NRzH_9H%<$o73A8>S12 zi8y!-C;CDndReT}N(i|kKSrSzWkxESksB^5L@7h$=SV{DNZRlJMra3PRbsFRNqRSm z!EbX+^p1HA1<=i@O0hK%dN6RZmEmTAg@T<@m0UZ7%!NhHJO@4F!EVljt^Od*u3=Y^ zvcRp`=U|w@VOogtfwl+nDl2fRmB6N9zRHRn6EWw)dnZHAVseh9D)}~Lnv=}_5I6f# zaXuEKosoky8}`EAWQD|}dlu)$Rtm9I+1i(n&=dgij@gTI0XZwS!V+7RqmAatHdd4q zd4)<6+K3(~#L9MC;1N4VBJhX<6Lu^3+&ZyXpf;B9$Qc`M3HM@(<+B2Dv<$BtXcECe z6R`XV)EyJy%OuqEgh(#v$RZ7|=PG4((jU4AlwB2phe2G30P&a@%*8`w02~UwiQ6jB zDIg>Cw?lqF@zUzxIE=>*npP5hXI0OOJcg+>Uo-P~wcowNXFi|KQc1JzYOac|#s$UK zs%dP{M+*rG>K4`OR0<q0?cE3KMgtG`J+fW5?*G2?HuOG-%IA2+fe1n_9MMt8L#x0h zJ=4d^ICO--Iu&1h+`@=9gF<v^NzeZvG_TeD;`0C`Hc{+bpTXo`-e)lS??*R7c%9Ik zUx5^n5o*`&{wr^eUMH=Xkot_lzOX6D(U<r`Cmy12_~7QLU2`ke@Rq@ywE$F59>9yf zsYa9kSI8GzC21RVV9_7K6RS*MPD$O$N5l&4dCWV5t<|$xyPT=`azNx<Z-w?dq|!{* zsy+V~j>cj`Evc$X?QdA~U{8{U0cJ{aBnQ154p5`$FOrH!5<ptZ&&KMlolyK8=>i@< zOb$7xX4A(2GJE7C#h`fX3{9~PUz@<Y7>(yZDn*}v7Ava-b)Hk1;ZU;__k}w06Pe+A z9svM+f;xuQzb>piqf?AxxIoJati2JLFod`H-$jn-UnsS5C{cd?YJM8OiRCg6WgbBA z39T_ZFg`i?2tGpbSe0U%Qe_9LnAkYXKut`<+MJoq#lktQdtDv>v9_Y~l?;z50NpJH z{}bd<W;!zaFcVxg2Jt03oQjEhe^!zE!`0`ZlMxIAOM8o>Qmce~0%>H2VHTm}9WS7G zg?95%Q2R-`r@vX%;U~B0w+5`xeA3HHk=tG8QzaknGj+B@{s~`)fF9630qGSpCy4)j zz(?KD@1nzWf<&s(eV{A15h2)I+GUz%S_2o&t5aCh#+OhZpW6Z}(8@-1lGE`}TMi4? zqh;w*h(u~m?OdLCJA|9pDVr2{8WS-**Tz}6<PnW)iuq78@~Usm-O_*>SDg!;N;0=J z;TAIpRLiJxySM`}ITY%J2M67d6WB>NHZ}^b8aO+YX%03W@fl9ULsfIIiGEtDG)V-T zyvwU#!zxcn1fRUa-=@bG_@nZYe%ZwHD(kWEV$VEV6L8b!1}Aip1BRRn<*;gUlMbZ; z4{&yaelBs3Pz=^1RGX9NEvy;m2a5cGfRYPTYZ&-0fW}(L)o_U<ZG`IYUMSg6cp+)w z_%pT3fo`#<q3!rt73X0^K1?e+++2g+SpX0V5w~}~`&9P{xNJKBVgZUQoCq8zlHM$l zJjhobZ?@vGs5u{~>352|rx*e!%vdHBn;yYH4lR^}vUYK|Fb3(xV$-*fikfW39+-Mo z;{_ICy`jhitd$t|8@sy(x-Oya1!&R2zz3FxiCtfkT0jKYs!P2fAem3GaRHJ-F-XJc zWLU^z;QwIAp2BMnTTqeMv=gsT-B(eaI^QyR4l+IYCNhb;D~y3t=D;BAhCO%=gl$9@ zrSiNo|6?@wor&dWBASWjWdjX3hzFF_m%C4Nzc&$dqs9mJnW$3WnE`TViBFoTP4_C5 zLic;!rzi)(z^hciNC*DSI{xWi_$#wLsw@@yludd|N+~3TxaMo5?Dj6@!mp(0C<&<b z6t9)w73w69{1DI}gJBEWTVaUjolkk+LBn`<pdT1CqC_!TP$D*w@d#cFzJa3Xj&d_# z8IQ0w_F8<63L%sr{Y8|>Mb~0c=p~6vTcBF(1JZLmL-=CO%1KY_XXwXb=(Q4#nk<#` zuK4aZ@Wz(_P$Jcqs_UdVl@I~mbrqKAO~ZP%Tv}SDJfpwzVqVE%e+&^<UX>aM+of2~ zfKZ5g?wv9jzEp9`X^iVSq4+??Nw(9DtkBW=137T;0F7@U9wO-=v50JiCLC&6x#TGW zPt6(PDfsb!g$&9Bj162;-a(Hi*nN&v1rT$FAr1lYK+1WW%7n-g6ixIry~3<4n;Kqt zwc*ytmyqWg-=#bk<M^z;0-Mo)BRjtPJT_Wf-jxLOFFaR0FSC{6P^ro~!KW=nq+UGY zW7d4E;UUhGr&y4i$B<$^RE!jmFuqkL`dj!ci57hAFEO4B`Do!`JBvBi6ocC=kLLLj zsvhx^?x_5sxM#X4bkeM>7nC~TawuZD@SM2kaZ_0(YLEFX+7GSC264|Ml<Im9USWg; zS+(yXO{uUc(`|uM#=yxdBf5YOdzhwp;B4wJ@C?=><WUOEB!vjs@O*Tmae$ARP)t~| zm<Kkcsfdq)M{7{P3rE0@)buvxX0nowvktNY+AQufb$QB2_r>)l_NMzty@|bsNv8Wl zJig%$)gNQ~d7hPjf%0;&``Bzm<{|P@AJSSfV{n%q#k}!zUh2a)*b##^w;M4Vl5ZCG zRGBglAZp2$hiwGL`;03Es-R~b-^X$djm4%Npglml5aEXw)Ihh7gyf>xCfo|tZ{lW( zIm$dlwjY>VsYl#xdL;}zv|dniUQ@H8Q76VwQJF6&$(WU~N`a-Y(QKXo`4614xcd>K z!%LF$NKmsTsMfpPZ`9q=vT@u-V{>xzn4*W=Z>;<XjQ|>A4TRe?r3L~u5?(N@|CUQ5 z#XU<UllzRg=`oUMut%WI20_$GbTuXnj)&k`w1)fkJIM8*8zr;RS!-dx_?2N!g56`$ zEHu;te53ae4})oPV%}UX;MfF|4)?=&@?4a1Q?Noig4JTy4!8*i#A~#%L`On*Hhch4 ziN>7`GxhcA=utfj=U&)Mf%kKOVR6FWkiqQaxaJbFG5`7;lYCoFk~}^qS-#l=r6y2B zO$q(98_{&2M(Z~LAZ3gmAGYTL{V#u+uMt!U;+|ZSn$-@IaV+`_JDbuDQ}8H4e_<^S z<AJO801(JAG+^Qn)gQlR85($8O9qHU>FIP8o6<3g)CAUG+sx)$X+Xj3y9)eZP=x|_ z4@MFiO)TOQNq7g+O3@oy0_~<i$l}J>hJH;IpCB__++zj}EUL8)l9n21wYm52p?Y^y zrGJcL;G&1s#P_N0gIEhRxd$LIVfT3mPzU78t>JOsWa!;`0d-;Z*y298st5W#XZ=QZ zzx>2x@<TPCelTAujF%iBkWNgNz-K82&vgjgAfGGY_T)m4xDgo%1F<O=0}^;G8|pnv z6{=aUTJjwOMx`tSJ7pP<ga%Aqg9xZV-Q3Ioh^kD?x8YDnsf^6Ce3ytb-Wo@oo>nxU z=t)y-y3(M4T@1g%f5?y*2F|M<?5Ak@1PRIv!5tEtKEkcLZ9VSS<-6PJaouoV;C)05 zl%?(WD5EBhF4b;77>k*c!5tunbNxu5<Ya%xm}1AXquz>V8tN%_-O7%E5nyVhulgQz zYbMa8xcoGrY*!u@fPuSfJ*`|>m1SgY+1#~4eL=YJ)m&gfG2T-HF_XBNLI?3SmtxHx zMi&*jJLMZtSuvJ}1`)|M87$5^WfR%vOS!$^?yA2Tl~^fQ8vZu-G-3Tn0t+G=qW?p8 z;2A^o=L9VJN=-{H10^EAgX#rcARrSV3@;lDwb)(qbpJ){l)Ij`7`<euPi{QJlRMj6 z8r$eD3O_O5mk5gwUF9tEXg}yA*>NWHH{Qc)u=&bZxAqqZ2M7mG1}cFmI02|j+f074 z=CMEFkNRu<r92X2U0mStda=!`eGh~n@&W`3pVA9Cdai}}S`F6GO!8iF$C=Dn;1fgr zGCkjdPu2ZPqTN`6jNpiSb$Ora{v`UQo;?%UQ5Q`yK_!HB4AnOrN&o9m%&8!?fTg{g zA|(LB-Bpo%+|gJ~wzdlmqCE!=-QNraBh{viOQH}FNjt)4FWAoc#d!^hyuVH41wa82 z@5AS`;37$xD!9*cgs^M{e&>qrWeSa4^);muqp1G@)}D639bJ77J8w=Y^Lk3PlL8O% zRPE#4QC4ZG<E~>WLao;6PqSV4#iP-Kh`Owd9l~n*>(n-yH`ve!+RN*}{LiB;<z#fy zp4!0s*&vGtXq6yHdczx>n)(W$47eHK)Akn6VjJ{sDm;6?LrIb(y=#w)+i8BYy<EB# zo038&9pd(N(rqKU5SKaPqPV?Kx_v~*cmx=F*htDH(fcoB_gLr@vKC5rj2H}^u#9M< z<gbhvRC8{o)HKSPN}C~1Ip|%XbZ0zQp)_$s8#X;%6oV(xbT=a3j^GMTsPt*=uMa~F zz9e7@bMWrG<`QWFH2@|dT1a-wPy@u^&B*l%iQ6vvmwBkBWn-b;*3=3qJ$hfE-G%Fc z{J@}Cufex|9Re0fAjPJ4sE3IqecH1yYYE`2YLLhd65XvEbJ!jRy7Oqg|E1i6v2B=J z{f}Nyb>0YE#$1c>X1t?*0E>=~G~%H}=h0QT9oh$^6j@+SWFB>Ql6_Nm2b?T$58T1J z)7qiH9IFKMro)^Jo~hJ+YvMd(oJVtQ>PKRLN{=tr1=gUo6CQU0=D=PXteimG`LEL# zasm`VqT8^OVk?~5uc1rP<-=Yk_UT}Q4!Ll^&9-_MNP<=AQhhqW+T>e60SDugeJqF7 zw5<Q&6|!ri8re;F^<wVOORP<zG>z`m01x?{oZ62#pV}0=6g<Q_{MeUNZ}WH;V-e>U zM&2~MLCp>}Mqee@?Krq2AXI!%VI7y7d)VP!fD`-Zcd#+nNmBfwzni_)--RV^YnfVd zQ>@gdksXCbqJ9hOz-s(ae=+s(-4&Xo*G5Y~@`Dh~sOmLh$;PK$G9(+Ob`*{`8c-0K zfi<=syoJ=N*<i^(;fBm1TS7si-RuKeW$uPtIzR#^ghNscwcmk@M7tjdzzqwnd1z-Y z=p<i{#yQy-<Z*?G@vzw&kocbTVP)4)S&F0ir^<4fr=5Q3nXQ+H2-DvUqs~^UdXvfk zIX#x4EhSFH7(m_$aIsn!BYl970n!KLoy@4zO3=P=;e^=TIFAEn@&m#*$sDG&pj;~Y zK!RUTiY7&5o00m2-HSM1;sklT2Xif3Wo-{0eA)meV^okP8>mxGiC4%bg#+Bjm1{6~ zDr*h6__WvJnFBANtX{w`5;@t;ycpGpE`gjy!g|L7X!N%UTOW!mcmRANptON|hQ+23 zK>`GfOp@5d<85I?VYL+<avR=>O+TX?u-m8&dh3+Mc4Z#sjq4=%&-|%gZIX@`x(-2G z;My`z<zj?YIgy+gsIYYbiz{wrN;Y*Z*lJw3C>4+m{%L3kO(G<g$)KrWW=Vm4ODnWv zU5E;tkCzyZ<uB=+2B0EZ#<vV64>d797{p!0ov1QC4j+vEQg6Ep;*O!-$qvI900p?& z1xw8iJJsQfJt|Qc>38^S-NqyO;6U`dN_~s7(CaSE8&`NBGN|C7nA}4^owkQG6LlV@ z?I8#1=hOC(30#LDEW4%yy6ubhhj{t^5DLxy%>IzOKCj%h`$JsX2xI~_;VGPk;VBZ4 z660P4ddd~^X3ehx;{4<a?btrrgGh^UF6|KRsS!)1obVJXLM|2%i+07c{n#rJY@jqU zE)dQ?cLAHSkgcyp(Za;9q7pS^#Jm}xa&}-Z^<+p4enfhFE{{c$?^P-giSz@CL>dvj zQ;#*8G%VIgS!rp!5)Vqk9R(%%kFbh4kk1@;_f=dljd@?Wm-**J--Ql|?*~-i+2ot` zlobnM{38<Zj=+8+7R^0SYeE^Y#IDw72f=p*RcHpZ5O!&jy+{0mRWYq|uTD69JK*qA z%RXId$gfQddx-QX=oVjPUxN7bWcgbOBHlxjG^=MZG~rhO1|;SJO@?HilJdNf)j9on z&kO!p&zs=Km}$fKwTP@BQV4Mlck6<iq2rfHYd{v#opYgQ<351cYDCQ;T=^N^`DEiz z1z`Y>Qe;JJHN<28D_rIrN+o&gnAgT%K_eV)*SmhcElU0fT`r2zsyWKt5Xps1t9^pB z>TfOr0L8mNU*!TlxtipKR0gIFP9m7C42^YQu>Fg!FTn!s{s#dA(L3;6aRbuF2DGQK zL1Ol-#W<t{$qwyKon<k`j0MxpVVNz6rsV78WWxb}?5?;+M>6_uoc7n^_Y~nb>Yv9i z=O5#D5nCLF;kQwjjem&W_pxCbr1=8;en|K&8ThB^_l&MKzleUbuEp<+&Kds@zmG!K z;%7zwVoip0D%baLP0@yzZMVtON;$_?P>7^`2#*ebhT=u&t_MCK#ANuts=y!iJ_2^( z-Wt(2#bA=n+l(#bjIe97b$qV+KBy1z#)dT&Jz%Ph%UwD+1L3s#;P;h;@<psF=P7Uv ziUF5+aBQJ&kzk7u-xqDAH_$kC&*BAM?KNzt1o;7w0&OhJL2nqAb@bSy#5jim3?V?b z67w#nfhBn050F*ll^P$n(Xldr5H?T*qDy(qk$E%_GpxFc=Idn3L8j7`r9X9Ie<NQ$ zwrJA_lE~5_zxPXkSl~Xsn)Z9R0<j6oq*YFmVseh`qJQk5E~_*xLEGsaQVqItK!xd8 zsrG3}@mA=gWxJmOcwDSj!03nSC1xg7)0blMujw-g{;w;xzBZ$5ZFtYb3hZK25LP?a zMN=_GVI2<e33mmH&vSn0%*P@$-_6Tm{^WVQjqZl8j>zC%Ykip<w&G?V5jn9b@YG42 zs6awl?})hY4rm~Zm02YccT3q~YpLe>JI}=jM>s|O-&Q6oGbJ|N(YQgP6;k#%aQh9Q zv$>WEG*xPBBNtDZb|dWQ`Bm|CRIo>?_H-|S;;gB!sG>UZvtrEQ`xLF(#63DnJRJj# zg@yd%6?23(K4D;@K*huukI|>;GL1fFolYY_C$WhlT(HaxUF)T#-PM2$75L}fI#>`s zQc7i}X2Wwu3tv-pf~eDTXvN;jmzyD$s9y}$5J6^UV?TycnaT=snYS=<V?2L>gxODp zZszDV2jMdpup>)&7OS!Z{uHbTm(p}SBI}8<I!XH=j*L0tMPgjv(YYNNJf<iMxECw{ zp%GI=qjSP<s2~&p>&CELiL0ER*h-4Jc52(=`?X-tVB!##Zy=9(e0ZW&W`Y5acHIKS zM@A1;ss-#bLS$K$fJd^4xC@GaIxvovY4e8wVs;Mte~CRw9jYYrP3aTCb5^A&mspT* zayUem6to9Ip3bt>7WR0#+{`-JdP6h-;_ETm>AHc%32Vo?^ug#ZWu~CaT0lgaQiv&4 zoyETn9bBooTS0U>w5cy2Ti~YxL~I9Nx!1%$@-6Tj8Q^1}?RQS?;;VYs0twa`xlSiD zDI%I%pdao0WEFr`ctIHZ%K=CE8Noyj-L8%Pi0bA`<dIbXk<cfQcD^MOZI=9ZU;_fV z$2#j$RBML2Yt<qWb8<`Uq<@LQIwAYY5<X^H%P_jV`XNUWYguNnJdNF52-B%UT$`7; z!+oBGSKg<LV$)s557~6d_&Di<A>+2D#cXB;F5`Jt0J-DN5Y!j1P!E*ACiDvJ94vsL zCM9r-J`a7wXCjzt62-jQcp?%hHgxWdir0m@90)uta1qpSfo@Skv+hrvTgGEPIU)Qv zd?wq~xihx>F1ZGUPebJJppXQm)Royfxm2pNsQE^g=h}!Jt`vi*$B%nmNX<Mjxj?EL z6KKP${44N@VDsy=*oYAGVwo+3c+)S+8;j??^0|58;vl#;1=`Hw?rEQ3lP|%>aWx}C zxYyxR!-wNy*2~<6pcj<UHwMFDbJD@fQ29?49){bsWn+4MLuEfnl)cQ6rHT`A%N>Q1 z8R38sK`@`)pN4H*lf6RSePOa34a%gA)_dUWF%$g?EaGnDo~_%vdWOYD$a4zz&4I@# zga&@ua5Ay!>_n_S07gSY_8^ZB`d9WN$Kv~uul#%VBXj-7>o+C#Lub{M58n?xDZU^2 zra&vYZUwq-&6Uu5HgdmR5x09{Bi>dQnfbnG=TJ=OVl(zd3s?6=n}_X-CcQ|)!!%SI z{ne1oPebazuuoj?(!@UTPp<A0zx;37Cl1v^Lwc|e9Fc+p30z{+^RNVhXA_DBgC3r- zmL_g*!=x)PaKq}9m=t^lHYuCy;_Fgk&_~9@Fr6Z9pJ7yUMonIih=WGFYZ!E3_`(gl z6zC9eSV+5B-2ONkSHR`tv~5Hf_n(Xi?<B(p>!xyYbEx}tcTC(-WD>Xgj93>*rFexV z9N%HskTMP13MpfUz_KHckiuz4wgM7Pz`X)EG!u_**ORFZsxEq3+&+1y18)kV{{_`g zz&#b(cW8o^8280s8o+@LfK4PZMob*Ma1~!L1zfJvfo<p{;1*mS@#csy&X}Aslo3K) z0O5;g1Uh=gSUjVXXCw-M&8B1PJtWpL;!SEmgf?BXK~&ysi!|dNBM0_W>T|!y(?}rO zw?n8wyJ?@DJ}m4csh!(S?IA*ym10lorL##yZ5Rg|kuRaIBh&Ga7=KD6*UP`Gu7V2` zRx{lo7a7ln=%|+d-u|PFAzA^U{XM^m)t{s5Y(u@hMt>Jcyqj&<a1LAQmZ&+mu(#8$ zus2nwcjEmmSjT4{{qZSWG7m&=!knyouzMgct;5(oalIk1PY7Hb$3EKdC7f*ax5T?{ z^Lm4tm63Q^{|=6~%A&nb0*;ZJpf@!%V1*5wHCq*~XK$vpvyaTYs_1|4*GVxEYyEnj z#9WkCu4!)z%w+#a+8HD^8Noz=EyDo(P;91?d0~p+EVrq+8?it0=>4?+P26${q_`h< zSOf|USg@`Y7!c`JK-^nkz)ZI$a9DA@u^@2i7IDj~$hwQpE>1gwupz{)kU>NnOu$_h zOx*D#Hd9be@KC*}|2Qz=PwXw#dP~~tYL=H4q}dt0MLOw@MqM>6%>)kAD@a5C7~ck! zh(wph0idwq4#*v>+_k+!xr|6idpk~LJy$(W5L@$@Iu&8Yw6Bb!R56X$PoYEb@r$;I z9XzQ{e-{-EbPs+G-mDlI`j7Va?xB8<+(+57W&@T$J#j3pgOJg?J(5RRdm?`TtKk^G z|Hg%jW7+^}NBZM<O>;U>Vzyx-F!5-MVd|m-F)n_FH~T)9H;?@T-aOX$Y2I9<=6oG) z{Y&7@EMJ^Adx!BRr*2+ayD>pE@MdqEH{<V!>Z%iQPn>ak>)&BciCPcy|J|*GyiQEj zxl-rM4%Qpz%>U$VLND3F1}<c|T*hFiIO5Vr`||!}dHc4SPV#o{-zjhCLwo3oHFU|! z?qRdz=L+RqkB%nV4awTmL*qKhRyvwS^5wvsM{F8r0(&17o5u4iJ0dneMt5Ai7U2%! zbs#QYx8QM@c!jQtSLmvEg-E>e0v91(e}{C2!P{KIVCHSa52}OYjN}W_#XiJ3D<%-S z{`!}AL~Q;8z{mMS&GE4}SntHIkro@qClC$NVeQ7l6a5JtMtsr-9TtCg*zCWSPq3Sd zRzcv?X2)>oWb@BZ4L`|H+|j$JI|y&-qWzIw_^<K%cDgqn#7T!Zwy?X-#M*HVWfx90 zboZ)-*BR=PFw-`Y^4cdhKMYXV^0yS=2gT-_2yhpmB6A#Yhy!a|#DN0jq7SK#VSwpG zMF19(6L1lLA~v6ciXw4FuVF=9+}uIWAofEPENJLH&CaRi_Zx8LCiQ^vqwYai5UH$( zRX}@Bep<~LN9mN-9b@aUf~AWF?;wyO@l3&Zy^wo!X(DQYdo>d8p_hJdiyS4*5V-~Y z3<CEb8R}`&5V;PTg#<4Bde+b0Nc#XH$9pXD5NV#CNDInB0d1g5Z{!3LsTKW4h+(_m z?S6-)VwM`A72N)#kx_K{Yvctgit{pYX+dt9DIp{lCkvzHL=@T^V2ND8j5DFDN{|H; zYBYm;|8eCrUKC!)4*`>}XK#egO;DYg8HW(riH-68k%7G><QeBN)wFqQskZ+wq(p2y zYLqyU&YmV;?E?5@7Bs$tGvi}Qtx%)f*w{{L6P=!euvxu_P^F8|6E`nKNyIZyr0N_x z>cI+Wz=TFvq2xrBlBj^k9IztAqhz`FDb@~U4ooQ6K6sIVnzHIWk?T1Oz$_$~xaQIo z@SK3_G+r=X1Q`~Xu`p$(V;&HR=G0h;CQLy<i~|yQ39$IiMR5zp3Ni~bP#}xH1>r%z z^z{@QkfRiy!BKu^D13yc;@sYWw1a6qsD|PT($hYK)`3F;C2~PF+7VLdDbwyCM=0EB z`nskAPvkeu*1moW>1_z+RGs9W@4DpG#`c3jnqv>rY!*9~uWSH~p12JiO(k4f`v1UD z3#KWTQYVu8*@K1c60eqoz9+kB1dUT*;{`PeVocGv80akS8JvO`AOvClkY__bW**`_ zNmQv(M%Dx_8gDw(e<*M&IdTKC4CzWDUj{bomJ-3KQA7l+PvR_funf*7Ktylcn}Wu| z9gBCYbL|;Dm5y`8bC=jm_B51AkJ$WU+zsi|`Xnwe|B6C=0OirY*0@5Y;AkuBq##<3 zA+X@a3mGnmxAsuILx#(j@x;1R;g+-z87`13cJNxmWy1f<Zb6ygf&aJNA~r|CM!N07 zjW+IgVIPUje?t1FG#=M<iy~a_ogs~P@e4FwN<!oH(ILv@U<CVP;}rVECT`wH&!EOb zyU|QT_j^Pc>IYT0XWsno0UXJCgr9gpnyC|-=@QpW{P0eY!W!9&j)wx8PyHXalAxrH zrJVyQ6IRlnDbJ8W^$U9HjeHe6ca5<$lGGBkFzX~7x=%z7>)LDv(sf(uTE2qd(3yDX zF+T}EHdlyEP1JKosTXNH9z8T3e}eQO{t>r)3y=Q_`#gyJ!`X-R=qPf#S7#k!^f>!u z6B0x0Lv^WHx3I3X4~cicLOS!Xga3BBS8S#=)z9M}T9y9)&Oc)F_lR3`?m>gstY&ST z5QFH8EH;+tj-JS7L-MVUY~MqV4~=ZpVf{zqa|IjmP@HazZ{8bXlb3ZiDf%><+@4?) zz3NlZ0NAe<iK;N0#zz{(u4TWc2vSevvOY#eaT&6`vFDfjid{gPf<h>&F=I^{CV5{D z_N}=UYc_7g^nGn7z;AfE|B8G6`f~7r1(Cg&IYQsj1I<WLoKBF+Vwte*<2x7W9bVD8 zDYn@B_}8%*Le}{5_h+&Ok0vt9j!K;4Tq<ro=B<cT=-UP4TUa>ylS-&;tCwC@Xi0y? z0Kg9#_&pWOMJ<uFz%kw~J6u+@Ld|#7Q`aC9AF*jL$npAUB|AqOpkCSQLZ=}B4%?Km z1!@DWD`v4VR~vygrd<%X{#D%i_X@9S&%gmNTJ<r$o<jvcon4nxQuhcmrI8KYL8E?# zSDW=bAIx+gzYM!TUy|kPmOPBatKGSc4@Y_s6ghW$^KlmY+srPl|CXMQ!als(N<IzI zqf98<iy$%lQ??4Pc3OWW?$9vQ(7XSncWAx`YhQ_X6k~;VVsJHRh9NFP9$PdyOIr66 z9Vz}T2zdH&aFsg6$WqYAR5go^i9{IV_tB4Nl->+6_%%RC)V`RkrsCK=2wN8TsJl$3 zFpq}e^`#&;>dsayJlcVF7%Vn<wI9B%!>pQ3PtEbCS##rU3Lt)t7>9S1KkLf?LeaCd zb&3f)7GpWPB3=Z!ihymlJ9ERc)b9uin;iK*VL>t3SXk7?KBvP10U~ShVra~+!fMrF ztW}kxaTMR1O-t0}#4s|IEYXsBsH6*1{C4c=+FKGovJw7WzQqOHS?H}T_s*mu6gp9* z7dr!S(~Gr<!S6vKLsT+AgB<W@t}-6S)+{7?^0QySrldO!Fo9e+K?Y_eV&^D94AKmW z!uKhrR8-%_6Nr;db8C<#BbN2!N^L-I8uvkDi@^vA5`|#RR8(pY{+73!2d84YwHQ2z z*9EjuNR{tNUblm=wyVobBpT`3b4T>t6jH=<KZD#I=7x>}qp<^rX?GNu@e}Y%G9Xr0 z+D$qD*xP{@UCHrAS0^ElE4TVZ^)j9~AERj$R|~wGE4AEf@uu)S;0-*mov--?9T7Sr ziz6~tZ<YRbP=Bk-3xEAFY6uNl0%uJiloO|BAv-iQ1&!I8t#om~zeCkG7mhOOk2c(z z^jqvBO2U&_uILcPH$YQ6iG0oFlZ>j*M2fqka1vTyI0?-!oP_olPJ$}vNcL2y!X$(< z?9-zdjptxL(jm7JdN$j=6f>($$>3T7iXuicp`_MRI61HyA6h3lEE|DZGv4VBScF2Y zCj9}Kn@c8{(dOFPkKv46Y^VgfxvW<^fI|<!^PHx5O(8bf2t&H-7ksW&0%Fi>OwxnX z!G;j%TIKHW6mqO0J;A{qpSM<CR)bKr;e30~r3Bx$i^1!tG&cG?4a(*AUqo0Yo-!a| zIZB4u6azT-LC&b_O7yNvVDjvLe+H8fCR6}Zt7L+6bJ@7aHY6B9=E!!EM}*0P{cU`U z5y8s(L8UhSmz)bYXJ`3;f@Cm%4!C*|%z8ACN6O&PEB|)`mtxznSDy5mrveU}zd$ii zh7RD13}SFD-rz;0cJrTy!4!j2kd7lrE(!HX4G+weX9f=uxpxkN-2SAUe1j&=^x<Ux zNGk)o6I8&ASWysXupf#H>S~7OD(Tt_Kj+YqKRdDjFB<BN<^JC^)SJrv&o$JWXZnBk z2V?ZV^m%3D`|0QqrAaEmh0iXz_=rtpbzx&zAtmGNN&eWxAF(jqK~8)zXvRw~)RwCZ z`>_Z>{GxsLDA%bj>VNurNbn$fNqI)1FnMJZY9p}Fa~8$Y7qVc75_ac;Prd}{OXPZq zXAZPGm3oJo{)#(_b(B$x5j$_?!Z-lhQ`Bd$;SiTK4rPTCDwFnFIz5P_eo3P9>Dhkm zRVYr7Y6z1i6Y9t@`BP}uadhPiwAz5+e>pHvAumVYQe3l0$}?4SgOSkyc*gN4X^-jM zjT&sMvvDtxjju^#9=rm<M%ds0QWIf}5si2W@v<*S#mI#)yJqrH4wZ?!(Oba6PE<+9 zHSN;7jF_Ysq$;g#z<>2Ai2@*S=-U~@5^`FK!B>#d@T&B4T+jnG*qn-|Gx}4N{zN-1 z@NOEOHa1EBjfbXIv1u|Mb8Z!%g!-T&$MsBK#*?^RYj`#N7kYx7Cv1`~5RC0j5-Bxt z`%BW_aiygOS}zQ}2Rgkf^&x4*ha)ZqLK}zyXyO()*^s!4G?b#BC=t5i21Grf0W~c- zSX=2q7l_+C`8vxwDl}LjHr3&V%a~1UTFLuJ3{pTV6u1qK20qDA%;<lyX(JM-^8+Vs zIJM>l&P|B@paW5%u80RHnm*10J=#uvfYy0H42}cT_<B+%08xyH9Wf&4WV@Eut&0vu zYjkPQfUM{x2dhG0XTgF%D?Wpi3{z@u)v&((1%U8w<ZN=`*f53@gLDQWsf=}!ow!Qk zvF1YzDF%N^$_+I@DOuU{DmpAgzNJPfn1*d^m<t0ml3adEjZ!zQhSklW(=)`T*Fh|$ zz==~|2jGn%cNvt7*A=~upO%Zy9ig0lZfElcc$qj1_J_FFcgU@MyT7M~nWAqhPw6sk zf=_ilwe|&F?tpR$cATy^P@L6LkGhHP3@(kWwBne74Zn)TcB2XdY>UjJ(d)qLSeZx> zw>*I~rTm#(cpJ_sP0uvok?Rx}xwZTwm6!CcDk5J@dIbrrM}_~c0)0j5Lz{Lu&gTfi z{Vjz!IpW-uxX91Yb}wQot*tK}{?-Ayx-{jddQtS+3R0&>qa$^k_^c^`3!P?T!C1-u zi{}pO=|Ij9?ZO*z`y5FmC7P;D20Um`Vw%Wk3=(=^|NYcm;IYPsEC#eGvIoz^p)Np( z{1KxTZF(j2;ulz@LozT12op3T%3xlT#3{(mN0JHVQ=9<GZyEpyXEVWlih(k$pE4hw z!lyFfDX?THQTP8%;qE^iIH~Jyu9qB<M}R|r54K%KQqY_IJwL*?FCrgO4Pdg!PjEvW zUob859B!f7yph{cBH?31un`Nhx6vYAqms&l|K%^yZfYCCYAQ4f--2{C-g`M6<SYgm z@C99}fCYt6V@MF2RHPAYXuby8f~pHDwLd|r($ED$Ab}3quEMD6K)mrXT}40#wENe> zT9~8U+gM}KKM#>JWbdK?Oa^V%Gek=YA;p(59QNCDmtfqs@DK8Fdj!!czj~UJ8zGvB z^UVnv;@VGD{CBwafDTnGKdEbboX3a?@VOZ10Xnqfni#-zG><laWn;w%J<UI!gp9fL z1D)c5fIrir1`r7NsqzxakvsqlDV-epT`l+RtK|}FRG7)>^JIBFqN3J<mY4bdWxjox z9l!7#-vtI%gZs1V6psH}Y^l(e^I#np9i_nMTmIWn&c~0Z%0dofh4yeF2M^Oh0NdTj z5twc>Lc&9Bocn2_1v1CSIsGm^dO_xg0A>TAsY1Jao(SpUJa7o-Hu$%KC3w&=HbDSx z4V!MNVH2ajMcMcn60((VPPSA>L<lY4=2|^`?-gP{A&d!r#F=|^7UFm~EyZh)!5BQ9 z&RyVP)Ht~NUeMI0&B10JG=RtaVFt(q$zQ9CW)B-^cW;G&eK~9jK1hI7O}5@jpIRUu zO~+RSz@YjR(_e~2&inX4h4Q#G6?<!?`22EoytOhozK<28;%L|D5=(E+L+BIm;hhF# z;f7{+DuR?CqXK^!HUzDQVpQfY^gB=iX3iIX$Wf)P$~+51qkCvUo`-Tp|C-<fxPuW? zJ^{xc_$0)A4q|8J!g`xhlnQ#fbABXWSK#j5&^J`k(w57ZKnO!ESe2?Sj#c1TnZ*L) zAwS@Kg(D$~QsWHLfh{u1JjvZ%?^Kt>aE7=de2*1=?{Yp;M!MhfpGQ6+dRFzu-1T#q zPm=FeW?FF+k#aAZGH;=u2nhecU3yazXrLW>NLutnxM&X8-Vognd=qU#?_y045dt8T zg#JB%^Z)X22H}m==iIr2YXTO^i8~s}vU7K?I;QMeh&$E(ebxD&HOk|b8W3lJ;)Od~ zo>!wxtYLQ{6%1ET-$6no!wf8I6yQ+iqGWN$5(`^qO|TWt6($lSYVn9W9;Z#zq@Zlt z^8H+4#rdHU@T0#_7A;gBswI9)U`a$S=SOdfJHj}qm*ng0SzR1p=0YVF*!(vm7j51r zu=_!!AvTjY@i(>#?Zc-yA7ma17jP|)uSY=>b9Ze*NAtCo1nNq%x{MBv#}PXSL3El6 zobXLZ$_y)gA7*vj&l5jWha;%2G2%N}fzwwiOBd@0K^Mi*<PHu5==l#a#M{=<XQotV z24Zh?y2N9G^?q}br%p*xSKHO)R6UL&ufRFiMJ8h>Fyk`_;E{!`^zNRHLYy(bdWpCv zS==+%fU`(uTJSF0y<dDX3~qoWCh}bzat;B2XsXVA#3sgGGX%6kAQ|;xbM{obnw8J| z)`kr>`YzV$RQ6ZnG4t|twz`BZ_vot^v<C$GzcnRrVgP8tb|*8&RZ5?`fsx={OcI`< zdEZa;49-2k$<h9h-hY_K;6pe(BYny=L%Z|Zj28cosCI1mL0?n5jM#J^xec0&d?9L; z8LGnN!Pj#F?_BnlE;ex(@6mzX(2B4cs4}a5E<T%Y;j_1)im^2un0B2k#af3aj^}T# zDcZ)Sri#I_s7)2<TbG7Xk7_m1@u1GoJ7!h5*`w7TOfs0~r;^f}pC0ictKMHOWXcA7 zd>E`?oVW*{HbO69{ITOxT;z?s1GWN^s31*2_5e5>2#AoelLk?6ECtR60gSBByXHW< zJ#^MY=TxxBh39BnnFH~8U<e!bcWCb)NaFF_UGITy_)!(Bt=eHE0yKmyqhSr`w+x^N zB#okUsv5nq*RWAF%xhBo2?oH6j6f*cc#N3MJjKEu6_g4v!fJe&$)XA?>B~*%qy~H~ z4g63~{BYd7ES=Stuw@=VgviF%xiBs^JceA&%9>PVWhxNQY`yRt)IOZ)@<@QU);ve| z*cN#RCtKm}S%M50SxSBSWo1P=N*qOrqsV2ElX-3^YT7`R2_mC}<=Mzrh!1pn+ey}F z<icRA6bW4?NF`YCNvk6`SDu&wYw3tHE=u*!#0eA~MK&Y86sP9&u=;fRQXJOq;vb8{ zH{|fCIOE{8AB(f*v+4XRacFl@D!XVLFwaP5MI~$o<bXzNrjZ=z`vz(F0)nYPC!OyC zOxG^#<5~vPx5D6S_tT+R*JIl3)xNr4?<u_D>$~aXj<&`3qE>=gsmE|C$02#Nz7r8n z&ch%5uD^@epp@@l(t@BvV6S6-yO+cShvT5P$?IiZbv^d#8nIJ%<g~nIa{=D0KHp)+ z4#@_$LHrLKst)~*d;%6PNg2^uqWT_6If>cWn06c{ivRk)TD?*FX(8AI9Ce^9p;smN zJh8*T8O7WD$*c#CnbTMkz^6D{09A+z*l*pY=ErXB^!KyQ_IQ0brW9(L8PObkY-QN^ z1c9c0RBV%d7ID*$AsCZ=HgOA0Drk(y=Ocv4KI^)q$v%614ah9fi6S!vb(z)u8f3?! zF0+eUD2CA8D`&Z16V=!F{kjzQL7bJ1{ZYp~2;@l%<0F6ju}XEsQ(CGy8Km(@T8JqB z8ko@HcHpoGhx=i}dNWxs7%7!I@ht`%O~UTdJDfs5X$@IY@P52nZ$a%~N_ClS!^5cg zF86Eer?`99C85^aT2NsnJAQ4Q&o_TjouW!HTd0@oEBC>5t*|m)#fep~;mr59+y})? z*?8~n6}MziKAs+-g`>DE<gjjFTm>u4<kmpta&hx%(12;|PK*JY`*DvpRxykFb#V(t z%(?%HQ#o*LL9z#ncWO><+C}W5S98cK?MeI47(ooiF>;fqodYi-j!|s>GYTL-`C*&i z#{Gyk7-jeba1Y&g$}8^28WI-eX}d{FmzKvLSNC<ty0OmCeT7c193Vsh6DCMLI0+1$ z>(d_H$fr{w9GivSK<J^GWl38ndAhE!<7kyfofk8nN&BGj5*=s{g_<QkF$Gf$j6w08 zVaPPceW$37A==zYga8@#i(6>XpT8R^s%G4~U&ns?%|_hSw15Dc43zeoxQW(@5Ypfg zH=V<s8|`2JY=ri*gLm+LOHbncmN(+>#Vxcd%%k6s2Mv7?2Xov4a4lUYsND}5R`ns| zbs^gQ9(ndGcolCi+FYm&5+`7ZU{)0zm1pq){?AF%chrfSB;?kodniL5jY92Vuq!A- z+}c63=|A@Qw86<F?*TKE^ZB%=0JwU#YW+H@N-wR{n(#cEKERQ#W~Jhi6?qH&0Ud-s z#dk^ZHHkY>w!bIduPl{6MQ-H)aUN4M$qan{^QtO=Z{b9!BcJvnfO52WS0RR=4Y+lw zMc`8K&>8+o0<e(_9p@CE_+L~=jY5@$uu$OYsng4=_FK}>*Ko0*b;b_>1Ku2V9DSeY zdGSf>P|IF^@@mT*XxabZnYRoFAX3X*+K-Sz+$7NKpvrB6aGN+Um_&8&CuoN$@<&{B zLM`Fo(6nq-_&Pin)d_IfI=I~ERy|`rf1y(p77vt`b~ln{&7(T;Bf@H5Ldq9aO)Q71 zDKhvPTN7$79Va4rE&KojKA&5cf@7!L`|BUUakOP>0j9jzZ+5RTPBCjK@Rgtj+MiQk z#aS<-5&iG(+K_^yzT6$_bMTE)?15G5u%RU87qA_a9n}5|4+IrikDbT@n=Y`)SCyKQ z;_h7cG^+Yt^at*@>yJivC;Zl%NM2u+p2Y>HHqul<Y#Jaf@RIa%O6%KZ7n@E~!c#mU ze!5i+NO_Og^cQ-uNq>Pu0maR)QG)JQRhGl#p>qP);I{(5TKpC$Q-m5UnB8N<gA+eG zizf@f$d|Q_`UgK5KNo&W@uSt(h3Z@jcG*jafDt#p4y=?WUL|%x{Soz%3tWocOov20 zAnsU-e|yTMdk_HZeoIvOx17eh!J3%8)KlCceGO%W`|$c?e9*aES_5T}jdc9SPsWpV zJw4GWu<IZL61G!(%|Iss`hN;2SsX+b3NFA?Dzf4~ezho=&cURk;6gmPM9dSx1D}Hx za=7qYDsK7)a)2?ia3Yd(-FPhHrfzUx{7J`pQ#Se>Q&l(2C~@<TsL?nT4*b0kNYz5P zmcmt2jG9Xj*XjY0%Du4B3rlNlD~p!EZT136Xk+wMR}9`{w-m!GN&U?Hq~lB26dJ8P z>|wGx%Q1I{p37`)+)Et6T@`r7G6I$0(<fZu)TReG(C9+m7en+<@jQS<Uy#SXNsRO5 zXy7P(oda7inAaM8J~2<lP!AsrsEVBAkKiD1<$kh168FKCarLVk*yzCL{sKR6G#M1I zunEI$GstXh1{yr{9ga8XD{%6D@`qY0KoBbqnLot#K`x>%qCK$X07T!uf0TbWLEj;B zO|8lL(e0mst?`dL$R{Clvi?;E9=_1k(gGV14YKae1uB<!Q8VJ-WWL&N2_z?jHC4$- zw3iO8gFeu|4}@<;V#wS;QRdH~yts8N`j#wpG-tgsg_ho%e}EUTOvJ7GC&Rvz=}U;* zt3n2&y>zkBr)htM@@ZpJu(<6)g(&6EzRWPp$B|+cR+_5N{JBhf@{fu6#L%Q&N1h5? zcuuGD-1ah9;cy1Y62=F^D+C|ZL>1AWA_A%$42-yx8eH_YQhaePJQ*^b;`n1Q4EUmO zW9juus<^wY7;*Tk?#2xki$H}`UETbg+Pmd_{4d7Qzz}FYUSSrM&e@PM;vE@m#mZwA z<z{i~aX3qxo5?#5?|Mhx^`!R;mHU_*@r{&(1DIja^og6x^*n_*R{v?ph_(L;kID;< zAvJ|(Sc`+=)=nyeFT&<o#4R__o25Xx;(8rVF}Q$)6r&-v1l&_hrwA`1Uq>NymrJR$ z!a{Yz#b7fSl_eG&=&d-SIG>jYE#WK_*Q-ee<2f@#V>$>IJi6gMeyk!$AvTe^#1|rQ zusPKMh+v~)rIt2e6#^<gdp*@=Gbqcg%H$SU8JqdJ;e<w>z(QRY`N!VuELwj%cw5|_ zOaYYw&L)4Td2Dlmu?V{zf(JI7=6L7flmr=``Q(r$G}D1=h01ITDFq_}2hGbYGowFC zdz*duxkT9<)rVy`NHd7h%W=j)nU|b1YmRdLRSR~5rxJxzY2urY?2#S#N6kQDF?|RX zHA3e}XdJ#`4hOPwA8@8N*(f97gV@ye&?U33AXudSn>8)s_Hh(_oziT??$r~y_@-QQ z9=~;k29lcdOq6QF7LVpUGu>K31Lo%c%iQ_LM^#;mK9h_v=*Ssx)M%#~+i9Cfv_YdL zHR^<fkYdCM`6-4U@7AU$)FPPyRKUO_ki+pnTG48+?bUnRUi%X)3R)Es&<w?D6R8SX z717!=j6YD6B#O-Yu6@oV0rkH2ecm6B&xg!8`|KZUuf6u#Yp=cbTA+qUBB5n=l%61u znSBG?QM$6DbW}(6=nDM3F$TX>pq0^L?2XaOxgc~}r{4RuR>-V-VDyz8uD<=H<a%4d zg@awe6Tl0e5|uJk0xy0UnG}hK5HhexzKI_p9Al>7p;Gl%PNeMqx`+FlBN>PLo2mMn zO@E7q`a8<*Z-MHW>aSNWuk6pF6PX>=S#-h;czq)}k)=98AG%Z@M$w1v{h88<qz$a> z9V=Z3bXnKai55Ds@tpM3N^~M_2ybMk$sI!|!giHN$P4^i<ick};dX&_&k9bghMAoH znzI%_*N1*#$0AD0JWE+@Isv8q9lNTtkP6nzdnz)P<y#(&1zzGXo~(q9*po}uWJk)7 zwT|F#h!t`zml$xd?wszyQB2%g+o~r@Y(-pWpq8`CEPVoq34OEVVaiCwup2dZM=iRT z8~gwwiHubtv2sOaeAt-jmZ?ipfxXYMvo9XYRk=o4KZETNejXW5IU(p-GUT@FRQ#4G zv(}KdHpJ@1Y$(z;9L4vt>n~JUi39!tIj$+EB*KbV`I9AdHQz+!3(6_B@OMQ~?*c$T zonOn@W5$}3#9d)WRZ!#qgxluJ`fE4ZddqmuYsIiuCnoTc=`xgS0xoUyA@LZdIo)=B z&}`g9ki(uzd<L$23f6}~iiWBXL+}osI$Q{Kf(lNJQ4;#d78yN7+FbtQ6nU=F^aavU z8(-i``3J+ksOYw0VA1=v4WCHM6Q9c)#55<g4A_|%Yup!j+$T<wl%?+tV@V8?ik9zk zU_%NjH(ZckCALQ8+PZ@>>1{8%pru4qnR=FM9@h_KOw~SI{GUzG2X_ywp^I!--s#|X z`PnoXP;qLt&FmZocfT>_r77~I<FtfQA|Xjl={P0vHG0ApgAq=gEo~v+nSpO3GZiH) znSgA~%)$`gOA>o{Z~Yi<{E@5{d~iCEHOU>)d(>rsg1%2+e%$gug>xl65EO60LY;Ni zsPuW8)?P$CGF8%_e#4}4MC-Irz(jF+y{2Y-Vzv|j{T>!79wD0&5rh&`c!6q4O#h`@ zB>{g$;714%KRMz)x<Fg^Ay1Hf0k=)w$ikwsc&}#4RZ#s|XQHuabRQK)Utl&Nz`j1( zjGQX8nDayio9x~12<u%;0al1plGRspL!clFY)SGQspmk>DV$^!f6(%#elV}M8r9o$ z>uV1yi6Pmizn`~vdbOBbjJK1HDW5}m9F8WFdt_`){{-_E*H#hr`rb=iAQV<5sVAAY zWU0g3?)Nh7xQQ|*{w(vB(aMgy`@O7$o7`*=0Xxufc0xIZS4RZ3XapNj3W63$CoD^C z*h(sMAlW#G5JH$bt^Eoa0-GtYWHb5J{sAzsOf~0?HYRqzL;UCV!^<z3cvxy;rr24D z*2?XvYA;piSJ&Y&a^^#--(}8s!Bg=Ww@KtcNJZ#?1ARaUSxc7MdoYKxQRpJf!!PD> zm2k6+n9ce0B{)+_{3jbW{b2tdhunZWWMrCiQ`!bGE1cnVy@Ci(nfMLafY_OqX3J<} zW=8kBER)cSIwR253O9!s@+ZFIK&V?;rR)tc82!&p3Uub5Saf7N0A!(-c70OpyX`ND zOQbBE)ghZK{Pp(6y0Vsxlf^hQaRRj1|5~C<24d1EJMDe2iqJdaUs}#(j|_KhV%OC6 zQ@V?o)^;bqGAk}bZ~J$Qx~`ci-k2A;^|<u{udX<(F`F~u7B?B5bTSaOK{7m?&fq7* zg`6r_|3%77Jx(+Y>hN0YCBK<J8voJ+|L|C1HO5zJqXw@P<<)eH@vC&+&z7V{ZAr?I zk9}$RR@S`;>)v7e{?9xCc99ogE|JP-Q!TEG7P+llsrxkw=Ed!trQ~doFF)c7)&do7 zeBTKaE1h@GHI2quq<F0bQg#%dYpn0eV+BfbYO*z|@YXc`SRnuuYmgPoRAdn20<lx| zZW`|#z8lM~({I6*$XtDDw(Y+7aL5f;HE#)+(W*3;G42$ajQyMYC}oGv{K+Gyh*tQJ z(5Sb;oGFekXQ($phQ7ne3Ox9T5N9#UDJVfV^+^P@$kr!i$F>KIGp5J71JyNFjw+e0 z^v(EC73wl4;fmw}>ks|XLI54J#J2Jn)s&XA6E6`eiBqYc!X-K41(ybl>TD;e#+yf) zTYN3pa){WL5}B}4yvi6J^OpJM0{>&O9!Ewydh~j2+l=`&ggnihUTq!PrzRfi>K)P7 z7#EaokJ}c9c5eDK1fySI{QA$+FiLx9qGEATgZmn^ZT0@?ERUy!A%S~`s~u`rMxAqp zYU|pO4M>bRIWFO9kW@o&2|YyCuvy^`TXQh=VZ3n&{blqv%=B#IBoh}bpctvf*GMpz z%K)g82jy=()+J|4?!>(`!QK*7P^s5kGC$ViPy1VshZJ&RbCw=eP6nkP>}@4Jq4Y;Q z$8aVe^(w<&JCa@}k$Olvd8;7OPHOH{#|?zq>J<P}k>^$a%DCp6vY8q2z37|NolVU^ z3n>1`d6?Iv6#;7Z?&t$-9RV_)1aJk0P&N&^iB_Xr659Lp*il!6DDYXtoSAl%3s{Ty zbzeHF`&KvqJ^c5MlI-k^QGMCLc4GUxh_w^@YFF$#?k-4&y+-m$#}^zp{SrMjLSDiP zcNrH%PoV=4_B)Fd%4boP*s_SbAUc@buk`6F-aY~bV5vTqsx@uO$Qi`FBVrPP(AKMT z<6P`SPBUh@SA4P&X^==DFVmr019&hzMIm*?lTwT0V4|~n?tQ%7kYS>$o^E~oyAv`@ zR%-p=kw?XJ=g@CB>%(_FUke!8Ir>A&Dp6k_lscGxCQ2bVy3(y6wN|Gtl18Dyzx_sa zgqcKeZ;aN+&I#zVTD#aD!tb-yA|5$KY^KCm`v#<vgCbeL;#e$~V#QvUs<9o{>OHm% zsyZ%?Uc_pkN_R!hh5gGT!33`6&Sk$`gO!Ude#fqlIvqb{oyhESCq4&FdR9EHgmo3> ztsv6!hw;ehFGR02CVO!h2EBMxGYpn~rB7>rOTgts%E3DKPZN(JnRV&~#zha&Rc>uc zkMVy6emse6R-8@<Sz=<f+4ldoaiN<+^ewSm#JaZNLsBi-^eKKst4Da#XJ>;J(I*@( zg*kpb78gaM+qC7fAtw2d$`WgKA5E0gmT)}91_BM%dGAUSu*mgF{WZPbx{ws5_)u^O zss&pnQ5I@Y+FBVu<g+OE6LK?*s_Lwn_7K?j64U%0@e3{M*8ojxQ<_OOm2BeA-Z)BY zTPq!zVn-d@stE3DmkIaV+9||$1`-d;`FGZ-&NH=cp}n3!q@~mLE0(&L$hr^yN_`ck z%dzU8q9@}Ujnl0KZY(eLr=Xgr@f~w@$Y>~sGP++sv3viC`c+=N&Ig6mqXbgcThZ}M z@SuLa_~je2S&|+ZEc@h1zNPqZ^0g7`mgqss=}Jm$5rju$vmkdO)ijZ6><D|E#w9{e zXp=-5$T}9<$OS^y(LO@|8V#agGRlYnBnOyv1Z40;zXC-C^$EkZ(Y{{5fmjRO6Srw% z?K2{{QBUMqH4u(oT=_#wi!8%2w%8EcKJhM8F@Mjain+Zq@ml6sH;8qKXuI%Rhn0Rt zL_^36INHDQq>Gmwc#C-0lo)4$)Pn1*=t98~{<4So6X<l>C{S&jD{Z{#v@z=VHoWR| zIZ%_52Ch|n^O*WiP1m39i~J7t2ctL{0J}?`!)0S!8%IUYP^Y*j8Q!4bYVZ2PsA##~ zE1;uiyQ7ud#-tnx#abo|TXz$#H~H*Pz}3UBZ&0Hj)ZdSk=~Hv;?{-WpIo$(L$Gw)S zl9OLmfhm2=Xt872%EWMD**^Rz^CLw)$;}e~7bb%o`^7MO1?Eyb;sSITu8w=b_x~H1 z1-bfmRpY+|vsz>S37A>^1ZEr2$HF}Mi|~ArgXhV|;8_l#ROGPF$F%VUnBFvm>4%2m z-~JPD!vX~ES)YUJe-UmaS2z>`wr3rO?SB&P@IOf-@QE*?k$(|xHNS`9KAuYcNx1)6 zI&t9s|AJ12IZArHYEtJl_Nh(*e5}Z3EMZodT#hTk$ct47Nuuq<xo0HAc}<DXqmP*{ z95h$f#gQEJG{xPx_XC2J$*$saIq8+g{vBx>dkpV8<NFS89RXjO9prM6Vc;nH?cB(> znP6Xo_ov%XcSQ*{EGx8XYAD|85Szp8Pn6!MfZTInms4}2TUlR__^u(StG4CJa=IAg z0}E!xAH{%N9Dfi1)d-6dc_arF=R-eTKWTV@5=<00JW!5`93FVLnwiOa)Z(ZdS~xZy zw%;{}CFeT5k*Xt?(xcN^q&a`CNrlmp4eegx;pw2_!m2NESjZH+4}VsDQ22~I14bG! zFcz%TSYulSmBWZ10qO{L{h$r%A8h&G>3}gwV6$Nw!JNV(KsbKqj)Cb*4onk<VIm}@ zoc*Xx!4Qf@wEK+R?z3r%#AiHU2dpsG=;(FUcWIluWRXp$7uo4|rqgZu5Z*BtVKT@b zD@X1l%tiR9nr=PEDV7>BIZlU^m*9gb%r3eXftO<^xuu%j{qfl=_A5UgY}O={$czj` zsxAy>{3tg*7U54+ifGMDNREOM(@t(`iWHf>0u|c~^uKaGzD*uY_vKI*+e3Xo>o`EF zzC)B&(yO`r_gR+<OtnzaxrBp4+sF|DCk|Cys;kuTT|`Oi&?dAQzYS$%WMx2Ob=W(9 zce5BpbnnZQy5?KwUdL=Z#5a_A?ixw+>rYv4{*ju|kJ0xKLP{+i4bkCpkb-TWZ1b}x z0DiR)Mz*z?-1Ml35>=p2P7F#oA}XS1vV{P|969*tHOAvLk+3!&uxC*s$D$UaGFv|c zCVWZ4F7#PuQ?{>o_redE1yq<X?qKnJ%hpVpW#(IcjN|2)($RTf$T!Ioy+v|!l&-GG z)ZZZXqxsf>?$6}(M#H!~>IA|Z?z5q1!zhxNJb`C{yHH0W%;F(Gi;#$NKF^M^MNVak zcq`Fsh>Ym#ab@<D%KuCkIdfv8vOq*m`#U|QSXQ2u&YQ<rg8LA-Dkqy?Yd=fvKB`bs zi*+FJfl$HyGNqYcBAt=`CHkh}k=Ess6vv|)KX%**w$F|eWUXzLh+ZnNlP7$`k{avK zPo<lJV)5nE9sOTsb*<hQF++upLz{R=Y{*hQp+H8ww2;#L)T*CJqFv31PqM#H3S{Vw z+3}FQFAu3Lr9LA&KFLm)WbZNMc$t$Plwxd*J=cok2ilFCYfddRC)LJF?Yc^7Ym(j8 zB)hF)AZ%Me@aEB{iptfiPs-uV$D?1L8q_D{CV!ni5Arh3px4$5nllR-XQL(CSQbH( zS8s*BhpMg7F*87US8tt9O5=<n6@%TsG8?9{K!!Q9mg4cr3Nls2r<_3_TSbzT#u+{2 zPFFM8?tyK&5VvcKPmT!gxQY50`N2PPLLEifJfwu1JkJ{qxF{79Ozb7>m`00YLq5wf zE?k`7{l*EVTQ^a5J|rhiav{--Tv})bO7(AI-E6w=nclr`d>z*gXJq8<u!?@Hnz~G~ zYi&<*?l3*9@6FPx%?1&wbM=E(F=}6+!K#(nUZNms#^z8r{iSB$hs-(%Z$?J<8{@lQ zKOwIP-CLm8XvjBP#5Tnb2)-~%VD=;g4Mg2uZM_1opldSA1Ds_P5=Vj*hAPCsmuEG2 zv!-}lOb=K?5$)1InoN9R^^1uvTuXwDwiHrGOgy;3^ZpUN{QUuDhJsT_K(y}SyGcI~ zo={7;CDj~?{jk+E5&(=vs;#L4z-$jE6)>z2I_YxZG_br9dm8vArc~4Iw@K4WA*|D3 z*pslE5U!IW!?s9FVSM@_?ykahUg>+sZ2IyDu9GWVC*W|M2J8MO1P3{!`CvAb%wfs= zI%8EQH}YUN4c79JS%haumMnM;yg#nBpD2*fU1O|qqt}=vbtqK0p3&V;>$Ok2d$^h{ z8B(JXuL7S@Bk`<##!W+D+syK2m5NUF5bVXH{BRu4GldI|fF48!t$mLl*8xP5sO(u; zFY@sMtvaD{ZXTIa`XM=;elSd0`xFLA5J5!Qg<i1*NcZH~bWcW!$+0h$l?X`Ib2<40 zXyxlkZ+iELUiIz(bK0j5^l+6f@ixi<Z0=!p7ohl%xr3v`z>i{Y2RTCf`w6CZ2AXnn z=?Mf+Tf<C9UHpWa3Qt+*t#?F3JA#*PMNX6>|Fcau=k~^FsEW}UA-aUEL%0gicQnqZ zNiE8?ellB4kITgO<88IN#i2Oi@fPK?)CACfu~f?FO!GofIdXL0Gezc+Z{j=Z;=@b= z6fTx7i<-)>H$4j-KRaOO2{^nRtkP1x^^j^w780-Pfbu$p+vIi9z%;p1LFGBjo8ZKE zs9xP`_^)HgRL!DA{|1Tvz>b-%@9j&NO=k>IDbsa2Hvh6N)>$c*Uno?cBET`3qIve< zqO&Hh0~A_k{VknEMpd$m(r3Fx&g;U<T)S8iOXs{Yv7~=g?;0_rsnN&w(&o=NVtIQ$ zi~7~U?tLe;|H+(RR2Z!>-3*_{3`~N*nckmZW!U}t_|zpf4}02*{Ky^wn};oehgI7= ztR5z&Th@}p>bp=!I_w+#>qk-<4(eH*&BC8Bjp5+1vA4$O!INTxncDjD;7K$~YpF{t z-!W~7mqJ~Ph%q1TJ8Fz}9fZM&@gNooEE&7GT5i+F;#}*NnY_T<7!;dEPC^-ZQij$( zhDy}XF3z|1k}3A2>=W`ui&ho3wmb;>z}#XX93>M{0Z^)IM6Jt&5B^Q2HD(3a&B3+6 zFOn2|u<3m@5d`PL1II89GJT6UP-A%WVZv3_R^w-?SN?QV#qC!LZ>gj1Azo3WSls2% z&N7E~j+3i!<xovzQ=y#(YsVut?M#+|m*e8L%do%dv>BIMD#xmwdvh~Au4l<%gYIyx zQLfbFjKpiS*Lf@mB?^S^8Ix^R<%P?BhJMSZJ1~IAT&rXx7$wlB=)1r!F?yqE{*-H- zmd+(qOfIc$8v_HZ;7@Cpi~d8<reQsXjDgl96LfELoz_pq-WJYVXpBxIc<JPrRK_UX z(ek|mdhOmLkfTeHqdtHqeA&L_rxxe(Q)ErKR!okC5ax%i-{WXU2%$j;VF437q8A3O z4{h%SfZHL9HXRG2adwGcR93h(R50Tjk-Lkmk7p?Q<A$#6>hf9Oij-Rkr10yeTVbia zD!2f6BQTJ;NZIpkLdy|++l028CxrwdG`SPpq}RfznqXASDLTf|q_y7%<CQz!MR}~q zsyi~ZutBZ14q*OCQM(nkLc^^fJEU8YYu17)Ok=n|08mYO)vK_>SJSO<fTOj4i&n%u z$R=m7Y`4%MEu^Q5s(+ZC+a$vE&>$%I6N_YAk0Eg-ku7RY(^ug0=&NZ2eHB@Mdw2wy z*ABDDrV;d2WNl9868e%{1ge)c9IR>Wj~_=~3b^CR>&Ijg%4OR``;K@pdt|lBB;%)G zhN=^HI={ux-mzT_3$p3rRrdDC|Jm&k_Uj|MSYQo4G@^^)bQif8&SXzdp#p1nI+t`& zat(Dc8_S1(ri*8ii52^z&wyN|KyI=b&u4aX+&&rRI#;Ek5c;VC3X!KkTJ12>&P`_# zKqZR<DDsp<+ZvkaiY?iMavjnybK91|YmqbNLz#1h?JjdqxXCl&W-lv9CC55dSXgfV zg)n|u2W)qn%sIIjJvX%=A3)gfzdm$?HmCJw;o*-!n)NlQo8)`>bgSF>j#W1^vPge1 zYoR9=SFvEJr^Hz7&zgj-8Z8tqIfbhavs}jX!s6Z9%6+mT-Bd{Iq{VKt&ZYmrFI!?+ zVOcZs1&P|K0x^QUI=wX>gKzC)_r|rs!u0wt)7Luk2Q~QgIiEf86zqe$gfqS)wd$7E z{t>kT<s1ai35d#U%nQvQ<cPEr^-qA!04G`rti7b&h8%O6tGG{F`HVn%P+y#5a5FIM znwTp7K%eXvMgpX{YPfG;l|dfGklB_;Kf~t>Mi6PPRqMcsB{!;#$)4y`o6i@Fn1{L6 z`N!t+MuSY2&Y>X(y#=t9!s8~NVsQBK)CWYHqAyc`>fOmwXabHV4p8UN8dtYKSq^7O z|KQ>Zm${#0?TwtNjJEU-sC$mJ@FUR};U~B4JB+!$ms7E2)H#RYrQ?3mGHCxg@`j+W z@~q6PscvBs=rIuKl(0BMBCLDJC7W9U7sDNEUmZ{b;?fh*^KtkX;(vK8o`V^k|K<%; zmQD6K+(&7m>I;oq<(lRkomfT7Fy~Op1FqOgUq)_d0%{cI*plLB>4dhchvdW;H`*LR z$%%n9hd>O4lpHznp>!6Rb&};6Iq|Y%<wV&N1&<ko(TOw3A~4SOaFfCCVn>QgS~<F& zTc~>v>9vR49M!dYM{!fn+gg>E@+3ZFHvdsjnr9>bevq&4NUU-=DU@30fTt*ZybWQR z(%F=p1}8$AmH6Rl3HGz(F*@;{;u;=vM#^v#Wp%GxpUuJ4`^aG&vD+Zk0n(W%{1W6O zPNY(Ym#ldEcEH07QcUIS_~f#(mj@THo-HuAA0g@7T0ysGaEpdJAk2p)6u3`5REWTz zo-gSc&To#49KULBH}U13^5BIoy)D>EDhK>+{LsGncyJDtaG|4!taC|}BJ<@}i#15~ z(&)_|{iy!TgqwWEx4rtV33alS&&6(lT~NM(w*{1qlX1H{fYX{!CEB#yx(Y7V7?*sB zzr6T_2VF8|OM^L6FfmGHg2ws5;AAo{&isQ*3<&;#E=AnxpNIzbctDs_jLZW5FR|9I z5)xxVX&oO>1cLc88qMDWF0@i)O!8rjkHW__pr)Japm5Ht%k@FzbJt(`Qhft@MK&MB z$FHlGH*UvNaKRYA4Su~M$YtB*Zv82;zjL;fuqZRohh<dYm@;0y!XNALfrKJh^#Y7c zi?mfrI{d9YhLc5JHn@TW0x{s%Z}M`3MV=+_tD0lT{TIUWl~=5$;CvYz@y=IhaG{Be zwsPZidKd;%MJt|?{RsMie3T^f>#bk1wtxkv1>qc73=u{Z`d?rnp#3^o9XO(t)uCz0 z+3Aecg{%^?M2ND<X-Z%C1uKOu1YMtAB?6zT4-m5wXZ|xjMb=;04#!Yt%tySDbs{S9 zk=Xt=jhJIa*6)wa<&B=h{2DR6J}df+wwD^MUF?n1l&{vB>sV`=My@q;)LPSsZR0U( z%}U-ztTiK78e0|`5-g5eVh})CJe=*!hiXw4#uP>!%KB0v{Tm?!HCTO47A_RZ66B43 zmBmFaz^PphgJbvZsP6tmul>Z`qjouJZIR1LzqN_xDz&&Me>X$4e|HQ%Bs)#lPLvSy zgG*gc(f3^49kjlGFBXV1!bV&0w@?ovhIPl)WM=X+nQ}lGyImi&T8ZV2=#9nF+~c58 zopjH@^&d(K)Lm|+jH6MXbp?iA5LcxEL!a%Xcq4kaMz$Wv{1W3^)b#W5;O(vkY++uh zs0jOhYZL{^9+tvn%{J=U0AYPWtR!Q3kviCD3f3y+MDfQ!nBLD#tJ1|?x9sOWBag73 zTU1ihp!D>))_k?+5jrc8%l0MFCY#R6ae@*em+0tot%_rFg`yYhvx+*6<%LE?39wh1 zfdNLcN(?YhVqomWc6o?+MO?z~8J*EH#pQ}s6lOwv73CRvQfn`S$z!(aTah0W6+^5i z2U}^MOI!PdEGJA=A2W2prA!5F)qNi;^vz9=>9UN(Gf0ra=GM!ID7IDzpoP|*|E?x9 z113j9^X*SI$NNvNH`p9cA4_Q@<I()Eh8H^HM`lEh8sv?|Ls{F@UDF-i$+PvBAPQkA z)~7hUkX_TSSb6OAaOl%o42cpyBz+`IE?}B*4d6roQElR^cYiVjW};bocePrD-3g;M z;l|KO@w<72=~ZtwtKL~^J+8`SA-+@KzUrS{AnU-i4UTF%A-AE^_d}f<o=51Gk%t-+ zyS1N#QJu-d4}c8t#kB8+8d*?aBX{{(^nNRu+LVnOgYuyizsimLPWg@U>2}+2>)zl& z`6R*AWMQr3lPpSV|G{s_c`tW<l|m#<#S_I(V2v!a?7?NBeViY3<n|yGGk@Z3%0NvO zwk@xn$9v_Me_CuBaxp7cqfz10w@)B^;vr*^Uw?nXl>uf)715ydXY!t+TXMwR2oDGu zH+c1A-XZlW*PA#a!%gr)cUj&}xkn%SL{{Y@7OaxRCo^ZN)Y6;vpiAyxheE8$EYhM9 zD95jwT9akntUz`>YOmEL_FBD(wK~d8C2quFdL)E=x2)Iyrw++5BCOCgejeb*dS<yp z)DkN~443UJf&sF~SX#eMXVE$yC&R?&RzN;q&bV!iTJvucxq;{p;-!n3+-OvLj6B!# zTs0A!;G|w!0PVXDVy(Wz^?^L@(RcIH_o-xdy`*37>H8Qa%8Oo_>w4bRtG|mG`MYOJ z){k6!SoKv-{dylv_JBwW&&z=HeX8G>ZQK~pZ!FX+a`b~pUfjQQ^~&(<aD8Mql(buX zMc*yekmj^m>h1ejwRnBLtJn2B{+W_6b1Ada^$Nh)^;h^^mLs1?W@MD>gL-Ko)}77R zH#$U($kC{+`fp||bgZU9TI3MQO^X~dO&p)u$Qw1t8#9Hl9#^*mgiPfkbS-j#6tYE* z#uLz(3M4CfMC7O!k;A_3Gu<lqsTwq<muloS5jEO^9Sjyg+%7)|9c7-Zc_Mc>g640P zpt)omM-I-O?=@P`Ij&**;^r=gY)$pqerI>Olv*+t{U9xK6xuS!aVIFY@H#^5;4XwR zoR;NasV#PdAt>ft8`Y(i)Nrw|Rd{ShZ}b}@B@Y{D5F+J{-FOUdbu}Tmhin#s1Y&m` z)+1$x<&b+7VnD>b!B#$K9TECHyz>nS7QSfbyMzK6i{__yz6GCEKdle8l4Zosx5}Eq znk$kQI|F;?JKaWsWE`>it+FN_o6#H16Zs^qg=Ivg#OL8)a)y#perpfEY=XI<ZEu3( z*u%CPLXNj9=H}3tzAF#^9XE^QC8sA~O%^^gKT|*0_i5fvt>accnf_w^#qRgc#uLtt zK8YKZ&y+Cz6A6{1O1ZYHR8gnbS#5XNg3d#V>g6Ql*A=N0F;PV49tc|3@qO0pFzw5% zK*epX;X7XoV9@zAt^}d^Y^`cBydcO4+*9JQD6?W`RLSWP;uqCo0g*k_J!4sfvaR!2 z0AZ7J#R~LRzj=GGl^R_(%3O~t5@42MlOP+Me55ILv?-e0fb~A+Af(PU>O96(5<GYb z3fv_qTE)Xajug39;SQ}Vnxe<m8b${wn`1pJW$Q91umD+#vI`6ruH{9TJ5Yh_744%Q zB~3K}Q^um}jT=Rpnjg$go`_$Z&j_{GaWIvZrwXmW{WkR=OWX3)jY2)579N(T3a!KU z9g`~*txU^P(+I@^Q0!aHz@VOmL<RGj%lmw;+Ur+}8g33L*JX)x<<qb9_l(X&y5fJP zNLX2pg!LW{lVS5nSb-II*cleFxL3GVT*e||HD;UkVuF+f6a3EsP~%)}a!7M#M&hqX zC$g`+2r7`Z1;Y{fZ{^!(H?XI>K@vZ*<k%U+wRE|4(olx9jCSnGb;=S!0UJ<OF1=!q z7qz&JT)7T%nWo=X`)GPOS&-Q-;|Id2bx4dtwwkC3v8{{zX*JRLX*E%snq^ky8@8q> zdTLsQ;e2@cO~`tO{+dj@@gj<ScH-%)5uy5D`uwS<x68*piRJuYV6oiBK`l6_O}rq8 zR!CFtR)42VI*=s`^AIXuClySPESPdIn()bRAQqwp$yZts7>Zgh8VmJ&TN&c$XMTV( z<jaVKA2>*)Wog~gsh3sjxYk;RT9biO;hFw<S@OpqD1GmT*@Zcci=fPigw<ZwN~qM= zQ9aH{3FxKSL?Fcu+1B&sGiO7vgdojw1~M)~Ykz|$Bbr?tMGd-xXK-cKWlyiO_9qmt z5f7*$Y2RaiGba1>$(#dYlK*_vp`OV3h#MlEb0&G+>uQW?B6@=(n3MYP{-M-b<j0wX zFdVgOt1FyR{35ynueS0lvYfMDV!`$}wlU_iT0L6GN^I2Cnia0%Ua=k0Rz4(})@W^f zil5n)lGT<O8H_pJ3^=2@Do}hCx~_?QRhP*{H#Av}F>~O%TxzUC&1)@xWkmm?PndPJ z##Ob(41XRPOqi%d9QV^_(Ntw?YsGUli$spTi={rRj-Uz3L?TymESd`3Imop)f6*CY zfgDt(ZL=DzTkjRj<)~5&8R}s$+~%QMo$3I^A6-uV9OF!^LCli9U?hMl4PFe+Pzrg8 zDD8U9Y}!76TEzIa-&}xUz^>%^YS78%(_MH6TXR}$|Dlf4xs6W)B5Nx%%8)0P^h}## zx_1`uStPbx;v!MvyXWX*d&I%QrD6|5C4R6_#WlnB`<OsRo!o4bBcwX7fyQjIM-28J z;wB7;yy$Nu5Q$e~$xnSoi{CiKywQb^nAjW<Gr*ql12vh-UqQq5id#QhFaHR=+edEo z4IQU<tQ)mtYt>ok6{*58AQHF|XHYHUIF)p-Y#PM4YH6R_aLXNi{4W-QF*E^t-Dae3 zz+Af5qr3Meza)B2v@xT^lPdQvN9$u@Rk64y_O7S6f8l;r8EzFIIY4lmO$9EqstAWx zE#jwb%_(bK9a$aY%D!Fv^uiCo30_3SO2O0W%@oTnF+_CZouaksa^U6jFxehYv#~0X zCu~;Y-m7C<H6NYo{P*2#FF65i^`7R&NXO<OL9)s$WStMEZgP&rDp{<BWFQNiCOah4 z{w!IsoJsV^?}dq-HjeDMF03GcuK}nYQg#cWI`;q~^|1lh;%W>LT)pPpLL*d2&<waX zm%Fa=Mgz$o(0A^ZoVCdn+wX~t#zgm&i7!v7D6NcCuNilEyF0p{uWw2j@#)V-%&nIM zlcPG-rA_b>q{NA|E6Zk37h@fKr$)vY`9TnttAA6B;p}K{&7IV=xo2{~mE4@>QOZ4! zQCG-}b-;R#nd>$xz0sV+gY-hm<ZN<1V1ss=0*wH;a=T}Z>j8IkAK&*&Q6Lj8;}cW1 zx>`LDltesb(9`Fl*-4xgM*~CkjJNBFj8}EM$+x#8d-7xj<A;Vf*i#yCA?AKcwO(Of zm`3=Kio|JQ0evily3UV1nN8Q^cD=%()*gWe31#+73b<6PdeUWlKu<QK0JZ{)7c&x4 z8Dr79ERYfTo>5t-ZM!wI`}M5ue`ICd>h4b9Zqjq)&@aSMtg(QPFQSFdsu4#C-O)<p z`xtF#+fLy&U;8_zKg{-TAaX`?=V6y8G6wJI&8aMuRi&Y6(RZW*)B8>3;kYxczwOC% zl}?%#`I5HT^?)n-KK?v_?2N8{@$Au&$*1VwX-<kJ*V|Vh>8`ithKzbkSS)@@>aAQJ zROg4*nkKp!S%XyA-qleXJY8$M&t~uoM3h<2GYjMb%X-0fOfKZv2sR?k#wimI6UcA* z1>z?#qGsJ>ylJ{CjjQlB*-i9zL|Pfv#b45UDv+-DcmUUP-rN3y3E`7Xs#l!`^NPa? z*hDS)#ZK8{z)5A+iEa$g_*8C$vA%iVEWAM5ItmX|Xb!ZtQGh1w_#t?fL|Hh!0nwV{ zSkc(8LLfl6<*4T_oG<va*!Rd(A%zKsyAKBk;&>4sJ4Z=22_ep6tgU`nD%v{D6?;8P z%x~I%!Fz0n&nP=+)O;u_4G?7;^9GDtkHmU1rCtQx9C}Ew=so0BY~2*)C<_JoaY)ZM zfl9egTWUR|JmacW`Uo7rhU_UI839>4rk5$>QUkALqBZ3pF0qmvon#p+z`veFGkAv> zbkT~~B9~}wXVW-?)&3zF8HXaUR)U5!1g(}6{&YM098o3=a`-UF)*d&glr3xk)ItHV zQm!B@wch%>;7ma`OO^(zXJAXn8lstU1?@^iiB!FbOet}KD&>O6QtNla1;0i?79f>; zfx7#w>KiNd*}OYaK`h9`yTWC$mesbp$B9R=$hT=O>{8o1*L(PF`V@dU4?$(|o*ahA zS_mLva8j#mh;90Du17d8A_dIcfw1mVYbSZb0A8DTjmE?SR!KE`i%PM>Txty>$tKha z$ZQnqtE74f_X1MFqKsZ@t>MOV;wm7gXt<g_2c^$BcApbTK8^+%HV+TbyMi@hYjhYc zQz(~bZBO@_aT<c|m=(9U)!oIDV^0Q#&ts%HA&%+R*0_UvE^Yq}HYC1uJ^J(bm54p% z#~^n)0<*ILh+axB{9?-L#~I*F2$?$k8m^Qou膾r|iFsm>n~-n(rxe9N25<Dv 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%0Dy#{TMfqvmj8^ln4r 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%0A5g2>GmO5?lQxf5rzm1XuM}&aUaB9{ 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 zƢ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%0D`EY1S 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%0DS=- zfXM(eAOVmC*a#>G90yzg+ylIH2Xz6c0fPZw0DJ&uz+6BoU=^SMuoJK!@FSoZ@F$@C z-FD<XKo5WpFc2^r;0*``%mJhURsuEy_5n@+eh1tJSl??$-URdk3;;|4%mkzW)&a@@ zrvVoLj{q;<Z$~}=r~yL&K7cuZMS#_SVn99MXTTqThk*7EP)ES004KmOz}J8ofF*#9 zfO5bgKodamupN0D@B!d6fD>R0z!xwZkOWu>*aFxGXarmb{0(^JPviyY18@h72lxP{ z0p<g;0EK`mz!|_bz!Si0kJ^!504=~1FbNO_SO8cG*Z`;moB&(}SUpA=0lffPz!-o5 z5C)h5NCxBpwgL_UegU)qo&!4l)sA!rXaEBNBLUw6A_4OOIe?vj<A9$4R{?hbe*<25 zg7yY{2G9eB0KNf40x|&`02Kg2tO!FC#G2R;TY@$qFOiqYE2IPY4|$bzB%R1><aP1} zd6T?_Vc{LpnRFrVlK05_<O9-`d`RrbN2DA1m~<ySNKf(!=|w&zpOMc=Z_<bKCH;t! zsEC?qh&^#2jzmjzL{FTEGjSoV#ErO<{$v0dNCpuPGMIRhA!H~SMuw9SWF#3yMw2nb zi+n-Gl5u1_`I1Z^6Uij<6`4%FCR4~a<XhrRrV<13A-=?q7>Pd#Ac4e0z9T^-n1ql} zVkTi^8VM&6B$7mt>0}0(NoJAR<a;uQ{6OZCc_f;|kojZ*i6wC)o+OY&l0=fpLXtuj zkyMgK(#c|yK{BCoWRaz08ObKg$qKTP<d9WlH3rOFvX-nP>q#ETCmYB{Qb0D5LQ+IF zlP#o}Y$YXR8`(~FkW#Xfl#y~$L3WYdWDlt%Rb(%zCN*RqsU`bK9XUV_l6rE8941G| zQF4qNCnv~Ba*CWLXUJL7KpM%9<iF$``HB2Yej(?{ujDuKJGnqEl1t<=xk8%ARdS77 zC(Yy!a)Y#xo8%U`O<Ktva+lmA_sIkDkoboijghm$jE;T%f`f@ia4^*T3C8dUlR1=l zjvwSbXp|vrkij?5=snVG4vGqE6FAy9gAExLVhAw4fcHY^IA24sF}!UIA(2srP^1#> z?O_fzvN%Ejm$j$C_n(5tVFF@--8Q+g#t`##BaJ=G!vb-vF~S(hhKx4*8NI&@4LAC; zuj2-qB44OX+dx@eq)%Ml-UECiP16mLMsL1w-UIynygiKmhN$33?@?yIs9<9Ra$<wI zSN1J5AlT^bVe+S?@E#Cp2vu_rk!S#KPg5|hC&Jm+agpIhLkJB(VKJff9%K%kZVadO zkwU^|$zFM~3SS3@_?UzJjI^1BAingp&4or_8NgfkU^E4Lnr6}%gMtka5hmXe#_&*Y zPw-INunC4>lOHI+hMU>SdYGp3k!eZ1`Q~IZVv`sTHl*n6*CD~P!U8Sd#s!<%+Ogk9 zntZ|y;cWHT_fcqM*{eWznu+(IK%;Na`0ywr&A|(W3XNn7#C{xSjQlb*j14sU4K;;E znnD9;zMjEmb2wjK^a<~Q9-c_Z5Du2{X8Fil2=xj#hk@{HS!ftbK2LLah=DDx7&Oul z8W05rmqn)udJhZrGqN;gF%d#r(<0E*6dr+e@rjm<q75-b(5}cm3#4K{&=+qyNf$oT zCgSTv5k`&jo*<<oF(3Pl<xJ!qX$<%0dK;U=D6p-`dz2vp;X<-B3(HcDHqNvxq?hMd zaQJjXDBEw@lxR?!0@0vR#>jA!FWV@z9A4wRJ<Xw@bEv;r$WI9K3TJzk7%ZAqEGj+L z2%?5dr5)#w<m6Nl1JG}xLdAw+gU1_uxUNRaGA_!8<wc9aj1M>X2DPn-z+v8lLjz1; zaDks`Dickio}<Tm4>cN4ETQa^R4T5XGG?L8H_}Y8sBmC0WkD<_dzrzd9Ie`Z5(@j` zS992`e~AY%5@{SfGcw%JHaFU_+J^CxfF%iEPOord7)(!XF$L-BEyo>eoM8%;sztlB zw_FghxNPVcpJ3CpC@EDga7HLEtHj*Uew>u!T8R>S&_FZSpV+<tL1_+>((&fr2b#l$ zmSC~Qn_oy6jT{=`kA6(^8fu83Y{_Lp8HpwFuuxN^h3w+Rk~gHvNMApQY`(_`;nL9R zJ<^0e&9^c8>}d*x&}0WQ?jr(NQn6o$g+}nwoqI*Xym)2bxj~MWlzsh@l@7FlM6toX zu;pj5=qF2V=SEp?dDj_bh{VVv2vfX;n`WXT2;&SNz>0^kU{(O)8FHTHz&&}7HhYgn z4`VBWAYP(^jl=<fK8x*6W6}Vbe5bFHc$eNR5)jHbCd?R0JDxZwi2?Evi3W<%$3#U2 z)BehKE}Fj>z;l-H?qT#bhro`@GLsm{cM|zKNQCA=YsyoTv$=o_ZbiGA{EQMi%0A)o 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 literal 0 HcmV?d00001 diff --git a/examples/SimpleFreeType/uMainForm.lfm b/examples/SimpleFreeType/uMainForm.lfm new file mode 100644 index 0000000..e640949 --- /dev/null +++ b/examples/SimpleFreeType/uMainForm.lfm @@ -0,0 +1,12 @@ +object MainForm: TMainForm + Left = 670 + Height = 320 + Top = 319 + Width = 480 + Caption = 'MainForm' + OnCreate = FormCreate + OnDestroy = FormDestroy + OnPaint = FormPaint + Position = poScreenCenter + LCLVersion = '1.3' +end diff --git a/examples/SimpleFreeType/uMainForm.pas b/examples/SimpleFreeType/uMainForm.pas new file mode 100644 index 0000000..c31f68e --- /dev/null +++ b/examples/SimpleFreeType/uMainForm.pas @@ -0,0 +1,101 @@ +unit uMainForm; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, + uglcContext, + utsTextSuite, utsRendererOpenGL, utsFontCreatorFreeType, utsTypes; + +type + TMainForm = class(TForm) + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FormPaint(Sender: TObject); + private + fContext: TglcContext; + ftsContext: TtsContext; + ftsRenderer: TtsRendererOpenGL; + ftsCreator: TtsFontGeneratorFreeType; + ftsFont: TtsFont; + procedure Render; + public + { public declarations } + end; + +var + MainForm: TMainForm; + +implementation + +{$R *.lfm} + +uses + dglOpenGL; + +const + TEST_TEXT = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.'; + +procedure TMainForm.FormCreate(Sender: TObject); +var + pf: TglcContextPixelFormatSettings; +begin + pf := TglcContext.MakePF(); + fContext := TglcContext.GetPlatformClass.Create(self, pf); + fContext.BuildContext; + + ftsContext := TtsContext.Create; + ftsRenderer := TtsRendererOpenGL.Create(ftsContext, tsFormatAlpha8); + ftsCreator := TtsFontGeneratorFreeType.Create(ftsContext); + ftsFont := ftsCreator.GetFontByFile(ExtractFilePath(Application.ExeName) + '../Prototype.ttf', ftsRenderer, 20, [], tsAANormal); +end; + +procedure TMainForm.FormDestroy(Sender: TObject); +begin + FreeAndNil(ftsFont); + FreeAndNil(ftsCreator); + FreeAndNil(ftsRenderer); + FreeAndNil(ftsContext); + FreeAndNil(fContext); +end; + +procedure TMainForm.FormPaint(Sender: TObject); +begin + if Assigned(fContext) then begin + Render; + fContext.SwapBuffers; + end; +end; + +procedure TMainForm.Render; +var + block: TtsTextBlock; +begin + glClearColor(0, 0, 0, 0); + glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); + + glViewport(0, 0, ClientWidth, ClientHeight); + glMatrixMode(GL_PROJECTION); + glLoadIdentity; + glOrtho(0, ClientWidth, ClientHeight, 0, -10, 10); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + block := ftsRenderer.BeginBlock(10, 10, ClientWidth-20, ClientHeight-20, [tsBlockFlagWordWrap]); + try + block.HorzAlign := tsHorzAlignJustify; + block.ChangeFont(ftsFont); + block.ChangeColor(tsColor4f(1.0, 1.0, 1.0, 1.0)); + block.TextOutW(TEST_TEXT); + finally + ftsRenderer.EndBlock(block); + end; +end; + +end. + diff --git a/examples/SimpleGDI/SimpleGDI.lpi b/examples/SimpleGDI/SimpleGDI.lpi new file mode 100644 index 0000000..dabee79 --- /dev/null +++ b/examples/SimpleGDI/SimpleGDI.lpi @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="SimpleGDI"/> + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <Icon Value="0"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="LCL"/> + </Item1> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="SimpleGDI.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="uMainForm.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="MainForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="uMainForm"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="SimpleGDI"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..\lib;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/SimpleGDI/SimpleGDI.lpr b/examples/SimpleGDI/SimpleGDI.lpr new file mode 100644 index 0000000..dfdcf02 --- /dev/null +++ b/examples/SimpleGDI/SimpleGDI.lpr @@ -0,0 +1,21 @@ +program SimpleGDI; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, uMainForm + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource := True; + Application.Initialize; + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. + diff --git a/examples/SimpleGDI/uMainForm.lfm b/examples/SimpleGDI/uMainForm.lfm new file mode 100644 index 0000000..e640949 --- /dev/null +++ b/examples/SimpleGDI/uMainForm.lfm @@ -0,0 +1,12 @@ +object MainForm: TMainForm + Left = 670 + Height = 320 + Top = 319 + Width = 480 + Caption = 'MainForm' + OnCreate = FormCreate + OnDestroy = FormDestroy + OnPaint = FormPaint + Position = poScreenCenter + LCLVersion = '1.3' +end diff --git a/examples/SimpleGDI/uMainForm.pas b/examples/SimpleGDI/uMainForm.pas new file mode 100644 index 0000000..f27ee20 --- /dev/null +++ b/examples/SimpleGDI/uMainForm.pas @@ -0,0 +1,101 @@ +unit uMainForm; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, + uglcContext, + utsTextSuite, utsRendererOpenGL, utsFontCreatorGDI, utsTypes; + +type + TMainForm = class(TForm) + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FormPaint(Sender: TObject); + private + fContext: TglcContext; + ftsContext: TtsContext; + ftsRenderer: TtsRendererOpenGL; + ftsCreator: TtsFontGeneratorGDI; + ftsFont: TtsFont; + procedure Render; + public + { public declarations } + end; + +var + MainForm: TMainForm; + +implementation + +{$R *.lfm} + +uses + dglOpenGL; + +const + TEST_TEXT = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.'; + +procedure TMainForm.FormCreate(Sender: TObject); +var + pf: TglcContextPixelFormatSettings; +begin + pf := TglcContext.MakePF(); + fContext := TglcContext.GetPlatformClass.Create(self, pf); + fContext.BuildContext; + + ftsContext := TtsContext.Create; + ftsRenderer := TtsRendererOpenGL.Create(ftsContext, tsFormatAlpha8); + ftsCreator := TtsFontGeneratorGDI.Create(ftsContext); + ftsFont := ftsCreator.GetFontByFile(ExtractFilePath(Application.ExeName) + '../Prototype.ttf', ftsRenderer, 20, [], tsAANormal); +end; + +procedure TMainForm.FormDestroy(Sender: TObject); +begin + FreeAndNil(ftsFont); + FreeAndNil(ftsCreator); + FreeAndNil(ftsRenderer); + FreeAndNil(ftsContext); + FreeAndNil(fContext); +end; + +procedure TMainForm.FormPaint(Sender: TObject); +begin + if Assigned(fContext) then begin + Render; + fContext.SwapBuffers; + end; +end; + +procedure TMainForm.Render; +var + block: TtsTextBlock; +begin + glClearColor(0, 0, 0, 0); + glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); + + glViewport(0, 0, ClientWidth, ClientHeight); + glMatrixMode(GL_PROJECTION); + glLoadIdentity; + glOrtho(0, ClientWidth, ClientHeight, 0, -10, 10); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + block := ftsRenderer.BeginBlock(10, 10, ClientWidth-20, ClientHeight-20, [tsBlockFlagWordWrap]); + try + block.HorzAlign := tsHorzAlignJustify; + block.ChangeFont(ftsFont); + block.ChangeColor(tsColor4f(1.0, 1.0, 1.0, 1.0)); + block.TextOutW(TEST_TEXT); + finally + ftsRenderer.EndBlock(block); + end; +end; + +end. + diff --git a/examples/simple/TextSuiteTest.ico b/examples/simple/TextSuiteTest.ico deleted file mode 100644 index 0341321b5d952e1662a3d9444a73cf9f42a7db37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137040 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 G`+orYGy**U diff --git a/examples/simple/TextSuiteTest.lpi b/examples/simple/TextSuiteTest.lpi deleted file mode 100644 index 30a9336..0000000 --- a/examples/simple/TextSuiteTest.lpi +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<CONFIG> - <ProjectOptions> - <Version Value="9"/> - <PathDelim Value="\"/> - <General> - <SessionStorage Value="InProjectDir"/> - <MainUnit Value="0"/> - <Title Value="TextSuiteTest"/> - <ResourceType Value="res"/> - <UseXPManifest Value="True"/> - <Icon Value="0"/> - </General> - <i18n> - <EnableI18N LFM="False"/> - </i18n> - <VersionInfo> - <StringTable ProductVersion=""/> - </VersionInfo> - <BuildModes Count="1"> - <Item1 Name="Default" Default="True"/> - </BuildModes> - <PublishOptions> - <Version Value="2"/> - </PublishOptions> - <RunParams> - <local> - <FormatVersion Value="1"/> - </local> - </RunParams> - <RequiredPackages Count="1"> - <Item1> - <PackageName Value="LCL"/> - </Item1> - </RequiredPackages> - <Units Count="14"> - <Unit0> - <Filename Value="TextSuiteTest.lpr"/> - <IsPartOfProject Value="True"/> - </Unit0> - <Unit1> - <Filename Value="uMainForm.pas"/> - <IsPartOfProject Value="True"/> - <ComponentName Value="MainForm"/> - <HasResources Value="True"/> - <ResourceBaseClass Value="Form"/> - </Unit1> - <Unit2> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsRendererOpenGL"/> - </Unit2> - <Unit3> - <Filename Value="..\..\utsTextSuite.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsTextSuite"/> - </Unit3> - <Unit4> - <Filename Value="..\..\utsTtfUtils.pas"/> - <IsPartOfProject Value="True"/> - </Unit4> - <Unit5> - <Filename Value="..\..\utsTypes.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsTypes"/> - </Unit5> - <Unit6> - <Filename Value="..\..\utsUtils.pas"/> - <IsPartOfProject Value="True"/> - </Unit6> - <Unit7> - <Filename Value="..\..\utsFontCreatorGDI.pas"/> - <IsPartOfProject Value="True"/> - </Unit7> - <Unit8> - <Filename Value="..\..\utsCodePages.pas"/> - <IsPartOfProject Value="True"/> - </Unit8> - <Unit9> - <Filename Value="..\..\utsPostProcess.pas"/> - <IsPartOfProject Value="True"/> - </Unit9> - <Unit10> - <Filename Value="..\..\utsFontCreatorFreeType.pas"/> - <IsPartOfProject Value="True"/> - </Unit10> - <Unit11> - <Filename Value="..\..\utsGDI.pas"/> - <IsPartOfProject Value="True"/> - </Unit11> - <Unit12> - <Filename Value="..\..\utsFreeType.pas"/> - <IsPartOfProject Value="True"/> - </Unit12> - <Unit13> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsOpenGLUtils"/> - </Unit13> - </Units> - </ProjectOptions> - <CompilerOptions> - <Version Value="11"/> - <PathDelim Value="\"/> - <Target> - <Filename Value="TextSuiteTest"/> - </Target> - <SearchPaths> - <IncludeFiles Value="$(ProjOutDir);old"/> - <OtherUnitFiles Value="..\..;..\..\old;..\..\OpenGLCore;..\..\..\dglOpenGLES"/> - <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> - </SearchPaths> - <Linking> - <Debugging> - <UseHeaptrc Value="True"/> - </Debugging> - <Options> - <Win32> - <GraphicApplication Value="True"/> - </Win32> - </Options> - </Linking> - </CompilerOptions> - <Debugging> - <Exceptions Count="3"> - <Item1> - <Name Value="EAbort"/> - </Item1> - <Item2> - <Name Value="ECodetoolError"/> - </Item2> - <Item3> - <Name Value="EFOpenError"/> - </Item3> - </Exceptions> - </Debugging> -</CONFIG> diff --git a/examples/simple/TextSuiteTest.lpr b/examples/simple/TextSuiteTest.lpr deleted file mode 100644 index 91b999c..0000000 --- a/examples/simple/TextSuiteTest.lpr +++ /dev/null @@ -1,27 +0,0 @@ -program TextSuiteTest; - -{$mode objfpc}{$H+} - -uses - {$IFDEF UNIX}{$IFDEF UseCThreads} - cthreads, - {$ENDIF}{$ENDIF} - Interfaces, sysutils, Forms, uMainForm, utsFontCreatorGDI, utsUtils, utsTypes, utsTtfUtils, utsTextSuite, - utsRendererOpenGL, utsCodePages, utsPostProcess, utsFontCreatorFreeType, utsGDI, utsFreeType, utsOpenGLUtils; - -{$R *.res} - -var - HeapTraceLogFile: String; -begin - HeapTraceLogFile := ExtractFilePath(Application.ExeName) + 'heaptrace.log'; - if FileExists(HeapTraceLogFile) then - DeleteFile(HeapTraceLogFile); - SetHeapTraceOutput(HeapTraceLogFile); - - RequireDerivedFormResource := True; - Application.Initialize; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. - diff --git a/examples/simple/TextSuiteTest.lps b/examples/simple/TextSuiteTest.lps deleted file mode 100644 index a96c285..0000000 --- a/examples/simple/TextSuiteTest.lps +++ /dev/null @@ -1,646 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<CONFIG> - <ProjectSession> - <PathDelim Value="\"/> - <Version Value="9"/> - <BuildModes Active="Default"/> - <Units Count="67"> - <Unit0> - <Filename Value="TextSuiteTest.lpr"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <CursorPos X="29" Y="20"/> - <UsageCount Value="142"/> - </Unit0> - <Unit1> - <Filename Value="uMainForm.pas"/> - <IsPartOfProject Value="True"/> - <ComponentName Value="MainForm"/> - <HasResources Value="True"/> - <ResourceBaseClass Value="Form"/> - <EditorIndex Value="-1"/> - <TopLine Value="140"/> - <CursorPos X="59" Y="154"/> - <UsageCount Value="142"/> - </Unit1> - <Unit2> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsRendererOpenGL"/> - <IsVisibleTab Value="True"/> - <WindowIndex Value="1"/> - <TopLine Value="171"/> - <CursorPos Y="187"/> - <UsageCount Value="70"/> - <Loaded Value="True"/> - </Unit2> - <Unit3> - <Filename Value="..\..\utsTextSuite.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsTextSuite"/> - <TopLine Value="216"/> - <CursorPos X="55" Y="316"/> - <UsageCount Value="70"/> - <Loaded Value="True"/> - </Unit3> - <Unit4> - <Filename Value="..\..\utsTtfUtils.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <UsageCount Value="70"/> - </Unit4> - <Unit5> - <Filename Value="..\..\utsTypes.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsTypes"/> - <EditorIndex Value="4"/> - <TopLine Value="173"/> - <CursorPos X="59" Y="191"/> - <UsageCount Value="70"/> - <Loaded Value="True"/> - </Unit5> - <Unit6> - <Filename Value="..\..\utsUtils.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <TopLine Value="174"/> - <CursorPos X="26" Y="194"/> - <UsageCount Value="70"/> - </Unit6> - <Unit7> - <Filename Value="..\..\utsFontCreatorGDI.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="-1"/> - <TopLine Value="517"/> - <CursorPos Y="526"/> - <UsageCount Value="70"/> - </Unit7> - <Unit8> - <Filename Value="..\..\utsCodePages.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <TopLine Value="315"/> - <CursorPos X="21" Y="325"/> - <UsageCount Value="67"/> - </Unit8> - <Unit9> - <Filename Value="..\..\utsPostProcess.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <TopLine Value="216"/> - <CursorPos X="30" Y="227"/> - <UsageCount Value="65"/> - </Unit9> - <Unit10> - <Filename Value="..\..\utsFontCreatorFreeType.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <TopLine Value="237"/> - <CursorPos X="51" Y="339"/> - <UsageCount Value="54"/> - </Unit10> - <Unit11> - <Filename Value="..\..\utsGDI.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="284"/> - <CursorPos X="12" Y="298"/> - <UsageCount Value="46"/> - </Unit11> - <Unit12> - <Filename Value="..\..\utsFreeType.pas"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="292"/> - <CursorPos X="31" Y="308"/> - <UsageCount Value="46"/> - </Unit12> - <Unit13> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <IsPartOfProject Value="True"/> - <UnitName Value="utsOpenGLUtils"/> - <IsVisibleTab Value="True"/> - <EditorIndex Value="3"/> - <TopLine Value="206"/> - <CursorPos X="40" Y="220"/> - <UsageCount Value="21"/> - <Loaded Value="True"/> - </Unit13> - <Unit14> - <Filename Value="..\..\utsRendererOpenGLES.pas"/> - <UnitName Value="utsRendererOpenGLES"/> - <EditorIndex Value="1"/> - <TopLine Value="172"/> - <CursorPos Y="12"/> - <UsageCount Value="20"/> - <Loaded Value="True"/> - </Unit14> - <Unit15> - <Filename Value="new\utsTextSuite.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="1886"/> - <CursorPos X="33" Y="1904"/> - <UsageCount Value="89"/> - </Unit15> - <Unit16> - <Filename Value="old\TextSuite.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="391"/> - <CursorPos X="13" Y="408"/> - <ExtraEditorCount Value="1"/> - <ExtraEditor1> - <EditorIndex Value="-1"/> - <TopLine Value="232"/> - <CursorPos X="3" Y="302"/> - </ExtraEditor1> - <UsageCount Value="84"/> - </Unit16> - <Unit17> - <Filename Value="old\TextSuiteImports.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="656"/> - <CursorPos X="20" Y="635"/> - <UsageCount Value="84"/> - </Unit17> - <Unit18> - <Filename Value="old\TextSuiteWideUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="1243"/> - <CursorPos X="18" Y="1257"/> - <UsageCount Value="84"/> - </Unit18> - <Unit19> - <Filename Value="old\TextSuiteClasses.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="654"/> - <CursorPos X="25" Y="673"/> - <UsageCount Value="84"/> - </Unit19> - <Unit20> - <Filename Value="old\TextSuitePostProcess.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="163"/> - <CursorPos X="61" Y="141"/> - <UsageCount Value="84"/> - </Unit20> - <Unit21> - <Filename Value="old\TextSuiteTTFUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="83"/> - <CursorPos X="3" Y="91"/> - <UsageCount Value="84"/> - </Unit21> - <Unit22> - <Filename Value="old\TextSuiteVersion.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="-1"/> - <TopLine Value="-1"/> - <CursorPos X="-1" Y="-1"/> - <UsageCount Value="84"/> - </Unit22> - <Unit23> - <Filename Value="new\utsFontCreatorGDI.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="655"/> - <CursorPos X="53" Y="662"/> - <UsageCount Value="48"/> - </Unit23> - <Unit24> - <Filename Value="new\utsTtfUtils.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="128"/> - <CursorPos X="17" Y="144"/> - <UsageCount Value="40"/> - </Unit24> - <Unit25> - <Filename Value="new\utsTypes.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="152"/> - <CursorPos X="5" Y="168"/> - <UsageCount Value="40"/> - </Unit25> - <Unit26> - <Filename Value="new\utsUtils.pas"/> - <EditorIndex Value="-1"/> - <CursorPos Y="20"/> - <UsageCount Value="40"/> - </Unit26> - <Unit27> - <Filename Value="new\utsRendererOpenGL.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="356"/> - <CursorPos X="20" Y="376"/> - <UsageCount Value="37"/> - </Unit27> - <Unit28> - <Filename Value="..\bitSpace\_projects\MassiveUniverseOnline\bitSpaceEngine\src\OpenGLCore\uglcTypes.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="261"/> - <CursorPos X="3" Y="277"/> - <UsageCount Value="35"/> - </Unit28> - <Unit29> - <Filename Value="..\bitSpace\_projects\MassiveUniverseOnline\bitSpaceEngine\src\OpenGLCore\dglOpenGL.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="1066"/> - <CursorPos X="27" Y="1082"/> - <UsageCount Value="30"/> - </Unit29> - <Unit30> - <Filename Value="new\uglctextsuite.pas"/> - <EditorIndex Value="-1"/> - <CursorPos X="3" Y="13"/> - <UsageCount Value="11"/> - </Unit30> - <Unit31> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\ustringh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="113"/> - <CursorPos X="10" Y="129"/> - <UsageCount Value="38"/> - </Unit31> - <Unit32> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\ustrings.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="2091"/> - <CursorPos X="5" Y="2098"/> - <UsageCount Value="21"/> - </Unit32> - <Unit33> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\systemh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="502"/> - <CursorPos X="3" Y="518"/> - <UsageCount Value="36"/> - </Unit33> - <Unit34> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\heaph.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="71"/> - <CursorPos X="10" Y="95"/> - <UsageCount Value="24"/> - </Unit34> - <Unit35> - <Filename Value="old\TextSuiteCPUUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <CursorPos X="23" Y="20"/> - <UsageCount Value="14"/> - </Unit35> - <Unit36> - <Filename Value="..\glBitmap\glBitmap\glBitmap.pas"/> - <EditorIndex Value="-1"/> - <CursorPos X="14" Y="14"/> - <UsageCount Value="2"/> - </Unit36> - <Unit37> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\objpas\math.pp"/> - <EditorIndex Value="-1"/> - <TopLine Value="1011"/> - <CursorPos X="47" Y="1015"/> - <UsageCount Value="6"/> - </Unit37> - <Unit38> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\mathh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="84"/> - <CursorPos X="14" Y="101"/> - <UsageCount Value="6"/> - </Unit38> - <Unit39> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\genmath.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="152"/> - <CursorPos X="10" Y="155"/> - <UsageCount Value="6"/> - </Unit39> - <Unit40> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\dynlibs.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="143"/> - <CursorPos X="3" Y="149"/> - <UsageCount Value="30"/> - </Unit40> - <Unit41> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\win\dynlibs.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="26"/> - <CursorPos X="10" Y="42"/> - <UsageCount Value="28"/> - </Unit41> - <Unit42> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\win\sysosh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="11"/> - <CursorPos X="3" Y="19"/> - <UsageCount Value="11"/> - </Unit42> - <Unit43> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\objpash.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="177"/> - <CursorPos X="22" Y="195"/> - <UsageCount Value="15"/> - </Unit43> - <Unit44> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\objpas\sysutils\sysunih.inc"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="25"/> - <CursorPos X="34" Y="43"/> - <UsageCount Value="26"/> - </Unit44> - <Unit45> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\packages\fcl-base\src\syncobjs.pp"/> - <EditorIndex Value="-1"/> - <TopLine Value="113"/> - <CursorPos X="25" Y="115"/> - <UsageCount Value="16"/> - </Unit45> - <Unit46> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\objpas\classes\classesh.inc"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="311"/> - <CursorPos X="14" Y="327"/> - <UsageCount Value="23"/> - </Unit46> - <Unit47> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\inc\objpas.inc"/> - <EditorIndex Value="-1"/> - <UsageCount Value="29"/> - </Unit47> - <Unit48> - <Filename Value="C:\Zusatzprogramme\Lazarus\lcl\include\control.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="2843"/> - <CursorPos Y="2858"/> - <UsageCount Value="13"/> - </Unit48> - <Unit49> - <Filename Value="C:\Users\Erik\Desktop\RectPacking\unit1.pas"/> - <ComponentName Value="Form1"/> - <HasResources Value="True"/> - <ResourceBaseClass Value="Form"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="376"/> - <CursorPos X="74" Y="397"/> - <UsageCount Value="21"/> - </Unit49> - <Unit50> - <Filename Value="..\bitSpace\_projects\MassiveUniverseOnline\bitSpaceEngine\src\OpenGLCore\uglcArrayBuffer.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="102"/> - <CursorPos X="37" Y="112"/> - <UsageCount Value="10"/> - </Unit50> - <Unit51> - <Filename Value="..\bitSpace\_projects\MassiveUniverseOnline\bitSpaceEngine\src\OpenGLCore\uglcBitmap.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="1047"/> - <CursorPos X="15" Y="1043"/> - <UsageCount Value="8"/> - </Unit51> - <Unit52> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\objpas\objpas.pp"/> - <EditorIndex Value="-1"/> - <TopLine Value="19"/> - <CursorPos X="8" Y="35"/> - <UsageCount Value="8"/> - </Unit52> - <Unit53> - <Filename Value="C:\Zusatzprogramme\Lazarus\lcl\include\application.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="966"/> - <CursorPos Y="981"/> - <UsageCount Value="8"/> - </Unit53> - <Unit54> - <Filename Value="..\bitSpace\_projects\MassiveUniverseOnline\bitSpaceEngine\src\SpaceEngine\uengFrameLimiter.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="14"/> - <CursorPos X="13" Y="14"/> - <UsageCount Value="8"/> - </Unit54> - <Unit55> - <Filename Value="..\..\old\TextSuiteClasses.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="2705"/> - <CursorPos X="3" Y="2698"/> - <UsageCount Value="18"/> - </Unit55> - <Unit56> - <Filename Value="..\..\old\TextSuite.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="29"/> - <CursorPos X="3" Y="45"/> - <UsageCount Value="14"/> - </Unit56> - <Unit57> - <Filename Value="..\..\old\TextSuiteWideUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="1362"/> - <CursorPos X="3" Y="1390"/> - <UsageCount Value="14"/> - </Unit57> - <Unit58> - <Filename Value="..\..\utsWideStringUtils.pas"/> - <EditorIndex Value="-1"/> - <CursorPos Y="9"/> - <UsageCount Value="18"/> - </Unit58> - <Unit59> - <Filename Value="..\..\old\TextSuiteCPUUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <UsageCount Value="13"/> - </Unit59> - <Unit60> - <Filename Value="..\..\old\TextSuiteImports.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <CursorPos X="41" Y="12"/> - <UsageCount Value="13"/> - </Unit60> - <Unit61> - <Filename Value="..\..\old\TextSuiteOptions.inc"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <UsageCount Value="13"/> - </Unit61> - <Unit62> - <Filename Value="..\..\old\TextSuitePostProcess.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <TopLine Value="261"/> - <CursorPos X="23" Y="345"/> - <UsageCount Value="13"/> - </Unit62> - <Unit63> - <Filename Value="..\..\old\TextSuiteTTFUtils.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <UsageCount Value="13"/> - </Unit63> - <Unit64> - <Filename Value="..\..\old\TextSuiteVersion.pas"/> - <EditorIndex Value="-1"/> - <WindowIndex Value="1"/> - <UsageCount Value="13"/> - </Unit64> - <Unit65> - <Filename Value="C:\Zusatzprogramme\Lazarus\fpc\2.7.1\source\rtl\win\wininc\unifun.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="53"/> - <CursorPos X="22" Y="69"/> - <UsageCount Value="26"/> - </Unit65> - <Unit66> - <Filename Value="..\..\..\dglOpenGLES\dglOpenGLES.pas"/> - <UnitName Value="dglOpenGLES"/> - <EditorIndex Value="2"/> - <TopLine Value="64"/> - <CursorPos X="48" Y="74"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit66> - </Units> - <JumpHistory Count="30" HistoryIndex="29"> - <Position1> - <Filename Value="..\..\utsRendererOpenGLES.pas"/> - <Caret Line="17" Column="22" TopLine="5"/> - </Position1> - <Position2> - <Filename Value="..\..\..\dglOpenGLES\dglOpenGLES.pas"/> - </Position2> - <Position3> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <Caret Line="210" Column="38" TopLine="196"/> - </Position3> - <Position4> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="378" Column="31" TopLine="297"/> - </Position4> - <Position5> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="21" Column="26" TopLine="5"/> - </Position5> - <Position6> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="54" TopLine="39"/> - </Position6> - <Position7> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="53" TopLine="41"/> - </Position7> - <Position8> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="143" Column="120" TopLine="133"/> - </Position8> - <Position9> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="74" Column="15" TopLine="63"/> - </Position9> - <Position10> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="191" Column="5" TopLine="177"/> - </Position10> - <Position11> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="132" Column="3" TopLine="128"/> - </Position11> - <Position12> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="190" Column="24" TopLine="176"/> - </Position12> - <Position13> - <Filename Value="..\..\utsTypes.pas"/> - <Caret Line="186" Column="55" TopLine="170"/> - </Position13> - <Position14> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="190" Column="24" TopLine="176"/> - </Position14> - <Position15> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="192" Column="7" TopLine="174"/> - </Position15> - <Position16> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="194" Column="45" TopLine="178"/> - </Position16> - <Position17> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="53" TopLine="9"/> - </Position17> - <Position18> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="198" Column="12" TopLine="187"/> - </Position18> - <Position19> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="207" Column="7" TopLine="187"/> - </Position19> - <Position20> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="205" Column="22" TopLine="189"/> - </Position20> - <Position21> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="216" TopLine="192"/> - </Position21> - <Position22> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="207" Column="71" TopLine="193"/> - </Position22> - <Position23> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="274" Column="17" TopLine="259"/> - </Position23> - <Position24> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="18" Column="5" TopLine="2"/> - </Position24> - <Position25> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <Caret Line="75" Column="5" TopLine="73"/> - </Position25> - <Position26> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="62" Column="67" TopLine="47"/> - </Position26> - <Position27> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <Caret Line="19" Column="15" TopLine="3"/> - </Position27> - <Position28> - <Filename Value="..\..\..\dglOpenGLES\dglOpenGLES.pas"/> - <Caret Line="59" Column="33" TopLine="52"/> - </Position28> - <Position29> - <Filename Value="..\..\utsRendererOpenGL.pas"/> - <Caret Line="191" Column="39" TopLine="171"/> - </Position29> - <Position30> - <Filename Value="..\..\utsOpenGLUtils.pas"/> - <Caret Line="225" Column="19" TopLine="206"/> - </Position30> - </JumpHistory> - </ProjectSession> -</CONFIG> diff --git a/examples/simple/TextSuiteTest.res b/examples/simple/TextSuiteTest.res deleted file mode 100644 index 7c6cf3e4be6fa881cb2f2caa9bda693328155c28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138128 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 S)M$%T8;H+2FPFK8vi}DltTdMZ diff --git a/examples/simple/uMainForm.lfm b/examples/simple/uMainForm.lfm deleted file mode 100644 index d7a022b..0000000 --- a/examples/simple/uMainForm.lfm +++ /dev/null @@ -1,15 +0,0 @@ -object MainForm: TMainForm - Left = 536 - Height = 508 - Top = 255 - Width = 682 - OnCreate = FormCreate - OnDestroy = FormDestroy - OnPaint = FormPaint - LCLVersion = '1.3' - object ApplicationProperties: TApplicationProperties - OnIdle = ApplicationPropertiesIdle - left = 56 - top = 24 - end -end diff --git a/examples/simple/uMainForm.pas b/examples/simple/uMainForm.pas deleted file mode 100644 index 06758c6..0000000 --- a/examples/simple/uMainForm.pas +++ /dev/null @@ -1,179 +0,0 @@ -unit uMainForm; - -{$mode objfpc}{$H+} - -{.$DEFINE USE_OLD_TS} - -interface - -uses - Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, uglcContext, uglcTypes, - utsTextSuite, utsTypes, utsFontCreatorGDI, utsRendererOpenGL, utsPostProcess, utsFontCreatorFreeType; - -type - TMainForm = class(TForm) - ApplicationProperties: TApplicationProperties; - procedure ApplicationPropertiesIdle(Sender: TObject; var Done: Boolean); - procedure FormCreate(Sender: TObject); - procedure FormDestroy(Sender: TObject); - procedure FormPaint(Sender: TObject); - private - fFrameTime: QWord; - fFrameCount: Integer; - fSecTime: QWord; - fContext: TglcContext; - {$IFDEF USE_OLD_TS} - ftsContext: tsContextID; - ftsFont: tsFontID; - {$ELSE} - ftsContext: TtsContext; - ftsRenderer: TtsRendererOpenGL; - ftsGenerator: TtsFontGeneratorGDI; - ftsFreeType: TtsFontGeneratorFreeType; - ftsFont1: TtsFont; - ftsFont2: TtsFont; - ftsFont3: TtsFont; - {$ENDIF} - procedure Render; - public - { public declarations } - end; - -var - MainForm: TMainForm; - -implementation - -{$R *.lfm} - -uses - dglOpenGL; - -const - TEST_STRING = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.'; - -procedure TMainForm.FormCreate(Sender: TObject); -var - pf: TglcContextPixelFormatSettings; - pp: TtsPostProcessStep; -begin - pf := TglcContext.MakePF(); - fContext := TglcContext.GetPlatformClass.Create(self, pf); - fContext.BuildContext; - {$IFDEF USE_OLD_TS} - tsInit(TS_INIT_TEXTSUITE or TS_INIT_OPENGL or TS_INIT_GDI); - tsContextCreate(@ftsContext); - tsSetParameteri(TS_RENDERER, TS_RENDERER_OPENGL); - tsSetParameteri(TS_CREATOR, TS_CREATOR_GDI_FACENAME); - tsContextBind(ftsContext); - tsFontCreateCreatorA('Calibri', 25, 0, TS_ANTIALIASING_NORMAL, TS_DEFAULT, @ftsFont); - tsFontBind(ftsFont); - {$ELSE} - ftsContext := TtsContext.Create; - ftsRenderer := TtsRendererOpenGL.Create(ftsContext, tsFormatRGBA8); - ftsGenerator := TtsFontGeneratorGDI.Create(ftsContext); - - ftsFreeType := TtsFontGeneratorFreeType.Create(ftsContext); - { - pp := TtsPostProcessFillColor.Create(tsColor4f(0.0, 0.0, 0.0, 1.0), TS_MODES_MODULATE_ALPHA, TS_CHANNELS_RGBA); - pp.AddUsageRange(tsUsageInclude, #$0000, #$FFFF); - ftsGenerator.AddPostProcessStep(pp); - - pp := TtsPostProcessShadow.Create(3, 0, 2, 2, tsColor4f(1.0, 0.0, 1.0, 0.05)); - pp.AddUsageRange(tsUsageInclude, #$0000, #$FFFF); - ftsGenerator.AddPostProcessStep(pp); - } - try - ftsFont1 := ftsGenerator.GetFontByName('Calibri', ftsRenderer, 35, [tsStyleUnderline, tsStyleStrikeout], tsAANormal); - ftsFont2 := ftsGenerator.GetFontByName('Calibri', ftsRenderer, 20, [], tsAANormal); - ftsFont3 := ftsFreeType.GetFontByFile('calibri.ttf', ftsRenderer, 35, [tsStyleUnderline, tsStyleStrikeout], tsAANormal); - except - on e: EtsException do - MessageDlg('Error', e.Message, mtError, [mbOK], 0); - end; - {$ENDIF} -end; - -procedure TMainForm.FormDestroy(Sender: TObject); -begin - {$IFDEF USE_OLD_TS} - tsFontDestroy(ftsFont); - tsContextDestroy(ftsContext); - {$ELSE} - FreeAndNil(ftsFont1); - FreeAndNil(ftsFont2); - FreeAndNil(ftsGenerator); - FreeAndNil(ftsFreeType); - FreeAndNil(ftsRenderer); - FreeAndNil(ftsContext); - {$ENDIF} -end; - -procedure TMainForm.FormPaint(Sender: TObject); -begin - Render; -end; - -procedure TMainForm.Render; -var - block: TtsTextBlock; - t: QWord; - dif: Integer; -begin - t := GetTickCount64; - if (fFrameTime <> 0) then begin - dif := t - fFrameTime; - inc(fFrameCount, 1); - inc(fSecTime, dif); - if (fSecTime > 1000) then begin - Caption := IntToStr(fFrameCount) + ' FPS'; - fFrameCount := 0; - dec(fSecTime, 1000); - end; - end; - fFrameTime := t; - - glViewport(0, 0, ClientWidth, ClientHeight); - glClearColor(0, 0, 0, 0); - glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity; - glOrtho(0, ClientWidth, ClientHeight, 0, -10, 10); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity; - - glEnable(GL_BLEND); - glcBlendFunc(TglcBlendMode.bmAlphaBlend); - - {$IFDEF USE_OLD_TS} - tsTextBeginBlock(0, 0, ClientWidth, ClientHeight, TS_ALIGN_BLOCK); - tsTextOutA(TEST_STRING); - tsTextEndBlock; - {$ELSE} - block := ftsRenderer.BeginBlock(0, 0, ClientWidth, ClientHeight, [tsBlockFlagWordWrap]); - try - //block.HorzAlign := tsHorzAlignJustify; - - block.ChangeFont(ftsFont1); - block.ChangeColor(tsColor4f(1.0, 1.0, 1.0, 1.0)); - block.TextOutA(TEST_STRING + sLineBreak + sLineBreak); - - block.ChangeFont(ftsFont3); - block.ChangeColor(tsColor4f(1.0, 1.0, 1.0, 1.0)); - block.TextOutA(TEST_STRING); - finally - ftsRenderer.EndBlock(block); - end; - {$ENDIF} - fContext.SwapBuffers; -end; - -procedure TMainForm.ApplicationPropertiesIdle(Sender: TObject; var Done: Boolean); -begin - Render; - Done := false; -end; - -end. - diff --git a/old/TextSuite.pas b/old/TextSuite.pas deleted file mode 100644 index af944a5..0000000 --- a/old/TextSuite.pas +++ /dev/null @@ -1,3650 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$I TextSuiteOptions.inc} - -unit TextSuite; - - -interface - - -type - tsBool = Cardinal; - tsByte = Byte; - tsInt = Integer; - tsFloat = Single; - tsEnum = Cardinal; - tsBitmask = Cardinal; - tsError = Cardinal; - - ptsBool = ^tsBool; - ptsByte = ^tsByte; - ptsInt = ^tsInt; - ptsEnum = ^tsEnum; - - tsContextID = Cardinal; - tsFontID = Cardinal; - tsImageID = Cardinal; - - ptsContextID = ^tsContextID; - ptsFontID = ^tsFontID; - ptsImageID = ^tsImageID; - - PPointer = ^Pointer; - - tsPostProcessProc = procedure(ImageID: tsImageID; CharCode: WideChar; Data: Pointer); cdecl; - - - // these types are more internally. - - ptsColor = ^tsColor; - tsColor = packed record - Red: Byte; - Green: Byte; - Blue: Byte; - Alpha: Byte; - end; - - ptsRect = ^tsRect; - tsRect = packed record - Left: Integer; - Top: Integer; - Right: Integer; - Bottom: Integer; - end; - - ptsPoint = ^tsPoint; - tsPoint = packed record - X: Integer; - Y: Integer; - end; - - - -const -{$ifdef TS_EXTERN_STATIC} - {$ifdef WINDOWS} - TS_LIBRARY = 'libTextSuite.dll'; - {$else} - {$ifdef darwin} - TS_LIBRARY = 'libTextSuite.dylib'; - {$else} - TS_LIBRARY = 'libTextSuite.so'; - {$endif} - {$endif} -{$endif} - - // Booleans - TS_TRUE = 1; - TS_FALSE = 0; - - TS_DEFAULT = 0; - - // Inits - TS_INIT_TEXTSUITE = $01; - TS_INIT_SDL_TTF = $02; - TS_INIT_SDL_IMAGE = $04; - TS_INIT_GDI = $08; - TS_INIT_OPENGL = $10; -// TS_INIT_FREETYPE2 = $20; - - // library infos - TS_INFO_MAYOR_VERSION = $01; - TS_INFO_MINOR_VERSION = $02; - TS_INFO_BUILD_NUMBER = $03; - TS_INFO_VERSION = $04; - TS_INFO_COPYRIGHT = $05; - - TS_GLOBAL_ANTIALIASING = $11; - TS_GLOBAL_FORMAT = $12; - - // debug infos - TS_DEBUG_DRAW_CHAR_RECTS = $30; - - // context - TS_CONTEXT_BINDING = $40; - - // Renderer - TS_RENDERER = $50; - TS_RENDERER_NULL = $51; - TS_RENDERER_OPENGL = $52; - - TS_RENDERER_NULL_SAVE_IMAGES = $60; - - TS_RENDERER_OPENGL_TEXTURE_SIZE = $70; - TS_RENDERER_OPENGL_TEXTURE_SIZE_128 = $71; - TS_RENDERER_OPENGL_TEXTURE_SIZE_256 = $72; - TS_RENDERER_OPENGL_TEXTURE_SIZE_512 = $73; - TS_RENDERER_OPENGL_TEXTURE_SIZE_1024 = $74; - - // Font - TS_FONT_BINDING = $100; - TS_FONT_COPYRIGHT = $101; - TS_FONT_FACE_NAME = $102; - TS_FONT_STYLE_NAME = $103; - TS_FONT_FULL_NAME = $104; - TS_FONT_SIZE = $105; - TS_FONT_STYLE = $106; - TS_FONT_FILE_STYLE = $107; - TS_FONT_FIXED_WIDTH = $108; - TS_FONT_ANTIALIASING = $109; - TS_FONT_FORMAT = $10A; - TS_FONT_ASCENT = $10B; - TS_FONT_DESCENT = $113; - TS_FONT_EXTERNAL_LEADING = $114; - TS_FONT_LINESKIP = $10C; - TS_FONT_CHAR_SPACING = $10D; - TS_FONT_LINE_SPACING = $10E; - TS_FONT_UNDERLINE_POSITION = $10F; - TS_FONT_UNDERLINE_SIZE = $110; - TS_FONT_STRIKEOUT_POSITION = $111; - TS_FONT_STRIKEOUT_SIZE = $112; - TS_FONT_BASELINE_OFFSET = $115; - - // Char parameters - TS_CHAR_ADVANCE = $131; - TS_CHAR_GLYPHORIGIN = $132; - TS_CHAR_GLYPHORIGIN_X = $133; - TS_CHAR_GLYPHORIGIN_Y = $134; - TS_CHAR_GLYPHRECT = $135; - TS_CHAR_GLYPHRECT_TOP = $136; - TS_CHAR_GLYPHRECT_LEFT = $137; - TS_CHAR_GLYPHRECT_RIGHT = $138; - TS_CHAR_GLYPHRECT_BOTTOM = $139; - - // Creator - TS_CREATOR = $200; - TS_CREATOR_SDL = $201; - TS_CREATOR_GDI = $202; - TS_CREATOR_GDI_FACENAME = $203; -// TS_CREATOR_FREETYPE2 = $204; - TS_CREATOR_GDI_STREAM = $205; - - TS_CREATOR_CREATE_CHARS = $210; - TS_CREATOR_ADD_RESIZING_BORDER = $211; - - // Font Style - TS_STYLE_NORMAL = $00; - TS_STYLE_BOLD = $01; - TS_STYLE_ITALIC = $02; - TS_STYLE_UNDERLINE = $04; - TS_STYLE_STRIKEOUT = $08; - - // AntiAliasing - TS_ANTIALIASING_NONE = $221; - TS_ANTIALIASING_NORMAL = $222; - - // Formats - TS_FORMAT_EMPTY = $231; - TS_FORMAT_RGBA8 = $232; - - // PostProcessing usage type - TS_POST_INDEX_ALL = -2; - TS_POST_INDEX_LAST = -1; - TS_POST_USAGE_INCLUDE = $291; - TS_POST_USAGE_EXCLUDE = $292; - - // output consts - // Single line - TS_SINGLE_LINE = $300; - TS_SINGLE_LINE_TOP = $301; - TS_SINGLE_LINE_BASELINE = $302; - - // Textalign - TS_ALIGN = $310; - TS_ALIGN_LEFT = $311; - TS_ALIGN_CENTER = $312; - TS_ALIGN_RIGHT = $313; - TS_ALIGN_BLOCK = $314; - - TS_VALIGN = $320; - TS_VALIGN_TOP = $321; - TS_VALIGN_CENTER = $322; - TS_VALIGN_BOTTOM = $323; - - // Textblockflags - TS_BLOCK_OFFSET_X = $331; - TS_BLOCK_OFFSET_Y = $332; - - TS_BLOCKFLAG_NONE = $00; - TS_BLOCKFLAG_NO_CLIP = $01; - TS_BLOCKFLAG_CALC_SIZE = $02; - TS_BLOCKFLAG_WORD_WRAP = $04; -// TS_BF_SINGLE_LINE = $08; -// TS_BF_END_ELLIPSIS = $10; - - TS_CLIP = $340; - TS_CLIP_COMPLETE = $341; - TS_CLIP_BORDER = $342; - -{ - TS_TAB = $350; - TS_TAB_FIXED = $351; - TS_TAB_ABSOLUTE = $352; - TS_TAB_FIXED_WIDTH = $353; - TS_TAB_ABSOLUTE_POSITIONS = $354; -} - - // Code pages - TS_EMPTY_CP_ENTRY = $1000; - TS_EMPTY_CP_ENTRY_IGNORE = $1001; - TS_EMPTY_CP_ENTRY_USE_DEFAULT = $1002; - - TS_CODEPAGE = $1100; - TS_CODEPAGE_UTF8 = TS_CODEPAGE + 1; - TS_CODEPAGE_8859_1 = TS_CODEPAGE + 11; - TS_CODEPAGE_8859_2 = TS_CODEPAGE + 12; - TS_CODEPAGE_8859_3 = TS_CODEPAGE + 13; - TS_CODEPAGE_8859_4 = TS_CODEPAGE + 14; - TS_CODEPAGE_8859_5 = TS_CODEPAGE + 15; - TS_CODEPAGE_8859_6 = TS_CODEPAGE + 16; - TS_CODEPAGE_8859_7 = TS_CODEPAGE + 17; - TS_CODEPAGE_8859_8 = TS_CODEPAGE + 18; - TS_CODEPAGE_8859_9 = TS_CODEPAGE + 19; - TS_CODEPAGE_8859_10 = TS_CODEPAGE + 20; - TS_CODEPAGE_8859_11 = TS_CODEPAGE + 21; - TS_CODEPAGE_8859_13 = TS_CODEPAGE + 22; - TS_CODEPAGE_8859_14 = TS_CODEPAGE + 23; - TS_CODEPAGE_8859_15 = TS_CODEPAGE + 24; - TS_CODEPAGE_8859_16 = TS_CODEPAGE + 25; - TS_CODEPAGE_037 = TS_CODEPAGE + 31; - TS_CODEPAGE_437 = TS_CODEPAGE + 32; - TS_CODEPAGE_500 = TS_CODEPAGE + 33; - TS_CODEPAGE_737 = TS_CODEPAGE + 34; - TS_CODEPAGE_775 = TS_CODEPAGE + 35; - TS_CODEPAGE_850 = TS_CODEPAGE + 36; - TS_CODEPAGE_852 = TS_CODEPAGE + 37; - TS_CODEPAGE_855 = TS_CODEPAGE + 38; - TS_CODEPAGE_857 = TS_CODEPAGE + 39; - TS_CODEPAGE_860 = TS_CODEPAGE + 40; - TS_CODEPAGE_861 = TS_CODEPAGE + 41; - TS_CODEPAGE_862 = TS_CODEPAGE + 42; - TS_CODEPAGE_863 = TS_CODEPAGE + 43; - TS_CODEPAGE_864 = TS_CODEPAGE + 44; - TS_CODEPAGE_865 = TS_CODEPAGE + 45; - TS_CODEPAGE_866 = TS_CODEPAGE + 46; - TS_CODEPAGE_869 = TS_CODEPAGE + 47; - TS_CODEPAGE_874 = TS_CODEPAGE + 48; - TS_CODEPAGE_875 = TS_CODEPAGE + 49; - TS_CODEPAGE_1026 = TS_CODEPAGE + 50; - TS_CODEPAGE_1250 = TS_CODEPAGE + 51; - TS_CODEPAGE_1251 = TS_CODEPAGE + 52; - TS_CODEPAGE_1252 = TS_CODEPAGE + 53; - TS_CODEPAGE_1253 = TS_CODEPAGE + 54; - TS_CODEPAGE_1254 = TS_CODEPAGE + 55; - TS_CODEPAGE_1255 = TS_CODEPAGE + 56; - TS_CODEPAGE_1256 = TS_CODEPAGE + 57; - TS_CODEPAGE_1257 = TS_CODEPAGE + 58; - TS_CODEPAGE_1258 = TS_CODEPAGE + 59; - - // channel masks - TS_CHANNEL_RED = $01; - TS_CHANNEL_GREEN = $02; - TS_CHANNEL_BLUE = $04; - TS_CHANNEL_ALPHA = $08; - TS_CHANNEL_LUMINANCE = $10; - - TS_CHANNELS_RGB = TS_CHANNEL_RED or TS_CHANNEL_GREEN or TS_CHANNEL_BLUE; - TS_CHANNELS_RGBA = TS_CHANNELS_RGB or TS_CHANNEL_ALPHA; - TS_CHANNELS_LUMINANCE_ALPHA = TS_CHANNEL_LUMINANCE or TS_CHANNEL_ALPHA; - - TS_IMAGE_RED_MODE = $401; - TS_IMAGE_GREEN_MODE = $402; - TS_IMAGE_BLUE_MODE = $403; - TS_IMAGE_ALPHA_MODE = $404; - TS_IMAGE_LUMINANCE_MODE = $405; - - TS_MODE_REPLACE = $411; - TS_MODE_MODULATE = $412; - - // Imagelibrary - TS_IMAGE_LIBRARY = $420; - TS_IMAGE_LIBRARY_SDL = $421; - - - // Errorcode - TS_NO_ERROR = $0000; - TS_ERROR = $8000; - TS_NO_ACTIVE_CONTEXT = TS_ERROR + $1; - TS_NO_ACTIVE_RENDERER = TS_ERROR + $2; - TS_NO_ACTIVE_FONT = TS_ERROR + $3; - TS_INVALID_OPERATION = TS_ERROR + $4; - TS_INVALID_ENUM = TS_ERROR + $5; - TS_INVALID_VALUE = TS_ERROR + $6; - TS_OUT_OF_MEMORY = TS_ERROR + $7; - TS_NOT_INITIALIZED = TS_ERROR + $8; - - TS_NO_FUNC = $0000; - TS_FUNC = $4000; - TS_FUNC_INIT = TS_FUNC + $01; - TS_FUNC_QUIT = TS_FUNC + $02; - TS_FUNC_SET_PARAMETER = TS_FUNC + $03; - TS_FUNC_GET_PARAMETER = TS_FUNC + $04; - TS_FUNC_GET_STRING = TS_FUNC + $05; - TS_FUNC_CONTEXT_CREATE = TS_FUNC + $06; - TS_FUNC_CONTEXT_DESTROY = TS_FUNC + $07; - TS_FUNC_CONTEXT_BIND = TS_FUNC + $08; - TS_FUNC_FONT_CREATE_CREATOR = TS_FUNC + $09; - TS_FUNC_FONT_DESTROY = TS_FUNC + $0A; - TS_FUNC_FONT_BIND = TS_FUNC + $0B; - TS_FUNC_FONT_ADD_CHAR = TS_FUNC + $0C; - TS_FUNC_FONT_DELETE_CHAR = TS_FUNC + $0D; - TS_FUNC_FONT_SET_CHAR_PARAMETER = TS_FUNC + $0E; - TS_FUNC_FONT_GET_CHAR_PARAMETER = TS_FUNC + $0F; - TS_FUNC_POST_ADD_FILL_COLOR = TS_FUNC + $10; - TS_FUNC_POST_ADD_FILL_PATTERN = TS_FUNC + $11; - TS_FUNC_POST_ADD_BORDER = TS_FUNC + $12; - TS_FUNC_POST_ADD_SHADOW = TS_FUNC + $13; - TS_FUNC_POST_ADD_CUSTOM = TS_FUNC + $14; - TS_FUNC_POST_DELETE = TS_FUNC + $15; - TS_FUNC_POST_ADD_USAGE = TS_FUNC + $16; - TS_FUNC_POST_CLEAR_USAGE = TS_FUNC + $17; - TS_FUNC_STRING_ANSI_TO_WIDE = TS_FUNC + $18; - TS_FUNC_STRING_ALLOC = TS_FUNC + $19; - TS_FUNC_STRING_DISPOSE = TS_FUNC + $1A; - TS_FUNC_TEXT_BEGIN_BLOCK = TS_FUNC + $1B; - TS_FUNC_TEXT_END_BLOCK = TS_FUNC + $1C; - TS_FUNC_TEXT_COLOR = TS_FUNC + $1D; - TS_FUNC_TEXT_OUT = TS_FUNC + $1E; - TS_FUNC_TEXT_GET_WIDTH = TS_FUNC + $1F; - TS_FUNC_TEXT_GET_HEIGHT = TS_FUNC + $20; - TS_FUNC_IMAGE_CREATE = TS_FUNC + $21; - TS_FUNC_IMAGE_DESTROY = TS_FUNC + $22; - TS_FUNC_IMAGE_LOAD = TS_FUNC + $23; - TS_FUNC_IMAGE_ASSIGN_FROM = TS_FUNC + $24; - TS_FUNC_IMAGE_NEW = TS_FUNC + $25; - TS_FUNC_IMAGE_GET_INFO = TS_FUNC + $26; - TS_FUNC_IMAGE_SCANLINE = TS_FUNC + $27; - TS_FUNC_IMAGE_RESIZE = TS_FUNC + $28; - TS_FUNC_IMAGE_BLEND = TS_FUNC + $29; - TS_FUNC_IMAGE_BLUR = TS_FUNC + $2A; - TS_FUNC_IMAGE_FILL_COLOR = TS_FUNC + $2B; - TS_FUNC_IMAGE_FILL_PATTERN = TS_FUNC + $2C; - - - - // *** global functions *** - function tsInit(Names: tsEnum): tsBool; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsInit'; {$endif} - function tsWasInit(Names: tsEnum): tsBool; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsWasInit'; {$endif} - procedure tsQuit; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsQuit'; {$endif} - function tsGetError: tsEnum; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetError'; {$endif} - function tsGetErrorFunction: tsEnum; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetErrorFunction'; {$endif} - function tsGetErrorStringA(ErrorCode: tsEnum): pAnsiChar; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetErrorStringA'; {$endif} - - procedure tsSetParameteri(ParamName: tsEnum; Param: tsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsSetParameteri'; {$endif} - procedure tsSetParameteriv(ParamName: tsEnum; pParam: ptsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsSetParameteriv'; {$endif} - function tsGetParameteri(ParamName: tsEnum): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetParameteri'; {$endif} - procedure tsGetParameteriv(ParamName: tsEnum; pParam: ptsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetParameteriv'; {$endif} - - function tsGetStringA(ParamName: tsEnum): pAnsiChar; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsGetStringA'; {$endif} - - // *** context functions *** - procedure tsContextCreate(pContextID: ptsContextID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsContextCreate'; {$endif} - procedure tsContextDestroy(ContextID: tsContextID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsContextDestroy'; {$endif} - procedure tsContextBind(ContextID: tsContextID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsContextBind'; {$endif} - - // *** font functions *** -// procedure tsFontCreate(pFontID: ptsFontID); cdecl; -// {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name ; {$endif} - procedure tsFontCreateCreatorA(Name: pAnsiChar; Size: tsInt; Style: tsBitmask; AntiAliasing: tsEnum; Format: tsEnum; pFontID: ptsFontID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontCreateCreatorA'; {$endif} - procedure tsFontDestroy(FontID: tsFontID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontDestroy'; {$endif} - procedure tsFontBind(FontID: tsFontID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontBind'; {$endif} - - procedure tsFontAddCharRange(CharStart: WideChar; CharEnd: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontAddCharRange'; {$endif} - procedure tsFontAddChars(Chars: pWideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontAddChars'; {$endif} - procedure tsFontAddChar(Char: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontAddChar'; {$endif} - - procedure tsFontDeleteCharRange(CharStart: WideChar; CharEnd: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontDeleteCharRange'; {$endif} - procedure tsFontDeleteChars(Chars: pWideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontDeleteChars'; {$endif} - procedure tsFontDeleteChar(Char: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontDeleteChar'; {$endif} - - procedure tsFontSetCharParameteri(Char: WideChar; ParamName: tsEnum; Param: tsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontSetCharParameteri'; {$endif} - procedure tsFontSetCharParameteriv(Char: WideChar; ParamName: tsEnum; pParam: ptsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontSetCharParameteri'; {$endif} - function tsFontGetCharParameteri(Char: WideChar; ParamName: tsEnum): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontGetCharParameteri'; {$endif} - procedure tsFontGetCharParameteriv(Char: WideChar; ParamName: tsEnum; pParam: ptsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsFontGetCharParameteri'; {$endif} - - procedure tsPostAddFillColor3ub(Red, Green, Blue: tsByte; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddFillColor3ub'; {$endif} - procedure tsPostAddFillColor3f(Red, Green, Blue: tsFloat; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddFillColor3f'; {$endif} - procedure tsPostAddFillColor4ub(Red, Green, Blue, Alpha: tsByte; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddFillColor4ub'; {$endif} - procedure tsPostAddFillColor4f(Red, Green, Blue, Alpha: tsFloat; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddFillColor4f'; {$endif} - - procedure tsPostAddFillPattern(PatternImageID: tsImageID; X, Y: tsInt; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddFillPattern'; {$endif} - - procedure tsPostAddBorder3ub(Width, Strength: tsFloat; Red, Green, Blue: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddBorder3ub'; {$endif} - procedure tsPostAddBorder3f(Width, Strength: tsFloat; Red, Green, Blue: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddBorder3f'; {$endif} - procedure tsPostAddBorder4ub(Width, Strength: tsFloat; Red, Green, Blue, Alpha: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddBorder4ub'; {$endif} - procedure tsPostAddBorder4f(Width, Strength: tsFloat; Red, Green, Blue, Alpha: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddBorder4f'; {$endif} - - procedure tsPostAddShadow3ub(Radius: tsFloat; X, Y: tsInt; Red, Green, Blue: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddShadow3ub'; {$endif} - procedure tsPostAddShadow3f(Radius: tsFloat; X, Y: tsInt; Red, Green, Blue: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddShadow3f'; {$endif} - procedure tsPostAddShadow4ub(Radius: tsFloat; X, Y: tsInt; Red, Green, Blue, Alpha: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddShadow4ub'; {$endif} - procedure tsPostAddShadow4f(Radius: tsFloat; X, Y: tsInt; Red, Green, Blue, Alpha: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddShadow4f'; {$endif} - -// procedure tsPostAddKerning; cdecl; -// {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddKerning'; {$endif} - procedure tsPostAddCustom(PostProcessProc: tsPostProcessProc; Data: Pointer); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddCustom'; {$endif} - - procedure tsPostDelete(PostIndex: tsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostDelete'; {$endif} - - procedure tsPostAddUsageRange(PostIndex: tsInt; UsageType: tsEnum; CharStart, CharEnd: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddUsageRange'; {$endif} - procedure tsPostAddUsageChars(PostIndex: tsInt; UsageType: tsEnum; Chars: pWideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostAddUsageChars'; {$endif} - - procedure tsPostClearUsage(PostIndex: tsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsPostClearUsage'; {$endif} - - // *** string functions *** - function tsStringAnsiToWide(pText: pAnsiChar): pWideChar; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsStringAnsiToWide'; {$endif} - function tsStringAlloc(Size: tsInt): pWideChar; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsStringAlloc'; {$endif} - procedure tsStringDispose(pText: pWideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsStringDispose'; {$endif} - - // *** drawing functions *** - procedure tsTextBeginBlock(Left, Top, Width, Height: tsInt; Flags: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextBeginBlock'; {$endif} - procedure tsTextEndBlock; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextEndBlock'; {$endif} - - procedure tsTextColor3ub(Red, Green, Blue: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextColor3ub'; {$endif} - procedure tsTextColor3f(Red, Green, Blue: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextColor3f'; {$endif} - procedure tsTextColor4ub(Red, Green, Blue, Alpha: tsByte); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextColor4ub'; {$endif} - procedure tsTextColor4f(Red, Green, Blue, Alpha: tsFloat); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextColor4f'; {$endif} - - procedure tsTextOutA(pText: pAnsiChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextOutA'; {$endif} - procedure tsTextOutW(pText: pWideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextOutW'; {$endif} - function tsTextGetWidthA(pText: pAnsiChar): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextGetWidthA'; {$endif} - function tsTextGetWidthW(pText: pWideChar): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextGetWidthW'; {$endif} - function tsTextGetHeightA(pText: pAnsiChar): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextGetHeightA'; {$endif} - function tsTextGetHeightW(pText: pWideChar): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsTextGetHeightW'; {$endif} - - procedure tsCharOutW(CharCode: WideChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsCharOutW'; {$endif} - - // *** Image functions *** - procedure tsImageCreate(pImageID: ptsImageID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageCreate'; {$endif} - procedure tsImageDestroy(ImageID: tsImageID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageDestroy'; {$endif} - procedure tsImageLoadA(ImageID: tsImageID; Filename: pAnsiChar); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageLoadA'; {$endif} - procedure tsImageAssignFrom(ImageID: tsImageID; FromImageID: tsImageID); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageAssignFrom'; {$endif} - procedure tsImageNew(ImageID: tsImageID; Width: tsInt; Height: tsInt; Format: tsEnum); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageNew'; {$endif} - - procedure tsImageGetInfo(ImageID: tsImageID; pisEmpty: ptsBool; pWidth: ptsInt; pHeight: ptsInt; pFormat: ptsEnum; pData: PPointer); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetInfo'; {$endif} - function tsImageGetIsEmpty(ImageID: tsImageID): tsBool; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetIsEmpty'; {$endif} - function tsImageGetWidth(ImageID: tsImageID): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetWidth'; {$endif} - function tsImageGetHeight(ImageID: tsImageID): tsInt; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetHeight'; {$endif} - function tsImageGetFormat(ImageID: tsImageID): tsEnum; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetFormat'; {$endif} - function tsImageGetData(ImageID: tsImageID): Pointer; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageGetData'; {$endif} - function tsImageScanline(ImageID: tsImageID; Scanline: tsInt): Pointer; cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageScanline'; {$endif} - - procedure tsImageResize(ImageID: tsImageID; Width, Height, X, Y: tsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageResize'; {$endif} - procedure tsImageBlend(ImageID, OverImageID: tsImageID; X, Y: tsInt; AutoExpand: tsBool); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageBlend'; {$endif} - procedure tsImageBlur(ImageID: tsImageID; X, Y: tsFloat; ChannelMask: tsBitmask; AutoExpand: tsBool; ExpandSizeX, ExpandSizeY: ptsInt); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageBlur'; {$endif} - - procedure tsImageFillColor3ub(ImageID: tsImageID; Red, Green, Blue: tsByte; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageFillColor3ub'; {$endif} - procedure tsImageFillColor3f(ImageID: tsImageID; Red, Green, Blue: tsFloat; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageFillColor3f'; {$endif} - procedure tsImageFillColor4ub(ImageID: tsImageID; Red, Green, Blue, Alpha: tsByte; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageFillColor4ub'; {$endif} - procedure tsImageFillColor4f(ImageID: tsImageID; Red, Green, Blue, Alpha: tsFloat; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageFillColor4f'; {$endif} - - procedure tsImageFillPattern(ImageID, PatternImageID: tsImageID; X, Y: tsInt; ChannelMask: tsBitmask); cdecl; - {$ifdef TS_EXTERN_STATIC} external TS_LIBRARY name 'tsImageFillPattern'; {$endif} - - - -implementation - -{ This define ignores implementations of all functions } -{$ifndef TS_EXTERN_STATIC} - -uses - Classes, - SysUtils, - SyncObjs, - TextSuiteClasses, - TextSuitePostProcess, - TextSuiteImports, - {$ifndef TS_PURE_PASCAL} - TextSuiteCPUUtils, - {$endif} - TextSuiteVersion, - TextSuiteWideUtils; - - -// string consts -const - TS_COPYRIGHT_STR = 'TextSuite (c) 2007-2009 by Steffen Xonna'; - - -// error consts -const - TS_NO_ERROR_STR = 'no error'; - TS_ERROR_STR = 'unknown error'; - TS_NO_ACTIVE_CONTEXT_STR = 'no active context'; - TS_NO_ACTIVE_RENDERER_STR = 'no active renderer'; - TS_NO_ACTIVE_FONT_STR = 'no active font'; - TS_INVALID_OPERATION_STR = 'invalid operation'; - TS_INVALID_ENUM_STR = 'invalid enum'; - TS_INVALID_VALUE_STR = 'invalid value'; - TS_OUT_OF_MEMORY_STR = 'out of memory'; - TS_NOT_INITIALIZED_STR = 'not initialized'; - - -// global variables -var - TextSuite_initialized: Boolean; - TextSuite_initialized_count: Integer; - - gCriticalSection: TCriticalSection; - gContexts: TtsHash; - gStrings: TtsStringHash; - - - -// globals for the threads -threadvar - gError: tsEnum; - gErrorFunction: tsEnum; - - gContext: TtsContext; - - - -procedure SetError(Error, ErrorFunction: tsEnum); -begin - gError := Error; - gErrorFunction := ErrorFunction; -end; - - -procedure ClearContexts; -var - List: TList; - Context: TtsContext; - Idx: Integer; -begin - List := TList.Create; - try - gContexts.GetValues(List); - gContexts.Clear; - gContext := nil; - - for Idx := 0 to List.Count - 1 do begin - Context := List[Idx]; - - Context.Free; - end; - finally - List.Free; - end; -end; - - -function Init_TextSuite: boolean; -begin - if (TextSuite_initialized_count = 0) or (not TextSuite_initialized) then begin - {$ifndef TS_PURE_PASCAL} - ReadCPUFlags; - - if supportFPU and supportCMOV and supportMMX then begin - {$endif} - // global section - if gCriticalSection = nil then - gCriticalSection := TCriticalSection.Create; - - // Context management - if gContexts = nil then - gContexts := TtsHash.Create(113); - - // string management - if gStrings = nil then - gStrings := TtsStringHash.Create(4219); - - TextSuite_initialized := - (gCriticalSection <> nil) and - (gContexts <> nil) and - (gStrings <> nil); - {$ifndef TS_PURE_PASCAL} - end; - {$endif} - end; - - Inc(TextSuite_initialized_count); - - Result := TextSuite_initialized; -end; - - -procedure Quit_TextSuite; -begin - Dec(TextSuite_initialized_count); - - if TextSuite_initialized_count = 0 then begin - // destroy all contexts - ClearContexts; - - // destroy hash - gStrings.Free; - gStrings := nil; - - gContexts.Free; - gContexts := nil; - - gCriticalSection.Free; - gCriticalSection := nil; - - gContext := nil; - - TextSuite_initialized := False; - end; -end; - - - -// *** global functions -function tsInit(Names: tsEnum): tsBool; -var - ResNames: tsEnum; -begin - Result := TS_FALSE; - try - ResNames := 0; - - if (Names and TS_INIT_TEXTSUITE) > 0 then - if Init_TextSuite then - ResNames := ResNames or TS_INIT_TEXTSUITE; - - if (Names and TS_INIT_SDL_TTF) > 0 then - if Init_SDL_TTF then - ResNames := ResNames or TS_INIT_SDL_TTF; - - if (Names and TS_INIT_SDL_IMAGE) > 0 then - if Init_SDL_IMAGE then - ResNames := ResNames or TS_INIT_SDL_IMAGE; - - if (Names and TS_INIT_GDI) > 0 then - if Init_GDI then - ResNames := ResNames or TS_INIT_GDI; - - if (Names and TS_INIT_OPENGL) > 0 then - if Init_OpenGL then - ResNames := ResNames or TS_INIT_OPENGL; - - if ResNames = Names then - Result := TS_TRUE; - - if Result = TS_FALSE then - SetError(TS_NOT_INITIALIZED, TS_FUNC_INIT); - except - SetError(TS_ERROR, TS_FUNC_INIT); - end; -end; - - -function tsWasInit(Names: tsEnum): tsBool; -var - ResNames: tsEnum; -begin - ResNames := 0; - - if (Names and TS_INIT_TEXTSUITE) > 0 then - if TextSuite_initialized then - ResNames := ResNames or TS_INIT_TEXTSUITE; - - if (Names and TS_INIT_SDL_TTF) > 0 then - if SDL_TTF_initialized then - ResNames := ResNames or TS_INIT_SDL_TTF; - - if (Names and TS_INIT_SDL_IMAGE) > 0 then - if SDL_IMAGE_initialized then - ResNames := ResNames or TS_INIT_SDL_IMAGE; - - if (Names and TS_INIT_GDI) > 0 then - if GDI_initialized then - ResNames := ResNames or TS_INIT_GDI; - - if (Names and TS_INIT_OPENGL) > 0 then - if OpenGL_initialized then - ResNames := ResNames or TS_INIT_OPENGL; - - if ResNames = Names then - Result := TS_TRUE - else - Result := TS_FALSE; -end; - - -procedure tsQuit; -begin - try - // maybe quit library if count is zero - if TextSuite_initialized then - Quit_TextSuite; - - // if count is zero then quit all other systems - if TextSuite_initialized_count = 0 then begin - if SDL_TTF_initialized then - Quit_SDL_TTF; - - if SDL_IMAGE_initialized then - Quit_SDL_IMAGE; - - if GDI_initialized then - Quit_GDI; - - if OpenGL_initialized then - Quit_OpenGL; - - Quit_SDL; - end; - except - SetError(TS_ERROR, TS_FUNC_QUIT); - end; -end; - - -function tsGetError: tsEnum; -begin - Result := gError; - - gError := TS_NO_ERROR; -end; - - -function tsGetErrorFunction: tsEnum; -begin - Result := gErrorFunction; - - gErrorFunction := TS_NO_FUNC; -end; - - -function tsGetErrorStringA(ErrorCode: tsEnum): pAnsiChar; -begin - case ErrorCode of - TS_NO_ERROR: - Result := pAnsiChar(TS_NO_ERROR_STR); - TS_ERROR: - Result := pAnsiChar(TS_ERROR_STR); - TS_NO_ACTIVE_CONTEXT: - Result := pAnsiChar(TS_NO_ACTIVE_CONTEXT_STR); - TS_NO_ACTIVE_RENDERER: - Result := pAnsiChar(TS_NO_ACTIVE_RENDERER_STR); - TS_NO_ACTIVE_FONT: - Result := pAnsiChar(TS_NO_ACTIVE_FONT_STR); - TS_INVALID_OPERATION: - Result := pAnsiChar(TS_INVALID_OPERATION_STR); - TS_INVALID_ENUM: - Result := pAnsiChar(TS_INVALID_ENUM_STR); - TS_INVALID_VALUE: - Result := pAnsiChar(TS_INVALID_VALUE_STR); - TS_OUT_OF_MEMORY: - Result := pAnsiChar(TS_OUT_OF_MEMORY_STR); - TS_NOT_INITIALIZED: - Result := pAnsiChar(TS_NOT_INITIALIZED_STR); - else - if ErrorCode and TS_ERROR = TS_ERROR then - Result := pAnsiChar(TS_ERROR_STR) - else - Result := pAnsiChar(TS_NO_ERROR); - end; -end; - - -procedure SetCodePage(CodePage: tsEnum; CodePageFunc: TtsAnsiToWideCharFunc; pCodePage: Pointer); -var - Context: TtsContext; -begin - Context := gContext; - - Context.gCodePage := CodePage; - Context.gCodePageFunc := CodePageFunc; - Context.gCodePagePtr := pCodePage; -end; - - -procedure tsSetParameteri(ParamName: tsEnum; Param: tsInt); -begin - tsSetParameteriv(ParamName, @Param); -end; - - -procedure tsSetParameteriv(ParamName: tsEnum; pParam: ptsInt); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if pParam <> nil then begin - case ParamName of - // font - TS_FONT_ASCENT: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.Ascent := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_DESCENT: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.Descent := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_EXTERNAL_LEADING: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.ExternalLeading := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_BASELINE_OFFSET: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.BaselineOffset := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_CHAR_SPACING: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.CharSpacing := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_LINE_SPACING: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.LineSpacing := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_UNDERLINE_POSITION: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.UnderlinePosition := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_UNDERLINE_SIZE: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.UnderlineSize := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_STRIKEOUT_POSITION: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.StrikeoutPosition := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_FONT_STRIKEOUT_SIZE: - if not Context.IsLocked then begin - if Context.ActiveFont <> nil then begin - Context.ActiveFont.StrikeoutSize := pParam^; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // globals - TS_GLOBAL_ANTIALIASING: - case pParam^ of - TS_ANTIALIASING_NONE: - Context.gGlobalAntiAliasing := TS_ANTIALIASING_NONE; - TS_ANTIALIASING_NORMAL: - Context.gGlobalAntiAliasing := TS_ANTIALIASING_NORMAL; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_GLOBAL_FORMAT: - case pParam^ of - TS_FORMAT_RGBA8: - Context.gGlobalFormat := TS_FORMAT_RGBA8; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - // creator - TS_CREATOR: - case pParam^ of - TS_CREATOR_SDL: - Context.gCreator := TS_CREATOR_SDL; - TS_CREATOR_GDI: - Context.gCreator := TS_CREATOR_GDI; - TS_CREATOR_GDI_FACENAME: - Context.gCreator := TS_CREATOR_GDI_FACENAME; - TS_CREATOR_GDI_STREAM: - Context.gCreator := TS_CREATOR_GDI_STREAM; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_CREATOR_CREATE_CHARS: - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - case pParam^ of - TS_TRUE: - TtsFontCreator(Context.ActiveFont).CreateChars := True; - TS_FALSE: - TtsFontCreator(Context.ActiveFont).CreateChars := False; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - - TS_CREATOR_ADD_RESIZING_BORDER: - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - case pParam^ of - TS_TRUE: - TtsFontCreator(Context.ActiveFont).AddResizingBorder := True; - TS_FALSE: - TtsFontCreator(Context.ActiveFont).AddResizingBorder := False; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_SET_PARAMETER); - - // renderer - TS_RENDERER: - if not Context.IsLocked then begin - if tsGetParameteri(TS_RENDERER) <> pParam^ then begin - if (Context.FontCount = 0) and (Context.ImageCount = 0) then begin - case pParam^ of - TS_RENDERER_NULL: - begin - if Context.Renderer <> nil then - Context.Renderer.Free; - - Context.Renderer := TtsRendererNULL.Create(Context); - end; - TS_RENDERER_OPENGL: - begin - if OpenGL_initialized then begin - if Context.Renderer <> nil then - Context.Renderer.Free; - - Context.Renderer := TtsRendererOpenGL.Create(Context); - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_SET_PARAMETER); - end - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - // Renderer only can set if no Images/Fonts exist - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // opengl texture size - TS_RENDERER_OPENGL_TEXTURE_SIZE: - if Context.Renderer <> nil then begin - if Context.Renderer is TtsRendererOpenGL then begin - case pParam^ of - TS_RENDERER_OPENGL_TEXTURE_SIZE_128: - TtsRendererOpenGL(Context.Renderer).TextureSize := 128; - - TS_RENDERER_OPENGL_TEXTURE_SIZE_256: - TtsRendererOpenGL(Context.Renderer).TextureSize := 256; - - TS_RENDERER_OPENGL_TEXTURE_SIZE_512: - TtsRendererOpenGL(Context.Renderer).TextureSize := 512; - - TS_RENDERER_OPENGL_TEXTURE_SIZE_1024: - TtsRendererOpenGL(Context.Renderer).TextureSize := 1024; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_SET_PARAMETER); - - // null renderer saves char images - TS_RENDERER_NULL_SAVE_IMAGES: - if Context.Renderer <> nil then begin - if Context.Renderer is TtsRendererNULL then begin - case pParam^ of - TS_FALSE: - Context.Renderer.SaveImages := False; - - TS_TRUE: - Context.Renderer.SaveImages := True; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_SET_PARAMETER); - - // Align - TS_ALIGN: - if not Context.IsLocked then begin - case pParam^ of - TS_ALIGN_LEFT: - Context.gAlign := TS_ALIGN_LEFT; - TS_ALIGN_CENTER: - Context.gAlign := TS_ALIGN_CENTER; - TS_ALIGN_RIGHT: - Context.gAlign := TS_ALIGN_RIGHT; - TS_ALIGN_BLOCK: - Context.gAlign := TS_ALIGN_BLOCK; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // Vertical Align - TS_VALIGN: - if not Context.IsLocked then begin - case pParam^ of - TS_VALIGN_TOP: - Context.gVAlign := TS_VALIGN_TOP; - TS_VALIGN_CENTER: - Context.gVAlign := TS_VALIGN_CENTER; - TS_VALIGN_BOTTOM: - Context.gVAlign := TS_VALIGN_BOTTOM; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // Clipping - TS_CLIP: - if not Context.IsLocked then begin - case pParam^ of - TS_CLIP_COMPLETE: - Context.gClip := TS_CLIP_COMPLETE; - TS_CLIP_BORDER: - Context.gClip := TS_CLIP_BORDER; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // block offset - TS_BLOCK_OFFSET_X: - if not Context.IsLocked then begin - Context.gBlockOffsetX := pParam^; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - TS_BLOCK_OFFSET_Y: - if not Context.IsLocked then begin - Context.gBlockOffsetY := pParam^; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_SET_PARAMETER); - - // single line - TS_SINGLE_LINE: - case pParam^ of - TS_SINGLE_LINE_TOP: - Context.gSingleLine := TS_SINGLE_LINE_TOP; - TS_SINGLE_LINE_BASELINE: - Context.gSingleLine := TS_SINGLE_LINE_BASELINE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - { - TS_TAB: - case pParam^ of - TS_TAB_FIXED: - gTab := TS_TAB_FIXED; - TS_TAB_ABSOLUTE: - gTab := TS_TAB_ABSOLUTE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_TAB_FIXED_WIDTH: - gTabWidth := pParam^; - } - // image modes - TS_IMAGE_RED_MODE: - case pParam^ of - TS_MODE_REPLACE: - Context.gImageMode[tsModeRed] := TS_MODE_REPLACE; - TS_MODE_MODULATE: - Context.gImageMode[tsModeRed] := TS_MODE_MODULATE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_IMAGE_GREEN_MODE: - case pParam^ of - TS_MODE_REPLACE: - Context.gImageMode[tsModeGreen] := TS_MODE_REPLACE; - TS_MODE_MODULATE: - Context.gImageMode[tsModeGreen] := TS_MODE_MODULATE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_IMAGE_BLUE_MODE: - case pParam^ of - TS_MODE_REPLACE: - Context.gImageMode[tsModeBlue] := TS_MODE_REPLACE; - TS_MODE_MODULATE: - Context.gImageMode[tsModeBlue] := TS_MODE_MODULATE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_IMAGE_ALPHA_MODE: - case pParam^ of - TS_MODE_REPLACE: - Context.gImageMode[tsModeAlpha] := TS_MODE_REPLACE; - TS_MODE_MODULATE: - Context.gImageMode[tsModeAlpha] := TS_MODE_MODULATE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_IMAGE_LUMINANCE_MODE: - case pParam^ of - TS_MODE_REPLACE: - Context.gImageMode[tsModeLuminance] := TS_MODE_REPLACE; - TS_MODE_MODULATE: - Context.gImageMode[tsModeLuminance] := TS_MODE_MODULATE; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_IMAGE_LIBRARY: - case pParam^ of - TS_IMAGE_LIBRARY_SDL: - Context.gImageLibrary := TS_IMAGE_LIBRARY_SDL; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - // code pages - TS_EMPTY_CP_ENTRY: - case pParam^ of - TS_EMPTY_CP_ENTRY_IGNORE: - Context.gEmptyCodePageEntry := TS_EMPTY_CP_ENTRY_IGNORE; - TS_EMPTY_CP_ENTRY_USE_DEFAULT: - Context.gEmptyCodePageEntry := TS_EMPTY_CP_ENTRY_USE_DEFAULT; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_CODEPAGE: - case pParam^ of - TS_CODEPAGE_UTF8: - SetCodePage(TS_CODEPAGE_UTF8, nil, nil); - TS_CODEPAGE_8859_1: - SetCodePage(TS_CODEPAGE_8859_1, nil, nil); - TS_CODEPAGE_8859_2: - SetCodePage(TS_CODEPAGE_8859_2, tsAnsiSBCDToWide, @CP_8859_2); - TS_CODEPAGE_8859_3: - SetCodePage(TS_CODEPAGE_8859_3, tsAnsiSBCDToWide, @CP_8859_3); - TS_CODEPAGE_8859_4: - SetCodePage(TS_CODEPAGE_8859_4, tsAnsiSBCDToWide, @CP_8859_4); - TS_CODEPAGE_8859_5: - SetCodePage(TS_CODEPAGE_8859_5, tsAnsiSBCDToWide, @CP_8859_5); - TS_CODEPAGE_8859_6: - SetCodePage(TS_CODEPAGE_8859_6, tsAnsiSBCDToWide, @CP_8859_6); - TS_CODEPAGE_8859_7: - SetCodePage(TS_CODEPAGE_8859_7, tsAnsiSBCDToWide, @CP_8859_7); - TS_CODEPAGE_8859_8: - SetCodePage(TS_CODEPAGE_8859_8, tsAnsiSBCDToWide, @CP_8859_8); - TS_CODEPAGE_8859_9: - SetCodePage(TS_CODEPAGE_8859_9, tsAnsiSBCDToWide, @CP_8859_9); - TS_CODEPAGE_8859_10: - SetCodePage(TS_CODEPAGE_8859_10, tsAnsiSBCDToWide, @CP_8859_10); - TS_CODEPAGE_8859_11: - SetCodePage(TS_CODEPAGE_8859_11, tsAnsiSBCDToWide, @CP_8859_11); - TS_CODEPAGE_8859_13: - SetCodePage(TS_CODEPAGE_8859_13, tsAnsiSBCDToWide, @CP_8859_13); - TS_CODEPAGE_8859_14: - SetCodePage(TS_CODEPAGE_8859_14, tsAnsiSBCDToWide, @CP_8859_14); - TS_CODEPAGE_8859_15: - SetCodePage(TS_CODEPAGE_8859_15, tsAnsiSBCDToWide, @CP_8859_15); - TS_CODEPAGE_8859_16: - SetCodePage(TS_CODEPAGE_8859_16, tsAnsiSBCDToWide, @CP_8859_16); - TS_CODEPAGE_037: - SetCodePage(TS_CODEPAGE_037, tsAnsiSBCDToWide, @CP_037); - TS_CODEPAGE_437: - SetCodePage(TS_CODEPAGE_437, tsAnsiSBCDToWide, @CP_437); - TS_CODEPAGE_500: - SetCodePage(TS_CODEPAGE_500, tsAnsiSBCDToWide, @CP_500); - TS_CODEPAGE_737: - SetCodePage(TS_CODEPAGE_737, tsAnsiSBCDToWide, @CP_737); - TS_CODEPAGE_775: - SetCodePage(TS_CODEPAGE_775, tsAnsiSBCDToWide, @CP_775); - TS_CODEPAGE_850: - SetCodePage(TS_CODEPAGE_850, tsAnsiSBCDToWide, @CP_850); - TS_CODEPAGE_852: - SetCodePage(TS_CODEPAGE_852, tsAnsiSBCDToWide, @CP_852); - TS_CODEPAGE_855: - SetCodePage(TS_CODEPAGE_855, tsAnsiSBCDToWide, @CP_855); - TS_CODEPAGE_857: - SetCodePage(TS_CODEPAGE_857, tsAnsiSBCDToWide, @CP_857); - TS_CODEPAGE_860: - SetCodePage(TS_CODEPAGE_860, tsAnsiSBCDToWide, @CP_860); - TS_CODEPAGE_861: - SetCodePage(TS_CODEPAGE_861, tsAnsiSBCDToWide, @CP_861); - TS_CODEPAGE_862: - SetCodePage(TS_CODEPAGE_862, tsAnsiSBCDToWide, @CP_862); - TS_CODEPAGE_863: - SetCodePage(TS_CODEPAGE_863, tsAnsiSBCDToWide, @CP_863); - TS_CODEPAGE_864: - SetCodePage(TS_CODEPAGE_864, tsAnsiSBCDToWide, @CP_864); - TS_CODEPAGE_865: - SetCodePage(TS_CODEPAGE_865, tsAnsiSBCDToWide, @CP_865); - TS_CODEPAGE_866: - SetCodePage(TS_CODEPAGE_866, tsAnsiSBCDToWide, @CP_866); - TS_CODEPAGE_869: - SetCodePage(TS_CODEPAGE_869, tsAnsiSBCDToWide, @CP_869); - TS_CODEPAGE_874: - SetCodePage(TS_CODEPAGE_874, tsAnsiSBCDToWide, @CP_874); - TS_CODEPAGE_875: - SetCodePage(TS_CODEPAGE_875, tsAnsiSBCDToWide, @CP_875); - TS_CODEPAGE_1026: - SetCodePage(TS_CODEPAGE_1026, tsAnsiSBCDToWide, @CP_1026); - TS_CODEPAGE_1250: - SetCodePage(TS_CODEPAGE_1250, tsAnsiSBCDToWide, @CP_1250); - TS_CODEPAGE_1251: - SetCodePage(TS_CODEPAGE_1251, tsAnsiSBCDToWide, @CP_1251); - TS_CODEPAGE_1252: - SetCodePage(TS_CODEPAGE_1252, tsAnsiSBCDToWide, @CP_1252); - TS_CODEPAGE_1253: - SetCodePage(TS_CODEPAGE_1253, tsAnsiSBCDToWide, @CP_1253); - TS_CODEPAGE_1254: - SetCodePage(TS_CODEPAGE_1254, tsAnsiSBCDToWide, @CP_1254); - TS_CODEPAGE_1255: - SetCodePage(TS_CODEPAGE_1255, tsAnsiSBCDToWide, @CP_1255); - TS_CODEPAGE_1256: - SetCodePage(TS_CODEPAGE_1256, tsAnsiSBCDToWide, @CP_1256); - TS_CODEPAGE_1257: - SetCodePage(TS_CODEPAGE_1257, tsAnsiSBCDToWide, @CP_1257); - TS_CODEPAGE_1258: - SetCodePage(TS_CODEPAGE_1258, tsAnsiSBCDToWide, @CP_1258); - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - - TS_DEBUG_DRAW_CHAR_RECTS: - case pParam^ of - TS_TRUE: - Context.gDebugDrawCharRects := True; - TS_FALSE: - Context.gDebugDrawCharRects := False; - else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end; - else - SetError(TS_INVALID_ENUM, TS_FUNC_SET_PARAMETER); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_SET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_SET_PARAMETER); -end; - - -function tsGetParameteri(ParamName: tsEnum): tsInt; -begin - tsGetParameteriv(ParamName, @Result); -end; - - -procedure tsGetParameteriv(ParamName: tsEnum; pParam: ptsInt); -var - Context: TtsContext; -begin - Context := gContext; - - if pParam <> nil then begin - pParam^ := 0; - - case ParamName of - TS_INFO_MAYOR_VERSION: - pParam^ := TS_MAYOR_VERSION; - - TS_INFO_MINOR_VERSION: - pParam^ := TS_MINOR_VERSION; - - TS_INFO_BUILD_NUMBER: - pParam^ := TS_BUILD_NUMBER; - - TS_CONTEXT_BINDING: - if Context <> nil then begin - pParam^ := Context.ContextID; - end; - - // font - TS_FONT_STYLE: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := TS_STYLE_NORMAL; - - with Context.ActiveFont do begin - if tsStyleBold in Style then - pParam^ := pParam^ or TS_STYLE_BOLD; - - if tsStyleItalic in Style then - pParam^ := pParam^ or TS_STYLE_ITALIC; - - if tsStyleUnderline in Style then - pParam^ := pParam^ or TS_STYLE_UNDERLINE; - - if tsStyleStrikeout in Style then - pParam^ := pParam^ or TS_STYLE_STRIKEOUT; - end; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_FILE_STYLE: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.FontFileStyle; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_FIXED_WIDTH: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont.FixedWidth then - pParam^ := TS_TRUE - else - pParam^ := TS_FALSE; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_ASCENT: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.Ascent; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_DESCENT: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.Descent; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_EXTERNAL_LEADING: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.ExternalLeading; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_BASELINE_OFFSET: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.BaselineOffset; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_LINESKIP: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - with Context.ActiveFont do - pParam^ := Ascent + Descent + ExternalLeading; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_ANTIALIASING: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - case Context.ActiveFont.AntiAliasing of - tsAANone: - pParam^ := TS_ANTIALIASING_NONE; - tsAANormal: - pParam^ := TS_ANTIALIASING_NORMAL; - end; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_FORMAT: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - case Context.ActiveFont.Format of - tsFormatEmpty: - pParam^ := TS_FORMAT_EMPTY; - tsFormatRGBA8: - pParam^ := TS_FORMAT_RGBA8; - end; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_CHAR_SPACING: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.CharSpacing; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_LINE_SPACING: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.LineSpacing; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_UNDERLINE_POSITION: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.UnderlinePosition; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_UNDERLINE_SIZE: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.UnderlineSize; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_STRIKEOUT_POSITION: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.StrikeoutPosition; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_STRIKEOUT_SIZE: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - pParam^ := Context.ActiveFont.StrikeoutSize; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - // globals - TS_GLOBAL_ANTIALIASING: - if Context <> nil then begin - pParam^ := Context.gGlobalAntiAliasing; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_GLOBAL_FORMAT: - if Context <> nil then begin - pParam^ := Context.gGlobalFormat; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - // creator - TS_CREATOR: - if Context <> nil then begin - pParam^ := Context.gCreator; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_CREATOR_CREATE_CHARS: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - if TtsFontCreator(Context.ActiveFont).CreateChars then - pParam^ := TS_TRUE - else - pParam^ := TS_FALSE; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_CREATOR_ADD_RESIZING_BORDER: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - if TtsFontCreator(Context.ActiveFont).AddResizingBorder then - pParam^ := TS_TRUE - else - pParam^ := TS_FALSE; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - // Renderer - TS_RENDERER: - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.Renderer is TtsRendererNULL then begin - pParam^ := TS_RENDERER_NULL; - end else - if Context.Renderer is TtsRendererOpenGL then begin - pParam^ := TS_RENDERER_OPENGL; - end else - SetError(TS_ERROR, TS_FUNC_GET_PARAMETER); - end; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - // opengl texture size - TS_RENDERER_OPENGL_TEXTURE_SIZE: - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.Renderer is TtsRendererOpenGL then begin - pParam^ := TtsRendererOpenGL(Context.Renderer).TextureSize; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - // null renderer must save images - TS_RENDERER_NULL_SAVE_IMAGES: - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.Renderer is TtsRendererNULL then begin - case Context.Renderer.SaveImages of - True: - pParam^ := TS_TRUE; - False: - pParam^ := TS_FALSE; - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_ALIGN: - if Context <> nil then begin - pParam^ := Context.gAlign; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_VALIGN: - if Context <> nil then begin - pParam^ := Context.gVAlign; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_CLIP: - if Context <> nil then begin - pParam^ := Context.gClip; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_BLOCK_OFFSET_X: - if Context <> nil then begin - pParam^ := Context.gBlockOffsetX; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_BLOCK_OFFSET_Y: - if Context <> nil then begin - pParam^ := Context.gBlockOffsetY; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - -{ - TS_TAB: - pParam^ := gTab; - - TS_TAB_FIXED_WIDTH: - pParam^ := gTabWidth; -} - - TS_SINGLE_LINE: - if Context <> nil then begin - pParam^ := Context.gSingleLine; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_RED_MODE: - if Context <> nil then begin - pParam^ := Context.gImageMode[tsModeRed]; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_GREEN_MODE: - if Context <> nil then begin - pParam^ := Context.gImageMode[tsModeGreen]; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_BLUE_MODE: - if Context <> nil then begin - pParam^ := Context.gImageMode[tsModeBlue]; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_ALPHA_MODE: - if Context <> nil then begin - pParam^ := Context.gImageMode[tsModeAlpha]; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_LUMINANCE_MODE: - if Context <> nil then begin - pParam^ := Context.gImageMode[tsModeLuminance]; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_IMAGE_LIBRARY: - if Context <> nil then begin - pParam^ := Context.gImageLibrary; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_EMPTY_CP_ENTRY: - if Context <> nil then begin - pParam^ := Context.gEmptyCodePageEntry; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_CODEPAGE: - if Context <> nil then begin - pParam^ := Context.gCodePage; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_DEBUG_DRAW_CHAR_RECTS: - if Context <> nil then begin - case Context.gDebugDrawCharRects of - True: - pParam^ := TS_TRUE; - False: - pParam^ := TS_FALSE; - end; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - - TS_FONT_BINDING: - if Context <> nil then begin - if Context.Renderer <> nil then begin - pParam^ := Context.Renderer.ActiveFontID; - end - else SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_GET_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_PARAMETER); - else - SetError(TS_INVALID_ENUM, TS_FUNC_GET_PARAMETER); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_GET_PARAMETER); -end; - - -function tsGetStringA(ParamName: tsEnum): pAnsiChar; -var - Context: TtsContext; -begin - Result := nil; - - Context := gContext; - - case ParamName of - TS_INFO_VERSION: - if TS_VERSION_STR <> '' then - Result := pAnsiChar(TS_VERSION_STR); - - TS_INFO_COPYRIGHT: - if TS_COPYRIGHT_STR <> '' then - Result := pAnsiChar(TS_COPYRIGHT_STR); - - TS_FONT_COPYRIGHT: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont.Copyright <> '' then - Result := pAnsiChar(Context.ActiveFont.Copyright); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_STRING); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_STRING); - - TS_FONT_FACE_NAME: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont.FaceName <> '' then - Result := pAnsiChar(Context.ActiveFont.FaceName); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_STRING); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_STRING); - - TS_FONT_STYLE_NAME: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont.StyleName <> '' then - Result := pAnsiChar(Context.ActiveFont.StyleName); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_STRING); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_STRING); - - TS_FONT_FULL_NAME: - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont.FullName <> '' then - Result := pAnsiChar(Context.ActiveFont.FullName); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_GET_STRING); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_GET_STRING); - else - SetError(TS_INVALID_ENUM, TS_FUNC_GET_STRING); - end; -end; - - -// *** Context functions *** -procedure tsContextCreate(pContextID: ptsContextID); -begin - if TextSuite_initialized then begin - if pContextID <> nil then begin - try - gCriticalSection.Enter; - try - // unbound current context - if gContext <> nil then begin - gContext.gBoundThreadID := 0; - gContext := nil; - end; - - // create Context and bound it - gContext := TtsContext.Create; - gContext.gBoundThreadID := GetCurrentThreadId; - - // add to list - gContexts.Add(gContext.ContextID, gContext); - - // return context id - pContextID^ := gContext.ContextID; - finally - gCriticalSection.Leave; - end; - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_CONTEXT_CREATE) - else - SetError(TS_ERROR, TS_FUNC_CONTEXT_CREATE); - - pContextID^ := 0; - end; - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_CONTEXT_CREATE); - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_CONTEXT_CREATE); -end; - - -procedure tsContextDestroy(ContextID: tsContextID); -var - Context: TtsContext; -begin - if TextSuite_initialized then begin - try - gCriticalSection.Enter; - try - Context := gContexts.Get(ContextID); - - if Context <> nil then begin - // if context isn't bound or to actual thread - if (Context.gBoundThreadID = 0) or (Context.gBoundThreadID = GetCurrentThreadId) then begin - // if it's bound to actual thread - if Context.gBoundThreadID = GetCurrentThreadId then begin - gContext.gBoundThreadID := 0; - gContext := nil; - end; - - // delete from list - gContexts.Delete(ContextID); - - // free them - Context.Free; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_CONTEXT_DESTROY); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_CONTEXT_DESTROY); - finally - gCriticalSection.Leave; - end; - except - SetError(TS_ERROR, TS_FUNC_CONTEXT_DESTROY); - end; - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_CONTEXT_DESTROY); -end; - - -procedure tsContextBind(ContextID: tsContextID); -var - Context: TtsContext; -begin - if TextSuite_initialized then begin - gCriticalSection.Enter; - try - // if any context is bound then release him - if gContext <> nil then begin - gContext.gBoundThreadID := 0; - gContext := nil; - end; - - // bind new context if <> zero - if ContextID <> 0 then begin - Context := gContexts.Get(ContextID); - - if Context <> nil then begin - // check if the context is bound or bound to actual context - if (Context.gBoundThreadID = 0) or (Context.gBoundThreadID = GetCurrentThreadId) then begin - gContext := Context; - gContext.gBoundThreadID := GetCurrentThreadId; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_CONTEXT_BIND); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_CONTEXT_BIND); - end; - finally - gCriticalSection.Leave; - end; - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_CONTEXT_BIND); -end; - - -// *** font functions *** -//procedure tsFontCreate(pFontID: ptsFontID); -//begin - -//end; - - -procedure tsFontCreateCreatorA(Name: pAnsiChar; Size: tsInt; Style: tsBitmask; AntiAliasing: tsEnum; Format: tsEnum; pFontID: ptsFontID); -var - Context: TtsContext; - - TempStyle: TtsFontStyles; - TempAntiAliasing: TtsAntiAliasing; - TempFormat: TtsFormat; - - Creator: TtsFontCreator; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if pFontID <> nil then begin - pFontID^ := 0; - - // Style - TempStyle := []; - - if (Style and TS_STYLE_BOLD) > 0 then - TempStyle := TempStyle + [tsStyleBold]; - - if (Style and TS_STYLE_ITALIC) > 0 then - TempStyle := TempStyle + [tsStyleItalic]; - - if (Style and TS_STYLE_UNDERLINE) > 0 then - TempStyle := TempStyle + [tsStyleUnderline]; - - if (Style and TS_STYLE_STRIKEOUT) > 0 then - TempStyle := TempStyle + [tsStyleStrikeout]; - - // AntiAliasing - if AntiAliasing = TS_DEFAULT then - AntiAliasing := Context.gGlobalAntiAliasing; - - case AntiAliasing of - TS_ANTIALIASING_NONE: - TempAntiAliasing := tsAANone; - TS_ANTIALIASING_NORMAL: - TempAntiAliasing := tsAANormal; - else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_CREATE_CREATOR); - - Exit; - end; - - // Format - if Format = TS_DEFAULT then - Format := Context.gGlobalFormat; - - case Format of - TS_FORMAT_RGBA8: - TempFormat := tsFormatRGBA8; - else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_CREATE_CREATOR); - - Exit; - end; - - Creator := nil; - - // create font - try - case Context.gCreator of - TS_CREATOR_SDL: - begin - if SDL_TTF_initialized then - Creator := TtsFontCreatorSDL.Create(Context.Renderer, Name, Size, TempStyle, TempFormat, TempAntiAliasing) - else - SetError(TS_NOT_INITIALIZED, TS_FUNC_FONT_CREATE_CREATOR); - end; - TS_CREATOR_GDI: - begin - if GDI_initialized then - Creator := TtsFontCreatorGDIFile.Create(Context.Renderer, Name, Size, TempStyle, TempFormat, TempAntiAliasing) - else - SetError(TS_NOT_INITIALIZED, TS_FUNC_FONT_CREATE_CREATOR); - end; - TS_CREATOR_GDI_FACENAME: - begin - if GDI_initialized then - Creator := TtsFontCreatorGDIFontFace.Create(Context.Renderer, Name, Size, TempStyle, TempFormat, TempAntiAliasing) - else - SetError(TS_NOT_INITIALIZED, TS_FUNC_FONT_CREATE_CREATOR); - end; - TS_CREATOR_GDI_STREAM: - begin - if GDI_initialized then - Creator := TtsFontCreatorGDIStream.Create(Context.Renderer, TStream(Name), Size, TempStyle, TempFormat, TempAntiAliasing) - else - SetError(TS_NOT_INITIALIZED, TS_FUNC_FONT_CREATE_CREATOR); - end; - else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_CREATE_CREATOR); - end; - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_FONT_CREATE_CREATOR) - else - SetError(TS_ERROR, TS_FUNC_FONT_CREATE_CREATOR); - Exit; - end; - end; - - // Bind font - if Creator <> nil then begin - pFontID^ := Context.FontAdd(Creator); - - tsFontBind(pFontID^); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_CREATE_CREATOR); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_FONT_CREATE_CREATOR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_CREATE_CREATOR); -end; - - -procedure tsFontDestroy(FontID: tsFontID); -var - Context: TtsContext; - Font: TtsFont; -begin - Context := gContext; - - if Context <> nil then begin - if not Context.IsLocked then begin - Font := Context.FontGet(FontID); - - if Font <> nil then begin - Context.FontDelete(FontID); - - Font.Free; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_DESTROY); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_DESTROY); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_DESTROY); -end; - - -procedure tsFontBind(FontID: tsFontID); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if (FontID = 0) or (Context.FontGet(FontID) <> nil) then begin - Context.Renderer.FontActivate(FontID); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_BIND); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_FONT_BIND); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_BIND); -end; - - -procedure tsFontAddCharRange(CharStart: WideChar; CharEnd: WideChar); -var - ActiveFont: TtsFont; - CharIdx: WideChar; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - for CharIdx := CharStart to CharEnd do - TtsFontCreator(ActiveFont).AddChar(CharIdx); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_ADD_CHAR); -end; - - -procedure tsFontAddChars(Chars: pWideChar); -var - ActiveFont: TtsFont; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - if Chars <> nil then begin - while Chars^ <> #0 do begin - TtsFontCreator(ActiveFont).AddChar(Chars^); - - Inc(Chars); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_ADD_CHAR); -end; - - -procedure tsFontAddChar(Char: WideChar); -var - ActiveFont: TtsFont; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - TtsFontCreator(ActiveFont).AddChar(Char); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_ADD_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_ADD_CHAR); -end; - - -procedure tsFontDeleteCharRange(CharStart: WideChar; CharEnd: WideChar); -var - Char: WideChar; - ActiveFont: TtsFont; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - for Char := CharStart to CharEnd do - TtsFontCreator(ActiveFont).DeleteChar(Char); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_DELETE_CHAR); -end; - - -procedure tsFontDeleteChars(Chars: pWideChar); -var - ActiveFont: TtsFont; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - if Chars <> nil then begin - while Chars^ <> #0 do begin - TtsFontCreator(ActiveFont).DeleteChar(Chars^); - - Inc(Chars); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_DELETE_CHAR); -end; - - -procedure tsFontDeleteChar(Char: WideChar); -var - ActiveFont: TtsFont; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - ActiveFont := Context.ActiveFont; - - if ActiveFont <> nil then begin - if ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).DeleteChar(Char); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_DELETE_CHAR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_DELETE_CHAR); -end; - - -procedure tsFontSetCharParameteri(Char: WideChar; ParamName: tsEnum; Param: tsInt); -begin - if ((ParamName <> TS_CHAR_GLYPHORIGIN) and - (ParamName <> TS_CHAR_GLYPHRECT)) then begin - tsFontSetCharParameteriv(Char, ParamName, @Param); - end else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_SET_CHAR_PARAMETER); -end; - - -procedure tsFontSetCharParameteriv(Char: WideChar; ParamName: tsEnum; pParam: ptsInt); -var - tsChar: TtsChar; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if pParam <> nil then begin - tsChar := Context.ActiveFont.Char[Char]; - - if tsChar <> nil then begin - case ParamName of - TS_CHAR_ADVANCE: - tsChar.Advance := pParam^; - - TS_CHAR_GLYPHORIGIN: - begin - tsChar.GlyphOriginX := ptsPoint(pParam)^.X; - tsChar.GlyphOriginY := ptsPoint(pParam)^.Y; - end; - - TS_CHAR_GLYPHORIGIN_X: - tsChar.GlyphOriginX := pParam^; - - TS_CHAR_GLYPHORIGIN_Y: - tsChar.GlyphOriginY := pParam^; - - TS_CHAR_GLYPHRECT: - tsChar.GlyphRect := pTsRect(pParam)^; - - TS_CHAR_GLYPHRECT_TOP: - tsChar.GlyphRect.Top := pParam^; - - TS_CHAR_GLYPHRECT_LEFT: - tsChar.GlyphRect.Left := pParam^; - - TS_CHAR_GLYPHRECT_RIGHT: - tsChar.GlyphRect.Right := pParam^; - - TS_CHAR_GLYPHRECT_BOTTOM: - tsChar.GlyphRect.Bottom := pParam^; - else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_SET_CHAR_PARAMETER); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_SET_CHAR_PARAMETER); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_SET_CHAR_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_SET_CHAR_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_SET_CHAR_PARAMETER); -end; - - -function tsFontGetCharParameteri(Char: WideChar; ParamName: tsEnum): tsInt; -begin - if ((ParamName <> TS_CHAR_GLYPHORIGIN) and - (ParamName <> TS_CHAR_GLYPHRECT)) then begin - tsFontGetCharParameteriv(Char, ParamName, @Result); - end else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_GET_CHAR_PARAMETER); -end; - - -procedure tsFontGetCharParameteriv(Char: WideChar; ParamName: tsEnum; pParam: ptsInt); -var - tsChar: TtsChar; - Context: TtsContext; -begin - pParam^ := 0; - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if pParam <> nil then begin - tsChar := Context.ActiveFont.Char[Char]; - - if tsChar <> nil then begin - case ParamName of - TS_CHAR_ADVANCE: - pParam^ := tsChar.Advance; - TS_CHAR_GLYPHORIGIN: - begin - ptsPoint(pParam)^.X := tsChar.GlyphOriginX; - ptsPoint(pParam)^.Y := tsChar.GlyphOriginY; - end; - TS_CHAR_GLYPHORIGIN_X: - pParam^ := tsChar.GlyphOriginX; - TS_CHAR_GLYPHORIGIN_Y: - pParam^ := tsChar.GlyphOriginY; - TS_CHAR_GLYPHRECT: - PtsRect(pParam)^ := tsChar.GlyphRect; - TS_CHAR_GLYPHRECT_TOP: - pParam^ := tsChar.GlyphRect.Top; - TS_CHAR_GLYPHRECT_LEFT: - pParam^ := tsChar.GlyphRect.Left; - TS_CHAR_GLYPHRECT_RIGHT: - pParam^ := tsChar.GlyphRect.Right; - TS_CHAR_GLYPHRECT_BOTTOM: - pParam^ := tsChar.GlyphRect.Bottom; - else - SetError(TS_INVALID_ENUM, TS_FUNC_FONT_GET_CHAR_PARAMETER); - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_GET_CHAR_PARAMETER); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_FONT_GET_CHAR_PARAMETER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_FONT_GET_CHAR_PARAMETER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_FONT_GET_CHAR_PARAMETER); -end; - - -procedure tsPostAddFillColor3ub(Red, Green, Blue: tsByte; ChannelMask: tsBitmask); -begin - tsPostAddFillColor4f(Red / $FF, Green / $FF, Blue / $FF, 1, ChannelMask); -end; - - -procedure tsPostAddFillColor3f(Red, Green, Blue: tsFloat; ChannelMask: tsBitmask); -begin - tsPostAddFillColor4f(Red, Green, Blue, 1, ChannelMask); -end; - - -procedure tsPostAddFillColor4ub(Red, Green, Blue, Alpha: tsByte; ChannelMask: tsBitmask); -begin - tsPostAddFillColor4f(Red / $FF, Green / $FF, Blue / $FF, Alpha / $FF, ChannelMask); -end; - - -procedure tsPostAddFillColor4f(Red, Green, Blue, Alpha: tsFloat; ChannelMask: tsBitmask); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostFillColor.Create(Red, Green, Blue, Alpha, ChannelMask, Context.gImageMode)); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_FILL_COLOR); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_FILL_COLOR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_FILL_COLOR); -end; - - -procedure tsPostAddFillPattern(PatternImageID: tsImageID; X, Y: tsInt; ChannelMask: tsBitmask); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - Image := Context.ImageGet(PatternImageID); - - if Image <> nil then - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostFillPattern.Create(Image, X, Y, ChannelMask, Context.gImageMode)) - else - SetError(TS_INVALID_VALUE, TS_FUNC_POST_ADD_FILL_PATTERN); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_FILL_PATTERN); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_FILL_PATTERN); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_FILL_PATTERN); -end; - - -procedure tsPostAddBorder3ub(Width, Strength: Single; Red, Green, Blue: tsByte); -begin - tsPostAddBorder4f(Width, Strength, Red / $FF, Green / $FF, Blue / $FF, 1); -end; - - -procedure tsPostAddBorder3f(Width, Strength: Single; Red, Green, Blue: tsFloat); -begin - tsPostAddBorder4f(Width, Strength, Red, Green, Blue, 1); -end; - - -procedure tsPostAddBorder4ub(Width, Strength: Single; Red, Green, Blue, Alpha: tsByte); -begin - tsPostAddBorder4f(Width, Strength, Red / $FF, Green / $FF, Blue / $FF, Alpha / $FF); -end; - - -procedure tsPostAddBorder4f(Width, Strength: Single; Red, Green, Blue, Alpha: tsFloat); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostBorder.Create(Width, Strength, Red, Green, Blue, Alpha)); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_BORDER); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_BORDER); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_BORDER); -end; - - -procedure tsPostAddShadow3ub(Radius: Single; X, Y: tsInt; Red, Green, Blue: tsByte); -begin - tsPostAddShadow4f(Radius, X, Y, Red / $FF, Green / $FF, Blue / $FF, 1); -end; - - -procedure tsPostAddShadow3f(Radius: Single; X, Y: tsInt; Red, Green, Blue: tsFloat); -begin - tsPostAddShadow4f(Radius, X, Y, Red, Green, Blue, 1); -end; - - -procedure tsPostAddShadow4ub(Radius: Single; X, Y: tsInt; Red, Green, Blue, Alpha: tsByte); -begin - tsPostAddShadow4f(Radius, X, Y, Red / $FF, Green / $FF, Blue / $FF, Alpha / $FF); -end; - - -procedure tsPostAddShadow4f(Radius: Single; X, Y: tsInt; Red, Green, Blue, Alpha: tsFloat); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostShadow.Create(Radius, X, Y, Red, Green, Blue, Alpha)); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_SHADOW); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_SHADOW); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_SHADOW); -end; - - -(* -procedure tsPostAddKerning; -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostKerning.Create); - end else - SetError(TS_INVALID_OPERATION; - end else - SetError(TS_NO_ACTIVE_FONT; - end else - SetError(TS_NO_ACTIVE_CONTEXT; -end; -*) - -procedure tsPostAddCustom(PostProcessProc: tsPostProcessProc; Data: Pointer); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - TtsFontCreator(Context.ActiveFont).AddPostProcessStep(TtsPostCustom.Create(Context, PostProcessProc, Data)); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_CUSTOM); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_CUSTOM); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_CUSTOM); -end; - - -procedure tsPostDelete(PostIndex: tsInt); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.ActiveFont <> nil then begin - if Context.ActiveFont is TtsFontCreator then begin - if PostIndex = TS_POST_INDEX_ALL then begin - TtsFontCreator(Context.ActiveFont).ClearPostProcessSteps; - end else - - begin - // tranlate to direct index - if PostIndex = TS_POST_INDEX_LAST then - PostIndex := TtsFontCreator(Context.ActiveFont).PostProcessStepCount -1; - - TtsFontCreator(Context.ActiveFont).DeletePostProcessStep(PostIndex); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_DELETE); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_DELETE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_DELETE); -end; - - -procedure tsPostAddUsageRange(PostIndex: tsInt; UsageType: tsEnum; CharStart, CharEnd: WideChar); -var - Context: TtsContext; - ActFont: TtsFont; - Usage: TtsFontProcessStepUsage; - Idx: Integer; - - - procedure AssignUsage(Idx: Integer); - var - PostProcess: TtsPostProcessStep; - begin - PostProcess := TtsFontCreator(ActFont).PostProcessStep[Idx]; - - if PostProcess <> nil then begin - PostProcess.AddUsageRange(Usage, CharStart, CharEnd); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_POST_ADD_USAGE); - end; - -begin - Context := gContext; - - if Context <> nil then begin - ActFont := Context.ActiveFont; - if ActFont <> nil then begin - if ActFont is TtsFontCreator then begin - // getting usagetype - case UsageType of - TS_POST_USAGE_INCLUDE: - Usage := tsUInclude; - TS_POST_USAGE_EXCLUDE: - Usage := tsUExclude; - else - SetError(TS_INVALID_ENUM, TS_FUNC_POST_ADD_USAGE); - Exit; - end; - - // add usage to post processors - if PostIndex = TS_POST_INDEX_ALL then begin - for Idx := 0 to TtsFontCreator(ActFont).PostProcessStepCount -1 do - AssignUsage(Idx); - end else - - begin - if PostIndex = TS_POST_INDEX_LAST then - PostIndex := TtsFontCreator(ActFont).PostProcessStepCount -1; - - AssignUsage(PostIndex); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_USAGE); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_USAGE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_USAGE); -end; - - -procedure tsPostAddUsageChars(PostIndex: tsInt; UsageType: tsEnum; Chars: pWideChar); -var - Context: TtsContext; - ActFont: TtsFont; - Usage: TtsFontProcessStepUsage; - Idx: Integer; - - - procedure AssignUsage(Idx: Integer); - var - PostProcess: TtsPostProcessStep; - begin - PostProcess := TtsFontCreator(ActFont).PostProcessStep[Idx]; - - if PostProcess <> nil then begin - PostProcess.AddUsageChars(Usage, Chars); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_POST_ADD_USAGE); - end; - -begin - Context := gContext; - - if Context <> nil then begin - if Chars <> nil then begin - ActFont := Context.ActiveFont; - if ActFont <> nil then begin - if ActFont is TtsFontCreator then begin - // getting usagetype - case UsageType of - TS_POST_USAGE_INCLUDE: - Usage := tsUInclude; - TS_POST_USAGE_EXCLUDE: - Usage := tsUExclude; - else - SetError(TS_INVALID_ENUM, TS_FUNC_POST_ADD_USAGE); - Exit; - end; - - // add usage to post processors - if PostIndex = TS_POST_INDEX_ALL then begin - for Idx := 0 to TtsFontCreator(ActFont).PostProcessStepCount -1 do - AssignUsage(Idx); - end else - - begin - if PostIndex = TS_POST_INDEX_LAST then - PostIndex := TtsFontCreator(ActFont).PostProcessStepCount -1; - - AssignUsage(PostIndex); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_ADD_USAGE); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_ADD_USAGE); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_POST_ADD_USAGE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_ADD_USAGE); -end; - - -procedure tsPostClearUsage(PostIndex: tsInt); cdecl; -var - Context: TtsContext; - ActFont: TtsFont; - Idx: Integer; - - - procedure ClearUsage(Idx: Integer); - var - PostProcess: TtsPostProcessStep; - begin - PostProcess := TtsFontCreator(ActFont).PostProcessStep[Idx]; - - if PostProcess <> nil then begin - PostProcess.ClearIncludeRange; - PostProcess.ClearExcludeRange; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_POST_CLEAR_USAGE); - end; - -begin - Context := gContext; - - if Context <> nil then begin - ActFont := Context.ActiveFont; - if ActFont <> nil then begin - if ActFont is TtsFontCreator then begin - if PostIndex = TS_POST_INDEX_ALL then begin - for Idx := 0 to TtsFontCreator(ActFont).PostProcessStepCount -1 do - ClearUsage(Idx); - end else - - begin - if PostIndex = TS_POST_INDEX_LAST then - PostIndex := TtsFontCreator(ActFont).PostProcessStepCount -1; - - ClearUsage(PostIndex); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_POST_CLEAR_USAGE); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_POST_CLEAR_USAGE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_POST_CLEAR_USAGE); -end; - - -function tsStringAnsiToWide(pText: pAnsiChar): pWideChar; -var - Context: TtsContext; -begin - Result := nil; - - if TextSuite_initialized then begin - Context := gContext; - - try - if Context <> nil then begin - if pText <> nil then begin - Result := Context.AnsiToWide(pText); - - if Result <> nil then begin - gCriticalSection.Enter; - try - gStrings.Add(Result); - finally - gCriticalSection.Leave; - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_STRING_ANSI_TO_WIDE); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_STRING_ANSI_TO_WIDE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_STRING_ANSI_TO_WIDE); - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_STRING_ANSI_TO_WIDE) - else - SetError(TS_ERROR, TS_FUNC_STRING_ANSI_TO_WIDE); - end; - end; - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_STRING_ANSI_TO_WIDE); -end; - - -function tsStringAlloc(Size: tsInt): pWideChar; cdecl; -begin - Result := nil; - - if TextSuite_initialized then begin - try - Result := tsStrAlloc(Size); - - gCriticalSection.Enter; - try - gStrings.Add(Result); - finally - gCriticalSection.Leave; - end; - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_STRING_ALLOC) - else - SetError(TS_ERROR, TS_FUNC_STRING_ALLOC); - end; - end; - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_STRING_ALLOC); -end; - - -procedure tsStringDispose(pText: pWideChar); -var - ValidString: Boolean; -begin - if TextSuite_initialized then begin - if pText <> nil then begin - try - // delete String from hash - gCriticalSection.Enter; - try - ValidString := gStrings.Delete(pText); - finally - gCriticalSection.Leave; - end; - - // if sting valid free them - if ValidString then - tsStrDispose(pText) - else - SetError(TS_INVALID_OPERATION, TS_FUNC_STRING_DISPOSE); - except - on E: Exception do begin - if E is EAccessViolation then - SetError(TS_INVALID_OPERATION, TS_FUNC_STRING_DISPOSE) - else - SetError(TS_ERROR, TS_FUNC_STRING_DISPOSE); - end; - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_STRING_DISPOSE); - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_STRING_DISPOSE); -end; - - -procedure tsTextBeginBlock(Left, Top, Width, Height: tsInt; Flags: tsBitmask); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if not Context.IsLocked then begin - Context.Renderer.BeginBlock(Left, Top, Width, Height, Flags); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_BEGIN_BLOCK); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_BEGIN_BLOCK); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_BEGIN_BLOCK); -end; - - -procedure tsTextEndBlock; -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.IsLocked then begin - Context.Renderer.EndBlock; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_END_BLOCK); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_END_BLOCK); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_END_BLOCK); -end; - - -procedure tsTextColor3ub(Red, Green, Blue: tsByte); -begin - tsTextColor4f(Red / $FF, Green / $FF, Blue / $FF, 1); -end; - - -procedure tsTextColor3f(Red, Green, Blue: tsFloat); -begin - tsTextColor4f(Red, Green, Blue, 1); -end; - - -procedure tsTextColor4ub(Red, Green, Blue, Alpha: tsByte); -begin - tsTextColor4f(Red / $FF, Green / $FF, Blue / $FF, Alpha / $FF); -end; - - -procedure tsTextColor4f(Red, Green, Blue, Alpha: tsFloat); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - Context.Renderer.Color(Red, Green, Blue, Alpha); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_COLOR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_COLOR); -end; - - -procedure tsTextOutA(pText: pAnsiChar); -var - pTemp: PWideChar; - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.ActiveFont <> nil then begin - if pText <> nil then begin - // convert text via codepage - pTemp := Context.AnsiToWide(pText); - if pTemp <> nil then begin - try - Context.Renderer.TextOut(pTemp); - finally - tsStrDispose(pTemp); - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_OUT); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_OUT); -end; - - -procedure tsTextOutW(pText: pWideChar); -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if Context.ActiveFont <> nil then begin - if pText <> nil then begin - Context.Renderer.TextOut(pText); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_OUT); -end; - - -function tsTextGetWidthA(pText: pAnsiChar): tsInt; -var - pTemp: PWideChar; - Context: TtsContext; -begin - Result := 0; - Context := gContext; - - if Context <> nil then begin - pTemp := nil; - - // if pText is assigned convert it - if pText <> nil then begin - pTemp := Context.AnsiToWide(pText); - - if pTemp = nil then begin - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_GET_WIDTH); - Exit; - end; - end; - - try - Result := tsTextGetWidthW(pTemp); - finally - if pTemp <> nil then - tsStrDispose(pTemp); - end; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_GET_WIDTH); -end; - - -function tsTextGetWidthW(pText: pWideChar): tsInt; -var - Context: TtsContext; -begin - Result := 0; - - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - // Width from the text - if pText <> nil then begin - if Context.ActiveFont <> nil then begin - Result := Context.Renderer.TextGetWidth(pText); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_TEXT_GET_WIDTH); - end else - - // Width from blockmode - begin - if Context.IsLocked then begin - Result := Context.Renderer.TextGetDrawWidth; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_TEXT_GET_WIDTH); - end; - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_GET_WIDTH); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_GET_WIDTH); -end; - - -function tsTextGetHeightA(pText: pAnsiChar): tsInt; -var - pTemp: PWideChar; - Context: TtsContext; -begin - Result := 0; - Context := gContext; - - if Context <> nil then begin - pTemp := nil; - - // if pText is assigned convert it - if pText <> nil then begin - pTemp := Context.AnsiToWide(pText); - - if pTemp = nil then begin - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_GET_WIDTH); - Exit; - end; - end; - - try - Result := tsTextGetHeightW(pTemp); - finally - if pTemp <> nil then - tsStrDispose(pTemp); - end; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_GET_WIDTH); -end; - - -function tsTextGetHeightW(pText: pWideChar): tsInt; -var - Context: TtsContext; -begin - Result := 0; - - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - // Height from the text - if pText <> nil then begin - if Context.ActiveFont <> nil then begin - with Context.ActiveFont do - Result := Ascent + Descent + ExternalLeading; - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_TEXT_GET_HEIGHT); - end else - - // Height from blockmode - begin - if Context.IsLocked then begin - Result := Context.Renderer.TextGetDrawHeight; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_TEXT_GET_HEIGHT); - end; - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_GET_HEIGHT); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_GET_HEIGHT); -end; - - -procedure tsCharOutW(CharCode: WideChar); cdecl; -var - Context: TtsContext; -begin - Context := gContext; - - if Context <> nil then begin - if Context.Renderer <> nil then begin - if not Context.IsLocked then begin - if Context.Renderer.ActiveFont <> nil then begin - if Context.Renderer.ActiveFont.Char[CharCode] <> nil then begin - Context.Renderer.CharOut(CharCode); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_FONT, TS_FUNC_TEXT_OUT); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_RENDERER, TS_FUNC_TEXT_OUT); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_TEXT_OUT); -end; - - -// *** image functions *** -procedure tsImageCreate(pImageID: ptsImageID); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - if pImageID <> nil then begin - // create image - try - Image := TtsImage.Create; - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_IMAGE_CREATE) - else - SetError(TS_ERROR, TS_FUNC_IMAGE_CREATE); - Exit; - end; - end; - - // add image - pImageID^ := Context.ImageAdd(Image); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_CREATE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_CREATE); -end; - - -procedure tsImageDestroy(ImageID: tsImageID); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - Context.ImageDelete(ImageID); - - Image.Free; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_DESTROY); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_DESTROY); -end; - - -procedure tsImageLoadA(ImageID: tsImageID; Filename: pAnsiChar); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - case gContext.gImageLibrary of - // SDL_image - TS_IMAGE_LIBRARY_SDL: - begin - if SDL_IMAGE_initialized then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - try - Image.LoadFromFile(Filename); - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_IMAGE_LOAD) - else - SetError(TS_ERROR, TS_FUNC_IMAGE_LOAD); - end; - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_LOAD); - end else - SetError(TS_NOT_INITIALIZED, TS_FUNC_IMAGE_LOAD); - end; - else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_LOAD); - end; - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_LOAD); -end; - - -procedure tsImageAssignFrom(ImageID: tsImageID; FromImageID: tsImageID); -var - Context: TtsContext; - Image, ImageFrom: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - ImageFrom := Context.ImageGet(FromImageID); - - if (Image <> nil) and (ImageFrom <> nil) then begin - if not ImageFrom.Empty then begin - try - Image.AssignFrom(ImageFrom) - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_IMAGE_ASSIGN_FROM) - else - SetError(TS_ERROR, TS_FUNC_IMAGE_ASSIGN_FROM); - Exit; - end; - end; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_ASSIGN_FROM); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_ASSIGN_FROM); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_ASSIGN_FROM); -end; - - -procedure tsImageNew(ImageID: tsImageID; Width: tsInt; Height: tsInt; Format: tsEnum); -var - Context: TtsContext; - Image: TtsImage; - ImageFormat: TtsFormat; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - // format - if Format = TS_DEFAULT then - Format := Context.gGlobalFormat; - - case Format of - TS_FORMAT_RGBA8: - ImageFormat := tsFormatRGBA8; - else - SetError(TS_INVALID_ENUM, TS_FUNC_IMAGE_NEW); - - // leave the function - Exit; - end; - - if (Width > 0) and (Height > 0) then begin - try - Image.CreateEmpty(ImageFormat, Width, Height); - except - on E: Exception do begin - if E is EOutOfMemory then - SetError(TS_OUT_OF_MEMORY, TS_FUNC_IMAGE_NEW) - else - SetError(TS_ERROR, TS_FUNC_IMAGE_NEW); - end; - end; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_NEW); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_NEW); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_NEW); -end; - - -procedure tsImageGetInfo(ImageID: tsImageID; pisEmpty: ptsBool; pWidth: ptsInt; pHeight: ptsInt; pFormat: ptsEnum; pData: PPointer); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - // defaults - if pisEmpty <> nil then - pisEmpty^ := TS_FALSE; - - if pWidth <> nil then - pWidth^ := 0; - - if pHeight <> nil then - pHeight^ := 0; - - if pFormat <> nil then - pFormat^ := TS_FORMAT_EMPTY; - - if pData <> nil then - pData^ := nil; - - // query values - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - // isEmpty - if pisEmpty <> nil then - if Image.Empty then - pisEmpty^ := TS_TRUE - else - pisEmpty^ := TS_FALSE; - - // Width - if pWidth <> nil then - pWidth^ := Image.Width; - - // Height - if pHeight <> nil then - pHeight^ := Image.Height; - - // Format - if pFormat <> nil then begin - case Image.Format of - tsFormatEmpty: - pFormat^ := TS_FORMAT_EMPTY; - tsFormatRGBA8: - pFormat^ := TS_FORMAT_RGBA8; - end; - end; - - // Data - if pData <> nil then - pData^ := Image.Data; - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_GET_INFO); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_GET_INFO); -end; - - -function tsImageGetIsEmpty(ImageID: tsImageID): tsBool; -begin - tsImageGetInfo(ImageID, @Result, nil, nil, nil, nil); -end; - - -function tsImageGetWidth(ImageID: tsImageID): tsInt; -begin - tsImageGetInfo(ImageID, nil, @Result, nil, nil, nil); -end; - - -function tsImageGetHeight(ImageID: tsImageID): tsInt; -begin - tsImageGetInfo(ImageID, nil, nil, @Result, nil, nil); -end; - - -function tsImageGetFormat(ImageID: tsImageID): tsEnum; -begin - tsImageGetInfo(ImageID, nil, nil, nil, @Result, nil); -end; - - -function tsImageGetData(ImageID: tsImageID): Pointer; -begin - tsImageGetInfo(ImageID, nil, nil, nil, nil, @Result); -end; - - -function tsImageScanline(ImageID: tsImageID; ScanLine: tsInt): Pointer; -var - Context: TtsContext; - Image: TtsImage; -begin - Result := nil; - - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - if not Image.Empty then begin - Result := Image.ScanLine[ScanLine]; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_SCANLINE); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_SCANLINE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_SCANLINE); -end; - - -procedure tsImageResize(ImageID: tsImageID; Width, Height, X, Y: tsInt); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - if not Image.Empty then begin - Image.Resize(Width, Height, X, Y); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_RESIZE); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_RESIZE); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_RESIZE); -end; - - -procedure tsImageBlend(ImageID, OverImageID: tsImageID; X, Y: tsInt; AutoExpand: tsBool); -var - Context: TtsContext; - Image, ImageOver: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - ImageOver := Context.ImageGet(OverImageID); - - if (Image <> nil) and (ImageOver <> nil) then begin - if (not Image.Empty) and (not ImageOver.Empty) then begin - Image.BlendImage(ImageOver, X, Y, AutoExpand = TS_TRUE); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_BLEND); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_BLEND); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_BLEND); -end; - - -procedure tsImageBlur(ImageID: tsImageID; X, Y: tsFloat; ChannelMask: tsBitmask; AutoExpand: tsBool; ExpandSizeX, ExpandSizeY: ptsInt); -var - Context: TtsContext; - Image: TtsImage; - - HorzKernel, VertKernel: TtsKernel1D; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - if not Image.Empty then begin - // Creating kernels - HorzKernel := TtsKernel1D.Create(X, 0); - VertKernel := TtsKernel1D.Create(Y, 0); - - if AutoExpand = TS_TRUE then begin - // resizing image - Image.Resize(Image.Width + HorzKernel.Size * 2, Image.Height + VertKernel.Size * 2, HorzKernel.Size, VertKernel.Size); - - if ExpandSizeX <> nil then - ExpandSizeX^ := HorzKernel.Size; - - if ExpandSizeY <> nil then - ExpandSizeY^ := VertKernel.Size - end else - - begin - if ExpandSizeX <> nil then - ExpandSizeX^ := 0; - - if ExpandSizeY <> nil then - ExpandSizeY^ := 0; - end; - - // bluring image - Image.Blur(HorzKernel, VertKernel, ChannelMask); - - // freeing - HorzKernel.Free; - VertKernel.Free; - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_BLUR); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_BLUR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_BLUR); -end; - - -procedure tsImageFillColor3ub(ImageID: tsImageID; Red, Green, Blue: tsByte; ChannelMask: tsBitmask); -begin - tsImageFillColor4f(ImageID, Red / $FF, Green / $FF, Blue / $FF, 1, ChannelMask); -end; - - -procedure tsImageFillColor3f(ImageID: tsImageID; Red, Green, Blue: tsFloat; ChannelMask: tsBitmask); -begin - tsImageFillColor4f(ImageID, Red, Green, Blue, 1, ChannelMask); -end; - - -procedure tsImageFillColor4ub(ImageID: tsImageID; Red, Green, Blue, Alpha: tsByte; ChannelMask: tsBitmask); -begin - tsImageFillColor4f(ImageID, Red / $FF, Green / $FF, Blue / $FF, Alpha / $FF, ChannelMask); -end; - - -procedure tsImageFillColor4f(ImageID: tsImageID; Red, Green, Blue, Alpha: tsFloat; ChannelMask: tsBitmask); -var - Context: TtsContext; - Image: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - - if Image <> nil then begin - if not Image.Empty then begin - Image.FillColor(Red, Green, Blue, Alpha, ChannelMask, Context.gImageMode); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_FILL_COLOR); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_FILL_COLOR); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_FILL_COLOR); -end; - - -procedure tsImageFillPattern(ImageID, PatternImageID: tsImageID; X, Y: tsInt; ChannelMask: tsBitmask); -var - Context: TtsContext; - Image, ImagePattern: TtsImage; -begin - Context := gContext; - - if Context <> nil then begin - Image := Context.ImageGet(ImageID); - ImagePattern := Context.ImageGet(PatternImageID); - - if (Image <> nil) and (ImagePattern <> nil) then begin - if (not Image.Empty) and (not ImagePattern.Empty) then begin - Image.FillPattern(ImagePattern, X, Y, ChannelMask, Context.gImageMode); - end else - SetError(TS_INVALID_OPERATION, TS_FUNC_IMAGE_FILL_PATTERN); - end else - SetError(TS_INVALID_VALUE, TS_FUNC_IMAGE_FILL_PATTERN); - end else - SetError(TS_NO_ACTIVE_CONTEXT, TS_FUNC_IMAGE_FILL_PATTERN); -end; - - -{$endif} - - -end. diff --git a/old/TextSuiteCPUUtils.pas b/old/TextSuiteCPUUtils.pas deleted file mode 100644 index ef0157b..0000000 --- a/old/TextSuiteCPUUtils.pas +++ /dev/null @@ -1,143 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$I TextSuiteOptions.inc} - -unit TextSuiteCPUUtils; - -{$ifdef TS_PURE_PASCAL} - {$message fatal 'This unit is''t compatible to the flag TS_PURE_PASCAL.'} -{$endif} - -interface - - -var - supportFPU, - supportCMOV, - supportMMX, - supportMMX_EXT, - supportSSE, - supportSSE2, - support3DNow, - support3DNow_EXT, - supportSSE3, - supportSSSE3 - : ByteBool; - - -procedure ReadCPUFlags; - -function GetSSESafeMem(Size: Cardinal): Pointer; -function GetSSESafeAddr(Addr: Pointer): Pointer; - - -implementation - - -const - BIT_FPU = 1 shl 0; - BIT_CMOV = 1 shl 15; - BIT_MMX = 1 shl 23; - BIT_SSE = 1 shl 25; - BIT_SSE2 = 1 shl 26; - BIT_3DNOW_EXT = 1 shl 30; - BIT_3DNOW = 1 shl 31; - - BIT_SSE3 = 1 shl 0; - BIT_SSSE3 = 1 shl 9; - - -procedure ReadCPUFlags; -asm - pushfd - pop eax // copy EEFlags to eax - mov edx, eax // copy to edx - - xor eax, $00200000 // clear bit 21 - push eax - popfd // restore to EEFlags - - pushfd - pop eax // copy EEFlags to eax - xor eax, edx // test if flags hav changed - jnz @@supportCPUID - - ret - -@@supportCPUID: - - push ebx // save ebx - - mov eax, 1 // function 1 - cpuid - - // test flags - test edx, BIT_FPU - setnz [supportFPU] // FPU supported - - test edx, BIT_CMOV - setnz [supportCMOV] // CMOV supported - - test edx, BIT_MMX - setnz [supportMMX] // MMX supported - - test edx, BIT_SSE - setnz [supportSSE] // SSE supported - - test edx, BIT_SSE2 - setnz [supportSSE2] // SSE2 supported - - test ecx, BIT_SSE3 - setnz [supportSSE3] // SSE3 supported - - test ecx, BIT_SSSE3 - setnz [supportSSSE3] // SSSE3 supported - - // test extended functions - mov eax, $80000000 - cpuid - cmp eax, $80000000 - jbe @@no_ext_functions - - mov eax, $80000001 - cpuid - - test edx, BIT_3DNOW - setnz [support3DNow] // 3DNow supported - - test edx, BIT_3DNOW_EXT - setnz [support3DNow_EXT] // 3DNowExt supported - - -@@no_ext_functions: - - pop ebx // restore ebx - -@@end: -end; - - -function GetSSESafeMem(Size: Cardinal): Pointer; -begin - GetMem(Result, Size + $F); -end; - - -function GetSSESafeAddr(Addr: Pointer): Pointer; -asm - test eax, $F // test if one of the last bits are set - jz @@end // address is allways 16 Byte aligned - - or eax, $F // fill the last 4 bits - inc eax // add 1 - -@@end: -end; - - -end. \ No newline at end of file diff --git a/old/TextSuiteClasses.pas b/old/TextSuiteClasses.pas deleted file mode 100644 index fb5e3ae..0000000 --- a/old/TextSuiteClasses.pas +++ /dev/null @@ -1,5762 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$WARNINGS OFF} -{$HINTS OFF} - -{$I TextSuiteOptions.inc} - -unit TextSuiteClasses; - -interface - - -uses - Classes, - - TextSuite, - TextSuiteWideUtils, - TextSuiteImports; - - -{ intern types for Renderer } -const - TS_BLOCK_FONT = $1; - TS_BLOCK_COLOR = $2; - TS_BLOCK_WORD = $3; - TS_BLOCK_SPACE = $4; - TS_BLOCK_LINEBREAK = $5; - TS_BLOCK_TAB = $6; - - -type - TtsFontStyle = (tsStyleBold, tsStyleItalic, tsStyleUnderline, tsStyleStrikeout); - TtsFontStyles = set of TtsFontStyle; - - TtsAntiAliasing = (tsAANone, tsAANormal); - TtsFormat = (tsFormatEmpty, tsFormatRGBA8); - - TtsImageMode = (tsModeRed, tsModeGreen, tsModeBlue, tsModeAlpha, tsModeLuminance); - TtsImageModes = array [TtsImageMode] of tsEnum; - - - tsQuad = array[0..3] of tsPoint; - - tsPointFloat = packed record - X: Single; - Y: Single; - end; - tsQuadFloat = array[0..3] of tsPointFloat; - - -const - cModesReplace : TtsImageModes = (TS_MODE_REPLACE, TS_MODE_REPLACE, TS_MODE_REPLACE, TS_MODE_REPLACE, TS_MODE_REPLACE); - cModesNormal : TtsImageModes = (TS_MODE_REPLACE, TS_MODE_REPLACE, TS_MODE_REPLACE, TS_MODE_MODULATE, TS_MODE_REPLACE); - -type - PtsHashEntry = ^TtsHashEntry; - TtsHashEntry = record - Name: Integer; - Value: Pointer; - Next: PtsHashEntry; - end; - - TtsHash = class(TObject) - private - fHashArray: array of PtsHashEntry; - fHashEntrys: Integer; - fCount: Integer; - - function IntToPos(Name: Integer): Integer; - public - property Count: Integer read fCount; - - constructor Create(HashEntrys: Integer); - destructor Destroy; override; - - procedure Add(Name: Integer; Value: Pointer); - procedure Delete(Name: Integer); - procedure Clear; - - function Get(Name: Integer): Pointer; - procedure GetNames(const NameList: TList); - procedure GetValues(const ValueList: TList); - end; - - - PtsStringHashEntry = ^TtsStringHashEntry; - TtsStringHashEntry = record - pString: pWideChar; - Next: PtsStringHashEntry; - end; - - TtsStringHash = class(TObject) - private - fHashArray: array of PtsStringHashEntry; - fHashEntrys: Cardinal; - public - constructor Create(HashEntrys: Integer); - destructor Destroy; override; - - procedure Add(pString: pWideChar); - function Delete(pString: pWideChar): Boolean; - end; - - - TtsKernel1DItem = packed record - Offset: Integer; - Value: Single; - - DataOffset: Integer; - end; - - TtsKernel1D = class - public - Size: Integer; - ValueSum: Double; - - Items: array of TtsKernel1DItem; - ItemCount: Integer; - - constructor Create(Radius, Strength: Single); - - procedure UpdateDataOffset(DataSize: Integer); - end; - - - TtsKernel2DItem = packed record - OffsetX: Integer; - OffsetY: Integer; - Value: Single; - - DataOffset: Integer; - end; - - TtsKernel2D = class - public - SizeX: Integer; - SizeY: Integer; - - MidSizeX: Integer; - MidSizeY: Integer; - - ValueSum: Double; - - Items: array of TtsKernel2DItem; - ItemCount: Integer; - - constructor Create(Radius, Strength: Single); - - procedure UpdateDataOffset(DataSizeX, DataSizeY: Integer); - end; - - - TtsImage = class; - TtsRenderer = class; - TtsRendererImageReference = class; - TtsContext = class; - TtsChar = class; - - - TtsImageFunc = procedure(Image: TtsImage; X, Y: Integer; var Pixel: tsColor; Data: Pointer); - - TtsImage = class - private - fWidth: Integer; - fHeight: Integer; - fFormat: TtsFormat; - - fData: Pointer; - fScanLinesValid: Boolean; - fScanLines: array of Pointer; - - procedure SetDataPtr(aData: Pointer; aFormat: TtsFormat = tsFormatEmpty; aWidth: Integer = 0; aHeight: Integer = 0); - - function GetFormatSize(Format: TtsFormat): Integer; - - procedure UpdateScanLines; - function GetScanLine(Index: Integer): pointer; - function GetEmpty: Boolean; - public - procedure BeforeDestruction; override; - - procedure AssignFrom(Image: TtsImage); - procedure CreateEmpty(Format: TtsFormat; aWidth, aHeight: Integer); - procedure LoadFromFile(FileName: PAnsiChar); - - procedure Resize(NewWidth, NewHeight, X, Y: Integer); - procedure FindMinMax(var MinMaxInfo: tsRect); - - procedure AddFunc(Func: TtsImageFunc; Data: Pointer); - - procedure FillColor(Red, Green, Blue, Alpha: Single; ChannelMask: tsBitmask; Modes: TtsImageModes); - procedure FillPattern(Pattern: TtsImage; X, Y: Integer; ChannelMask: tsBitmask; Modes: TtsImageModes); - - procedure BlendImage(Image: TtsImage; X, Y: Integer; AutoExpand: Boolean = True); - procedure Blur(HorzKernel, VertKernel: TtsKernel1D; ChannelMask: tsBitmask); - - procedure AddResizingBorder(tsChar: TtsChar); - - property Empty: Boolean read GetEmpty; - - property Data: Pointer read fData; - property Width: Integer read fWidth; - property Height: Integer read fHeight; - property Format: TtsFormat read fFormat; - - property ScanLine[Index: Integer]: pointer read GetScanline; - end; - - - TtsChar = class - protected - // CharCode - fCharCode: WideChar; - public - // Position of char - GlyphOriginX: Smallint; - GlyphOriginY: Smallint; - Advance: SmallInt; - GlyphRect: tsRect; - - HasResizingBorder: Boolean; - - // Kerning -// KerningValuesLeft: array of WORD; -// KerningValuesRight: array of WORD; - - // Renderer data for Imagehandling - RendererImageReference: TtsRendererImageReference; - - constructor Create(CharCode: WideChar); - destructor Destroy; override; - - procedure ExpandRect(Left, Top, Right, Bottom: Integer); - - // Kerning -// procedure CalculateKerningData(CharImage: TtsImage); -// function CalculateKerningValue(LastChar: TtsChar): Smallint; - - // CharCode - property CharCode: WideChar read fCharCode; - end; - - - PtsFontCharArray = ^TtsFontCharArray; - TtsFontCharArray = packed record - Chars: array [Byte] of TtsChar; - CharCount: Byte; - end; - - - TtsTextMetric = record - Ascent: Integer; - Descent: Integer; - LineSkip: Integer; - LineSkip_with_LineSpace: Integer; - end; - - - TtsFont = class - private - // Strings - fCopyright: AnsiString; - fFaceName: AnsiString; - fStyleName: AnsiString; - fFullName: AnsiString; - - // font styles - fSize: Integer; - fStyle: TtsFontStyles; - fFormat: TtsFormat; - fAntiAliasing: TtsAntiAliasing; - - // font settings - fAscent: Integer; - fDescent: Integer; - fExternalLeading: Integer; - fBaselineOffset: Integer; - - fDefaultChar: WideChar; - - fFontFileStyle: Integer; - fFixedWidth: Boolean; - - fCharSpacing: Integer; - fLineSpacing: Integer; - - fUnderlinePosition: Integer; - fUnderlineSize: Integer; - fStrikeoutPosition: Integer; - fStrikeoutSize: Integer; - - // chars - fChars: array [Byte] of PtsFontCharArray; - protected - fRenderer: TtsRenderer; - - function Validate(CharCode: WideChar): Boolean; virtual; - - procedure AddChar(CharCode: WideChar; Char: TtsChar); - function GetChar(CharCode: WideChar): TtsChar; - public - // chars - property Char[CharCode: WideChar]: TtsChar read GetChar; - - // strings - property Copyright: AnsiString read fCopyright write fCopyright; - property FaceName: AnsiString read fFaceName write fFaceName; - property StyleName: AnsiString read fStyleName write fStyleName; - property FullName: AnsiString read fFullName write fFullName; - - property Size: Integer read fSize write fSize; - property Style: TtsFontStyles read fStyle write fStyle; - property Format: TtsFormat read fFormat write fFormat; - property AntiAliasing: TtsAntiAliasing read fAntiAliasing write fAntiAliasing; - - // Font propertys - property Ascent: Integer read fAscent write fAscent; - property Descent: Integer read fDescent write fDescent; - property ExternalLeading: Integer read fExternalLeading write fExternalLeading; - property BaselineOffset: Integer read fBaselineOffset write fBaselineOffset; - - property DefaultChar: WideChar read fDefaultChar write fDefaultChar; - - property FontFileStyle: Integer read fFontFileStyle write fFontFileStyle; - property FixedWidth: Boolean read fFixedWidth write fFixedWidth; - - property CharSpacing: Integer read fCharSpacing write fCharSpacing; - property LineSpacing: Integer read fLineSpacing write fLineSpacing; - - property UnderlinePosition: Integer read fUnderlinePosition write fUnderlinePosition; - property UnderlineSize: Integer read fUnderlineSize write fUnderlineSize; - property StrikeoutPosition: Integer read fStrikeoutPosition write fStrikeoutPosition; - property StrikeoutSize: Integer read fStrikeoutSize write fStrikeoutSize; - - constructor Create(Renderer: TtsRenderer; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - - procedure ClearChars; - - procedure DeleteChar(CharCode: WideChar); - - procedure GetTextMetric(var Metric: TtsTextMetric); - end; - - - PtsPostProcessStepRange = ^TtsPostProcessStepRange; - TtsPostProcessStepRange = record - StartChar: WideChar; - EndChar: WideChar; - end; - - TtsFontProcessStepUsage = (tsUInclude, tsUExclude); - - TtsPostProcessStep = class - protected - fIncludeCharRange: TList; - fExcludeCharRange: TList; - - procedure ClearList(List: TList); - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); virtual; abstract; - public - constructor Create; - destructor Destroy; override; - - function IsInRange(CharCode: WideChar): Boolean; - procedure AddUsageRange(Usage: TtsFontProcessStepUsage; StartChar, EndChar: WideChar); - procedure AddUsageChars(Usage: TtsFontProcessStepUsage; Chars: pWideChar); - - procedure ClearIncludeRange; - procedure ClearExcludeRange; - end; - - - TtsFontCreator = class(TtsFont) - private - fPostProcessSteps: TList; - - function GetPostProcessStepCount: Integer; - function GetPostProcessStep(Index: Integer): TtsPostProcessStep; - protected - fCreateChars: Boolean; - fAddResizingBorder: Boolean; - - function Validate(CharCode: WideChar): Boolean; override; - - function GetGlyphMetrics(CharCode: WideChar; var GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer): Boolean; virtual; abstract; - - procedure GetCharImage(CharCode: WideChar; const CharImage: TtsImage); virtual; abstract; - - procedure DrawLine(Char: TtsChar; CharImage: TtsImage; LinePosition, LineSize: Integer); - procedure DoPostProcess(var CharImage: TtsImage; const tsChar: TtsChar); - public - property CreateChars: Boolean read fCreateChars write fCreateChars; - property AddResizingBorder: Boolean read fAddResizingBorder write fAddResizingBorder; - - constructor Create(Renderer: TtsRenderer; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - - procedure AddChar(CharCode: WideChar); overload; - - function AddPostProcessStep(PostProcessStep: TtsPostProcessStep): TtsPostProcessStep; - procedure DeletePostProcessStep(Index: Integer); - procedure ClearPostProcessSteps; - - property PostProcessStepCount: Integer read GetPostProcessStepCount; - property PostProcessStep[Index: Integer]: TtsPostProcessStep read GetPostProcessStep; - end; - - - TtsFontCreatorSDL = class(TtsFontCreator) - protected - fSDLFont: PTTF_Font; - - function GetGlyphMetrics(CharCode: WideChar; var GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer): Boolean; override; - - procedure GetCharImage(CharCode: WideChar; const CharImage: TtsImage); override; - public - constructor Create(Renderer: TtsRenderer; const Filename: AnsiString; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - end; - - - TtsFontCreatorGDIFontFace = class(TtsFontCreator) - protected - fFontHandle: THandle; - fMat2: TMat2; - - fFontname: AnsiString; - - function GetGlyphIndex(CharCode: WideChar): Integer; - - function GetGlyphMetrics(CharCode: WideChar; var GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer): Boolean; override; - - procedure GetCharImageAntialiased(DC: HDC; CharCode: WideChar; const CharImage: TtsImage); - procedure GetCharImageNone(DC: HDC; CharCode: WideChar; const CharImage: TtsImage); - - procedure GetCharImage(CharCode: WideChar; const CharImage: TtsImage); override; - public - constructor Create(Renderer: TtsRenderer; const Fontname: AnsiString; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - end; - - - TtsFontCreatorGDIFile = class(TtsFontCreatorGDIFontFace) - protected - fFilename: pAnsiChar; - fFontRegistred: Boolean; - - function RegisterFont(Filename: pAnsiChar; RegisterPublic: Boolean): boolean; - function UnRegisterFont(Filename: pAnsiChar; RegisterPublic: Boolean): boolean; - - function GetFaceName(Filename: pAnsiChar; var Face: AnsiString): boolean; - public - constructor Create(Renderer: TtsRenderer; const Filename: AnsiString; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - end; - - TtsFontCreatorGDIStream = class(TtsFontCreatorGDIFontFace) - protected - fFontRegistred: Boolean; - fHandle: THandle; - - function RegisterFont(Data: TStream): boolean; - function UnRegisterFont(): boolean; - - function GetFaceName(Stream: TStream; var Face: AnsiString): boolean; - public - constructor Create(Renderer: TtsRenderer; const Source: TStream; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); - destructor Destroy; override; - end; - - PtsLineItem = ^TtsLineItem; - TtsLineItem = record - NextItem: PtsLineItem; - PrevItem: PtsLineItem; - - ItemType: Integer; - case Integer of - TS_BLOCK_FONT: ( - Font: TtsFont; - FontID: tsFontID; - ); - - TS_BLOCK_COLOR: ( - Red: Single; - Green: Single; - Blue: Single; - Alpha: Single; - ); - - TS_BLOCK_WORD, TS_BLOCK_SPACE: ( - Word: PWideChar; - WordLength: Integer; - ); - end; - - PtsLinesItem = ^TtsLinesItem; - TtsLinesItem = record - NextLine: PtsLinesItem; - - LineItemFirst: PtsLineItem; - LineItemLast: PtsLineItem; - - LineLength: Integer; - LineAutoBreak: Boolean; - end; - - TtsTempLines = record - Lines: PtsLinesItem; - Empty: Boolean; - end; - - - { *** *** } - TtsRendererImageReference = class - end; - - - TtsRenderer = class - private - fContext: TtsContext; - - fSaveImages: Boolean; - - fisBlock: Boolean; - fBlockLeft: Integer; - fBlockTop: Integer; - fBlockWidth: Integer; - fBlockHeight: Integer; - fFlags: Integer; - - fWordWrap: Boolean; -// fSingleLine: Boolean; - - fActiveFont: TtsFont; - fActiveFontID: Cardinal; - fLastActiveFont: TtsFont; - fLastActiveFontID: Cardinal; - - fLinesFirst: PtsLinesItem; - fLinesLast: PtsLinesItem; - fLinesTemp: TtsTempLines; - - // drawings - fLineTop: Integer; - fTextOffsetY: Integer; - fTextOffsetX: Integer; - - function GetActiveFont: TtsFont; - function GetActiveFontID: Cardinal; - - function SplitText(pText: PWideChar): PtsLineItem; - procedure CalculateWordLength(Font: TtsFont; pWord: PtsLineItem); - procedure SplitIntoLines(pItemList: PtsLineItem); - - procedure DrawLine(pLine: PtsLineItem; LineLength: Integer; LineBreak: Boolean); - procedure DrawLines(pLinesItem: PtsLinesItem); - function CalculateLinesHeight(pLinesItem: PtsLinesItem): Integer; - - procedure GetLineMetric(pLine: PtsLineItem; var Metric: TtsTextMetric); - - procedure PushLineItem(pLine: PtsLineItem); - procedure FreeLineItems(var pLine: PtsLineItem); - - procedure PushTempLines; - procedure FreeLines(var pLinesItem: PtsLinesItem); - procedure TrimSpaces(pLinesItem: PtsLinesItem); - protected - procedure DrawChar(Font: TtsFont; Char: TtsChar); virtual; abstract; - procedure DrawSetPosition(X, Y: Integer); virtual; abstract; - procedure DrawSetPositionRelative(X, Y: Integer); virtual; abstract; - procedure DrawSetColor(Red, Green, Blue, Alpha: Single); virtual; abstract; - - function AddImage(Char: TtsChar; CharImage: TtsImage): TtsRendererImageReference; virtual; abstract; - procedure RemoveImageReference(ImageReference: TtsRendererImageReference); virtual; abstract; - public - property ActiveFont: TtsFont read GetActiveFont; - property ActiveFontID: Cardinal read GetActiveFontID; - - property SaveImages: Boolean read fSaveImages write fSaveImages; - - property isBlock: Boolean read FisBlock; - - constructor Create(Context: TtsContext); - destructor Destroy; override; - - procedure BeginBlock(Left, Top, Width, Height: Integer; Flags: tsBitmask); virtual; - procedure EndBlock; - - procedure FontActivate(FontID: Cardinal); - procedure Color(Red, Green, Blue, Alpha: Single); - procedure TextOut(pText: pWideChar); - - function TextGetWidth(pText: pWideChar): Integer; - function TextGetDrawWidth: Integer; - function TextGetDrawHeight: Integer; - - procedure CharOut(CharCode: WideChar); - end; - - - TtsRendererNULLImageReference = class(TtsRendererImageReference) - Image: TtsImage; - end; - - - TtsRendererNULL = class(TtsRenderer) - protected - procedure DrawChar(Font: TtsFont; Char: TtsChar); override; - procedure DrawSetPosition(X, Y: Integer); override; - procedure DrawSetPositionRelative(X, Y: Integer); override; - procedure DrawSetColor(Red, Green, Blue, Alpha: Single); override; - - function AddImage(Char: TtsChar; CharImage: TtsImage): TtsRendererImageReference; override; - procedure RemoveImageReference(ImageReference: TtsRendererImageReference); override; - end; - - - - TtsRendererOpenGLImageReference = class(TtsRendererImageReference) - TexID: Integer; - Coordinates: tsRect; - - TexCoords: tsQuadFloat; - Vertex: tsQuadFloat; - end; - - - PtsRendererOpenGLTexture = ^TtsRendererOpenGLTexture; - TtsRendererOpenGLTexture = record - glTextureID: Cardinal; - - Width: Integer; - Height: Integer; - end; - - - PtsRendererOpenGLManagedEntry = ^TtsRendererOpenGLManagedEntry; - TtsRendererOpenGLManagedEntry = record - Start: Word; - Count: Word; - - NextEntry: PtsRendererOpenGLManagedEntry; - end; - - - PtsRendererOpenGLTextureEntry = ^TtsRendererOpenGLTextureEntry; - TtsRendererOpenGLTextureEntry = record - ID: Integer; - Texture: PtsRendererOpenGLTexture; - - Lines: array of PtsRendererOpenGLManagedEntry; - Usage: Integer; - end; - - - TtsRendererOpenGL = class(TtsRenderer) - private - fPos: tsPoint; - - fTextureSize: Integer; - - // Texture - fTextures: TList; - - procedure AllocSpace(var FirstManaged: PtsRendererOpenGLManagedEntry; Start, Count: Word); - procedure FreeSpace(var FirstManaged: PtsRendererOpenGLManagedEntry; Start, Count: Word); - - function GetTextureByID(ID: Integer): PtsRendererOpenGLTexture; - - function AddImageToTexture(Texture: PtsRendererOpenGLTextureEntry; Image: TtsImage; var TextureID: Integer; var Coordinates: tsRect): boolean; - function CreateNewTexture: PtsRendererOpenGLTextureEntry; - - procedure DeleteTexture(Idx: Integer); - procedure ClearTextures; - protected - procedure DrawChar(Font: TtsFont; Char: TtsChar); override; - procedure DrawSetPosition(X, Y: Integer); override; - procedure DrawSetPositionRelative(X, Y: Integer); override; - procedure DrawSetColor(Red, Green, Blue, Alpha: Single); override; - - function AddImage(Char: TtsChar; CharImage: TtsImage): TtsRendererImageReference; override; - procedure RemoveImageReference(ImageReference: TtsRendererImageReference); override; - public - property TextureSize: Integer read fTextureSize write fTextureSize; - - procedure BeginBlock(Left, Top, Width, Height: Integer; Flags: tsBitmask); override; - - procedure AfterConstruction; override; - procedure BeforeDestruction; override; - end; - - - // context structures/types for use in unit TextSuite - TtsContext = class - private - fContextID: Cardinal; - - // Fonts - fFonts: TtsHash; - fLastFontID: Cardinal; - - // Images - fImages: TtsHash; - fLastImageID: Cardinal; - - function GetIsLocked: boolean; - - procedure ClearFonts; - procedure ClearImages; - function GetActiveFont: TtsFont; - public - // ThreadID - gBoundThreadID: Cardinal; - - // error - Error: Cardinal; - - // globals settings - Renderer: TtsRenderer; - gCreator: tsEnum; - gGlobalFormat: tsEnum; - gGlobalAntiAliasing: tsEnum; - - gDebugDrawCharRects: Boolean; - - gEmptyCodePageEntry: tsEnum; - gCodePage: tsEnum; - gCodePagePtr: Pointer; - gCodePageFunc: TtsAnsiToWideCharFunc; - - gSingleLine: tsEnum; - gAlign: tsEnum; - gVAlign: tsEnum; - gClip: tsEnum; - gBlockOffsetX: tsInt; - gBlockOffsetY: tsInt; - - gImageMode: TtsImageModes; - gImageLibrary: tsEnum; - -{ Tab: tsEnum; - TabWidth: tsInt; } - - // context specific / helper - property ContextID: Cardinal read fContextID; - - property IsLocked: boolean read GetIsLocked; - - property ActiveFont: TtsFont read GetActiveFont; - - // helper functions - function ImageAdd(Image: TtsImage): Cardinal; - function ImageGet(Image: Cardinal): TtsImage; - procedure ImageDelete(Image: Cardinal); - function ImageCount: Cardinal; - - function FontAdd(Font: TtsFont): Cardinal; - function FontGet(Font: Cardinal): TtsFont; - procedure FontDelete(Font: Cardinal); - function FontCount: Cardinal; - - function AnsiToWide(pText: pAnsiChar): pWideChar; - - constructor Create; - destructor Destroy; override; - end; - - - PtsContextFontEntry = ^TtsContextFontEntry; - TtsContextFontEntry = record - FontID: tsFontID; - Font: TtsFont; - end; - - - PtsContextImageEntry = ^TtsContextImageEntry; - TtsContextImageEntry = record - ImageID: tsImageID; - Image: TtsImage; - end; - - -// Helper -function MakeColor(Red: Byte = 0; Green: Byte = 0; Blue: Byte = 0; Alpha: Byte = 0): tsColor; - - -implementation - - -uses - Math, - SysUtils, - SyncObjs, - TextSuitePostProcess, - TextSuiteTTFUtils; - - -var - gLastContextID: Cardinal; - - -// Helper -function MakeColor(Red, Green, Blue, Alpha: Byte): tsColor; -begin - Result.Red := Red; - Result.Green := Green; - Result.Blue := Blue; - Result.Alpha := Alpha; -end; - - -procedure TranslateQuad(var Dest: tsQuadFloat; const Source: tsQuadFloat; const Translate: tsPoint); -begin - Dest[0].X := Source[0].X + Translate.X; - Dest[0].Y := Source[0].Y + Translate.Y; - - Dest[1].X := Source[1].X + Translate.X; - Dest[1].Y := Source[1].Y + Translate.Y; - - Dest[2].X := Source[2].X + Translate.X; - Dest[2].Y := Source[2].Y + Translate.Y; - - Dest[3].X := Source[3].X + Translate.X; - Dest[3].Y := Source[3].Y + Translate.Y; -end; - - -{ TtsHash } - -procedure TtsHash.Add(Name: Integer; Value: Pointer); -var - Pos: Integer; - Entry, HashEntry: PtsHashEntry; -begin - if Name <> 0 then begin - Pos := IntToPos(Name); - HashEntry := fHashArray[Pos]; - Entry := fHashArray[Pos]; - - if (HashEntry = nil) then begin - if (Value = nil) then - Exit; - - New(HashEntry); - HashEntry^.Name := Name; - HashEntry^.Value := Value; - HashEntry^.Next := nil; - fHashArray[Pos] := HashEntry; - Inc(fCount); - - Exit; - end; - - while HashEntry <> nil do begin - if Name = HashEntry^.Name then begin - if Value = nil then begin - if (HashEntry = fHashArray[Pos]) then - fHashArray[Pos] := fHashArray[Pos]^.Next - else - Entry^.Next := HashEntry^.Next; - - Dispose(HashEntry); - Dec(fCount); - Exit; - end; - - HashEntry^.Value := Value; - Exit; - end; - - if HashEntry^.Next = nil - then break; - - Entry := HashEntry; - HashEntry := HashEntry^.Next; - end; - - if (Value = nil) - then Exit; - - New(Entry); - Entry^.Name := Name; - Entry^.Value := Value; - Entry^.Next := nil; - Inc(fCount); - - HashEntry^.Next := Entry; - end; -end; - - -procedure TtsHash.Clear; -var - Idx: Integer; - TempEntry, Entry: PtsHashEntry; -begin - for Idx := Low(fHashArray) to High(fHashArray) do begin - Entry := fHashArray[Idx]; - - while Entry <> nil do begin - TempEntry := Entry; - Entry := Entry^.Next; - - Dispose(TempEntry); - end; - - fHashArray[Idx] := nil; - end; - - fCount := 0; -end; - - -constructor TtsHash.Create(HashEntrys: Integer); -begin - inherited Create; - - fHashEntrys := Max(1, HashEntrys); - SetLength(fHashArray, fHashEntrys); -end; - - -procedure TtsHash.Delete(Name: Integer); -begin - // Add with an empty value is enough - Add(Name, nil); -end; - - -destructor TtsHash.Destroy; -begin - Clear; - - inherited; -end; - - -function TtsHash.Get(Name: Integer): Pointer; -var - Pos: Integer; - Entry: PtsHashEntry; -begin - Result := nil; - - if Name <> 0 then begin - Pos := IntToPos(Name); - Entry := fHashArray[Pos]; - - if Entry <> nil then begin - while Entry <> nil do begin - if Name = Entry^.Name then begin - Result := Entry^.Value; - - Break; - end; - - Entry := Entry^.Next; - end; - end; - end; -end; - - -procedure TtsHash.GetNames(const NameList: TList); -var - Idx: Integer; - Entry: PtsHashEntry; -begin - Assert(NameList <> nil, 'TtsHash.GetNames - NameList is undefined'); - - NameList.Clear; - - for Idx := Low(fHashArray) to High(fHashArray) do begin - Entry := fHashArray[Idx]; - - while Entry <> nil do begin - NameList.Add({%H-}Pointer(Entry^.Name)); - - Entry := Entry^.Next; - end; - end; -end; - - -procedure TtsHash.GetValues(const ValueList: TList); -var - Idx: Integer; - Entry: PtsHashEntry; -begin - Assert(ValueList <> nil, 'TtsHash.GetValues - ValuesList is undefined'); - - ValueList.Clear; - - for Idx := Low(fHashArray) to High(fHashArray) do begin - Entry := fHashArray[Idx]; - - while Entry <> nil do begin - ValueList.Add(Entry^.Value); - - Entry := Entry^.Next; - end; - end; -end; - - -function TtsHash.IntToPos(Name: Integer): Integer; -begin - if Name < 0 then - Result := -Name - else - Result := Name; - - Result := Result mod fHashEntrys; -end; - - -{ TtsStringHash } - -procedure TtsStringHash.Add(pString: pWideChar); -var - Pos: Integer; - Entry, HashEntry: PtsStringHashEntry; -begin - if pString <> nil then begin - Pos := {%H-}Cardinal(pString) mod fHashEntrys; - Entry := fHashArray[Pos]; - HashEntry := Entry; - - // is empty field - if (Entry = nil) then begin - New(Entry); - Entry^.pString := pString; - Entry^.Next := nil; - fHashArray[Pos] := Entry; - - Exit; - end; - - // search last - while HashEntry <> nil do begin - if HashEntry^.Next = nil - then break; - - HashEntry := HashEntry^.Next; - end; - - New(Entry); - Entry^.pString := pString; - Entry^.Next := nil; - - HashEntry^.Next := Entry; - end; -end; - - -constructor TtsStringHash.Create(HashEntrys: Integer); -begin - inherited Create; - - fHashEntrys := Max(1, HashEntrys); - SetLength(fHashArray, fHashEntrys); -end; - - -function TtsStringHash.Delete(pString: pWideChar) : Boolean; -var - Pos: Integer; - Entry, HashEntry: PtsStringHashEntry; -begin - Result := False; - - if pString <> nil then begin - Pos := {%H-}Cardinal(pString) mod fHashEntrys; - HashEntry := fHashArray[Pos]; - Entry := nil; - - while HashEntry <> nil do begin - if pString = HashEntry^.pString then begin - if (HashEntry = fHashArray[Pos]) then - fHashArray[Pos] := fHashArray[Pos]^.Next - else - Entry^.Next := HashEntry^.Next; - - Dispose(HashEntry); - - Result := True; - - Exit; - end; - - Entry := HashEntry; - HashEntry := HashEntry^.Next; - end; - end; -end; - - -destructor TtsStringHash.Destroy; -var - Idx: Integer; - Temp: PtsStringHashEntry; -begin - for Idx := Low(fHashArray) to High(fHashArray) do begin - while fHashArray[Idx] <> nil do begin - Temp := fHashArray[Idx]; - - fHashArray[Idx] := fHashArray[Idx]^.Next; - - tsStrDispose(Temp^.pString); - Dispose(Temp); - end; - end; - - SetLength(fHashArray, 0); - - inherited; -end; - - -{ TtsKernel1D } - -constructor TtsKernel1D.Create(Radius, Strength: Single); -var - TempRadius, SQRRadius, TempStrength, TempValue: Double; - Idx: Integer; - - - function CalcValue(Index: Integer): Single; - var - Temp: Double; - begin - Temp := Max(0, Abs(Index) - TempStrength); - Temp := Sqr(Temp * TempRadius) / SQRRadius; - - Result := Exp(-Temp); - end; - -begin - inherited Create; - - // calculate new radius and strength - TempStrength := Min(Radius - 1, Radius * Strength); - TempRadius := Radius - TempStrength; - - SQRRadius := sqr(TempRadius) * sqr(TempRadius); - - // caluculating size of the kernel - Size := Round(TempRadius); - while CalcValue(Size) > 0.001 do - Inc(Size); - Size := Size -1; - - ValueSum := 0; - ItemCount := Size * 2 +1; - SetLength(Items, ItemCount); - - // calculate Value (yes thats right. there is no -1) - for Idx := 0 to Size do begin - TempValue := CalcValue(Idx); - - with Items[Size + Idx] do begin - Offset := Idx; - Value := TempValue; - end; - - with Items[Size - Idx] do begin - Offset := -Idx; - Value := TempValue; - end; - - // sum - ValueSum := ValueSum + TempValue; - if Idx > 0 then - ValueSum := ValueSum + TempValue; - end; -end; - - -procedure TtsKernel1D.UpdateDataOffset(DataSize: Integer); -var - Idx: Integer; -begin - for Idx := 0 to ItemCount -1 do - with Items[Idx] do - DataOffset := Offset * DataSize; -end; - - - -{ TtsKernel2D } - -constructor TtsKernel2D.Create(Radius, Strength: Single); -var - TempRadius, SQRRadius, TempStrength, TempValue: Double; - X, Y, Height, Width: Integer; - - - function CalcValue(Index: Single): Single; - var - Temp: Double; - begin - Temp := Max(0, Abs(Index) - TempStrength); - Temp := Sqr(Temp * TempRadius) / SQRRadius; - - Result := Exp(-Temp); - end; - - - procedure QuickSort(L, R: Integer); - var - I, J: Integer; - P, T: TtsKernel2DItem; - - function Compare(const Item1, Item2: TtsKernel2DItem): Integer; - begin - if Item1.Value = Item2.Value then - Result := 0 - else - if Item1.Value > Item2.Value then - Result := -1 - else - Result := 1; - end; - - begin - repeat - I := L; - J := R; - P := Items[(L + R) shr 1]; - - repeat - while Compare(Items[I], P) < 0 do - Inc(I); - - while Compare(Items[J], P) > 0 do - Dec(J); - - if I <= J then begin - T := Items[I]; - Items[I] := Items[J]; - Items[J] := T; - Inc(I); - Dec(J); - end; - until I > J; - - if L < J then - QuickSort(L, J); - - L := I; - until I >= R; - end; - - -begin - inherited Create; - - // calculate new radius and strength - TempStrength := Min(Radius - 1, Radius * Strength); - TempRadius := Radius - TempStrength; - - SQRRadius := sqr(TempRadius) * sqr(TempRadius); - - // caluculating X size of the kernel - SizeX := 0; - MidSizeX := SizeX; - - while CalcValue(SizeX) > 0.5 do begin - Inc(SizeX); - Inc(MidSizeX); - end; - - while CalcValue(SizeX) > 0.001 do - Inc(SizeX); - - // caluculating Y size of the kernel - SizeY := 0; - MidSizeY := SizeY; - - while CalcValue(SizeY) > 0.5 do begin - Inc(SizeY); - Inc(MidSizeY); - end; - - while CalcValue(SizeY) > 0.001 do - Inc(SizeY); - - ValueSum := 0; - - Width := SizeX * 2 + 1; - Height := SizeY * 2 + 1; - ItemCount := Height * Width; - SetLength(Items, ItemCount); - - Width := SizeX * 2 + 1; - Height := SizeY * 2 + 1; - ItemCount := Height * Width; - SetLength(Items, ItemCount); - - // calculate Value (yes thats right. there is no -1) - for Y := 0 to SizeY do begin - for X := 0 to SizeX do begin - TempValue := CalcValue(Sqrt(Sqr(X) + Sqr(Y))); - - with Items[(SizeY + Y) * Width + (SizeX + X)] do begin - OffsetX := X; - OffsetY := Y; - Value := TempValue; - end; - - with Items[(SizeY + Y) * Width + (SizeX - X)] do begin - OffsetX := -X; - OffsetY := Y; - Value := TempValue; - end; - - with Items[(SizeY - Y) * Width + (SizeX + X)] do begin - OffsetX := X; - OffsetY := -Y; - Value := TempValue; - end; - - with Items[(SizeY - Y) * Width + (SizeX - X)] do begin - OffsetX := -X; - OffsetY := -Y; - Value := TempValue; - end; - - // sum - ValueSum := ValueSum + TempValue; - if (X > 0) and (Y > 0) then - ValueSum := ValueSum + TempValue; - end; - end; - - // sort - QuickSort(0, ItemCount -1); - - // cut small items - while Items[ItemCount -1].Value < 0.001 do - Dec(ItemCount); - - SetLength(Items, ItemCount); -end; - - -procedure TtsKernel2D.UpdateDataOffset(DataSizeX, DataSizeY: Integer); -var - Idx: Integer; -begin - for Idx := 0 to ItemCount -1 do - with Items[Idx] do - DataOffset := OffsetX * DataSizeX + OffsetY * DataSizeY; -end; - - -{ TtsChar } - -(* -procedure TtsChar.CalculateKerningData(CharImage: TtsImage); -var - Y: Integer; - pLeft, pRight: PtsColor; - - - function GetFirstPixel(pData: PtsColor; MinOpaque: Byte; IncValue, MaxSteps: Integer) : Integer; - var - CurStep: Integer; - begin - Result := MaxSteps; - CurStep := 0; - - while CurStep < MaxSteps do begin - if pData^.Alpha >= MinOpaque then begin - Result := CurStep; - Break; - end; - - Inc(CurStep); - Inc(pData, IncValue); - end; - end; - -begin - SetLength(KerningValuesLeft, CharImage.Height); - SetLength(KerningValuesRight, CharImage.Height); - - for Y := 0 to CharImage.Height - 1 do begin - pRight := CharImage.ScanLine[Y]; - Inc(pRight, CharImage.Width -1); - KerningValuesRight[Y] := GetFirstPixel(pRight, $40, -1, CharImage.Width); - - pLeft:= CharImage.ScanLine[Y]; - KerningValuesLeft[Y] := GetFirstPixel(pLeft, $40, 1, CharImage.Width); - end; -end; -*) - - -//function TtsChar.CalculateKerningValue(LastChar: TtsChar): Smallint; -//begin -// Result := 0; -//var -// TempHeight, TempLastHeight: Integer; -// Y, YMin, YMax: Integer; -// LeftYMin, LeftYMax, RightYMin, RightYMax: Integer; -// -// Dist, TempDist: Integer; -// -// function GetMinDistance(Row: Integer): Integer; -// begin -//// Result := -//// Self.KerningValuesLeft[Self.BaseLine - Self.GlyphRect.Top + Row] + -//// LastChar.KerningValuesRight[LastChar.BaseLine - LastChar.GlyphRect.Top + Row]; -// end; -// -//begin -// Result := 0; -// -// if Assigned(LastChar) then begin -// TempLastHeight := Length(LastChar.KerningValuesRight); -// TempHeight := Length(Self.KerningValuesLeft); -// -// if (TempLastHeight > 0) and (TempHeight > 0) then begin -// LeftYMin := Self.GlyphRect.Bottom - Self.BaseLine; -// LeftYMax := Self.GlyphRect.Top - Self.BaseLine; -// -// RightYMin := LastChar.GlyphRect.Bottom - LastChar.BaseLine; -// RightYMax := LastChar.GlyphRect.Top - LastChar.BaseLine; -// -// YMin := Min(LeftYMin, RightYMin); -// YMax := Max(LeftYMax, RightYMax); -// -// Dist := -1; -// -// for Y := YMax to YMin -1 do begin -// TempDist := GetMinDistance(Y); -// -// if (Dist = -1) then -// Dist := TempDist -// else -// -// if TempDist < Dist then -// Dist := TempDist; -// end; -// -// // calculate advance of last char to diff -// Dist := Dist + LastChar.Advance - (LastChar.GlyphRect.Right - LastChar.GlyphRect.Left); -// -// Result := -Dist +3; -// end; -// end; -//end; - - -constructor TtsChar.Create(CharCode: WideChar); -begin - inherited Create; - - fCharCode := CharCode; -end; - - -destructor TtsChar.Destroy; -begin -// SetLength(KerningValuesLeft, 0); -// SetLength(KerningValuesRight, 0); - - inherited; -end; - - -procedure TtsChar.ExpandRect(Left, Top, Right, Bottom: Integer); -begin - Advance := Advance + Left + Right; - GlyphOriginY := GlyphOriginY + Top + Bottom; - - GlyphRect.Right := GlyphRect.Right + Left + Right; - GlyphRect.Bottom := GlyphRect.Bottom + Top + Bottom; -end; - - -{ TtsImage } -type - TtsModeFunc = function(Source, Dest: Byte): Byte; register; - - -function ModeFuncIgnore(Source, Dest: Byte): Byte; register; -{$ifdef TS_PURE_PASCAL} -begin - Result := Dest; -{$else} -asm - mov al, dl -{$endif} -end; - - -function ModeFuncReplace(Source, Dest: Byte): Byte; register; -{$ifdef TS_PURE_PASCAL} -begin - Result := Source; -{$else} -asm -{$endif} -end; - - -function ModeFuncModulate(Source, Dest: Byte): Byte; register; -{$ifdef TS_PURE_PASCAL} -begin - Result := (Source * Dest) div $FF -{$else} -asm -// inc ax -// inc dx - mul dl - shr eax, 8 -{$endif} -end; - - -procedure TtsImage.AddFunc(Func: TtsImageFunc; Data: Pointer); -var - X, Y: Integer; - pPix: PtsColor; -begin - for Y := 0 to Height - 1 do begin - pPix := ScanLine[Y]; - - for X := 0 to Width - 1 do begin - Func(Self, X, Y, pPix^, Data); - - Inc(pPix); - end; - end; -end; - - -procedure TtsImage.AddResizingBorder(tsChar: TtsChar); -var - X, Y: Integer; - pPix: PtsColor; - - pTemp: PtsColor; - SumCount: Integer; - SumColor: array [0..2] of integer; -begin - SumColor[0] := 0; - SumColor[1] := 0; - SumColor[2] := 0; - SumCount := 0; - - // settings of char - tsChar.GlyphRect.Top := tsChar.GlyphRect.Top + 1; - tsChar.GlyphRect.Left := tsChar.GlyphRect.Left + 1; - tsChar.GlyphRect.Right := tsChar.GlyphRect.Right + 1; - tsChar.GlyphRect.Bottom := tsChar.GlyphRect.Bottom + 1; - - // resize image - Resize(Width + 4, Height + 4, 2, 2); - - // calculate color of invisible pixels - for Y := 0 to Height -1 do begin - pPix := ScanLine[Y]; - - for X := 0 to Width -1 do begin - if pPix^.Alpha = 0 then begin - // row -1 - if Y > 0 then begin - pTemp := pPix; - Dec(pTemp, fWidth); - - // row -1 / col - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - - // row -1 / col -1 - if X > 0 then begin - Dec(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - - Inc(pTemp); - end; - - // row -1 / col +1 - if X < fWidth -1 then begin - Inc(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - end; - end; - - // row +1 - if Y < fHeight -1 then begin - pTemp := pPix; - Inc(pTemp, fWidth); - - // row +1 / col - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - - // row +1 / col -1 - if X > 0 then begin - Dec(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - - Inc(pTemp); - end; - - // row +1 / col +1 - if X < fWidth -1 then begin - Inc(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - end; - end; - - // row / col -1 - if X > 0 then begin - pTemp := pPix; - Dec(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - end; - - // row / col +1 - if X < fWidth -1 then begin - pTemp := pPix; - Inc(pTemp); - - if pTemp^.Alpha > 0 then begin - Inc(SumCount); - Inc(SumColor[0], pTemp^.Red); - Inc(SumColor[1], pTemp^.Green); - Inc(SumColor[2], pTemp^.Blue); - end; - end; - - // any pixel next to the transparent pixel they are opaque? - if SumCount > 0 then begin - // calculate resulting pixel color - pPix^.Red := SumColor[0] div SumCount; - pPix^.Green := SumColor[1] div SumCount; - pPix^.Blue := SumColor[2] div SumCount; - - // clearing values - SumColor[0] := 0; - SumColor[1] := 0; - SumColor[2] := 0; - SumCount := 0; - end; - end; - - Inc(pPix); - end; - end; -end; - - -procedure TtsImage.AssignFrom(Image: TtsImage); -var - pImage: Pointer; - ImageSize: Integer; -begin - ImageSize := Image.Width * Image.Height * GetFormatSize(Image.Format); - - GetMem(pImage, ImageSize); - - if pImage <> nil then - Move(Image.Data^, pImage^, ImageSize); - - SetDataPtr(pImage, Image.Format, Image.Width, Image.Height); -end; - - -procedure TtsImage.BeforeDestruction; -begin - SetDataPtr(nil); - - inherited; -end; - - -procedure TtsImage.BlendImage(Image: TtsImage; X, Y: Integer; AutoExpand: Boolean); -var - pImage, pDest: PtsColor; - X1, X2, Y1, Y2, BX1, BX2, BY1, BY2, NewWidth, NewHeight: Integer; - TempX, TempY: Integer; - - TempLines: array of PtsColor; - pSource: PtsColor; - - // Blending - pUnder, pOver: PtsColor; - ResultAlpha, FaqUnder, FaqOver: Byte; -begin - // Calculate new size - X1 := Min(X, 0); - X2 := Max(X + Image.Width, Width); - - Y1 := Min(Y, 0); - Y2 := Max(Y + Image.Height, Height); - - BX1 := Max(X, 0); - BX2 := Min(X + Image.Width, Width); - - BY1 := Max(Y, 0); - BY2 := Min(Y + Image.Height, Height); - - NewWidth := X2 - X1; - NewHeight := Y2 - Y1; - - // Allocate new image - GetMem(pImage, NewWidth * NewHeight * GetFormatSize(Format)); - try - FillChar(pImage^, NewWidth * NewHeight * GetFormatSize(Format), #$00); - - // ScanLines - SetLength(TempLines, NewHeight); - - for TempY := 0 to NewHeight - 1 do begin - TempLines[TempY] := pImage; - Inc(TempLines[TempY], NewWidth * TempY); - end; - - // copy non overlapping data from underlaying Image - for TempY := 0 to Height -1 do begin - pDest := TempLines[TempY - Y1]; - Inc(pDest, - X1); - - pSource := ScanLine[TempY]; - - for TempX := 0 to Width -1 do begin - pDest^ := pSource^; - - Inc(pDest); - Inc(pSource); - end; - end; - - // copy non overlapping data from overlaying Image - for TempY := 0 to Image.Height -1 do begin - pDest := TempLines[TempY + Y - Y1]; - Inc(pDest, X - X1); - - pSource := Image.ScanLine[TempY]; - - for TempX := 0 to Image.Width -1 do begin - pDest^ := pSource^; - - Inc(pDest); - Inc(pSource); - end; - end; - - // Blend overlapped - for TempY := BY1 to BY2 - 1 do begin - pOver := Image.ScanLine[TempY - Min(BY1, Y)]; - Inc(pOver, BX1 - X); - - pUnder := ScanLine[TempY - Min(BY1, 0)]; - Inc(pUnder, BX1); - - pDest := TempLines[TempY - Min(Y, 0)]; - Inc(pDest, BX1 - Min(X, 0)); - - for TempX := BX1 to BX2 - 1 do begin - ResultAlpha := pOver^.Alpha + pUnder^.Alpha * ($FF - pOver^.Alpha) div $FF; - - if ResultAlpha > 0 then begin - FaqUnder := (pUnder^.Alpha * ($FF - pOver^.Alpha) div $FF) * $FF div ResultAlpha; - FaqOver := pOver^.Alpha * $FF div ResultAlpha; - - pDest^.Red := (pOver^.Red * FaqOver + pUnder^.Red * FaqUnder) div $FF; - pDest^.Green := (pOver^.Green * FaqOver + pUnder^.Green * FaqUnder) div $FF; - pDest^.Blue := (pOver^.Blue * FaqOver + pUnder^.Blue * FaqUnder) div $FF; - end else begin - pDest^.Red := 0; - pDest^.Green := 0; - pDest^.Blue := 0; - end; - - pDest^.Alpha := ResultAlpha; - - Inc(pOver); - Inc(pUnder); - Inc(pDest); - end; - end; - - // Set new image - SetDataPtr(pImage, Format, NewWidth, NewHeight); - except - FreeMem(pImage); - end; -end; - - - -type - TtsImageBlurFuncData = packed record - Kernel: TtsKernel1D; - Pos, MaxPos: Integer; - end; - - TBlurFunc = function(pSource: pByte; var Data: TtsImageBlurFuncData): Byte; register; - - -function BlurFuncKernel(pSource: pByte; var Data: TtsImageBlurFuncData): Byte; register; -var - Idx: Integer; - pTemp: pByte; - TempSum, TempMax: Double; -begin - TempSum := 0; - TempMax := 0; - - with Data do begin - for Idx := 0 to Kernel.ItemCount -1 do begin - with Kernel.Items[Idx] do begin - if (Pos + Offset >= 0) and (Pos + Offset < MaxPos) then begin - pTemp := pSource; - Inc(pTemp, DataOffset); - - TempSum := TempSum + pTemp^ * Value; - TempMax := TempMax + Value; - end; - end; - end; - end; - - Result := Round(TempSum / TempMax); -end; - - -function BlurFuncIgnore(pSource: pByte; var Data: TtsImageBlurFuncData): Byte; register; -{$ifdef TS_PURE_PASCAL} -begin - Result := pSource^; -{$else} -asm - mov al, byte ptr [eax] -{$endif} -end; - - -procedure TtsImage.Blur(HorzKernel, VertKernel: TtsKernel1D; ChannelMask: tsBitmask); -var - X, Y: Integer; - Temp: TtsImage; - - pSource, pDest: ptsColor; - - FuncData: TtsImageBlurFuncData; - RedFunc, GreenFunc, BlueFunc, AlphaFunc: TBlurFunc; - - - procedure AssignFunc(var Func: TBlurFunc; MaskBit: Cardinal); - begin - if MaskBit and ChannelMask > 0 then - Func := BlurFuncKernel - else - Func := BlurFuncIgnore; - end; - - -begin - // casing functions - AssignFunc(RedFunc, TS_CHANNEL_RED); - AssignFunc(GreenFunc, TS_CHANNEL_GREEN); - AssignFunc(BlueFunc, TS_CHANNEL_BLUE); - AssignFunc(AlphaFunc, TS_CHANNEL_ALPHA); - - - Temp := TtsImage.Create; - try - Temp.CreateEmpty(Format, Width, Height); - Temp.FillColor(1, 1, 1, 0, TS_CHANNELS_RGBA, cModesReplace); - - // blur horz from original to temp image - HorzKernel.UpdateDataOffset(4); - - FuncData.Kernel := HorzKernel; - FuncData.MaxPos := Temp.Width; - - for Y := 0 to Temp.Height - 1 do begin - pSource := Self.ScanLine[Y]; - pDest := Temp.ScanLine[Y]; - - for X := 0 to FuncData.MaxPos - 1 do begin - FuncData.Pos := X; - pDest^.Red := RedFunc(@(pSource^.Red), FuncData); - pDest^.Green := GreenFunc(@(pSource^.Green), FuncData); - pDest^.Blue := BlueFunc(@(pSource^.Blue), FuncData); - pDest^.Alpha := AlphaFunc(@(pSource^.Alpha), FuncData); - - Inc(pDest); - Inc(pSource); - end; - end; - - // blur vert from temp to original image - VertKernel.UpdateDataOffset(Width * 4); - - FuncData.Kernel := VertKernel; - FuncData.MaxPos := Temp.Height; - - for Y := 0 to Temp.Height - 1 do begin - pSource := Temp.ScanLine[Y]; - pDest := Self.ScanLine[Y]; - - FuncData.Pos := Y; - - for X := 0 to Temp.Width - 1 do begin - pDest^.Red := RedFunc(@(pSource^.Red), FuncData); - pDest^.Green := GreenFunc(@(pSource^.Green), FuncData); - pDest^.Blue := BlueFunc(@(pSource^.Blue), FuncData); - pDest^.Alpha := AlphaFunc(@(pSource^.Alpha), FuncData); - - Inc(pDest); - Inc(pSource); - end; - end; - - finally - Temp.Free; - end; -end; - - -procedure TtsImage.CreateEmpty(Format: TtsFormat; aWidth, aHeight: Integer); -var - pImage: pByte; -begin - pImage := AllocMem(aWidth * aHeight * GetFormatSize(Format)); - - SetDataPtr(pImage, Format, aWidth, aHeight); -end; - - -procedure TtsImage.FillColor(Red, Green, Blue, Alpha: Single; ChannelMask: tsBitmask; Modes: TtsImageModes); -//var -// MaskColor: TtsFillcolorData; -//begin -// // prepare mask -// FillChar(MaskColor.Mask, 4, $FF); -// if ChannelMask and TS_CHANNEL_RED = TS_CHANNEL_RED then -// MaskColor.Mask[0] := $00; -// if ChannelMask and TS_CHANNEL_GREEN = TS_CHANNEL_GREEN then -// MaskColor.Mask[1] := $00; -// if ChannelMask and TS_CHANNEL_BLUE = TS_CHANNEL_BLUE then -// MaskColor.Mask[2] := $00; -// if ChannelMask and TS_CHANNEL_ALPHA = TS_CHANNEL_ALPHA then -// MaskColor.Mask[3] := $00; -// -// pCardinal(@MaskColor.Mask[4])^ := pCardinal(@MaskColor.Mask[0])^; -// pCardinal(@MaskColor.Mask[8])^ := pCardinal(@MaskColor.Mask[0])^; -// pCardinal(@MaskColor.Mask[12])^ := pCardinal(@MaskColor.Mask[0])^; -// -// // prepare color -// MaskColor.Color[0] := Round($FF * Red); -// MaskColor.Color[1] := Round($FF * Green); -// MaskColor.Color[2] := Round($FF * Blue); -// MaskColor.Color[3] := Round($FF * Alpha); -// pCardinal(@MaskColor.Color[4])^ := pCardinal(@MaskColor.Color[0])^; -// pCardinal(@MaskColor.Color[8])^ := pCardinal(@MaskColor.Color[0])^; -// pCardinal(@MaskColor.Color[12])^ := pCardinal(@MaskColor.Color[0])^; -// -// // image mode -// FillChar(MaskColor.ModuloMask, 4, $00); -// if (Modes[tsModeRed] = TS_MODE_MODULATE) and (MaskColor.Mask[0] > 0) then -// MaskColor.ModuloMask[0] := $FF; -// if (Modes[tsModeGreen] = TS_MODE_MODULATE) and (MaskColor.Mask[1] > 0) then -// MaskColor.ModuloMask[1] := $FF; -// if (Modes[tsModeBlue] = TS_MODE_MODULATE) and (MaskColor.Mask[2] > 0) then -// MaskColor.ModuloMask[2] := $FF; -// if (Modes[tsModeAlpha] = TS_MODE_MODULATE) and (MaskColor.Mask[3] > 0) then -// MaskColor.ModuloMask[3] := $FF; -// pCardinal(@MaskColor.ModuloMask[4])^ := pCardinal(@MaskColor.ModuloMask[0])^; -// -// // fill with color -// if pCardinal(@MaskColor.ModuloMask[0])^ = 0 then -// Fillcolor_RGBA8(Data, @MaskColor, Width * Height) -// else -// Fillcolor_RGBA8_modulo(Data, @MaskColor, Width * Height); -// -// {$IFNDEF TS_PURE_PASCAL} -//// if supportSSE then -//// Fillcolor_RGBA8_SSE(Data, @MaskColor, Width * Height) -//// else -// {$ENDIF} -// -//// Fillcolor_RGBA8(Data, @MaskColor, Width * Height); -//end; -var - _Red, _Green, _Blue, _Alpha: Byte; - RedFunc, GreenFunc, BlueFunc, AlphaFunc, LuminanceFunc: TtsModeFunc; - - Y, X: Integer; - pPix: PtsColor; - - - procedure AssignFunc(var Func: TtsModeFunc; Mask, Mode: tsEnum); - begin - if ChannelMask and Mask = Mask then begin - if Mode = TS_MODE_MODULATE then - Func := ModeFuncModulate - else - Func := ModeFuncReplace - end else - Func := ModeFuncIgnore - end; - - -begin - _Red := Round($FF * Red); - _Green := Round($FF * Green); - _Blue := Round($FF * Blue); - _Alpha := Round($FF * Alpha); - - AssignFunc(RedFunc, TS_CHANNEL_RED, Modes[tsModeRed]); - AssignFunc(GreenFunc, TS_CHANNEL_GREEN, Modes[tsModeGreen]); - AssignFunc(BlueFunc, TS_CHANNEL_BLUE, Modes[tsModeBlue]); - AssignFunc(AlphaFunc, TS_CHANNEL_ALPHA, Modes[tsModeAlpha]); - AssignFunc(LuminanceFunc, TS_CHANNEL_LUMINANCE, Modes[tsModeLuminance]); - - for Y := 0 to Height - 1 do begin - pPix := ScanLine[Y]; - - for X := 0 to Width - 1 do begin - pPix^.Red := RedFunc (_Red, pPix^.Red); - pPix^.Green := GreenFunc(_Green, pPix^.Green); - pPix^.Blue := BlueFunc (_Blue, pPix^.Blue); - pPix^.Alpha := AlphaFunc(_Alpha, pPix^.Alpha); - - Inc(pPix); - end; - end; -end; - - -procedure TtsImage.FillPattern(Pattern: TtsImage; X, Y: Integer; ChannelMask: tsBitmask; Modes: TtsImageModes); -var - TempX, TempY, RandX, RandY, PosX: Integer; - RedFunc, GreenFunc, BlueFunc, AlphaFunc, LuminanceFunc: TtsModeFunc; - pSrc, pDest: PtsColor; - - - procedure AssignFunc(var Func: TtsModeFunc; Mask, Mode: tsEnum); - begin - if ChannelMask and Mask = Mask then begin - if Mode = TS_MODE_MODULATE then - Func := ModeFuncModulate - else - Func := ModeFuncReplace - end else - Func := ModeFuncIgnore - end; - - -begin - // Pattern position - if X < 0 then - RandX := Random(Pattern.Width) - else - RandX := X; - - if Y < 0 then - RandY := Random(Pattern.Height) - else - RandY := Y; - - AssignFunc(RedFunc, TS_CHANNEL_RED, Modes[tsModeRed]); - AssignFunc(GreenFunc, TS_CHANNEL_GREEN, Modes[tsModeGreen]); - AssignFunc(BlueFunc, TS_CHANNEL_BLUE, Modes[tsModeBlue]); - AssignFunc(AlphaFunc, TS_CHANNEL_ALPHA, Modes[tsModeAlpha]); - AssignFunc(LuminanceFunc, TS_CHANNEL_LUMINANCE, Modes[tsModeLuminance]); - - // Copy data - for TempY := 0 to Height - 1 do begin - pDest := ScanLine[TempY]; - pSrc := Pattern.Scanline[(TempY + RandY) mod Pattern.Height]; - - Inc(pSrc, RandX); - PosX := RandX; - - for TempX := 0 to Width - 1 do begin - if PosX >= Pattern.Width then begin - pSrc := Pattern.Scanline[(TempY + RandY) mod Pattern.Height]; - PosX := 0; - end; - - pDest^.Red := RedFunc (pSrc^.Red, pDest^.Red); - pDest^.Green := GreenFunc(pSrc^.Green, pDest^.Green); - pDest^.Blue := BlueFunc (pSrc^.Blue, pDest^.Blue); - pDest^.Alpha := AlphaFunc(pSrc^.Alpha, pDest^.Alpha); - - Inc(pDest); - Inc(pSrc); - Inc(PosX); - end; - end; -end; - - -procedure TtsImage.FindMinMax(var MinMaxInfo: tsRect); -var - X, Y: Integer; - pPix: PtsColor; -begin - MinMaxInfo.Top := -1; - MinMaxInfo.Left := -1; - MinMaxInfo.Right := -1; - MinMaxInfo.Bottom := -1; - - // Search for MinMax - for Y := 0 to Height -1 do begin - pPix := ScanLine[Y]; - - for X := 0 to Width -1 do begin - if pPix^.Alpha > 0 then begin - if (X < MinMaxInfo.Left) or (MinMaxInfo.Left = -1) then - MinMaxInfo.Left := X; - - if (X+1 > MinMaxInfo.Right) or (MinMaxInfo.Right = -1) then - MinMaxInfo.Right := X +1; - - if (Y < MinMaxInfo.Top) or (MinMaxInfo.Top = -1) then - MinMaxInfo.Top := Y; - - if (Y+1 > MinMaxInfo.Bottom) or (MinMaxInfo.Bottom = -1) then - MinMaxInfo.Bottom := Y +1; - end; - - Inc(pPix); - end; - end; -end; - - -function TtsImage.GetEmpty: Boolean; -begin - Result := fData = nil; -end; - - -function TtsImage.GetFormatSize(Format: TtsFormat): Integer; -begin - case Format of - tsFormatRGBA8: Result := 4; - else - Result := 0; - end; -end; - - -function TtsImage.GetScanLine(Index: Integer): pointer; -begin - if not fScanLinesValid then - UpdateScanLines; - - if (fScanLinesValid) and (Index >= 0) and (Index <= High(fScanLines)) then - Result := fScanLines[Index] - else - Result := nil; -end; - - -procedure TtsImage.LoadFromFile(FileName: PAnsiChar); -var - Surface, ConvSurface: PSDL_Surface; - Format: TSDL_PixelFormat; - - ImageSize: Integer; - Image: pByte; -begin - Surface := IMG_Load(FileName); - - if Surface <> nil then - try - FillChar(Format, SizeOf(TSDL_PixelFormat), 0); - Format.BitsPerPixel := 32; - Format.BytesPerPixel := 4; - Format.RMask := $000000FF; - Format.GMask := $0000FF00; - Format.BMask := $00FF0000; - Format.AMask := $FF000000; - Format.Rshift := 0; - Format.Gshift := 8; - Format.Bshift := 16; - Format.Ashift := 24; - - ConvSurface := SDL_ConvertSurface(Surface, @Format, SDL_SWSURFACE); - if ConvSurface <> nil then - try - // Set Image Size - ImageSize := ConvSurface^.Width * ConvSurface^.Height * 4; - - GetMem(Image, ImageSize); - try - // Copy image - Move(ConvSurface^.pixels^, Image^, ImageSize); - - // Set new Data - SetDataPtr(Image, tsFormatRGBA8, ConvSurface^.Width, ConvSurface^.Height); - except - FreeMem(Image); - end; - finally - SDL_FreeSurface(ConvSurface); - end; - finally - SDL_FreeSurface(Surface); - end; -end; - - -procedure TtsImage.Resize(NewWidth, NewHeight, X, Y: Integer); -var - pImage: PByte; - PixSize, LineSize, ImageSize, OrgLineSize: Integer; - - pSource, pDest: PByte; - YStart, YEnd, YPos, XStart, XEnd: Integer; -begin - if (NewHeight = 0) or (NewWidth = 0) then begin - SetDataPtr(nil); - end else begin - PixSize := GetFormatSize(Format); - LineSize := PixSize * NewWidth; - ImageSize := LineSize * NewHeight; - - OrgLineSize := PixSize * Width; - - GetMem(pImage, ImageSize); - try - FillChar(pImage^, ImageSize, 0); - - // positions - YStart := Max(0, Y); - YEnd := Min(NewHeight, Y + Height); - - XStart := Max(0, X); - XEnd := Min(NewWidth, X + Width); - - // copy data - for YPos := YStart to YEnd -1 do begin - pDest := pImage; - Inc(pDest, LineSize * YPos + PixSize * XStart); - - pSource := fData; - Inc(pSource, OrgLineSize * (YPos - Y) + PixSize * (XStart - X)); - - Move(pSource^, pDest^, (XEnd - XStart) * PixSize); - end; - - // assign - SetDataPtr(pImage, Format, NewWidth, NewHeight); - except - FreeMem(pImage); - end; - end; -end; - - -procedure TtsImage.SetDataPtr(aData: Pointer; aFormat: TtsFormat; aWidth, aHeight: Integer); -begin - fScanLinesValid := False; - - if fData <> nil then - FreeMemory(fData); - - fData := aData; - if fData <> nil then begin - fWidth := aWidth; - fHeight := aHeight; - fFormat := aFormat; - end else begin - fWidth := 0; - fHeight := 0; - fFormat := tsFormatEmpty; - end; -end; - - -procedure TtsImage.UpdateScanLines; -var - Idx, LineSize: Integer; - Temp: pByte; -begin - LineSize := fWidth * GetFormatSize(fFormat); - - SetLength(fScanLines, fHeight); - for Idx := 0 to fHeight -1 do begin - Temp := fData; - Inc(Temp, Idx * LineSize); - - fScanLines[Idx] := Temp; - end; - - fScanLinesValid := True; -end; - - -{ TtsFont } - -procedure TtsFont.AddChar(CharCode: WideChar; Char: TtsChar); -var - Idx1, Idx2: Integer; - Chars: PtsFontCharArray; -begin - Idx1 := Hi(Ord(CharCode)); - Chars := fChars[Idx1]; - - if Chars = nil then begin - New(Chars); - FillChar(Chars^, SizeOf(TtsFontCharArray), 0); - - fChars[Idx1] := Chars; - end; - - if Chars <> nil then begin - Idx2 := Lo(Ord(CharCode)); - Chars^.Chars[Idx2] := Char; - Chars^.CharCount := Chars^.CharCount + 1; - end; -end; - - -procedure TtsFont.ClearChars; -var - Idx1, Idx2: Integer; - Chars: PtsFontCharArray; - - Char: TtsChar; -begin - // iterate first step - for Idx1 := Low(fChars) to High(fChars) do begin - Chars := fChars[Idx1]; - - // iterate second step - if Chars <> nil then begin - for Idx2 := Low(Chars^.Chars) to High(Chars^.Chars) do begin - Char := Chars^.Chars[Idx2]; - - // free char - if Char <> nil then begin - if Char.RendererImageReference <> nil then begin - if fRenderer <> nil then - fRenderer.RemoveImageReference(Char.RendererImageReference); - - Char.RendererImageReference.Free; - end; - - Char.Free; - end; - end; - - // dispose - fChars[Idx1] := nil; - dispose(Chars); - end; - end; -end; - - -constructor TtsFont.Create(Renderer: TtsRenderer; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -begin - inherited Create; - - fRenderer := Renderer; - - fSize := Size; - fStyle := Style; - fFormat := Format; - fAntiAliasing := AntiAliasing; -end; - - -procedure TtsFont.DeleteChar(CharCode: WideChar); -var - Idx1, Idx2: Integer; - Chars: PtsFontCharArray; - Char: TtsChar; -begin - // first step - Idx1 := Hi(Ord(CharCode)); - Chars := fChars[Idx1]; - - if Chars <> nil then begin - // second step - Idx2 := Lo(Ord(CharCode)); - Char := Chars^.Chars[Idx2]; - - if Char <> nil then begin - Chars^.Chars[Idx2] := nil; - Chars^.CharCount := Chars^.CharCount -1; - - // no chars so delete the subpage - if Chars^.CharCount = 0 then begin - fChars[Idx1] := nil; - Dispose(Chars); - end; - - if Char.RendererImageReference <> nil then begin - if fRenderer <> nil then - fRenderer.RemoveImageReference(Char.RendererImageReference); - - Char.RendererImageReference.Free; - end; - - Char.Free; - end; - end; -end; - - -destructor TtsFont.Destroy; -begin - // Chars - ClearChars; - - inherited; -end; - - -function TtsFont.GetChar(CharCode: WideChar): TtsChar; -{$IFDEF TS_PURE_PASCAL} -var - Chars: PtsFontCharArray; -begin - // first step - Chars := fChars[Hi(Ord(CharCode))]; - - // second step - if Chars <> nil then - Result := Chars^.Chars[Lo(Ord(CharCode))] - else - Result := nil; -{$else} -asm - add eax, offset TtsFont.fChars // add offset of fChars to self - - movzx ecx, dh // extract high byte to ecx - mov eax, dword ptr [eax + ecx * 4] // copy array element to eax - - test eax, eax // subarray is empty - jz @@end - - movzx edx, dl // extract lower byte to ed x - mov eax, dword ptr [eax + edx * 4] // copy array element to eax - -@@end: -{$endif} -end; - - -procedure TtsFont.GetTextMetric(var Metric: TtsTextMetric); -begin - Metric.Ascent := Ascent; - Metric.Descent := Descent; - Metric.LineSkip := Ascent + Descent + ExternalLeading; - Metric.LineSkip_with_LineSpace := Metric.LineSkip + LineSpacing; -end; - - -// May be fpc has problems because it's an virtual function -function TtsFont.Validate(CharCode: WideChar): Boolean; -//{$IFDEF TS_PURE_PASCAL} -begin - Result := GetChar(CharCode) <> nil; -//{$else} -//asm -// // self is still in eax -// // charcode is still is edx -// call TtsFont.GetChar -// test eax, eax -// setnz al -//{$endif} -end; - - -{ TtsFontCreator } - -procedure TtsFontCreator.AddChar(CharCode: WideChar); -var - tsChar: TtsChar; - - GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer; - CharImage: TtsImage; -begin - if fCreateChars and (Ord(CharCode) > 0) then begin - tsChar := GetChar(CharCode); - - // Check if the char allready was added - if tsChar = nil then begin - // check if the Char exists in the font - if GetGlyphMetrics(CharCode, GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance) then - if (GlyphOriginX <> 0) or (GlyphOriginY <> 0) or (GlyphWidth <> 0) or (GlyphHeight <> 0) or (Advance <> 0) then begin - // Getting Image of Char - CharImage := TtsImage.Create; - try - if fRenderer.SaveImages then begin - if (GlyphWidth > 0) and (GlyphHeight > 0) then begin - // getting char image - GetCharImage(CharCode, CharImage); - end; - end; - - if (tsStyleUnderline in Style) or (tsStyleStrikeout in Style) then begin - if (CharImage.Width = 0) and (CharImage.Height = 0) then begin - CharImage.CreateEmpty(tsFormatRGBA8, Advance, 1); - GlyphOriginY := 1; - end; - end; - - // Create new Entry for Char - tsChar := TtsChar.Create(CharCode); - tsChar.GlyphOriginX := GlyphOriginX; - tsChar.GlyphOriginY := GlyphOriginY; - tsChar.Advance := Advance; - tsChar.GlyphRect.Left := 0; - tsChar.GlyphRect.Top := 0; - tsChar.GlyphRect.Right := CharImage.Width; - tsChar.GlyphRect.Bottom := CharImage.Height; - - AddChar(CharCode, tsChar); - - if fRenderer.SaveImages then begin - try - // apply underline style - if tsStyleUnderline in Style then - DrawLine(tsChar, CharImage, UnderlinePosition, UnderlineSize); - - // apply strikeout stlye - if tsStyleStrikeout in Style then - DrawLine(tsChar, CharImage, StrikeoutPosition, StrikeoutSize); - except - CharImage.FillColor(1, 0, 0, 0, TS_CHANNELS_RGB, cModesNormal); - end; - - // PostProcessing - DoPostProcess(CharImage, tsChar); - - // Add invisible border for resizing (at last before adding) - if AddResizingBorder then begin - tsChar.HasResizingBorder := True; - - CharImage.AddResizingBorder(tsChar); - end; - - // Add Image to Renderer - tsChar.RendererImageReference := fRenderer.AddImage(tsChar, CharImage); - end; - finally - FreeAndNil(CharImage); - end; - end; - end; - end; -end; - - -function TtsFontCreator.AddPostProcessStep(PostProcessStep: TtsPostProcessStep): TtsPostProcessStep; -begin - Result := PostProcessStep; - - fPostProcessSteps.Add(PostProcessStep); -end; - - -procedure TtsFontCreator.ClearPostProcessSteps; -var - Idx: Integer; -begin - for Idx := fPostProcessSteps.Count -1 downto 0 do - DeletePostProcessStep(Idx); - - fPostProcessSteps.Clear; -end; - - -constructor TtsFontCreator.Create(Renderer: TtsRenderer; Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -begin - inherited Create(Renderer, Size, Style, Format, AntiAliasing); - - fCreateChars := True; - - fPostProcessSteps := TList.Create; -end; - - -procedure TtsFontCreator.DeletePostProcessStep(Index: Integer); -var - Entry: TtsPostProcessStep; -begin - if (Index >= 0) and (Index < fPostProcessSteps.Count) then begin - Entry := fPostProcessSteps[Index]; - Entry.Free; - - fPostProcessSteps.Delete(Index); - end; -end; - - -destructor TtsFontCreator.Destroy; -begin - if fPostProcessSteps <> nil then begin - ClearPostProcessSteps; - FreeAndNil(fPostProcessSteps); - end; - - inherited; -end; - - -procedure TtsFontCreator.DoPostProcess(var CharImage: TtsImage; const tsChar: TtsChar); -var - Idx: Integer; - Entry: TtsPostProcessStep; -begin - if not CharImage.Empty then begin - for Idx := 0 to fPostProcessSteps.Count - 1 do begin - Entry := fPostProcessSteps[Idx]; - - if Entry.IsInRange(tsChar.CharCode) then - Entry.PostProcess(CharImage, tsChar); - end; - end; -end; - - -procedure TtsFontCreator.DrawLine(Char: TtsChar; CharImage: TtsImage; LinePosition, LineSize: Integer); -var - NewWidth, NewHeight, NewPosX, NewPosY, YOffset, Idx: Integer; - - - procedure FillLine(pPix: ptsColor); - var - Idx: Integer; - begin - Idx := NewWidth; - while Idx > 0 do begin - pPix^.Red := $FF; - pPix^.Green := $FF; - pPix^.Blue := $FF; - pPix^.Alpha := $FF; - - Inc(pPix); - Dec(Idx); - end; - end; - -begin - if LineSize <= 0 then - Exit; - - LinePosition := LinePosition - LineSize; - - // calculate width and height - NewWidth := CharImage.Width; - NewPosX := 0; - NewHeight := CharImage.Height; - NewPosY := 0; - - // expand image to the full advance - if Char.Advance > CharImage.Width then - NewWidth := Char.Advance; - - // add glyph position to image width and set position - if Char.GlyphOriginX > Char.GlyphRect.Left then begin - NewWidth := NewWidth + Char.GlyphOriginX; - NewPosX := Char.GlyphOriginX; - end; - - if Char.GlyphOriginX < 0 then - NewWidth := NewWidth - Char.GlyphOriginX; - - // line is under the image - if LinePosition < (Char.GlyphOriginY - CharImage.Height) then - NewHeight := NewHeight + (Char.GlyphOriginY - CharImage.Height - LinePosition); - - // line is above the image - if LinePosition + LineSize > Char.GlyphOriginY then begin - NewPosY := ((LinePosition + LineSize) - Char.GlyphOriginY); - NewHeight := NewHeight + NewPosY; - end; - - // resize - CharImage.Resize(NewWidth, NewHeight, NewPosX, NewPosY); - - // draw lines - YOffset := (Char.GlyphOriginY + NewPosY) - LinePosition; - for Idx := 1 to LineSize do - FillLine(CharImage.ScanLine[YOffset - Idx]); - - // move glyph rect - Char.GlyphRect.Left := Char.GlyphRect.Left + NewPosX; - Char.GlyphRect.Right := Char.GlyphRect.Right + NewPosX; - Char.GlyphRect.Top := Char.GlyphRect.Top + NewPosY; - Char.GlyphRect.Bottom := Char.GlyphRect.Bottom + NewPosY; -end; - - -function TtsFontCreator.GetPostProcessStep(Index: Integer): TtsPostProcessStep; -begin - if (Index >= 0) and (Index < fPostProcessSteps.Count) then - Result := TtsPostProcessStep(fPostProcessSteps[Index]) - else - Result := nil; -end; - - -function TtsFontCreator.GetPostProcessStepCount: Integer; -begin - Result := fPostProcessSteps.Count; -end; - - -function TtsFontCreator.Validate(CharCode: WideChar): Boolean; -begin - Result := Inherited Validate(CharCode); - - // if char wasnt found then create it. - if not Result then begin - AddChar(CharCode); - - // and test for creation - Result := Inherited Validate(CharCode); - end; -end; - - -{ TtsPostProcessStep } - -procedure TtsPostProcessStep.AddUsageChars(Usage: TtsFontProcessStepUsage; Chars: pWideChar); -begin - if Chars <> nil then - while Chars^ <> #0 do begin - AddUsageRange(Usage, Chars^, Chars^); - - Inc(Chars); - end; -end; - - -procedure TtsPostProcessStep.AddUsageRange(Usage: TtsFontProcessStepUsage; - StartChar, EndChar: WideChar); -var - pItem: PtsPostProcessStepRange; -begin - New(pItem); - - pItem^.StartChar := StartChar; - pItem^.EndChar := EndChar; - - case Usage of - tsUInclude: - fIncludeCharRange.Add(pItem); - tsUExclude: - fExcludeCharRange.Add(pItem); - end; -end; - - -procedure TtsPostProcessStep.ClearExcludeRange; -begin - ClearList(fExcludeCharRange); -end; - - -procedure TtsPostProcessStep.ClearIncludeRange; -begin - ClearList(fIncludeCharRange); -end; - - -procedure TtsPostProcessStep.ClearList(List: TList); -var - Idx: Integer; - pItem: PtsPostProcessStepRange; -begin - for Idx := 0 to List.Count - 1 do begin - pItem := List[Idx]; - Dispose(pItem); - end; - - List.Clear; -end; - - -constructor TtsPostProcessStep.Create; -begin - inherited Create; - - fIncludeCharRange := TList.Create; - fExcludeCharRange := TList.Create; -end; - - -destructor TtsPostProcessStep.Destroy; -begin - ClearIncludeRange; - ClearExcludeRange; - - fIncludeCharRange.Free; - fExcludeCharRange.Free; - - inherited; -end; - - -function TtsPostProcessStep.IsInRange(CharCode: WideChar): Boolean; -var - Idx: Integer; - pItem: PtsPostProcessStepRange; -begin - // Look in include range - if fIncludeCharRange.Count <> 0 then begin - Result := False; - - for Idx := 0 to fIncludeCharRange.Count - 1 do begin - pItem := fIncludeCharRange[Idx]; - - if (CharCode >= pItem^.StartChar) and (CharCode <= pItem^.EndChar) then begin - Result := True; - Break; - end; - end; - end else - Result := True; - - // Look in exclude range but only if its included - if Result then begin - for Idx := 0 to fExcludeCharRange.Count - 1 do begin - pItem := fExcludeCharRange[Idx]; - - if (CharCode >= pItem^.StartChar) and (CharCode <= pItem^.EndChar) then begin - Result := False; - Break; - end; - end; - end; -end; - - -{ TtsFontCreatorSDL } - -constructor TtsFontCreatorSDL.Create(Renderer: TtsRenderer; const Filename: AnsiString; Size: Integer; - Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -var - TempStyle: Integer; -begin - inherited Create(Renderer, Size, Style, Format, AntiAliasing); - - // Init SDL_ttf - if (TTF_WasInit = 0) then - if (TTF_Init < 0) then - raise Exception.Create('TtsFontCreator.Create: TTF_Init error'); - - // Create FFT_Font - fSDLFont := TTF_OpenFont(pAnsiChar(Filename), Size); - - // Getting style - SDL_ttf dosn't support it. so we only have normal - fFontFileStyle := TS_STYLE_NORMAL; - - // getting props - Ascent := TTF_FontAscent(fSDLFont); - Descent := -TTF_FontDescent(fSDLFont); - ExternalLeading := TTF_FontLineSkip(fSDLFont) - (Ascent + Descent); - - // SDL_ttf dosn't support it so we must calculate it by our self - UnderlinePosition := - round(Ascent / 8); - if UnderlinePosition > -1 then - UnderlinePosition := -1; - - if tsStyleBold in Style then - UnderlineSize := round(Ascent / 8) - else - UnderlineSize := round(Ascent / 13); - if UnderlineSize < 1 then - UnderlineSize := 1; - - StrikeoutPosition := round(Ascent / 3.5); - if tsStyleBold in Style then - StrikeoutSize := round(Ascent / 14) - else - StrikeoutSize := round(Ascent / 19); - if StrikeoutSize < 1 then - StrikeoutSize := 1; - - FixedWidth := TTF_FontFaceIsFixedWidth(fSDLFont) > 0; - - Copyright := ''; - FaceName := TTF_FontFaceFamilyName(fSDLFont); - StyleName := TTF_FontFaceStyleName(fSDLFont); - FullName := FaceName + #32 + StyleName; - - // Set style - TempStyle := 0; - - if tsStyleBold in Style then - TempStyle := TempStyle or TTF_STYLE_BOLD; - if tsStyleItalic in Style then - TempStyle := TempStyle or TTF_STYLE_ITALIC; -// if tsStyleUnderline in Style then -// TempStyle := TempStyle or TTF_STYLE_UNDERLINE; - - TTF_SetFontStyle(fSDLFont, TempStyle); -end; - - -destructor TtsFontCreatorSDL.Destroy; -begin - // Destroy Font - TTF_CloseFont(fSDLFont); - fSDLFont := nil; - - inherited; -end; - - -procedure TtsFontCreatorSDL.GetCharImage(CharCode: WideChar; const CharImage: TtsImage); -const - WHITE: TSDL_Color = (r: $FF; g: $FF; b: $FF; unused: 0); - BLACK: TSDL_Color = (r: $00; g: $00; b: $00; unused: 0); - -var - CharSurface: PSDL_Surface; - - X, Y, TempWidth: Integer; - pSource: pByte; - pDest: PtsColor; - - - function GetPaletteEntry(Index: Byte): Byte; - begin - Result := 0; - - with CharSurface^.format^ do begin - if palette <> nil then - if (palette^.ncolors > 0) and (Index < palette^.ncolors) then - Result := palette^.colors[Index].r - end; - end; - - -begin - //CharCode: Needs to use an widestring because of #0 endchar - - case AntiAliasing of - tsAANone: - CharSurface := TTF_RenderGlyph_Solid(fSDLFont, Ord(CharCode), WHITE); - tsAANormal: - CharSurface := TTF_RenderGlyph_Shaded(fSDLFont, Ord(CharCode), WHITE, BLACK); - end; - - - if CharSurface <> nil then - try - CharImage.CreateEmpty(fFormat, CharSurface^.Width, CharSurface^.Height); - try - TempWidth := CharSurface^.Width; - if TempWidth mod 4 > 0 then - TempWidth := (TempWidth div 4 + 1) * 4; - - for Y := 0 to CharSurface^.Height - 1 do begin - pDest := CharImage.ScanLine[Y]; - pSource := CharSurface^.Pixels; - Inc(pSource, Y * TempWidth); - - for X := 0 to CharSurface^.Width - 1 do begin - pDest^.Red := $FF; - pDest^.Green := $FF; - pDest^.Blue := $FF; - pDest^.Alpha := GetPaletteEntry(pSource^); - - Inc(pSource); - Inc(pDest); - end; - end; - except - CharImage.Free; - end; - finally - SDL_FreeSurface(CharSurface); - end; -end; - - -function TtsFontCreatorSDL.GetGlyphMetrics(CharCode: WideChar; var GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer): Boolean; -var - MinX, MaxX, MinY, MaxY: Integer; -begin - if fSDLFont <> nil then begin - Result := TTF_GlyphMetrics(fSDLFont, Ord(CharCode), MinX, MaxX, MinY, MaxY, Advance) = 0; - GlyphWidth := MaxX - MinX; - GlyphHeight := MaxY - MinY; - - GlyphOriginX := MinX; - GlyphOriginY := GlyphHeight + MinY; - end - - else - Result := False; -end; - - -{ TtsFontCreatorGDIFontFace } - -constructor TtsFontCreatorGDIFontFace.Create(Renderer: TtsRenderer; const Fontname: AnsiString; - Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -var - Idx: Integer; - LogFont: TLogFontA; - - DC: HDC; - - TableName: Cardinal; - Buffer: Pointer; - BufferSize: Cardinal; - Lang: AnsiString; - - TextMetric: TTextMetricW; - OutTextMetric: TOutlineTextmetricW; -begin - inherited Create (Renderer, Size, Style, Format, AntiAliasing); - - // setting up matrix - FillChar(fMat2, SizeOf(TMat2), $00); - - fMat2.eM11.Value := 1; - fMat2.eM22.Value := 1; - - fFontname := Fontname; - - // Creating Font - FillChar(LogFont, SizeOf(LogFont), 0); - - // name - fFontname := Fontname; - for Idx := 1 to min(Length(Fontname), Length(LogFont.lfFaceName)) do - LogFont.lfFaceName[Idx -1] := Fontname[Idx]; - - // char set - LogFont.lfCharSet := DEFAULT_CHARSET; - - // size -// fPointSize := PointSize; - LogFont.lfHeight := -Size; //-MulDiv(PointSize, GetDeviceCaps(Temp.Canvas.Handle, LOGPIXELSY), 72); - - // style - if tsStyleBold in Style then - LogFont.lfWeight := FW_BOLD - else - LogFont.lfWeight := FW_NORMAL; - - if tsStyleItalic in Style then - LogFont.lfItalic := 1; - - if tsStyleUnderline in Style then - LogFont.lfUnderline := 1; - - // smooth - case AntiAliasing of - tsAANone: - LogFont.lfQuality := NONANTIALIASED_QUALITY; - tsAANormal: - LogFont.lfQuality := ANTIALIASED_QUALITY; -// tsSmoothSmooth: -// begin -// if Smooth = tsSmoothSmooth then -// fMat2.eM11.Value := 3; -// end; - end; - - // create font - fFontHandle := CreateFontIndirectA(LogFont); - - // Getting informations about font - DC := CreateCompatibleDC(0); - try - SelectObject(DC, fFontHandle); - - // find strings in text - TableName := MakeTTTableName('n', 'a', 'm', 'e'); - BufferSize := GetFontData(DC, TableName, 0, nil, 0); - - if BufferSize <> GDI_ERROR then begin - GetMem(Buffer, BufferSize); - try - if GetFontData(DC, TableName, 0, Buffer, BufferSize) <> GDI_ERROR then begin - SetLength(Lang, 4); - GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ILANGUAGE, @Lang[1], 4); - - GetTTString(Buffer, BufferSize, NAME_ID_COPYRIGHT, StrToInt('$' + String(Lang)), fCopyright); - GetTTString(Buffer, BufferSize, NAME_ID_FACE_NAME, StrToInt('$' + String(Lang)), fFaceName); - GetTTString(Buffer, BufferSize, NAME_ID_STYLE_NAME, StrToInt('$' + String(Lang)), fStyleName); - GetTTString(Buffer, BufferSize, NAME_ID_FULL_NAME, StrToInt('$' + String(Lang)), fFullName); - end; - finally - FreeMem(Buffer); - end; - end; - - // Text Metric - GetTextMetricsW(DC, TextMetric); - - Ascent := TextMetric.tmAscent; - Descent := TextMetric.tmDescent; - ExternalLeading := TextMetric.tmExternalLeading; - - DefaultChar := TextMetric.tmDefaultChar; - - // inverse logic of the bit. clear then fixed pitch - FixedWidth := TextMetric.tmPitchAndFamily and TMPF_FIXED_PITCH = 0; - - // style - FontFileStyle := TS_STYLE_NORMAL; - - if TextMetric.tmWeight > 400 then - FontFileStyle := FontFileStyle or TS_STYLE_BOLD; - - if TextMetric.tmItalic > 0 then - FontFileStyle := FontFileStyle or TS_STYLE_ITALIC; - - if TextMetric.tmUnderlined > 0 then - FontFileStyle := FontFileStyle or TS_STYLE_UNDERLINE; - - if TextMetric.tmStruckOut > 0 then - FontFileStyle := FontFileStyle or TS_STYLE_STRIKEOUT; - - // Outline Text Metric - GetOutlineTextMetricsW(DC, SizeOf(OutTextMetric), OutTextMetric); - - UnderlinePosition := OutTextMetric.otmsUnderscorePosition; - UnderlineSize := OutTextMetric.otmsUnderscoreSize; - if UnderlineSize < 1 then - UnderlineSize := 1; - - StrikeoutPosition := OutTextMetric.otmsStrikeoutPosition; - StrikeoutSize := OutTextMetric.otmsStrikeoutSize; - if StrikeoutSize < 1 then - StrikeoutSize := 1; - finally - DeleteDC(DC); - end; -end; - - -destructor TtsFontCreatorGDIFontFace.Destroy; -begin - DeleteObject(fFontHandle); - - inherited; -end; - - -procedure TtsFontCreatorGDIFontFace.GetCharImage(CharCode: WideChar; const CharImage: TtsImage); -var - DC: HDC; -begin - DC := CreateCompatibleDC(0); - try - SelectObject(DC, fFontHandle); - - case AntiAliasing of - tsAANone: - GetCharImageNone(DC, CharCode, CharImage); - tsAANormal: - GetCharImageAntialiased(DC, CharCode, CharImage); - end; - finally - DeleteDC(DC); - end; -end; - - -procedure TtsFontCreatorGDIFontFace.GetCharImageAntialiased(DC: HDC; CharCode: WideChar; const CharImage: TtsImage); -var - Metric: TGlyphMetrics; - pBuffer: Pointer; - Size, OutlineResult: Cardinal; - GlyphIndex: Integer; - X, Y, Height, Width, Spacer: Integer; - pDest: PtsColor; - pSrc: pByte; - - - procedure CopyPixel; - var - Idx: Integer; - Temp, Count: Cardinal; - begin - Count := Min(X, fMat2.eM11.Value); - - Temp := 0; - for Idx := 0 to Count -1 do begin - Temp := Temp + pSrc^; - Inc(pSrc); - end; - - Dec(X, Count); - - pDest^.Red := $FF; - pDest^.Green := $FF; - pDest^.Blue := $FF; - pDest^.Alpha := $FF * Temp div ($40 * Cardinal(fMat2.eM11.Value)); - - Inc(pDest); - end; - - -begin - FillChar(Metric, SizeOf(TGlyphMetrics), $00); - - // Translate Glyphindex - GlyphIndex := GetGlyphIndex(CharCode); - - // size -// if GlyphIndex <> 0 then - Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_GRAY8_BITMAP or GGO_GLYPH_INDEX, @Metric, 0, nil, @fMat2); -// else -// Size := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_GRAY8_BITMAP, Metric, 0, nil, fMat2); - - if (Size <> GDI_ERROR) and (Size <> 0) then begin - GetMem(pBuffer, Size); - try - // glyphdata -// if GlyphIndex <> 0 then - OutlineResult := GetGlyphOutlineA(DC, GlyphIndex, GGO_GRAY8_BITMAP or GGO_GLYPH_INDEX, @Metric, Size, pBuffer, @fMat2); -// else -// OutlineResult := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_GRAY8_BITMAP, Metric, Size, pBuffer, fMat2); - - if OutlineResult <> GDI_ERROR then begin - // Image size - Height := Metric.gmBlackBoxY; - Width := Integer(Metric.gmBlackBoxX) div fMat2.eM11.Value; - if (Integer(Metric.gmBlackBoxX) mod fMat2.eM11.Value) <> 0 then - Width := Width + fMat2.eM11.Value - (Integer(Metric.gmBlackBoxX) mod fMat2.eM11.Value); - - // spacer - if (Metric.gmBlackBoxX mod 4) <> 0 then - Spacer := 4 - (Metric.gmBlackBoxX mod 4) - else - Spacer := 0; - - // copy image - if (Height > 0) and (Width > 0) then begin - CharImage.CreateEmpty(fFormat, Width, Height); - - pSrc := pBuffer; - - for Y := 0 to Height -1 do begin - pDest := CharImage.ScanLine[Y]; - - X := Metric.gmBlackBoxX; - while X > 0 do - CopyPixel; - - if Spacer <> 0 then - Inc(pSrc, Spacer); - end; - end; - end; - finally - FreeMem(pBuffer); - end; - end; -end; - - -procedure TtsFontCreatorGDIFontFace.GetCharImageNone(DC: HDC; CharCode: WideChar; const CharImage: TtsImage); -var - Metric: TGlyphMetrics; - pBuffer: Pointer; - Size, OutlineResult: Cardinal; - GlyphIndex: Integer; - X, Y, Height, Width, SourceX, SourceWidth: Integer; - pDest: PtsColor; - pSrc: pByte; - - - procedure ExpandByte; - var - Idx, Count, SourceCount: Integer; - begin - SourceCount := Min(8, SourceX); - Count := Min(8, X); - - for Idx := 1 to Count do begin - pDest^.Red := $FF; - pDest^.Green := $FF; - pDest^.Blue := $FF; - - if (pSrc^ and $80) > 0 then - pDest^.Alpha := $FF - else - pDest^.Alpha := $00; - - pSrc^ := (pSrc^ and not $80) shl 1; - - Inc(pDest); - end; - - Dec(SourceX, SourceCount); - Dec(X, Count); - end; - - -begin - // fMat2.eM11.Value must be 1 - Assert(fMat2.eM11.Value = 1); - - FillChar(Metric, SizeOf(TGlyphMetrics), $00); - - // Translate Glyphindex - GlyphIndex := GetGlyphIndex(CharCode); - - // size -// if GlyphIndex <> 0 then - Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_BITMAP or GGO_GLYPH_INDEX, @Metric, 0, nil, @fMat2); -// else -// Size := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_BITMAP, Metric, 0, nil, fMat2); - - if (Size <> GDI_ERROR) and (Size <> 0) then begin - GetMem(pBuffer, Size); - try - // glyphdata -// if GlyphIndex <> 0 then - OutlineResult := GetGlyphOutlineA(DC, GlyphIndex, GGO_BITMAP or GGO_GLYPH_INDEX, @Metric, Size, pBuffer, @fMat2); -// else -// OutlineResult := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_BITMAP, Metric, Size, pBuffer, fMat2); - - if OutlineResult <> GDI_ERROR then begin - SourceWidth := (Size div Metric.gmBlackBoxY) * 8; - Width := Metric.gmBlackBoxX; - Height := Metric.gmBlackBoxY; - - // copy image - if (Height > 0) and (Width > 0) then begin - CharImage.CreateEmpty(tsFormatRGBA8, Width, Height); - - pSrc := pBuffer; - - for Y := 0 to Height -1 do begin - pDest := CharImage.ScanLine[Y]; - - // copy data - SourceX := SourceWidth; - X := Width; - while SourceX > 0 do begin - ExpandByte; - - Inc(pSrc); - end; - end; - end; - end; - finally - FreeMem(pBuffer); - end; - end; -end; - - -function TtsFontCreatorGDIFontFace.GetGlyphIndex(CharCode: WideChar): Integer; -var -// ReadRawData: Boolean; - DC: HDC; - GCPRes: TGCPResultsW; -begin - Result := 0; - -// ReadRawData := True; - - DC := CreateCompatibleDC(0); - try - SelectObject(DC, fFontHandle); - - // windows nt - if Addr(GetCharacterPlacementW) <> nil then begin - FillChar(GCPRes, SizeOf(GCPRes), 0); - GetMem(GCPRes.lpGlyphs, SizeOf(Cardinal)); - try - GCPRes.lStructSize := SizeOf(GCPRes); - GCPRes.lpGlyphs^ := 0; - GCPRes.nGlyphs := 1; - - if GetCharacterPlacementW(DC, @CharCode, 1, GCP_MAXEXTENT, @GCPRes, 0) <> GDI_ERROR then begin - if (GCPRes.nGlyphs = 1) and (GCPRes.lpGlyphs <> nil) then begin - Result := GCPRes.lpGlyphs^; - -// ReadRawData := False; - end; - end; - finally - FreeMem(GCPRes.lpGlyphs); - end; - end; - - // windows 9x workaround -// ReadRawData := True; - -// if ReadRawData then begin -// if GetTTUnicodeCharCount(DC) > 0 then -// Result := GetTTUnicodeGlyphIndex(DC, Ord(CharCode)); -// end; - finally - DeleteDC(DC); - end; -end; - - -function TtsFontCreatorGDIFontFace.GetGlyphMetrics(CharCode: WideChar; var GlyphOriginX, GlyphOriginY, GlyphWidth, GlyphHeight, Advance: Integer): Boolean; -var - DC: HDC; - Metric: TGlyphMetrics; - Size: Cardinal; - GlyphIndex: Integer; -begin - Result := False; - - // Set values to 0 - GlyphOriginX := 0; - GlyphOriginY := 0; - GlyphWidth := 0; - GlyphHeight := 0; - Advance := 0; - - // Translate Glyphindex - GlyphIndex := GetGlyphIndex(CharCode); - - DC := CreateCompatibleDC(0); - try - SelectObject(DC, fFontHandle); - - // get value of resulting bitmaps - case AntiAliasing of - tsAANone: begin -// if GlyphIndex <> 0 then - Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_BITMAP or GGO_GLYPH_INDEX, @Metric, 0, nil, @fMat2); -// else -// Size := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_BITMAP, Metric, 0, nil, fMat2); - end; - tsAANormal: begin -// if GlyphIndex <> 0 then - Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_GRAY8_BITMAP or GGO_GLYPH_INDEX, @Metric, 0, nil, @fMat2); -// else -// Size := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_GRAY8_BITMAP, Metric, 0, nil, fMat2); - end; - else - Size := 0; - end; - - // dosn't work so get metric value - if (Size = GDI_ERROR) or (Size = 0) then begin -// if GlyphIndex <> 0 then - Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_METRICS or GGO_GLYPH_INDEX, @Metric, 0, nil, @fMat2); -// else -// Size := GetGlyphOutlineA(DC, Ord(fDefaultChar), GGO_METRICS, Metric, 0, nil, fMat2); - end; - - // we have values? - if (Size <> GDI_ERROR) and (Size > 0) then begin - GlyphOriginX := Round(Metric.gmptGlyphOrigin.X / fMat2.eM11.value); - GlyphOriginY := Metric.gmptGlyphOrigin.Y; - GlyphWidth := Round(Metric.gmBlackBoxX / fMat2.eM11.value); - GlyphHeight := Metric.gmBlackBoxY; - - Advance := Round(Metric.gmCellIncX / fMat2.eM11.value); - - Result := True; - end; - finally - DeleteDC(DC) - end; -end; - - -{ TtsFontCreatorGDIFile } - -constructor TtsFontCreatorGDIFile.Create(Renderer: TtsRenderer; const Filename: AnsiString; - Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -var - FaceName: AnsiString; -begin - // filename - fFileName := StrNew(pAnsiChar(Filename)); - - fFontRegistred := false; - FaceName := ''; - - if GetFaceName(fFilename, FaceName) then - fFontRegistred := RegisterFont(fFilename, False); - - // inherited - inherited Create(Renderer, FaceName, Size, Style, Format, AntiAliasing); -end; - - -destructor TtsFontCreatorGDIFile.Destroy; -begin - inherited; - - // unregister font - if fFontRegistred then - UnRegisterFont(fFilename, False); - - StrDispose(fFileName); -end; - - -function TtsFontCreatorGDIFile.GetFaceName(Filename: PAnsiChar; var Face: AnsiString): boolean; -var - Lang: AnsiString; -begin - SetLength(Lang, 4); - GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ILANGUAGE, @Lang[1], 4); - - Face := GetTTFontFullNameFromFile(Filename, StrToInt('$' + String(Lang))); - - Result := Face <> ''; -end; - - -function TtsFontCreatorGDIFile.RegisterFont(Filename: pAnsiChar; RegisterPublic: Boolean): boolean; -var - Flags: Cardinal; -begin - Result := False; - - // Flags - if not RegisterPublic then - Flags := FR_PRIVATE or FR_NOT_ENUM - else - Flags := 0; - - // AddFontResource - if Addr(AddFontResourceExA) <> nil then - Result := AddFontResourceExA(FileName, Flags, nil) > 0 - else - - if Addr(AddFontResourceA) <> nil then - Result := AddFontResourceA(FileName) > 0; -end; - - -function TtsFontCreatorGDIFile.UnRegisterFont(Filename: pAnsiChar; RegisterPublic: Boolean): boolean; -var - Flags: Cardinal; -begin - Result := False; - - // Flags - if not RegisterPublic then - Flags := FR_PRIVATE or FR_NOT_ENUM - else - Flags := 0; - - // RemoveFontResource - if Addr(RemoveFontResourceExA) <> nil then - Result := RemoveFontResourceExA(FileName, Flags, nil) - else - - if Addr(RemoveFontResourceA) <> nil then - Result := RemoveFontResourceA(FileName); -end; - -{ TtsFontCreatorGDIFile } - -constructor TtsFontCreatorGDIStream.Create(Renderer: TtsRenderer; const Source: TStream; - Size: Integer; Style: TtsFontStyles; Format: TtsFormat; AntiAliasing: TtsAntiAliasing); -var - FaceName: AnsiString; -begin - fFontRegistred := false; - FaceName := ''; - - if GetFaceName(Source, FaceName) then - fFontRegistred := RegisterFont(Source); - - // inherited - inherited Create(Renderer, FaceName, Size, Style, Format, AntiAliasing); -end; - - -destructor TtsFontCreatorGDIStream.Destroy; -begin - inherited; - - // unregister font - if fFontRegistred then - UnRegisterFont(); -end; - - -function TtsFontCreatorGDIStream.GetFaceName(Stream: TStream; var Face: AnsiString): boolean; -var - Lang: AnsiString; -begin - SetLength(Lang, 4); - GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ILANGUAGE, @Lang[1], 4); - - Face := GetTTFontFullNameFromStream(Stream, StrToInt('$' + String(Lang))); - - Result := Face <> ''; -end; - - -function TtsFontCreatorGDIStream.RegisterFont(Data: TStream): boolean; -var - ms: TMemoryStream; - cnt: DWORD; -begin - Result := False; - fHandle := 0; - - ms:= TMemoryStream.Create; - try - ms.CopyFrom(Data, 0); - if Addr(AddFontMemResourceEx)<>nil then - fHandle:= AddFontMemResourceEx(ms.Memory, ms.Size, nil, @cnt); - Result:= fHandle > 0; - finally - ms.Free; - end; -end; - - -function TtsFontCreatorGDIStream.UnRegisterFont(): boolean; -begin - Result := RemoveFontMemResourceEx(fHandle); -end; - -{ TtsRenderer } - -procedure TtsRenderer.BeginBlock(Left, Top, Width, Height: Integer; Flags: tsBitmask); -begin - fisBlock := True; - - fBlockLeft := Left; - fBlockTop := Top; - fBlockWidth := Width; - fBlockHeight := Height; - fFlags := Flags; - - fWordWrap := fFlags and TS_BLOCKFLAG_WORD_WRAP = TS_BLOCKFLAG_WORD_WRAP; -// fSingleLine := fFlags and TS_BLOCKFLAG_SINGLE_LINE = TS_BLOCKFLAG_SINGLE_LINE; - - fLineTop := Top + tsGetParameteri(TS_BLOCK_OFFSET_Y); - fTextOffsetY := 0; - fTextOffsetX := 0; - - with fLinesTemp do begin - New(Lines); - - with Lines^ do begin - NextLine := nil; - LineItemFirst := nil; - LineItemLast := nil; - LineLength := 0; - LineAutoBreak := False; - end; - Empty := True; - end; - - fLinesFirst := nil; - fLinesLast := nil; - - // if font is active add to list - if fActiveFont <> nil then - FontActivate(fActiveFontID); -end; - - -function TtsRenderer.CalculateLinesHeight(pLinesItem: PtsLinesItem): Integer; -var - pLine: PtsLineItem; - Metric: TtsTextMetric; -begin - Result := 0; - - while pLinesItem <> nil do begin - pLine := pLinesItem^.LineItemFirst; - - GetLineMetric(pLine, Metric); - Result := Result + Metric.LineSkip_with_LineSpace; - - pLinesItem := pLinesItem^.NextLine; - end; - - // remove last linespace from the lines - Result := Result - (Metric.LineSkip_with_LineSpace - Metric.LineSkip); -end; - - -procedure TtsRenderer.CalculateWordLength(Font: TtsFont; pWord: PtsLineItem); -var - pTempWord: PWideChar; - Char: TtsChar; - CharSpacing: tsInt; -begin - if pWord^.ItemType in [TS_BLOCK_WORD, TS_BLOCK_SPACE] then begin - CharSpacing := fLastActiveFont.CharSpacing; - - pTempWord := pWord^.Word; - pWord^.WordLength := 0; - - while pTempWord^ <> #0 do begin - // normal char - if Font.Validate(pTempWord^) then - Char := Font.GetChar(pTempWord^) - else - - // default char - if Font.Validate(Font.DefaultChar) then - Char := Font.GetChar(Font.DefaultChar) - else - Char := nil; - - if Char <> nil then begin - pWord^.WordLength := pWord^.WordLength + Char.Advance + CharSpacing; - end; - - Inc(pTempWord); - end; - end; -end; - - -procedure TtsRenderer.Color(Red, Green, Blue, Alpha: Single); -var - LineItem: PtsLineItem; -begin - if isBlock then begin - New(LineItem); - - LineItem^.NextItem := nil; - LineItem^.PrevItem := nil; - LineItem^.ItemType := TS_BLOCK_COLOR; - LineItem^.Red := Red; - LineItem^.Green := Green; - LineItem^.Blue := Blue; - LineItem^.Alpha := Alpha; - - PushLineItem(LineItem); - end else - - begin - DrawSetColor(Red, Green, Blue, Alpha); - end; -end; - - -constructor TtsRenderer.Create(Context: TtsContext); -begin - inherited Create; - - fContext := Context; - - fSaveImages := True; -end; - - -destructor TtsRenderer.Destroy; -begin - if isBlock then - EndBlock; - - inherited; -end; - - -procedure TtsRenderer.DrawLine(pLine: PtsLineItem; LineLength: Integer; LineBreak: Boolean); -var - pText: PWideChar; - Char: TtsChar; - - Metric: TtsTextMetric; - - TempLeft, Temp: Integer; - DrawLeft, SpaceTemp: Single; - DrawAscent, LineSkip: Integer; - - DrawText: Boolean; - - BlockSpaceCount: Integer; - BlockSpaceWidth: Single; - - - function CountSpaces(pLine: PtsLineItem): Integer; - var - pText: PWideChar; - begin - Result := 0; - - while pLine <> nil do begin - case pLine^.ItemType of - TS_BLOCK_SPACE: begin - pText := pLine^.Word; - - // Enumerate Text - while pText^ <> #0 do begin - Inc(Result); - Inc(pText); - end; - end; - end; - - pLine := pLine^.NextItem; - end; - end; - - -begin - if fFlags and TS_BLOCKFLAG_CALC_SIZE > 0 then - Exit; - - BlockSpaceWidth := 0; - DrawLeft := 0; - TempLeft := 0; - - GetLineMetric(pLine, Metric); - - // set drawposition to new baseline - DrawAscent := fLineTop + fTextOffsetY + Metric.Ascent; - - // increment linetop with height of line - LineSkip := Metric.LineSkip; - fLineTop := fLineTop + LineSkip; - - // clipping - DrawText := True; - if fisBlock then begin - if not (fFlags and TS_BLOCKFLAG_NO_CLIP = TS_BLOCKFLAG_NO_CLIP) then begin - case tsGetParameteri(TS_CLIP) of - TS_CLIP_COMPLETE: begin - if (fLineTop + fTextOffsetY < fBlockTop) or - ((fLineTop + fTextOffsetY - LineSkip) > (fBlockTop + fBlockHeight)) then - DrawText := False; - end; - TS_CLIP_BORDER: begin - if ((fLineTop + fTextOffsetY - LineSkip) < fBlockTop) or - (fLineTop + fTextOffsetY > (fBlockTop + fBlockHeight)) then - DrawText := False; - end; - end; - end; - end; - - // TextBlock text alignment - if isBlock then begin - case tsGetParameteri(TS_ALIGN) of - TS_ALIGN_CENTER: - begin - TempLeft := (fBlockWidth div 2) - (LineLength div 2); - end; - TS_ALIGN_RIGHT: - begin - TempLeft := fBlockWidth - LineLength; - end; - TS_ALIGN_BLOCK: begin - if LineBreak then begin - BlockSpaceCount := CountSpaces(pLine); - - if BlockSpaceCount > 0 then - BlockSpaceWidth := (fBlockWidth - LineLength) / BlockSpaceCount; - end; - end; - end; - - DrawSetPosition(fBlockLeft + TempLeft, DrawAscent); - end else - - // Normal text alignment - begin - case tsGetParameteri(TS_ALIGN) of - TS_ALIGN_CENTER: - begin - TempLeft := - (LineLength div 2); - end; - TS_ALIGN_RIGHT: - begin - TempLeft := - LineLength; - end; - end; - - DrawSetPositionRelative(TempLeft, 0); - end; - - DrawSetPositionRelative(tsGetParameteri(TS_BLOCK_OFFSET_X), 0); - - // Enumerate LineItems - while pLine <> nil do begin - case pLine^.ItemType of - TS_BLOCK_FONT: begin - fActiveFont := pLine^.Font; - fActiveFontID := pLine^.FontID; - end; - - TS_BLOCK_COLOR: begin - DrawSetColor(pLine^.Red, pLine^.Green, pLine^.Blue, pLine^.Alpha); - end; - - TS_BLOCK_WORD: begin - if DrawText then begin - if fActiveFont <> nil then begin - pText := pLine^.Word; - - // Enumerate Text - while pText^ <> #0 do begin - // normal char - if fActiveFont.Validate(pText^) then - Char := fActiveFont.GetChar(pText^) - else - - // default char - if fActiveFont.Validate(fActiveFont.DefaultChar) then - Char := fActiveFont.GetChar(fActiveFont.DefaultChar) - else - Char := nil; - - if Char <> nil then begin - DrawSetPositionRelative(Char.GlyphOriginX, -fActiveFont.fBaselineOffset); - DrawChar(fActiveFont, Char); - DrawSetPositionRelative(Char.Advance - Char.GlyphOriginX + fActiveFont.CharSpacing, fActiveFont.fBaselineOffset); - end; - - Inc(pText); - end; - end; - end; - end; - - TS_BLOCK_SPACE: begin - if DrawText then begin - if fActiveFont <> nil then begin - pText := pLine^.Word; - - // Enumerate Text - while pText^ <> #0 do begin - // normal char - if fActiveFont.Validate(pText^) then - Char := fActiveFont.GetChar(pText^) - else - - // default char - if fActiveFont.Validate(fActiveFont.DefaultChar) then - Char := fActiveFont.GetChar(fActiveFont.DefaultChar) - else - Char := nil; - - if Char <> nil then begin - // We have lines so we must repeat the "empty" space - if (tsStyleUnderline in fActiveFont.Style) or (tsStyleStrikeout in fActiveFont.Style) then begin - // width we need to draw - SpaceTemp := Char.Advance + fActiveFont.CharSpacing + BlockSpaceWidth; - // set the position to the normal end. Following we decrease - // these value by the width of the drawn chars. So we get the - // difference of the last drawn space. - DrawLeft := DrawLeft + Char.Advance + fActiveFont.CharSpacing + BlockSpaceWidth; - - Temp := Char.Advance - Char.GlyphOriginX + fActiveFont.CharSpacing; - - while SpaceTemp > 0 do begin - // draw the char - DrawSetPositionRelative(Char.GlyphOriginX, 0); - DrawChar(fActiveFont, Char); - // set the position inside the drawer - DrawSetPositionRelative(Temp, 0); - - // decrease need to draw width - SpaceTemp := SpaceTemp - Temp; - // decrease the drawwidth with the width of the char. - DrawLeft := DrawLeft - Temp; - end; - end else - // no lines so only set the position - DrawLeft := DrawLeft + Char.Advance + fActiveFont.CharSpacing + BlockSpaceWidth; - end; - - Inc(pText); - end; - - DrawSetPositionRelative(Round(DrawLeft), 0); - DrawLeft := DrawLeft - Round(DrawLeft); - end; - end; - end; - - TS_BLOCK_LINEBREAK: begin - - end; -// TS_BLOCK_TAB: begin -// case tsGetParameteri(TS_TAB) of -// TS_TAB_FIXED: -// begin -// Temp := tsGetParameteri(TS_TAB_FIXED_WIDTH); -// -//// if (DrawLeft - fBlockLeft) mod Temp > 0 then -// DrawLeft := (Round(DrawLeft) mod Temp) + Temp; -// end; -// TS_TAB_ABSOLUTE: -// begin -// -// end; -// end; -// end; - end; - - pLine := pLine^.NextItem; - end; -end; - - -procedure TtsRenderer.DrawLines(pLinesItem: PtsLinesItem); -begin - if fFlags and TS_BLOCKFLAG_CALC_SIZE = 0 then begin - while pLinesItem <> nil do begin - DrawLine(pLinesItem^.LineItemFirst, pLinesItem^.LineLength, pLinesItem^.LineAutoBreak); - - pLinesItem := pLinesItem^.NextLine; - end; - end; -end; - - -procedure TtsRenderer.EndBlock; -var - LinesHeight: Integer; - VerticalAlign: tsEnum; -begin - // if temp line exist then push them - with fLinesTemp do begin - if Lines <> nil then - if Lines^.LineItemFirst <> nil then - PushTempLines; - - FreeLines(Lines); - end; - - // if vertical align isn't top - VerticalAlign := tsGetParameteri(TS_VALIGN); - if (VerticalAlign = TS_VALIGN_CENTER) or - (VerticalAlign = TS_VALIGN_BOTTOM) then begin - // calculating height - LinesHeight := CalculateLinesHeight(fLinesFirst); - - // setting offset - case VerticalAlign of - TS_VALIGN_CENTER: - fTextOffsetY := fTextOffsetY + (fBlockHeight div 2 - LinesHeight div 2); - TS_VALIGN_BOTTOM: - fTextOffsetY := fTextOffsetY + (fBlockHeight - LinesHeight); - end; - - // drawing lines - DrawLines(fLinesFirst); - end; - - // Free all lines - FreeLines(fLinesFirst); - fLinesLast := nil; - - fisBlock := False; -end; - - -procedure TtsRenderer.FontActivate(FontID: Cardinal); -var - pLine: PtsLineItem; -begin - if FontID <> 0 then begin - fLastActiveFont := fContext.FontGet(FontID); - fLastActiveFontID := FontID; - end else - fLastActiveFont := nil; - - // if in block then add blockitem - if isBlock then begin - New(pLine); - - pLine^.NextItem := nil; - pLine^.PrevItem := nil; - pLine^.ItemType := TS_BLOCK_FONT; - pLine^.FontID := FontID; - pLine^.Font := fLastActiveFont; - - if pLine^.Font <> nil then - PushLineItem(pLine) - else - Dispose(pLine); - end else - - // activate font - begin - fActiveFontID := FontID; - fActiveFont := fLastActiveFont; - end; -end; - - -procedure TtsRenderer.FreeLines(var pLinesItem: PtsLinesItem); -var - pTemp: PtsLinesItem; -begin - - while pLinesItem <> nil do begin - pTemp := pLinesItem; - - FreeLineItems(pLinesItem^.LineItemFirst); - pLinesItem^.LineItemLast := pLinesItem^.LineItemFirst; - - pLinesItem := pLinesItem^.NextLine; - Dispose(pTemp); - end; -end; - - -procedure TtsRenderer.FreeLineItems(var pLine: PtsLineItem); -var - pTemp: PtsLineItem; -begin - while pLine <> nil do begin - pTemp := pLine; - - case pLine^.ItemType of - TS_BLOCK_WORD, TS_BLOCK_SPACE: - tsStrDispose(pLine^.Word); - end; - - pLine := pLine^.NextItem; - Dispose(pTemp); - end; -end; - - -function TtsRenderer.GetActiveFont: TtsFont; -begin - if fisBlock then - Result := fLastActiveFont - else - Result := fActiveFont; -end; - - -function TtsRenderer.GetActiveFontID: Cardinal; -begin - if fisBlock then - Result := fLastActiveFontID - else - Result := fActiveFontID; -end; - - -procedure TtsRenderer.GetLineMetric(pLine: PtsLineItem; var Metric: TtsTextMetric); -var - Font: TtsFont; - Temp: TtsTextMetric; -begin - // Defaults - Metric.Ascent := 0; - Metric.Descent := 0; - Metric.LineSkip := 0; - Metric.LineSkip_with_LineSpace := 0; - - // calculating lines - Font := fActiveFont; - - while pLine <> nil do begin - case pLine^.ItemType of - TS_BLOCK_FONT: begin - Font := pLine^.Font; - end; - - TS_BLOCK_WORD, TS_BLOCK_SPACE, TS_BLOCK_LINEBREAK: begin - if Font <> nil then begin - Font.GetTextMetric(Temp); - - if Temp.Ascent > Metric.Ascent then - Metric.Ascent := Temp.Ascent; - - if Temp.Descent > Metric.Descent then - Metric.Descent := Temp.Descent; - - if Temp.LineSkip > Metric.LineSkip then - Metric.LineSkip := Temp.LineSkip; - - if Temp.LineSkip_with_LineSpace > Metric.LineSkip_with_LineSpace then - Metric.LineSkip_with_LineSpace := Temp.LineSkip_with_LineSpace; - - // font was handled so we can remove the font to skip the following words. - // because the value only will change if we change the font. - Font := nil; - end; - end; - end; - - pLine := pLine^.NextItem; - end; -end; - - -procedure TtsRenderer.PushTempLines; -begin - TrimSpaces(fLinesTemp.Lines); - - fLinesTemp.Lines^.LineLength := fLinesTemp.Lines^.LineLength - fLastActiveFont.CharSpacing; - - // add after last item - if fLinesFirst <> nil then begin - fLinesLast^.NextLine := fLinesTemp.Lines; - fLinesLast := fLinesTemp.Lines; - end; - - // set first item - if fLinesFirst = nil then begin - fLinesFirst := fLinesTemp.Lines; - fLinesLast := fLinesTemp.Lines; - end; - - // if vertical align is top then draw direktlly - if tsGetParameteri(TS_VALIGN) = TS_VALIGN_TOP then - DrawLine(fLinesLast^.LineItemFirst, fLinesLast^.LineLength, fLinesLast^.LineAutoBreak); - - // create new item - with fLinesTemp do begin - New(Lines); - with Lines^ do begin - NextLine := nil; - LineItemFirst := nil; - LineItemLast := nil; - LineLength := 0; - LineAutoBreak := False; - end; - - Empty := True; - end; -end; - - -procedure TtsRenderer.PushLineItem(pLine: PtsLineItem); -begin - with fLinesTemp do begin - if Lines <> nil then begin - // add after last item - if Lines^.LineItemLast <> nil then begin - pLine^.PrevItem := Lines^.LineItemLast; - Lines^.LineItemLast^.NextItem := pLine; - Lines^.LineItemLast := pLine; - end; - - // set first item - if Lines^.LineItemFirst = nil then begin - Lines^.LineItemFirst := pLine; - Lines^.LineItemLast := pLine; - end; - end; - end; -end; - - -procedure TtsRenderer.SplitIntoLines(pItemList: PtsLineItem); -var - pExtractItem: PtsLineItem; - - - procedure PushWord(pItem: PtsLineItem); - begin - if pItem <> nil then begin - with fLinesTemp.Lines^ do begin - // add after last item - if LineItemLast <> nil then begin - LineItemLast^.NextItem := pItem; - pItem^.PrevItem := LineItemLast; - LineItemLast := pItem; - end; - - // set first item - if LineItemFirst = nil then begin - LineItemFirst := pItem; - LineItemLast := pItem; - end; - end; - end; - end; - - -begin - while pItemList <> nil do begin - // extract word from list - pExtractItem := pItemList; - pItemList := pItemList^.NextItem; - pExtractItem^.NextItem := nil; - pExtractItem^.PrevItem := nil; - - case pExtractItem^.ItemType of - TS_BLOCK_WORD, TS_BLOCK_SPACE: begin - // calculate size - CalculateWordLength(fLastActiveFont, pExtractItem); - - if fWordWrap {and not fSingleLine} then begin - // if line + word is larger than draw width - if fLinesTemp.Lines^.LineLength + pExtractItem^.WordLength > fBlockWidth then begin - fLinesTemp.Lines^.LineAutoBreak := True; - - // if line is empty - if fLinesTemp.Lines^.LineLength = 0 then begin - // ### Split word into multiple lines - PushWord(pExtractItem); - - pExtractItem := nil; - end; // else - - PushTempLines; - end; - end; - - // add extracted word to intern small list - if pExtractItem <> nil then begin - // add word - PushWord(pExtractItem); - - // add Length - fLinesTemp.Lines^.LineLength := fLinesTemp.Lines^.LineLength + pExtractItem^.WordLength; - end; - end; - - TS_BLOCK_LINEBREAK: begin -// if not fSingleLine then begin - PushWord(pExtractItem); - - PushTempLines; -// end; - end; - - TS_BLOCK_TAB: begin - PushWord(pExtractItem); - end; - end; - end; -end; - - -function TtsRenderer.SplitText(pText: PWideChar): PtsLineItem; -var - pLastItem: PtsLineItem; - - State: Integer; - - WordLength: Integer; - pWordBegin: PWideChar; - - - procedure ExtractWord; - var - pWord: PWideChar; - pWordItem: PtsLineItem; - - - procedure AddItem; - begin - // add item to list - if Result <> nil then begin - pLastItem^.NextItem := pWordItem; - pWordItem^.PrevItem := pLastItem; - pLastItem := pWordItem; - end; - - if Result = nil then begin - Result := pWordItem; - pLastItem := pWordItem; - end; - end; - - - begin - if State <> 0 then begin - // Create listitem - New(pWordItem); - pWordItem^.NextItem := nil; - pWordItem^.PrevItem := nil; - pWordItem^.ItemType := State; - - // only if space or text - case State of - TS_BLOCK_WORD, TS_BLOCK_SPACE: begin - pWordItem^.Word := tsStrAlloc(WordLength); - - // copy chars - WordLength := 0; - pWord := pWordItem^.Word; - - while pWordBegin <> pText do begin - pWord^ := pWordBegin^; - - Inc(pWord); - Inc(pWordBegin); - end; - - AddItem; - end; - - TS_BLOCK_LINEBREAK: begin - if pWordBegin <> pText then begin - // Skip Linebreak - while pWordBegin <> pText do - Inc(pWordBegin); - -// if not fSingleLine then begin - AddItem; -// end else - -// begin -// Dispose(pWordItem); -// pWordItem := nil; -// end; - - end else - - begin - Dispose(pWordItem); - pWordItem := nil; - end; - end; - - TS_BLOCK_TAB: begin - AddItem; - end; - end; - end; - end; - - -begin - Result := nil; - pLastItem := nil; - WordLength := 0; - State := 0; - - pWordBegin := pText; - - // look for word breaks - while pText^ <> #0 do begin - case pText^ of - // Tabulator - #$0009: begin - ExtractWord; - Inc(pWordBegin); - State := TS_BLOCK_TAB; - end; - - // line breaks - #$000D, #$000A: begin - if State <> TS_BLOCK_LINEBREAK then - ExtractWord; - - if pWordBegin <> pText then begin - ExtractWord; - Inc(pWordBegin); - end; - - State := TS_BLOCK_LINEBREAK; - end; - - // Spaces - #$0020: begin - if State <> TS_BLOCK_SPACE then begin - ExtractWord; - - State := TS_BLOCK_SPACE; - end; - end; - else - if State <> TS_BLOCK_WORD then begin - ExtractWord; - - State := TS_BLOCK_WORD; - end; - end; - - Inc(pText); - Inc(WordLength); - end; - - // copy last word - if pWordBegin <> pText then - ExtractWord; -end; - - -function TtsRenderer.TextGetDrawHeight: Integer; -var - pLinesItem: PtsLinesItem; - Metric: TtsTextMetric; -begin - Result := 0; - - // all lines - pLinesItem := fLinesFirst; - - while pLinesItem <> nil do begin - GetLineMetric(pLinesItem^.LineItemFirst, Metric); - - Result := Result + Metric.LineSkip_with_LineSpace; - - pLinesItem := pLinesItem^.NextLine; - end; - - // last if we had an templine - if fLinesTemp.Lines <> nil then begin - GetLineMetric(fLinesTemp.Lines^.LineItemFirst, Metric); - - Result := Result + Metric.LineSkip_with_LineSpace; - end; -end; - - -function TtsRenderer.TextGetDrawWidth: Integer; -var - pLinesItem: PtsLinesItem; - Temp: Integer; - {%H-}Font: TtsFont; - - - function IntGetLineWidth(pLine: PtsLineItem): Integer; - begin - Result := 0; - - while pLine <> nil do begin - case pLine^.ItemType of - TS_BLOCK_FONT: begin - Font := pLine^.Font; - end; - - TS_BLOCK_WORD, TS_BLOCK_SPACE: begin - Result := Result + pLine^.WordLength; - end; - end; - - pLine := pLine^.NextItem; - end; - end; - -begin - Result := 0; - - // all lines - Font := fActiveFont; - - pLinesItem := fLinesFirst; - while pLinesItem <> nil do begin - Temp := IntGetLineWidth(pLinesItem^.LineItemFirst); - if Temp > Result then - Result := Temp; - - pLinesItem := pLinesItem^.NextLine; - end; - - // last if we had an templine - if fLinesTemp.Lines <> nil then begin - Temp := IntGetLineWidth(fLinesTemp.Lines^.LineItemFirst); - - if Temp > Result then - Result := Temp; - end; -end; - - -function TtsRenderer.TextGetWidth(pText: pWideChar): Integer; -var - pItemList: PtsLineItem; - pTempItem: PtsLineItem; -begin - Result := 0; - - pItemList := SplitText(pText); - pTempItem := pItemList; - - while pTempItem <> nil do begin - CalculateWordLength(fActiveFont, pTempItem); - Result := Result + pTempItem^.WordLength; - - pTempItem := pTempItem^.NextItem; - end; - - // Free Items - FreeLineItems(pItemList); -end; - - -procedure TtsRenderer.TextOut(pText: pWideChar); -var - pItemList: PtsLineItem; - - pTempItem: PtsLineItem; - TempLength: Integer; -begin - pItemList := SplitText(pText); - - if isBlock then begin - SplitIntoLines(pItemList); - end else - - begin - DrawSetPosition(0, 0); - - // Calculate Word length - TempLength := 0; - pTempItem := pItemList; - - while pTempItem <> nil do begin - CalculateWordLength(fActiveFont, pTempItem); - TempLength := TempLength + pTempItem^.WordLength; - - pTempItem := pTempItem^.NextItem; - end; - - // remove last Char Spacing - TempLength := TempLength - fActiveFont.CharSpacing; - - // if single line is top then set the Position to the baseline - if tsGetParameteri(TS_SINGLE_LINE) = TS_SINGLE_LINE_TOP then - DrawSetPositionRelative(0, fActiveFont.Ascent); - - // draw - DrawLine(pItemList, TempLength, False); - - // Free Items - FreeLineItems(pItemList); - end; -end; - - - -procedure TtsRenderer.TrimSpaces(pLinesItem: PtsLinesItem); -var - pTempLoopItem, pTempItem: PtsLineItem; -begin - if pLinesItem <> nil then begin - // delete all spaces at beginning - while pLinesItem^.LineItemFirst <> nil do begin - if pLinesItem^.LineItemFirst^.ItemType <> TS_BLOCK_SPACE then - Break; - - // save first - pTempItem := pLinesItem^.LineItemFirst; - - // remove first item fromlist - pLinesItem^.LineItemFirst := pLinesItem^.LineItemFirst^.NextItem; - if pLinesItem^.LineItemFirst = nil then - pLinesItem^.LineItemLast := nil - else - pLinesItem^.LineItemFirst^.PrevItem := nil; - - pLinesItem^.LineLength := pLinesItem^.LineLength - pTempItem^.WordLength; - - // dispose item - pTempItem^.NextItem := nil; - FreeLineItems(pTempItem); - end; - - // delete all spaces at the end - while pLinesItem^.LineItemLast <> nil do begin - if pLinesItem^.LineItemLast^.ItemType <> TS_BLOCK_SPACE then - break; - - // save last item - pTempItem := pLinesItem^.LineItemLast; - - // remove last item from list - pLinesItem^.LineItemLast := pLinesItem^.LineItemLast^.PrevItem; - if pLinesItem^.LineItemLast = nil then - pLinesItem^.LineItemFirst := nil - else - pLinesItem^.LineItemLast^.NextItem := nil; - - pLinesItem^.LineLength := pLinesItem^.LineLength - pTempItem^.WordLength; - - // dispose item - FreeLineItems(pTempItem); - end; - - - // delete all spaces until some text comes - pTempLoopItem := pLinesItem^.LineItemFirst; - while pTempLoopItem <> nil do begin - // exit if we have an word - if pTempLoopItem^.ItemType = TS_BLOCK_WORD then - Break; - - pTempItem := pTempLoopItem; - - pTempLoopItem := pTempLoopItem^.NextItem; - - if pTempItem^.ItemType = TS_BLOCK_SPACE then begin - pLinesItem^.LineLength := pLinesItem^.LineLength - pTempItem^.WordLength; - - // set new next/prev - if pTempItem^.NextItem <> nil then - pTempItem^.NextItem^.PrevItem := pTempItem^.PrevItem; - - if pTempItem^.PrevItem <> nil then - pTempItem^.PrevItem^.NextItem := pTempItem^.NextItem; - - // remove item - pTempItem^.PrevItem := nil; - pTempItem^.NextItem := nil; - - FreeLineItems(pTempItem); - end; - end; - - // delete all spaces until some text comes - pTempLoopItem := pLinesItem^.LineItemLast; - while pTempLoopItem <> nil do begin - // exit if we have an word - if pTempLoopItem^.ItemType = TS_BLOCK_WORD then - Break; - - pTempItem := pTempLoopItem; - - pTempLoopItem := pTempLoopItem^.PrevItem; - - if pTempItem^.ItemType = TS_BLOCK_SPACE then begin - pLinesItem^.LineLength := pLinesItem^.LineLength - pTempItem^.WordLength; - - // set new next/prev - if pTempItem^.PrevItem <> nil then - pTempItem^.PrevItem^.NextItem := pTempItem^.NextItem; - - if pTempItem^.NextItem <> nil then - pTempItem^.NextItem^.PrevItem := pTempItem^.PrevItem; - - // remove item - pTempItem^.PrevItem := nil; - pTempItem^.NextItem := nil; - - FreeLineItems(pTempItem); - end; - end; - end; -end; - - -procedure TtsRenderer.CharOut(CharCode: WideChar); -var - tsChar: TtsChar; -begin - tsChar := fActiveFont.GetChar(CharCode); - - if tsChar <> nil then - DrawChar(fActiveFont, tsChar); -end; - - -{ TtsRendererNULL } - -function TtsRendererNULL.AddImage(Char: TtsChar; CharImage: TtsImage): TtsRendererImageReference; -begin - Result := TtsRendererNULLImageReference.Create; - - if fSaveImages then - with TtsRendererNULLImageReference(Result) do begin - Image := TtsImage.Create; - Image.AssignFrom(CharImage); - end; -end; - - -procedure TtsRendererNULL.DrawChar(Font: TtsFont; Char: TtsChar); -begin - // nothing -end; - - -procedure TtsRendererNULL.DrawSetColor(Red, Green, Blue, Alpha: Single); -begin - // nothing -end; - - -procedure TtsRendererNULL.DrawSetPosition(X, Y: Integer); -begin - // nothing -end; - - -procedure TtsRendererNULL.DrawSetPositionRelative(X, Y: Integer); -begin - // nothing -end; - - -procedure TtsRendererNULL.RemoveImageReference(ImageReference: TtsRendererImageReference); -begin - if (ImageReference is TtsRendererNULLImageReference) then - with TtsRendererNULLImageReference(ImageReference) do - if Image <> nil then - Image.Free; -end; - - - -{ TtsRendererOpenGL } - -function TtsRendererOpenGL.AddImage(Char: TtsChar; CharImage: TtsImage): TtsRendererImageReference; -var - Idx: Integer; - TextureEntry: PtsRendererOpenGLTextureEntry; - TextureAdded: Boolean; - - Texture: PtsRendererOpenGLTexture; - CharHeight, CharWidth: Integer; - - W1, H1, TempBorder: Single; -begin - Result := nil; - - if not CharImage.Empty then begin - Result := TtsRendererOpenGLImageReference.Create; - - with TtsRendererOpenGLImageReference(Result) do begin - Coordinates.Top := 0; - Coordinates.Left := 0; - Coordinates.Right := 0; - Coordinates.Bottom := 0; - - TextureAdded := False; - TextureEntry := nil; - - // look if we can add the image to an texture - for Idx := 0 to fTextures.Count - 1 do begin - if AddImageToTexture(fTextures[Idx], CharImage, TexID, Coordinates) then begin - TextureEntry := fTextures[Idx]; - TextureAdded := True; - - Break; - end; - end; - - // could not added so create new texture - if not TextureAdded then begin - TextureEntry := CreateNewTexture; - - AddImageToTexture(TextureEntry, CharImage, TexID, Coordinates); - end; - - // generating coords - if TextureEntry <> nil then begin - Texture := TextureEntry^.Texture; - - if Texture <> nil then begin - with Char do begin - CharHeight := Coordinates.Bottom - Coordinates.Top; - CharWidth := Coordinates.Right - Coordinates.Left; - - // Set Variables for resizing border - if HasResizingBorder then begin - W1 := 1 / Texture^.Width; - H1 := 1 / Texture^.Height; - TempBorder := 2; - end else begin - W1 := 0; - H1 := 0; - TempBorder := 0; - end; - - // Top Left - TexCoords[0].X := Coordinates.Left / Texture^.Width + W1; - TexCoords[0].Y := Coordinates.Top / Texture^.Height + H1; -// Vertex[0].X := - GlyphRect.Left + Size1; -// Vertex[0].Y := - GlyphRect.Top - GlyphOriginY + Size1; - Vertex[0].X := - GlyphRect.Left; - Vertex[0].Y := - GlyphRect.Top - GlyphOriginY; - - // Bottom Left - TexCoords[1].X := Coordinates.Left / Texture^.Width + W1; - TexCoords[1].Y := Coordinates.Bottom / Texture^.Height - H1; -// Vertex[1].X := - GlyphRect.Left + Size1; -// Vertex[1].Y := CharHeight - GlyphRect.Top - GlyphOriginY - Size1; - Vertex[1].X := - GlyphRect.Left; - Vertex[1].Y := CharHeight - GlyphRect.Top - GlyphOriginY - TempBorder; - - // Bottom Right - TexCoords[2].X := Coordinates.Right / Texture^.Width - W1; - TexCoords[2].Y := Coordinates.Bottom / Texture^.Height - H1; -// Vertex[2].X := CharWidth - GlyphRect.Left - Size1; -// Vertex[2].Y := CharHeight - GlyphRect.Top - GlyphOriginY - Size1; - Vertex[2].X := CharWidth - GlyphRect.Left - TempBorder; - Vertex[2].Y := CharHeight - GlyphRect.Top - GlyphOriginY - TempBorder; - - // Top Right - TexCoords[3].X := Coordinates.Right / Texture^.Width - W1; - TexCoords[3].Y := Coordinates.Top / Texture^.Height + H1; -// Vertex[3].X := CharWidth - GlyphRect.Left - Size1; -// Vertex[3].Y := - GlyphRect.Top - GlyphOriginY + Size1; - Vertex[3].X := CharWidth - GlyphRect.Left - TempBorder; - Vertex[3].Y := - GlyphRect.Top - GlyphOriginY; - end; - end; - end; - end; - end; -end; - - -function TtsRendererOpenGL.AddImageToTexture(Texture: PtsRendererOpenGLTextureEntry; Image: TtsImage; var TextureID: Integer; var Coordinates: tsRect): boolean; -var - NeedX, NeedY: Word; - Start: Word; - Y, Y2: Integer; - Managed: PtsRendererOpenGLManagedEntry; - - - function CheckVertical(StartPos, EndPos: Integer): Boolean; - var - TempY: Integer; - TempManaged: PtsRendererOpenGLManagedEntry; - Found: Boolean; - begin - Result := False; - - for TempY := Y +1 to Y + NeedY -1 do begin - TempManaged := Texture^.Lines[TempY]; - - // Überprüfen ob der entsprechende Bereich noch frei ist. - Found := False; - - while TempManaged <> nil do begin - if (TempManaged^.Start <= StartPos) and (TempManaged^.Start + TempManaged^.Count >= EndPos) then - Found := True; - - TempManaged := TempManaged^.NextEntry; - end; - - if not Found then - Exit; - end; - - Result := True; - end; - - -begin - Result := False; - - NeedX := Image.Width shr 1; - if (Image.Width and 1) > 0 then - Inc(NeedX); - - NeedY := Image.Height shr 1; - if (Image.Height and 1) > 0 then - Inc(NeedY); - - // scan for free space - for Y := Low(Texture^.Lines) to High(Texture^.Lines) - NeedY do begin - Managed := Texture^.Lines[Y]; - - while Managed <> nil do begin - if Managed^.Count >= NeedX then begin - if CheckVertical(Managed^.Start, Managed^.Start + NeedX) then begin - Start := Managed^.Start; - - // allocating space - for Y2 := Y to Y + NeedY -1 do - AllocSpace(Texture^.Lines[Y2], Start, NeedX); - - // setting texturecoordinates values - TextureID := Texture^.ID; - - Coordinates.Left := Start shl 1; - Coordinates.Top := Y shl 1; - Coordinates.Right := Coordinates.Left + Image.Width; - Coordinates.Bottom := Coordinates.Top + Image.Height; - - Texture^.Usage := Texture^.Usage + NeedX * NeedY; - - // copy charimage - with Texture^.Texture^ do begin - glBindTexture(GL_TEXTURE_2D, Texture^.Texture^.glTextureID); - glTexSubImage2D(GL_TEXTURE_2D, 0, Coordinates.Left, Coordinates.Top, Image.Width, Image.Height, GL_RGBA, GL_UNSIGNED_BYTE, Image.Data); - end; - - Result := True; - Exit; - end; - end; - - Managed := Managed^.NextEntry; - end; - end; -end; - - -procedure TtsRendererOpenGL.AfterConstruction; -begin - inherited; - - fTextures := TList.Create; - fTextureSize := 256; -end; - - -procedure TtsRendererOpenGL.AllocSpace(var FirstManaged: PtsRendererOpenGLManagedEntry; Start, Count: Word); -var - Managed, TempManaged: PtsRendererOpenGLManagedEntry; - - - procedure RemoveManagedItem(pItem: PtsRendererOpenGLManagedEntry); - var - pTemp, pTemp2: PtsRendererOpenGLManagedEntry; - begin - pTemp := FirstManaged; - - while pTemp <> nil do begin - pTemp2 := pTemp^.NextEntry; - - if pTemp2 = pItem then begin - pTemp^.NextEntry := pItem^.NextEntry; - - Break; - end; - - pTemp := pTemp2; - end; - end; - - -begin - // complete remove of the FIRST item (spezial handling for first item removal.) - if (Start = FirstManaged^.Start) and (Count = FirstManaged^.Count) then begin - TempManaged := FirstManaged; - - FirstManaged := FirstManaged^.NextEntry; - - Dispose(TempManaged); - end else - - // look for matching item - begin - Managed := FirstManaged; - - while Managed <> nil do begin - // matched item? - if (Start >= Managed^.Start) and ((Start + Count) <= (Managed^.Start + Managed^.Count)) then begin - - // cut at start - if (Start = Managed^.Start) then begin - - // remove the whole item - if (Count = Managed^.Count) then begin - RemoveManagedItem(Managed); - - // no need to preserve Managed because we leaving the loop - Dispose(Managed); - end else - - // cut at start - begin - Managed^.Start := Managed^.Start + Count; - Managed^.Count := Managed^.Count - Count; - end; - end else - - // cut at end - if (Start + Count) = (Managed^.Start + Managed^.Count) then begin - Managed^.Count := Managed^.Count - Count; - end else - - // cut in the middle - begin - New(TempManaged); - TempManaged^.NextEntry := Managed^.NextEntry; - Managed^.NextEntry := TempManaged; - - TempManaged^.Start := Start + Count; - TempManaged^.Count := (Managed^.Start + Managed^.Count) - TempManaged^.Start; - - Managed^.Count := Start - Managed^.Start; - end; - - // we found an item so leave the loop - Break; - end; - - Managed := Managed^.NextEntry; - end; - end; -end; - - -procedure TtsRendererOpenGL.BeforeDestruction; -begin - ClearTextures; - fTextures.Free; - - inherited; -end; - - -procedure TtsRendererOpenGL.BeginBlock(Left, Top, Width, Height: Integer; Flags: tsBitmask); -begin - fPos.X := 0; - fPos.Y := 0; - - inherited; -end; - - -procedure TtsRendererOpenGL.ClearTextures; -var - Idx: Integer; -begin - // Disposing items - for Idx := fTextures.Count - 1 downto 0 do - DeleteTexture(Idx); - - // Clear list - fTextures.Clear; -end; - - -function TtsRendererOpenGL.CreateNewTexture: PtsRendererOpenGLTextureEntry; -var - Idx: Integer; -begin - New (Result); - with Result^ do begin - ID := fTextures.Add(Result); - Usage := 0; - - // create opengl texture - New(Texture); - with Texture^ do begin - Width := TextureSize; - Height := TextureSize; - - glGenTextures(1, @glTextureID); - glBindTexture(GL_TEXTURE_2D, glTextureID); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TextureSize, TextureSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, nil); - end; - - // initiale memory manager value - SetLength(Lines, Texture^.Height shr 1); - - for Idx := Low(Lines) to High(Lines) do begin - New(Lines[Idx]); - Lines[Idx]^.NextEntry := nil; - Lines[Idx]^.Start := 0; - Lines[Idx]^.Count := Texture^.Width shr 1; - end; - end; -end; - - -procedure TtsRendererOpenGL.DeleteTexture(Idx: Integer); -var - pItem: PtsRendererOpenGLTextureEntry; - - LineIdx: Integer; - pManaged, pTempManaged: PtsRendererOpenGLManagedEntry; -begin - pItem := fTextures[Idx]; - - fTextures.Delete(Idx); - - if pItem <> nil then begin - with pItem^ do begin - // Free opengl texture - if Texture <> nil then begin - glDeleteTextures(1, @(Texture^.glTextureID)); - - Dispose(Texture); - end; - - // free lines - for LineIdx := Low(Lines) to High(Lines) do begin - pManaged := Lines[LineIdx]; - Lines[LineIdx] := nil; - - while pManaged <> nil do begin - pTempManaged := pManaged; - pManaged := pManaged^.NextEntry; - - Dispose(pTempManaged); - end; - end; - - SetLength(Lines, 0); - end; - - Dispose(pItem); - end; -end; - - -procedure TtsRendererOpenGL.DrawChar(Font: TtsFont; Char: TtsChar); -var - Texture: PtsRendererOpenGLTexture; - TempVertex: tsQuadFloat; -begin - if Char.RendererImageReference <> nil then begin - with Char.RendererImageReference as TtsRendererOpenGLImageReference do begin - Texture := GetTextureByID(TexID); - - if Texture <> nil then begin - glBindTexture(GL_TEXTURE_2D, Texture^.glTextureID); - glEnable(GL_TEXTURE_2D); - - // calculate new quad - TranslateQuad(TempVertex, Vertex, fPos); - - glBegin(GL_QUADS); - glTexCoord2fv(@TexCoords[0]); - glVertex2fv(@TempVertex[0]); - - glTexCoord2fv(@TexCoords[1]); - glVertex2fv(@TempVertex[1]); - - glTexCoord2fv(@TexCoords[2]); - glVertex2fv(@TempVertex[2]); - - glTexCoord2fv(@TexCoords[3]); - glVertex2fv(@TempVertex[3]); - glEnd; - - // if debug is enabled - if fContext.gDebugDrawCharRects then begin - glDisable(GL_TEXTURE_2D); - - // image Rect - glColor4f(0, 1, 0, 0.1); - glBegin(GL_QUADS); - glVertex2fv(@TempVertex[0]); - glVertex2fv(@TempVertex[1]); - glVertex2fv(@TempVertex[2]); - glVertex2fv(@TempVertex[3]); - glEnd; - - // glyph rect - glColor4f(1, 0, 0, 0.1); - glBegin(GL_QUADS); - glVertex2f(TempVertex[0].X + Char.GlyphRect.Left, TempVertex[0].Y + Char.GlyphRect.Top); - glVertex2f(TempVertex[0].X + Char.GlyphRect.Left, TempVertex[0].Y + Char.GlyphRect.Bottom); - glVertex2f(TempVertex[0].X + Char.GlyphRect.Right, TempVertex[0].Y + Char.GlyphRect.Bottom); - glVertex2f(TempVertex[0].X + Char.GlyphRect.Right, TempVertex[0].Y + Char.GlyphRect.Top); - glEnd; - - // baseline - glColor4f(0, 0, 1, 0.25); - glBegin(GL_LINES); - glVertex2f(TempVertex[0].X, 0); - glVertex2f(TempVertex[2].X, 0); - glEnd; - - glColor4f(1, 1, 1, 1); - end; - end; - end; - end; -end; - - -procedure TtsRendererOpenGL.DrawSetColor(Red, Green, Blue, Alpha: Single); -begin - glColor4f(Red, Green, Blue, Alpha); -end; - - -procedure TtsRendererOpenGL.DrawSetPosition(X, Y: Integer); -begin - fPos.X := X; - fPos.Y := Y; -end; - - -procedure TtsRendererOpenGL.DrawSetPositionRelative(X, Y: Integer); -begin - DrawSetPosition(fPos.X + X, fPos.Y + Y); -end; - - -procedure TtsRendererOpenGL.FreeSpace(var FirstManaged: PtsRendererOpenGLManagedEntry; Start, Count: Word); -var - Last, Managed, Temp: PtsRendererOpenGLManagedEntry; - AddItem: Boolean; -begin - // if we have no space we can add item directly - if FirstManaged = nil then begin - New(Temp); - Temp^.Start := Start; - Temp^.Count := Count; - Temp^.NextEntry := nil; - - FirstManaged := Temp; - end else - - // Special handling for first Item - if Start + Count < FirstManaged^.Start then begin - New(Temp); - Temp^.Start := Start; - Temp^.Count := Count; - Temp^.NextEntry := FirstManaged; - - FirstManaged := Temp; - end else - - begin - Managed := FirstManaged; - Last := nil; - - while Managed <> nil do begin - // block is in front of another - if Start + Count = Managed^.Start then begin - Managed^.Start := Managed^.Start - Count; - Managed^.Count := Managed^.Count + Count; - - if Last <> nil then begin - if Last^.Start + Last^.Count = Managed^.Start then begin - // Remove Item - Last^.Count := Last^.Count + Managed^.Count; - Last^.NextEntry := Managed^.NextEntry; - - Dispose(Managed); - end; - end; - - Break; - end else - - // block is behind another - if Start = Managed^.Start + Managed^.Count then begin - Managed^.Count := Managed^.Count + Count; - - Temp := Managed^.NextEntry; - if Temp <> nil then begin - if Managed^.Start + Managed^.Count = Temp^.Start then begin - // Remove Item - Managed^.Count := Managed^.Count + Temp^.Count; - Managed^.NextEntry := Temp^.NextEntry; - - Dispose(Temp); - end; - end; - - Break; - end else - - // the block dosn't border an other so we must create some other - begin - AddItem := False; - - if not (Managed^.NextEntry <> nil) then - AddItem := True - else - - if (Managed^.Start + Managed^.Count < Start) and (Managed^.NextEntry^.Start > Start + Count) then - AddItem := True; - - if AddItem then begin - New(Temp); - Temp^.Start := Start; - Temp^.Count := Count; - Temp^.NextEntry := Managed^.NextEntry; - Managed^.NextEntry := Temp; - - Break; - end; - end; - - Last := Managed; - Managed := Managed^.NextEntry; - end; - end; -end; - - -function TtsRendererOpenGL.GetTextureByID(ID: Integer): PtsRendererOpenGLTexture; -var - Idx: Integer; - pTexture: PtsRendererOpenGLTextureEntry; -begin - Result := nil; - - for Idx := 0 to fTextures.Count - 1 do begin - pTexture := fTextures[Idx]; - - if pTexture <> nil then - if pTexture^.ID = ID then begin - Result := pTexture^.Texture; - Break; - end; - end; -end; - - - -procedure TtsRendererOpenGL.RemoveImageReference(ImageReference: TtsRendererImageReference); -var - OpenGLRef: TtsRendererOpenGLImageReference; - pItem: PtsRendererOpenGLTextureEntry; - - Idx, TempIdx: Integer; - TempWidth, TempHeight: Integer; - NeedX, NeedY: Integer; - LinesY, TempX, TempY: Integer; -begin - OpenGLRef := TtsRendererOpenGLImageReference(ImageReference); - - // freeing texture - for Idx := 0 to fTextures.Count - 1 do begin - pItem := fTextures[Idx]; - - if pItem <> nil then begin - if pItem^.ID = OpenGLRef.TexID then begin - TempWidth := OpenGLRef.Coordinates.Right - OpenGLRef.Coordinates.Left; - TempHeight := OpenGLRef.Coordinates.Bottom - OpenGLRef.Coordinates.Top; - - with pItem^ do begin - // calc size - NeedX := TempWidth shr 1; - if (TempWidth and 1) > 0 then - Inc(NeedX); - - NeedY := TempHeight shr 1; - if (TempHeight and 1) > 0 then - Inc(NeedY); - - TempY := OpenGLRef.Coordinates.Top shr 1; - TempX := OpenGLRef.Coordinates.Left shr 1; - - Usage := Usage - NeedX * NeedY; - - Assert(Usage >= 0); - - // Points - for LinesY := 0 to NeedY - 1 do - FreeSpace(Lines[TempY + LinesY], TempX, NeedX); - - // freeing opengltexture - if Usage = 0 then begin - for TempIdx := 0 to fTextures.Count - 1 do begin - if PtsRendererOpenGLTextureEntry(fTextures[TempIdx])^.ID = pItem^.ID then begin - DeleteTexture(TempIdx); - - Break; - end; - end; - end; - end; - - Break; - end; - end; - end; -end; - - -{ TtsContext } - -function TtsContext.AnsiToWide(pText: pAnsiChar): pWideChar; - - function GetDefaultChar: WideChar; - begin - Result := #0; - - if tsGetParameteri(TS_EMPTY_CP_ENTRY) = TS_EMPTY_CP_ENTRY_USE_DEFAULT then - if ActiveFont <> nil then - Result := ActiveFont.DefaultChar; - end; - -begin - Result := nil; - - // UTF-8 - if gCodePage = TS_CODEPAGE_UTF8 then begin - Result := tsStrAlloc(Length(pText)); - tsAnsiUTF8ToWide(Result, pText, GetDefaultChar); - end else - - // ISO 8859-1 - if gCodePage = TS_CODEPAGE_8859_1 then begin - Result := tsStrAlloc(Length(pText)); - tsAnsiISO_8859_1_ToWide(Result, pText); - end else - - // single or double byte CodePage - begin - if (Addr(gCodePageFunc) <> nil) and (gCodePagePtr <> nil) then begin - Result := tsStrAlloc(Length(pText)); - gCodePageFunc(Result, pText, gCodePagePtr, GetDefaultChar); - end; - end; -end; - - -procedure TtsContext.ClearFonts; -var - List: TList; - Idx: Integer; - pItem: PtsContextFontEntry; -begin - List := TList.Create; - try - fFonts.GetValues(List); - fFonts.Clear; - - for Idx := 0 to List.Count - 1 do begin - pItem := List[Idx]; - - pItem^.Font.Free; - Dispose(pItem); - end; - finally - List.Free; - end; -end; - - -procedure TtsContext.ClearImages; -var - List: TList; - Idx: Integer; - pItem: PtsContextImageEntry; -begin - List := TList.Create; - try - fImages.GetValues(List); - fImages.Clear; - - for Idx := 0 to List.Count - 1 do begin - pItem := List[Idx]; - - pItem^.Image.Free; - Dispose(pItem); - end; - finally - List.Free; - end; -end; - - -constructor TtsContext.Create; -begin - inherited; - - Inc(gLastContextID); - fContextID := gLastContextID; - - // hashes - fFonts := TtsHash.Create(127); - fImages := TtsHash.Create(127); - - // defaults - gEmptyCodePageEntry := TS_EMPTY_CP_ENTRY_USE_DEFAULT; - gCodePage := TS_CODEPAGE_8859_1; - gCodePagePtr := nil; //@CP_8859_1; - gCodePageFunc := nil; //tsAnsiSBCDToWide; - - gGlobalFormat := TS_FORMAT_RGBA8; - gGlobalAntiAliasing := TS_ANTIALIASING_NORMAL; - - gSingleLine := TS_SINGLE_LINE_BASELINE; - gAlign := TS_ALIGN_LEFT; - gVAlign := TS_VALIGN_TOP; - gClip := TS_CLIP_COMPLETE; - - gImageMode[tsModeRed] := TS_MODE_REPLACE; - gImageMode[tsModeGreen] := TS_MODE_REPLACE; - gImageMode[tsModeBlue] := TS_MODE_REPLACE; - gImageMode[tsModeAlpha] := TS_MODE_MODULATE; - gImageMode[tsModeLuminance] := TS_MODE_REPLACE; - - gImageLibrary := 0; -end; - - -destructor TtsContext.Destroy; -begin - ClearFonts; - fFonts.Free; - - ClearImages; - fImages.Free; - - if Renderer <> nil then - Renderer.Free; - - inherited; -end; - - -function TtsContext.FontAdd(Font: TtsFont): Cardinal; -var - Entry: PtsContextFontEntry; -begin - New(Entry); - - Inc(fLastFontID); - - Entry^.FontID := fLastFontID; - Entry^.Font := Font; - - fFonts.Add(fLastFontID, Entry); - - Result := fLastFontID; -end; - - -function TtsContext.FontCount: Cardinal; -begin - Result := fFonts.Count; -end; - - -procedure TtsContext.FontDelete(Font: Cardinal); -var - Entry: PtsContextFontEntry; -begin - if fLastFontID = Font then - Renderer.FontActivate(0); - - Entry := fFonts.Get(Font); - - if Entry <> nil then begin - fFonts.Delete(Entry^.FontID); - - Dispose(Entry); - end; -end; - - -function TtsContext.FontGet(Font: Cardinal): TtsFont; -var - Entry: PtsContextFontEntry; -begin - Entry := fFonts.Get(Font); - - if Entry <> nil then - Result := Entry^.Font - else - Result := nil; -end; - - -function TtsContext.GetActiveFont: TtsFont; -begin - Result := nil; - - if Renderer <> nil then - Result := Renderer.ActiveFont; -end; - - -function TtsContext.GetIsLocked: boolean; -begin - if Renderer <> nil then - Result := Renderer.isBlock - else - Result := False; -end; - - -function TtsContext.ImageAdd(Image: TtsImage): Cardinal; -var - Entry: PtsContextImageEntry; -begin - New(Entry); - - Inc(fLastImageID); - - Entry^.ImageID := fLastImageID; - Entry^.Image := Image; - - fImages.Add(fLastImageID, Entry); - - Result := fLastImageID; -end; - - -function TtsContext.ImageCount: Cardinal; -begin - Result := fImages.Count; -end; - - -procedure TtsContext.ImageDelete(Image: Cardinal); -var - Entry: PtsContextImageEntry; -begin - Entry := fImages.Get(Image); - - if Entry <> nil then begin - fImages.Delete(Entry^.ImageID); - - Dispose(Entry); - end; -end; - - -function TtsContext.ImageGet(Image: Cardinal): TtsImage; -var - Entry: PtsContextImageEntry; -begin - Entry := fImages.Get(Image); - - if Entry <> nil then - Result := Entry^.Image - else - Result := nil; -end; - -end. diff --git a/old/TextSuiteImports.pas b/old/TextSuiteImports.pas deleted file mode 100644 index f071897..0000000 --- a/old/TextSuiteImports.pas +++ /dev/null @@ -1,867 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$I TextSuiteOptions.inc} - -unit TextSuiteImports; - -interface - -uses - TextSuite; - -type - DWORD = Cardinal; - PDWORD = ^DWORD; - - -// *** Global Functions *** -{$IFDEF WINDOWS} -const - Kernel32 = 'kernel32.dll'; - - function LoadLibrary(lpFileName: pAnsiChar): Pointer; stdcall; external Kernel32 name 'LoadLibraryA'; - function FreeLibrary(hModule: Pointer): Pointer; stdcall; external Kernel32 name 'FreeLibrary'; - function GetProcAddress(hModule: Pointer; lpProcName: pAnsiChar): Pointer; stdcall; external Kernel32 name 'GetProcAddress'; -{$ELSE} -const - LibraryLib = {$IFDEF Linux} 'libdl.so.2'{$ELSE} 'c'{$ENDIF}; - - RTLD_LAZY = $001; - - function dlopen(Name: pAnsiChar; Flags: LongInt): Pointer; cdecl; external LibraryLib name 'dlopen'; - function dlclose(Lib: Pointer): LongInt; cdecl; external LibraryLib name 'dlclose'; - function dlsym(Lib: Pointer; Name: pAnsiChar): Pointer; cdecl; external LibraryLib name 'dlsym'; -{$ENDIF} - - -{$IFDEF WINDOWS} - function GetCurrentThreadId: DWORD; stdcall; external Kernel32 name 'GetCurrentThreadId'; -{$ENDIF} - - - -// *** OpenGL *** -function Init_OpenGL: Boolean; -procedure Quit_OpenGL; - -const - {$IFDEF WINDOWS} - LIB_OPENGL = 'opengl32.dll'; - {$ELSE} - LIB_OPENGL = 'libGL.so.1'; - {$ENDIF} - - GL_TEXTURE_2D = $0DE1; - GL_RGBA = $1908; - GL_UNSIGNED_BYTE = $1401; - GL_NEAREST = $2600; - GL_LINEAR = $2601; - GL_TEXTURE_MAG_FILTER = $2800; - GL_TEXTURE_MIN_FILTER = $2801; - - GL_LINES = $0001; - GL_QUADS = $0007; - - GL_COMPILE = $1300; - - -var - OpenGL_initialized: Boolean; - Library_OpenGL: Pointer; - - glEnable: procedure(cap: Cardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glDisable: procedure(cap: Cardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - - glColor4f: procedure(red, green, blue, alpha: Single); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - - glGenTextures: procedure(n: Integer; textures: PCardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glDeleteTextures: procedure(n: Integer; const textures: PCardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glBindTexture: procedure(target: Cardinal; texture: Cardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glTexParameteri: procedure(target: Cardinal; pname: Cardinal; param: Integer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glTexImage2D: procedure(target: Cardinal; level: Integer; internalformat: Integer; width: Integer; height: Integer; border: Integer; format: Cardinal; _type: Cardinal; const pixels: Pointer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glTexSubImage2D: procedure(target: Cardinal; level: Integer; xoffset: Integer; yoffset: Integer; width: Integer; height: Integer; format: Cardinal; _type: Cardinal; const pixels: Pointer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - - glBegin: procedure(mode: Cardinal); {$IFNDEF CLR}{$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF}{$ENDIF} - glEnd: procedure(); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glTexCoord2f: procedure(s: Single; t: Single); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glTexCoord2fv: procedure(v: Pointer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glVertex2f: procedure(x: Single; y: Single); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glVertex2fv: procedure(v: Pointer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glVertex2iv: procedure(v: Pointer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - - glGenLists: function(range: Integer): Cardinal; {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glDeleteLists: procedure(list: Cardinal; range: Integer); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glCallList: procedure(list: Cardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glNewList: procedure(list: Cardinal; mode: Cardinal); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - glEndList: procedure(); {$IFDEF WINDOWS}stdcall; {$ELSE}cdecl; {$ENDIF} - - - -// *** Windows GDI *** -function Init_GDI: Boolean; -procedure Quit_GDI; - -type - HDC = Cardinal; - HFONT = Cardinal; - HGDIOBJ = Cardinal; - - {$IFDEF CPU64} - {$PACKRECORDS 8} - {$ENDIF} - - TFixed = packed record - fract: Word; - value: Smallint; - end; - - TMat2 = packed record - eM11: TFixed; - eM12: TFixed; - eM21: TFixed; - eM22: TFixed; - end; - PMat2 = ^TMat2; - - TLogFontA = record - lfHeight: Longint; - lfWidth: Longint; - lfEscapement: Longint; - lfOrientation: Longint; - lfWeight: Longint; - lfItalic: Byte; - lfUnderline: Byte; - lfStrikeOut: Byte; - lfCharSet: Byte; - lfOutPrecision: Byte; - lfClipPrecision: Byte; - lfQuality: Byte; - lfPitchAndFamily: Byte; - lfFaceName: array[0..31] of AnsiChar; - end; - PLogFontA = ^TLogFontA; - - TTextMetricW = record - tmHeight: Longint; - tmAscent: Longint; - tmDescent: Longint; - tmInternalLeading: Longint; - tmExternalLeading: Longint; - tmAveCharWidth: Longint; - tmMaxCharWidth: Longint; - tmWeight: Longint; - tmOverhang: Longint; - tmDigitizedAspectX: Longint; - tmDigitizedAspectY: Longint; - tmFirstChar: WideChar; - tmLastChar: WideChar; - tmDefaultChar: WideChar; - tmBreakChar: WideChar; - tmItalic: Byte; - tmUnderlined: Byte; - tmStruckOut: Byte; - tmPitchAndFamily: Byte; - tmCharSet: Byte; - end; - PTextMetricW = ^TTextMetricW; - - TGlyphMetrics = record - gmBlackBoxX: Cardinal; - gmBlackBoxY: Cardinal; - gmptGlyphOrigin: tsPoint; - gmCellIncX: Smallint; - gmCellIncY: Smallint; - end; - PGlyphMetrics = ^TGlyphMetrics; - - TGCPResultsW = record - lStructSize: DWORD; - lpOutString: PWideChar; - lpOrder: PDWORD; - lpDx: PInteger; - lpCaretPos: PInteger; - lpClass: PChar; - lpGlyphs: PCardinal; - nGlyphs: Cardinal; - nMaxFit: Cardinal; - end; - PGCPResultsW = ^TGCPResultsW; - - TPanose = record - bFamilyType: Byte; - bSerifStyle: Byte; - bWeight: Byte; - bProportion: Byte; - bContrast: Byte; - bStrokeVariation: Byte; - bArmStyle: Byte; - bLetterform: Byte; - bMidline: Byte; - bXHeight: Byte; - end; - PPanose = ^TPanose; - - TOutlineTextmetricW = record - otmSize: LongWord; - otmTextMetrics: TTextMetricW; - otmFiller: Byte; - otmPanoseNumber: TPanose; - otmfsSelection: LongWord; - otmfsType: LongWord; - otmsCharSlopeRise: Integer; - otmsCharSlopeRun: Integer; - otmItalicAngle: Integer; - otmEMSquare: LongWord; - otmAscent: Integer; - otmDescent: Integer; - otmLineGap: LongWord; - otmsCapEmHeight: LongWord; - otmsXHeight: LongWord; - otmrcFontBox: tsRect; - otmMacAscent: Integer; - otmMacDescent: Integer; - otmMacLineGap: LongWord; - otmusMinimumPPEM: LongWord; - otmptSubscriptSize: tsPoint; - otmptSubscriptOffset: tsPoint; - otmptSuperscriptSize: tsPoint; - otmptSuperscriptOffset: tsPoint; - otmsStrikeoutSize: LongWord; - otmsStrikeoutPosition: Integer; - otmsUnderscoreSize: Integer; - otmsUnderscorePosition: Integer; - otmpFamilyName: PWideChar; - otmpFaceName: PWideChar; - otmpStyleName: PWideChar; - otmpFullName: PWideChar; - end; - POutlineTextmetricW = ^TOutlineTextmetricW; - - {$IFDEF CPU64} - {$PACKRECORDS 4} - {$ENDIF} - -const - LIB_GDI32 = 'gdi32.dll'; - LIB_KERNEL32 = 'kernel32.dll'; - - GDI_ERROR = DWORD($FFFFFFFF); - - FW_NORMAL = 400; - FW_BOLD = 700; - - DEFAULT_CHARSET = 1; - - NONANTIALIASED_QUALITY = 3; - ANTIALIASED_QUALITY = 4; - - GGO_METRICS = 0; - GGO_BITMAP = 1; - GGO_GRAY8_BITMAP = 6; - GGO_GLYPH_INDEX = $80; - - FR_PRIVATE = $10; - FR_NOT_ENUM = $20; - - LOCALE_USER_DEFAULT = $0400; - LOCALE_ILANGUAGE = $1; - - GCP_MAXEXTENT = $100000; - - TMPF_FIXED_PITCH = 1; - - -var - GDI_initialized: Boolean; - Library_GDI32: Pointer; - Library_KERNEL32: Pointer; - - CreateFontIndirectA: function (const p1: TLogFontA): HFONT; stdcall; - - AddFontResourceA: function(Filename: PAnsiChar): Integer; stdcall; - AddFontResourceExA: function(Filename: PAnsiChar; Flag: DWORD; pdv: Pointer): Integer; stdcall; - AddFontMemResourceEx: function(pbFont: Pointer; cbFont: DWORD; pdv: Pointer; pcFonts: PDWORD): THandle; stdcall; - RemoveFontResourceA: function(Filename: PAnsiChar): Boolean; stdcall; - RemoveFontResourceExA: function(filename: PAnsiChar; Flag: DWORD; pdv: Pointer): Boolean; stdcall; - RemoveFontMemResourceEx: function(fh: THandle): Boolean; stdcall; - - GetTextMetricsW: function(DC: HDC; var TM: TTextMetricW): Boolean; stdcall; - //GetGlyphOutlineA: function(DC: HDC; uChar, uFormat: Word; const lpgm: TGlyphMetrics; cbBuffer: DWORD; lpvBuffer: Pointer; const lpmat2: TMat2): DWORD; stdcall; - GetGlyphOutlineA: function(DC: HDC; uChar, uFormat: Cardinal; lpgm: PGlyphMetrics; cbBuffer: DWORD; lpvBuffer: Pointer; lpmat2: PMat2): DWORD; stdcall; - - GetCharacterPlacementW: function(DC: HDC; Str: PWideChar; Count, MaxExtent: Integer; Result: PGCPResultsW; Flags: DWORD): DWORD; stdcall; - GetFontData: function(DC: HDC; TableName, Offset: DWORD; Buffer: Pointer; Data: DWORD): DWORD; stdcall; - - CreateCompatibleDC: function(DC: HDC): HDC; stdcall; - DeleteDC: function(DC: HDC): Boolean; stdcall; - SelectObject: function(DC: HDC; p2: HGDIOBJ): HGDIOBJ; stdcall; - DeleteObject: function(p1: HGDIOBJ): Boolean; stdcall; - - GetLocaleInfoA: function(Locale: DWORD; LCType: DWORD; lpLCData: pAnsiChar; cchData: Integer): Integer; stdcall; - - GetOutlineTextMetricsW: function(DC: HDC; p2: LongWord; var OTMetricStructs: TOutlineTextmetricW): LongWord; stdcall; - - -// *** SDL globals *** -function Init_SDL: Boolean; -procedure Quit_SDL; - -type - PSDL_Color = ^TSDL_Color; - TSDL_Color = record - r: Byte; - g: Byte; - b: Byte; - unused: Byte; - end; - - TSDL_Rect = record - X: Smallint; - Y: Smallint; - Width: Word; - Height: Word; - end; - - PSDL_ColorArray = ^TSDL_ColorArray; - TSDL_ColorArray = array[0..65000] of TSDL_Color; - - PSDL_Palette = ^TSDL_Palette; - TSDL_Palette = record - ncolors: Integer; - colors: PSDL_ColorArray; - end; - - PSDL_PixelFormat = ^TSDL_PixelFormat; - TSDL_PixelFormat = record - Palette: PSDL_Palette; - BitsPerPixel: Byte; - BytesPerPixel: Byte; - Rloss: Byte; - Gloss: Byte; - Bloss: Byte; - Aloss: Byte; - Rshift: Byte; - Gshift: Byte; - Bshift: Byte; - Ashift: Byte; - RMask: Cardinal; - GMask: Cardinal; - BMask: Cardinal; - AMask: Cardinal; - Colorkey: Cardinal; - Alpha: Byte; - end; - - - PSDL_Surface = ^TSDL_Surface; - TSDL_Surface = record - Flags: Cardinal; - Format: PSDL_PixelFormat; - Width: Integer; - Height: Integer; - Pitch: Word; - Pixels: Pointer; - Offset: Integer; - HWDdata: Pointer; - ClipRect: TSDL_Rect; - Unused1: Cardinal; - Locked: Cardinal; - Blitmap: Pointer; - FormatVersion: Cardinal; - RefCount: Integer; - end; - - -const - {$IFDEF WINDOWS} - LIB_SDL = 'SDL.dll'; - {$ELSE} - LIB_SDL = 'libSDL.so'; - LIB_SDL_VERSION = 'libSDL-1.2.so.0'; - {$ENDIF} - - SDL_SWSURFACE = $00000000; - -var - Library_SDL: Pointer; - - SDL_FreeSurface: procedure(surface: PSDL_Surface); cdecl; - SDL_ConvertSurface: function(Source: PSDL_Surface; Format: PSDL_PixelFormat; flags: Cardinal): PSDL_Surface; cdecl; - - - -// *** SDL_TTF *** -function Init_SDL_TTF: Boolean; -procedure Quit_SDL_TTF; - -type - PTTF_Font = ^TTTF_font; - TTTF_Font = record end; - - -const - {$IFDEF WINDOWS} - LIB_SDL_TTF = 'SDL_ttf.dll'; - {$ELSE} - LIB_SDL_TTF = 'libSDL_ttf.so'; - LIB_SDL_TTF_VERSION = 'libSDL_ttf-2.0.so.0'; - {$ENDIF} - - TTF_STYLE_NORMAL = $00; - TTF_STYLE_BOLD = $01; - TTF_STYLE_ITALIC = $02; -// TTF_STYLE_UNDERLINE = $04; - -// ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) -// UNICODE_BOM_NATIVE = $FEFF; -// UNICODE_BOM_SWAPPED = $FFFE; - -var - SDL_TTF_initialized: Boolean; - Library_SDL_TTF: Pointer; - - TTF_Init: function: Integer; cdecl; - TTF_WasInit: function: Integer; cdecl; - TTF_OpenFont: function(const Filename: pAnsiChar; PTSize: Integer): PTTF_Font; cdecl; - TTF_CloseFont: procedure(Font: PTTF_Font); cdecl; - - TTF_GetFontStyle: function(Font: PTTF_Font): Integer; cdecl; - TTF_SetFontStyle: procedure(Font: PTTF_Font; Style: Integer); cdecl; - - TTF_FontAscent: function(Font: PTTF_Font) : Integer; cdecl; - TTF_FontDescent: function(Font: PTTF_Font) : Integer; cdecl; - TTF_FontLineSkip: function(Font: PTTF_Font): Integer; cdecl; - TTF_FontFaceIsFixedWidth: function(Font: PTTF_Font): Integer; cdecl; - TTF_FontFaceFamilyName: function(Font: PTTF_Font): pAnsiChar; cdecl; - TTF_FontFaceStyleName: function(Font : PTTF_Font): pAnsiChar; cdecl; - TTF_GlyphMetrics: function(Font: PTTF_Font; CharCode: WORD; var MinX: Integer; var MaxX: Integer; var MinY: Integer; var MaxY: Integer; var Advance: Integer): Integer; cdecl; - - TTF_RenderGlyph_Solid: function(Font: PTTF_Font; Char: WORD; const ForeGround: TSDL_Color): PSDL_Surface; cdecl; - TTF_RenderGlyph_Shaded: function(Font: PTTF_Font; Char: WORD; const ForeGround: TSDL_Color; const BackGround: TSDL_Color): PSDL_Surface; cdecl; - - - -// *** SDL_IMAGE *** -function Init_SDL_IMAGE: Boolean; -procedure Quit_SDL_IMAGE; - -const - {$IFDEF WINDOWS} - LIB_SDL_IMAGE = 'SDL_Image.dll'; - {$ELSE} - LIB_SDL_IMAGE = 'libSDL_image.so'; - LIB_SDL_IMAGE_VERSION = 'libSDL_image-1.2.so.0'; - {$ENDIF} - -var - SDL_IMAGE_initialized: Boolean; - Library_SDL_IMAGE: Pointer; - - IMG_Load: function(const _file: PAnsiChar): PSDL_Surface; cdecl; - - -implementation - - -function GetLibraryProc(hLibrary: Pointer; ProcName: pAnsiChar): Pointer; -begin - {$IFDEF WINDOWS} - Result := GetProcAddress(hLibrary, ProcName); - {$ELSE} - Result := dlsym(hLibrary, ProcName); - {$ENDIF} -end; - - -function GetOpenGLLibraryProc(hLibrary: Pointer; ProcName: pAnsiChar): Pointer; -begin - Result := GetLibraryProc(hLibrary, ProcName); -end; - - -// *** OpenGL *** - -function Init_OpenGL: Boolean; -begin - if Library_OpenGL = nil then begin - {$IFDEF WINDOWS} - Library_OpenGL := LoadLibrary(LIB_OPENGL); - {$ELSE} - Library_OpenGL := dlopen(LIB_OPENGL, RTLD_LAZY); - {$ENDIF} - end; - - if Library_OpenGL <> nil then begin - glEnable := GetOpenGLLibraryProc(Library_OpenGL, 'glEnable'); - glDisable := GetOpenGLLibraryProc(Library_OpenGL, 'glDisable'); - glColor4f := GetOpenGLLibraryProc(Library_OpenGL, 'glColor4f'); - glGenTextures := GetOpenGLLibraryProc(Library_OpenGL, 'glGenTextures'); - glDeleteTextures := GetOpenGLLibraryProc(Library_OpenGL, 'glDeleteTextures'); - glBindTexture := GetOpenGLLibraryProc(Library_OpenGL, 'glBindTexture'); - glTexParameteri := GetOpenGLLibraryProc(Library_OpenGL, 'glTexParameteri'); - glTexImage2D := GetOpenGLLibraryProc(Library_OpenGL, 'glTexImage2D'); - glTexSubImage2D := GetOpenGLLibraryProc(Library_OpenGL, 'glTexSubImage2D'); - glBegin := GetOpenGLLibraryProc(Library_OpenGL, 'glBegin'); - glEnd := GetOpenGLLibraryProc(Library_OpenGL, 'glEnd'); - glTexCoord2f := GetOpenGLLibraryProc(Library_OpenGL, 'glTexCoord2f'); - glTexCoord2fv := GetOpenGLLibraryProc(Library_OpenGL, 'glTexCoord2fv'); - glVertex2f := GetOpenGLLibraryProc(Library_OpenGL, 'glVertex2f'); - glVertex2fv := GetOpenGLLibraryProc(Library_OpenGL, 'glVertex2fv'); - glVertex2iv := GetOpenGLLibraryProc(Library_OpenGL, 'glVertex2iv'); - glGenLists := GetOpenGLLibraryProc(Library_OpenGL, 'glGenLists'); - glDeleteLists := GetOpenGLLibraryProc(Library_OpenGL, 'glDeleteLists'); - glCallList := GetOpenGLLibraryProc(Library_OpenGL, 'glCallList'); - glNewList := GetOpenGLLibraryProc(Library_OpenGL, 'glNewList'); - glEndList := GetOpenGLLibraryProc(Library_OpenGL, 'glEndList'); - end; - - OpenGL_initialized := - (Addr(glEnable) <> nil) and - (Addr(glDisable) <> nil) and - (Addr(glColor4f) <> nil) and - (Addr(glGenTextures) <> nil) and - (Addr(glDeleteTextures) <> nil) and - (Addr(glBindTexture) <> nil) and - (Addr(glTexParameteri) <> nil) and - (Addr(glTexImage2D) <> nil) and - (Addr(glTexSubImage2D) <> nil) and - (Addr(glBegin) <> nil) and - (Addr(glEnd) <> nil) and - (Addr(glTexCoord2f) <> nil) and - (Addr(glTexCoord2fv) <> nil) and - (Addr(glVertex2f) <> nil) and - (Addr(glVertex2fv) <> nil) and - (Addr(glVertex2iv) <> nil) and - (Addr(glGenLists) <> nil) and - (Addr(glDeleteLists) <> nil) and - (Addr(glCallList) <> nil) and - (Addr(glNewList) <> nil) and - (Addr(glEndList) <> nil); - - Result := OpenGL_initialized; -end; - - -procedure Quit_OpenGL; -begin - glEnable := nil; - glDisable := nil; - glColor4f := nil; - glGenTextures := nil; - glDeleteTextures := nil; - glBindTexture := nil; - glTexParameteri := nil; - glTexImage2D := nil; - glTexSubImage2D := nil; - glBegin := nil; - glEnd := nil; - glTexCoord2f := nil; - glTexCoord2fv := nil; - glVertex2f := nil; - glVertex2fv := nil; - glVertex2iv := nil; - glGenLists := nil; - glDeleteLists := nil; - glCallList := nil; - glNewList := nil; - glEndList := nil; - - if Library_OpenGL <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_OpenGL); - Library_OpenGL := nil; - {$ELSE} - dlclose(Library_OpenGL); - Library_OpenGL := nil; - {$ENDIF} - end; - - OpenGL_initialized := False; -end; - - -// *** Windows GDI globals *** -function Init_GDI: Boolean; -begin - if Library_GDI32 = nil then begin - {$IFDEF WINDOWS} - Library_GDI32 := LoadLibrary(LIB_GDI32); -// {$ELSE} -// Library_GDI32 := nil; //dlopen(LIB_GDI, RTLD_LAZY); - {$ENDIF} - end; - - if Library_GDI32 <> nil then begin - CreateFontIndirectA := GetLibraryProc(Library_GDI32, 'CreateFontIndirectA'); - - AddFontResourceA := GetLibraryProc(Library_GDI32, 'AddFontResourceA'); - AddFontResourceExA := GetLibraryProc(Library_GDI32, 'AddFontResourceExA'); - AddFontMemResourceEx := GetLibraryProc(Library_GDI32, 'AddFontMemResourceEx'); - RemoveFontResourceA := GetLibraryProc(Library_GDI32, 'RemoveFontResourceA'); - RemoveFontResourceExA := GetLibraryProc(Library_GDI32, 'RemoveFontResourceExA'); - RemoveFontMemResourceEx := GetLibraryProc(Library_GDI32, 'RemoveFontMemResourceEx'); - - GetTextMetricsW := GetLibraryProc(Library_GDI32, 'GetTextMetricsW'); - GetGlyphOutlineA := GetLibraryProc(Library_GDI32, 'GetGlyphOutlineA'); - - GetCharacterPlacementW := GetLibraryProc(Library_GDI32, 'GetCharacterPlacementW'); - GetFontData := GetLibraryProc(Library_GDI32, 'GetFontData'); - - CreateCompatibleDC := GetLibraryProc(Library_GDI32, 'CreateCompatibleDC'); - DeleteDC := GetLibraryProc(Library_GDI32, 'DeleteDC'); - SelectObject := GetLibraryProc(Library_GDI32, 'SelectObject'); - DeleteObject := GetLibraryProc(Library_GDI32, 'DeleteObject'); - - GetOutlineTextMetricsW := GetLibraryProc(Library_GDI32, 'GetOutlineTextMetricsW'); - end; - - if Library_KERNEL32 = nil then begin - {$IFDEF WINDOWS} - Library_KERNEL32 := LoadLibrary(LIB_KERNEL32); - {$ENDIF} - end; - - if Library_KERNEL32 <> nil then begin - GetLocaleInfoA := GetLibraryProc(Library_KERNEL32, 'GetLocaleInfoA'); - end; - - GDI_initialized := - (Addr(CreateFontIndirectA) <> nil) and - - ((Addr(AddFontResourceA) <> nil) or - (Addr(AddFontResourceExA) <> nil)) and - - ((Addr(RemoveFontResourceA) <> nil) or - (Addr(RemoveFontResourceExA) <> nil)) and - - (Addr(GetTextMetricsW) <> nil) and - (Addr(GetGlyphOutlineA) <> nil) and - -// under 9x GetCharacterPlacementW dosn't exist - (Addr(GetCharacterPlacementW) <> nil) and - (Addr(GetFontData) <> nil) and - - (Addr(CreateCompatibleDC) <> nil) and - (Addr(DeleteDC) <> nil) and - (Addr(SelectObject) <> nil) and - (Addr(DeleteObject) <> nil) and - - (Addr(GetLocaleInfoA) <> nil) and - - (Addr(GetOutlineTextMetricsW) <> nil); - - Result := GDI_initialized; -end; - - -procedure Quit_GDI; -begin - CreateFontIndirectA := nil; - AddFontResourceA := nil; - AddFontResourceExA := nil; - RemoveFontResourceA := nil; - RemoveFontResourceExA := nil; - GetTextMetricsW := nil; - GetGlyphOutlineA := nil; - GetCharacterPlacementW := nil; - GetFontData := nil; - CreateCompatibleDC := nil; - DeleteDC := nil; - SelectObject := nil; - DeleteObject := nil; - - if Library_GDI32 <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_GDI32); - Library_GDI32 := nil; - {$ENDIF} - end; - - GetLocaleInfoA := nil; - - if Library_KERNEL32 <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_KERNEL32); - Library_KERNEL32 := nil; - {$ENDIF} - end; - - GDI_initialized := False; -end; - - -// *** SDL globals *** -function Init_SDL: Boolean; -begin - if Library_SDL = nil then begin - {$IFDEF WINDOWS} - Library_SDL := LoadLibrary(LIB_SDL); - {$ELSE} - Library_SDL := dlopen(LIB_SDL, RTLD_LAZY); - - if Library_SDL = nil then - Library_SDL := dlopen(LIB_SDL_VERSION, RTLD_LAZY); - {$ENDIF} - end; - - if Library_SDL <> nil then begin - SDL_FreeSurface := GetLibraryProc(Library_SDL, 'SDL_FreeSurface'); - SDL_ConvertSurface := GetLibraryProc(Library_SDL, 'SDL_ConvertSurface'); - end; - - Result := - (Addr(SDL_FreeSurface) <> nil) and - (Addr(SDL_ConvertSurface) <> nil); -end; - - -procedure Quit_SDL; -begin - SDL_FreeSurface := nil; - SDL_ConvertSurface := nil; - - if Library_SDL <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_SDL); - Library_SDL := nil; - {$ELSE} - dlclose(Library_SDL); - Library_SDL := nil; - {$ENDIF} - end; -end; - - -// *** SDL_TTF *** -function Init_SDL_TTF: Boolean; -begin - if Library_SDL_TTF = nil then begin - {$IFDEF WINDOWS} - Library_SDL_TTF := LoadLibrary(LIB_SDL_TTF); - {$ELSE} - Library_SDL_TTF := dlopen(LIB_SDL_TTF, RTLD_LAZY); - - if Library_SDL_TTF = nil then - Library_SDL_TTF := dlopen(LIB_SDL_TTF_VERSION, RTLD_LAZY); - {$ENDIF} - end; - - if Library_SDL_TTF <> nil then begin - TTF_Init := GetLibraryProc(Library_SDL_TTF, 'TTF_Init'); - TTF_WasInit := GetLibraryProc(Library_SDL_TTF, 'TTF_WasInit'); - TTF_OpenFont := GetLibraryProc(Library_SDL_TTF, 'TTF_OpenFont'); - TTF_CloseFont := GetLibraryProc(Library_SDL_TTF, 'TTF_CloseFont'); - TTF_GetFontStyle := GetLibraryProc(Library_SDL_TTF, 'TTF_GetFontStyle'); - TTF_SetFontStyle := GetLibraryProc(Library_SDL_TTF, 'TTF_SetFontStyle'); - TTF_FontAscent := GetLibraryProc(Library_SDL_TTF, 'TTF_FontAscent'); - TTF_FontDescent := GetLibraryProc(Library_SDL_TTF, 'TTF_FontDescent'); - TTF_FontLineSkip := GetLibraryProc(Library_SDL_TTF, 'TTF_FontLineSkip'); - TTF_FontFaceIsFixedWidth := GetLibraryProc(Library_SDL_TTF, 'TTF_FontFaceIsFixedWidth'); - TTF_FontFaceFamilyName := GetLibraryProc(Library_SDL_TTF, 'TTF_FontFaceFamilyName'); - TTF_FontFaceStyleName := GetLibraryProc(Library_SDL_TTF, 'TTF_FontFaceStyleName'); - TTF_GlyphMetrics := GetLibraryProc(Library_SDL_TTF, 'TTF_GlyphMetrics'); - TTF_RenderGlyph_Solid := GetLibraryProc(Library_SDL_TTF, 'TTF_RenderGlyph_Solid'); - TTF_RenderGlyph_Shaded := GetLibraryProc(Library_SDL_TTF, 'TTF_RenderGlyph_Shaded'); - end; - - SDL_TTF_initialized := - Init_SDL and - (Addr(TTF_Init) <> nil) and - (Addr(TTF_WasInit) <> nil) and - (Addr(TTF_OpenFont) <> nil) and - (Addr(TTF_CloseFont) <> nil) and - (Addr(TTF_GetFontStyle) <> nil) and - (Addr(TTF_SetFontStyle) <> nil) and - (Addr(TTF_FontAscent) <> nil) and - (Addr(TTF_FontDescent) <> nil) and - (Addr(TTF_FontLineSkip) <> nil) and - (Addr(TTF_FontFaceIsFixedWidth) <> nil) and - (Addr(TTF_FontFaceFamilyName) <> nil) and - (Addr(TTF_FontFaceStyleName) <> nil) and - (Addr(TTF_GlyphMetrics) <> nil) and - (Addr(TTF_RenderGlyph_Solid) <> nil) and - (Addr(TTF_RenderGlyph_Shaded) <> nil); - - Result := SDL_TTF_initialized; -end; - - -procedure Quit_SDL_TTF; -begin - TTF_Init := nil; - TTF_WasInit := nil; - TTF_OpenFont := nil; - TTF_CloseFont := nil; - TTF_GetFontStyle := nil; - TTF_SetFontStyle := nil; - TTF_FontAscent := nil; - TTF_FontDescent := nil; - TTF_FontLineSkip := nil; - TTF_FontFaceIsFixedWidth := nil; - TTF_FontFaceFamilyName := nil; - TTF_FontFaceStyleName := nil; - TTF_GlyphMetrics := nil; - TTF_RenderGlyph_Solid := nil; - TTF_RenderGlyph_Shaded := nil; - - if Library_SDL_TTF <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_SDL_TTF); - Library_SDL_TTF := nil; - {$ELSE} - dlclose(Library_SDl_TTF); - Library_SDL_TTF := nil; - {$ENDIF} - end; - - SDL_TTF_initialized := False; -end; - - -// *** SDL_IMAGE *** -function Init_SDL_IMAGE: Boolean; -begin - if Library_SDL_IMAGE = nil then begin - {$IFDEF WINDOWS} - Library_SDL_IMAGE := LoadLibrary(LIB_SDL_IMAGE); - {$ELSE} - Library_SDL_IMAGE := dlopen(LIB_SDL_IMAGE, RTLD_LAZY); - - if Library_SDL_IMAGE = nil then - Library_SDL_IMAGE := dlopen(LIB_SDL_IMAGE_VERSION, RTLD_LAZY); - {$ENDIF} - end; - - if Library_SDL_IMAGE <> nil then begin - IMG_Load := GetLibraryProc(Library_SDL_IMAGE, 'IMG_Load'); - end; - - SDL_IMAGE_initialized := - Init_SDL and - (Addr(IMG_load) <> nil); - - Result := SDL_IMAGE_initialized; -end; - - -procedure Quit_SDL_IMAGE; -begin - IMG_Load := nil; - - if Library_SDL_IMAGE <> nil then begin - {$IFDEF WINDOWS} - FreeLibrary(Library_SDL_IMAGE); - Library_SDL_IMAGE := nil; - {$ELSE} - dlclose(Library_SDL_IMAGE); - Library_SDL_IMAGE := nil; - {$ENDIF} - end; -end; - -end. diff --git a/old/TextSuiteOptions.inc b/old/TextSuiteOptions.inc deleted file mode 100644 index fe761ca..0000000 --- a/old/TextSuiteOptions.inc +++ /dev/null @@ -1,46 +0,0 @@ - -{ *** options *** } - -{ to use the external library } -{.$define TS_EXTERN_STATIC} - - -{ to disable the assembler code and use pure pascal code instead. - if you have problem with some older compiler or runtime errors. - But. This can decrease the speed of some operations. } -{.$define TS_PURE_PASCAL} - - - -{ *** important seetings. Don't touch it! *** } -{$IFDEF FPC} - {$MODE Delphi} - - {$SMARTLINK ON} - - {$IFDEF CPUI386} - {$DEFINE CPU386} - {$ASMMODE INTEL} - {$ELSE} - {$define TS_PURE_PASCAL} - {$ENDIF} - - {$IFNDEF WINDOWS} - {$LINKLIB c} - {$ENDIF} -{$ENDIF} - - -{$BOOLEVAL OFF} // short boolean eval -{$LONGSTRINGS ON} // huge strings -{$EXTENDEDSYNTAX ON} // extended syntax -{$ALIGN ON} // Alignment -{$TYPEDADDRESS OFF} // Typed addresses with @ - -{$IFNDEF FPC} - {$OPTIMIZATION ON} // O+ Optimizations - { $ASSERTIONS OFF} // C- - { $RANGECHECKS OFF} // R- - { $STACKFRAMES OFF} // W- - { $OVERFLOWCHECKS OFF} // Q- -{$ENDIF} diff --git a/old/TextSuitePostProcess.pas b/old/TextSuitePostProcess.pas deleted file mode 100644 index 2486265..0000000 --- a/old/TextSuitePostProcess.pas +++ /dev/null @@ -1,398 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$I TextSuiteOptions.inc} - -unit TextSuitePostProcess; - -interface - -uses - TextSuite, - TextSuiteClasses; - - -type - // ** Post Processing FillColor ** - TtsPostFillColor = class(TtsPostProcessStep) - protected - fRed: Single; - fGreen: Single; - fBlue: Single; - fAlpha: Single; - fLuminance: Single; - fChannelMask: tsBitmask; - - fModes: TtsImageModes; - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - public - constructor Create(Red, Green, Blue, Alpha: Single; ChannelMask: tsBitmask; Modes: TtsImageModes); - end; - - - // ** Post Processing FillPattern ** - TtsPostFillPattern = class(TtsPostProcessStep) - protected - fPattern: TtsImage; - fX: Integer; - fY: Integer; - fChannelMask: tsBitmask; - fModes: TtsImageModes; - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - public - constructor Create(Pattern: TtsImage; X, Y: Integer; ChannelMask: tsBitmask; Modes: TtsImageModes); - end; - - - // ** Post Processing Border ** - TtsPostBorderLookupFuncData = record - Kernel: TtsKernel2D; - XPos, YPos, XMax, YMax: Integer; - - pData: pByte; - end; - - - TtsPostBorder = class(TtsPostProcessStep) - protected - fKernel: TtsKernel2D; - - fRed: Single; - fGreen: Single; - fBlue: Single; - fAlpha: Single; - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - public - constructor Create(Width, Strength: Single; Red, Green, Blue, Alpha: Single); - destructor Destroy; override; - end; - - // ** Post Processing Kerning ** - TtsPostKerning = class(TtsPostProcessStep) - protected - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - end; - - - // ** Post Processing Shadow ** - TtsPostShadow = class(TtsPostProcessStep) - protected - fKernel: TtsKernel1D; - - fX: Integer; - fY: Integer; - - fRed: Single; - fGreen: Single; - fBlue: Single; - fAlpha: Single; - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - public - constructor Create(Radius: Single; X, Y: Integer; Red, Green, Blue, Alpha: Single); - destructor Destroy; override; - end; - - - // ** Post Processing Custom ** - TtsPostCustom = class(TtsPostProcessStep) - protected - fContext: TtsContext; - fPostProcessProc: tsPostProcessProc; - fData: Pointer; - - procedure PostProcess(const CharImage: TtsImage; const Char: TtsChar); override; - public - constructor Create(Context: TtsContext; PostProcessProc: tsPostProcessProc; Data: Pointer); - end; - - -implementation - -//uses -// TextSuiteImageUtils; - - -{ TtsPostFillColor } - -constructor TtsPostFillColor.Create(Red, Green, Blue, Alpha: Single; ChannelMask: tsBitmask; Modes: TtsImageModes); -begin - inherited Create; - - fRed := Red; - fGreen := Green; - fBlue := Blue; - fAlpha := Alpha; - fChannelMask := ChannelMask; - fModes := Modes; -end; - - -procedure TtsPostFillColor.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -begin - if CharImage <> nil then - CharImage.FillColor(fRed, fGreen, fBlue, fAlpha, fChannelMask, fModes); -end; - - -{ TtsPostFillPattern } - -constructor TtsPostFillPattern.Create(Pattern: TtsImage; X, Y: Integer; ChannelMask: tsBitmask; Modes: TtsImageModes); -begin - inherited Create; - - fPattern := Pattern; - fX := X; - fY := Y; - fChannelMask := ChannelMask; - fModes := Modes; -end; - - -procedure TtsPostFillPattern.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -begin - if CharImage <> nil then - CharImage.FillPattern(fPattern, fX, fY, fChannelMask, fModes); -end; - - - -{ TtsPostBorder } - -constructor TtsPostBorder.Create(Width, Strength, Red, Green, Blue, Alpha: Single); -begin - inherited Create; - - fKernel := TtsKernel2D.Create(Width, Strength); - - fRed := Red; - fGreen := Green; - fBlue := Blue; - fAlpha := Alpha; -end; - - -function BorderLookupMax(var Data: TtsPostBorderLookupFuncData): Byte; -var - Idx: Integer; - Temp, TempValue: Single; - pTempData: pByte; -begin - TempValue := 0; - - with Data, Data.Kernel do begin - for Idx := 0 to ItemCount - 1 do - with Items[Idx] do - if ((XPos + OffsetX >= 0) and (XPos + OffsetX < XMax) and - (YPos + OffsetY >= 0) and (YPos + OffsetY < YMax)) then begin - pTempData := pData; - - Inc(pTempData, DataOffset); - - // there is no value - if pTempData^ = $00 then - Continue; - - // calculate pixel - Temp := pTempData^ * Value; - if (Temp > TempValue) then - TempValue := Temp; - - // there is nothing greater than this - if pTempData^ = $FF then - Break; - end; - end; - - Result := Round(TempValue); -end; - - -destructor TtsPostBorder.Destroy; -begin - fKernel.Free; - - inherited; -end; - - -procedure TtsPostBorder.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -var - OriginalImage: TtsImage; - - X, Y: Integer; - pSource, pDest: ptsColor; - - Data: TtsPostBorderLookupFuncData; -begin - if CharImage <> nil then begin - // Make image geater - CharImage.Resize(CharImage.Width + fKernel.SizeX * 2, CharImage.Height + fKernel.SizeY * 2, fKernel.SizeX, fKernel.SizeY); - - // Create copy of Image - OriginalImage := TtsImage.Create; - try - OriginalImage.AssignFrom(CharImage); - CharImage.FillColor(fRed, fGreen, fBlue, fAlpha, TS_CHANNELS_RGBA, cModesReplace); - - fKernel.UpdateDataOffset(4, OriginalImage.Width * 4); - - Data.Kernel := fKernel; - Data.XMax := OriginalImage.Width; - Data.YMax := OriginalImage.Height; - - for Y := 0 to OriginalImage.Height - 1 do begin - pSource := OriginalImage.ScanLine[Y]; - pDest := CharImage.ScanLine[Y]; - - Data.pData := @(pSource^.Alpha); - Data.YPos := Y; - - for X := 0 to OriginalImage.Width - 1 do begin - Data.XPos := X; - - pDest^.Alpha := Round(fAlpha * BorderLookupMax(Data)); - - Inc(Data.pData, 4); - Inc(pDest); - end; - end; - - // Blend OriginalImage over CharImage (shadow) - CharImage.BlendImage(OriginalImage, 0, 0); - finally - OriginalImage.Free; - end; - end; - - // Set Char Data - Char.GlyphRect.Left := Char.GlyphRect.Left + fKernel.SizeX - fKernel.MidSizeX; - Char.GlyphRect.Right := Char.GlyphRect.Right + fKernel.SizeX + fKernel.MidSizeX; - - Char.GlyphRect.Top := Char.GlyphRect.Top + fKernel.SizeY - fKernel.MidSizeY; - Char.GlyphRect.Bottom := Char.GlyphRect.Bottom + fKernel.SizeY + fKernel.MidSizeY; - - Char.GlyphOriginY := Char.GlyphOriginY + fKernel.MidSizeY; - Char.Advance := Char.Advance + fKernel.MidSizeX; -end; - - -{ TtsPostKerning } - -procedure TtsPostKerning.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -begin -// if CharImage <> nil then -// Char.CalculateKerningData(CharImage); -end; - - -{ TtsPostShadow } - -constructor TtsPostShadow.Create(Radius: Single; X, Y: Integer; Red, Green, Blue, Alpha: Single); -begin - inherited Create; - - fKernel := TtsKernel1D.Create(Radius, 0); - - fX := X; - fY := Y; - fRed := Red; - fGreen := Green; - fBlue := Blue; - fAlpha := Alpha; -end; - - -destructor TtsPostShadow.Destroy; -begin - fKernel.Free; - - inherited; -end; - - -procedure TtsPostShadow.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -var - OriginalImage: TtsImage; - TempX, TempY: Integer; -begin - if CharImage <> nil then begin - OriginalImage := TtsImage.Create; - try - // backup to original - OriginalImage.AssignFrom(CharImage); - - // Resizing image - CharImage.Resize(CharImage.Width + fKernel.Size * 2, CharImage.Height + fKernel.Size * 2, fKernel.Size, fKernel.Size); - - // fill char image with color - CharImage.FillColor(fRed, fGreen, fBlue, fAlpha, TS_CHANNELS_RGBA, cModesNormal); - - // blur charimage - CharImage.Blur(fKernel, fKernel, TS_CHANNEL_ALPHA); - - TempX := fKernel.Size - fX; - TempY := fKernel.Size - fY; - - // Blend OriginalImage over CharImage (shadow) - CharImage.BlendImage(OriginalImage, TempX, TempY); - - // Set Chardimension - with Char.GlyphRect do begin - if TempX > 0 then begin - Left := Left + TempX; - Right := Right + TempX; - end; - - if TempY > 0 then begin - Top := Top + TempY; - Bottom := Bottom + TempY; - end; - end; - finally - OriginalImage.Free; - end; - end; -end; - - -{ TtsPostCustom } - -constructor TtsPostCustom.Create(Context: TtsContext; PostProcessProc: tsPostProcessProc; Data: Pointer); -begin - inherited Create; - - fContext := Context; - fPostProcessProc := PostProcessProc; - fData := Data; -end; - - -procedure TtsPostCustom.PostProcess(const CharImage: TtsImage; const Char: TtsChar); -var - ImageID: tsImageID; -begin - if CharImage <> nil then begin - if fContext <> nil then begin - // temporary Add Image - ImageID := fContext.ImageAdd(CharImage); - try - fPostProcessProc(ImageID, Char.CharCode, fData); - finally - fContext.ImageDelete(ImageID); - end; - end; - end - // call without an ImageID - else fPostProcessProc(0, Char.CharCode, fData); -end; - - -end. diff --git a/old/TextSuiteTTFUtils.pas b/old/TextSuiteTTFUtils.pas deleted file mode 100644 index a7253b0..0000000 --- a/old/TextSuiteTTFUtils.pas +++ /dev/null @@ -1,367 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$WARNINGS OFF} -{$HINTS OFF} - -{$I TextSuiteOptions.inc} - -unit TextSuiteTTFUtils; - -interface - -uses Classes; - -const - NAME_ID_COPYRIGHT = 0; - NAME_ID_FACE_NAME = 1; - NAME_ID_STYLE_NAME = 2; - NAME_ID_FULL_NAME = 4; - - - - function MakeTTTableName(ch1, ch2, ch3, ch4: Char): Cardinal; - function GetTTString(pBuffer: Pointer; BufferSize: Integer; NameID, LanguageID: Cardinal; var Text: AnsiString): Boolean; - - function GetTTFontFullNameFromStream(Stream: TStream; LanguageID: Cardinal): AnsiString; - function GetTTFontFullNameFromFile(Filename: AnsiString; LanguageID: Cardinal): AnsiString; - -(* - function GetTTUnicodeGlyphIndex(DC: Cardinal; ch: Word): Word; - function GetTTUnicodeCharCount(DC: Cardinal): Word; -*) - -implementation - - -uses - SysUtils, - TextSuiteWideUtils, - TextSuiteImports; - - -function SWAPWORD(x: Word): Word; -{$ifdef TS_PURE_PASCAL} -begin - Result := x and $FF; - Result := Result shl 8; - Result := Result or (x shr 8); -{$else} -asm - mov dl, al - mov al, ah - mov ah, dl -{$endif} -end; - - -function SWAPLONG(x: Cardinal): Cardinal; -{$ifdef TS_PURE_PASCAL} -begin - Result := (x and $FF) shl 24; - x := x shr 8; - - Result := Result or ((x and $FF) shl 16); - x := x shr 8; - - Result := Result or ((x and $FF) shl 8); - x := x shr 8; - - Result := Result or x; -{$else} -asm - mov dx, ax - shr eax, 16 - mov cx, ax - mov al, dh - mov ah, dl - shl eax, 16 - mov al, ch - mov ah, cl -{$endif} -end; - - -function MakeTTTableName(ch1, ch2, ch3, ch4: Char): Cardinal; -begin - Result := ord(ch4) shl 24 or ord(ch3) shl 16 or ord(ch2) shl 8 or ord(ch1); -end; - - -type - TT_OFFSET_TABLE = packed record - uMajorVersion: Word; - uMinorVersion: Word; - uNumOfTables: Word; - uSearchRange: Word; - uEntrySelector: Word; - uRangeShift: Word; - end; - - - TT_TABLE_DIRECTORY = packed record - TableName: Cardinal; // table name - uCheckSum: Cardinal; // Check sum - uOffset: Cardinal; // Offset from beginning of file - uLength: Cardinal; // length of the table in bytes - end; - - - TT_NAME_TABLE_HEADER = packed record - uFSelector: Word; //format selector. Always 0 - uNRCount: Word; //Name Records count - uStorageOffset: Word; //Offset for strings storage, from start of the table - end; - - TT_NAME_RECORD = packed record - uPlatformID: Word; - uEncodingID: Word; - uLanguageID: Word; - uNameID: Word; - uStringLength: Word; - uStringOffset: Word; //from start of storage area - end; - - -const - PLATFORM_ID_APPLE_UNICODE = 0; - PLATFORM_ID_MACINTOSH = 1; - PLATFORM_ID_MICROSOFT = 3; - - -function GetTTTableData(Stream: TStream; TableName: Cardinal; pBuff: Pointer; var Size: Integer): Boolean; -var - Pos: Int64; - OffsetTable: TT_OFFSET_TABLE; - TableDir: TT_TABLE_DIRECTORY; - Idx: Integer; -begin - Result := False; - - Pos := Stream.Position; - - // Reading table header - Stream.Read(OffsetTable, sizeof(TT_OFFSET_TABLE)); - OffsetTable.uNumOfTables := SWAPWORD(OffsetTable.uNumOfTables); - OffsetTable.uMajorVersion := SWAPWORD(OffsetTable.uMajorVersion); - OffsetTable.uMinorVersion := SWAPWORD(OffsetTable.uMinorVersion); - - //check is this is a true type font and the version is 1.0 - if (OffsetTable.uMajorVersion <> 1) or (OffsetTable.uMinorVersion <> 0) then - Exit; - - // seaching table with name - for Idx := 0 to OffsetTable.uNumOfTables -1 do begin - Stream.Read(TableDir, sizeof(TT_TABLE_DIRECTORY)); - - if (TableName = TableDir.TableName) then begin - TableDir.uOffset := SWAPLONG(TableDir.uOffset); - TableDir.uLength := SWAPLONG(TableDir.uLength); - - // copying tabledata - if (pBuff <> nil) and (Size >= Integer(TableDir.uLength)) then begin - Stream.Seek(TableDir.uOffset, soBeginning); - Size := Stream.Read(pBuff^, TableDir.uLength); - - Result := Size = Integer(TableDir.uLength); - end else - - begin - // restoring streamposition - Stream.Position := Pos; - - Size := TableDir.uLength; - Result := True; - end; - - break; - end; - end; -end; - - -function GetTTString(pBuffer: Pointer; BufferSize: Integer; NameID, LanguageID: Cardinal; var Text: AnsiString): Boolean; -var - pActBuffer: pByte; - ttNTHeader: TT_NAME_TABLE_HEADER; - ttRecord: TT_NAME_RECORD; - Idx: Integer; - Prio: Integer; - - procedure ExtractName; - var - pTempBuffer: pByte; - pTemp: pWideChar; - uStringLengthH2: Word; - - procedure SwapText(pText: pWideChar; Length: Word); - begin - while Length > 0 do begin - pWord(pText)^ := SWAPWORD(pWord(pText)^); - Inc(pText); - Dec(Length); - end; - end; - - begin - Result := True; - - ttRecord.uStringLength := SWAPWORD(ttRecord.uStringLength); - ttRecord.uStringOffset := SWAPWORD(ttRecord.uStringOffset); - - uStringLengthH2 := ttRecord.uStringLength shr 1; - - pTempBuffer := pBuffer; - Inc(pTempBuffer, ttNTHeader.uStorageOffset + ttRecord.uStringOffset); - - // Unicode - if ((ttRecord.uPlatformID = PLATFORM_ID_MICROSOFT) and (ttRecord.uEncodingID in [0, 1])) or - ((ttRecord.uPlatformID = PLATFORM_ID_APPLE_UNICODE) and (ttRecord.uEncodingID > 0)) then begin - pTemp := tsStrAlloc(uStringLengthH2); - try - // uStringLengthH2 * 2 because possible buffer overrun - Move(pTempBuffer^, pTemp^, uStringLengthH2 * 2); - - SwapText(pTemp, uStringLengthH2); - - WideCharLenToStrVar(pTemp, uStringLengthH2, Text); - finally - tsStrDispose(pTemp); - end; - end else - - // none unicode - begin - SetLength(Text, ttRecord.uStringLength); - Move(pTempBuffer^, Text[1], ttRecord.uStringLength); - end; - end; - -begin - Result := False; - - pActBuffer := pBuffer; - - Move(pActBuffer^, ttNTHeader, sizeof(TT_NAME_TABLE_HEADER)); - inc(pActBuffer, sizeof(TT_NAME_TABLE_HEADER)); - - ttNTHeader.uNRCount := SWAPWORD(ttNTHeader.uNRCount); - ttNTHeader.uStorageOffset := SWAPWORD(ttNTHeader.uStorageOffset); - - Prio := -1; - - for Idx := 0 to ttNTHeader.uNRCount -1 do begin - Move(pActBuffer^, ttRecord, sizeof(TT_NAME_RECORD)); - Inc(pActBuffer, sizeof(TT_NAME_RECORD)); - - ttRecord.uNameID := SWAPWORD(ttRecord.uNameID); - - if ttRecord.uNameID = NameID then begin - ttRecord.uPlatformID := SWAPWORD(ttRecord.uPlatformID); - ttRecord.uEncodingID := SWAPWORD(ttRecord.uEncodingID); - ttRecord.uLanguageID := SWAPWORD(ttRecord.uLanguageID); - - // highest priority - if (ttRecord.uPlatformID = PLATFORM_ID_MICROSOFT) then begin - // system language - if (ttRecord.uLanguageID = languageID) then begin - if Prio <= 7 then begin - ExtractName; - - Prio := 7; - end; - end else - - // english - if (ttRecord.uLanguageID = 1033) then begin - if Prio <= 6 then begin - ExtractName; - - Prio := 6; - end; - end else - - // all else - if Prio <= 5 then begin - ExtractName; - - Prio := 5; - end; - end else - - // apple unicode - if (ttRecord.uPlatformID = PLATFORM_ID_APPLE_UNICODE) then begin - ExtractName; - - Prio := 4; - end else - - // macintosh - if (ttRecord.uPlatformID = PLATFORM_ID_MACINTOSH) then begin - // english - if (ttRecord.uLanguageID = 0) then begin - if Prio <= 3 then begin - ExtractName; - - Prio := 3; - end; - end else - - // all other - begin - ExtractName; - - Prio := 2; - end; - end else - - begin - if Prio <= 1 then begin - ExtractName; - - Prio := 1; - end; - end; - end; - end; -end; - -function GetTTFontFullNameFromStream(Stream: TStream; LanguageID: Cardinal): AnsiString; -var - TableName: Cardinal; - Buffer: Pointer; - BufferSize: Integer; -begin - TableName := MakeTTTableName('n', 'a', 'm', 'e'); - - if GetTTTableData(Stream, TableName, nil, BufferSize) then begin - GetMem(Buffer, BufferSize); - try - if GetTTTableData(Stream, TableName, Buffer, BufferSize) then begin - if not GetTTString(Buffer, BufferSize, NAME_ID_FULL_NAME, LanguageID, Result) then - if not GetTTString(Buffer, BufferSize, NAME_ID_FACE_NAME, LanguageID, Result) then - Result := ''; - end; - finally - FreeMem(Buffer); - end; - end; -end; - -function GetTTFontFullNameFromFile(Filename: AnsiString; LanguageID: Cardinal): AnsiString; -var - fs: TFileStream; -begin - fs := TFileStream.Create(String(Filename), fmOpenRead or fmShareDenyWrite); - try - result := GetTTFontFullNameFromStream(fs, LanguageID); - finally - fs.Free; - end; -end; - -end. diff --git a/old/TextSuiteVersion.pas b/old/TextSuiteVersion.pas deleted file mode 100644 index a27d1b5..0000000 --- a/old/TextSuiteVersion.pas +++ /dev/null @@ -1,13 +0,0 @@ -unit TextSuiteVersion; - -interface - -const - TS_MAYOR_VERSION = 0; - TS_MINOR_VERSION = 8; - TS_BUILD_NUMBER = 1; - TS_VERSION_STR = '0.8.1'; - -implementation - -end. \ No newline at end of file diff --git a/old/TextSuiteWideUtils.pas b/old/TextSuiteWideUtils.pas deleted file mode 100644 index af51fdc..0000000 --- a/old/TextSuiteWideUtils.pas +++ /dev/null @@ -1,1394 +0,0 @@ -{ -TextSuite (C) Steffen Xonna (aka Lossy eX) -http://www.opengl24.de/ ------------------------------------------------------------------------ -For copyright informations see file copyright.txt. -} - -{$I TextSuiteOptions.inc} - - -unit TextSuiteWideUtils; - -interface - -type - PtsCodePage = ^TtsCodePage; - TtsCodePage = array [AnsiChar] of word; - - TtsAnsiToWideCharFunc = procedure(pDest: pWideChar; pSource: pAnsiChar; pCodePage: PtsCodePage; DefaultChar: WideChar); - - - // creates an new empty widesting with size +1 - function tsStrAlloc(Size: Cardinal): pWideChar; - // disposes an existing widestring - procedure tsStrDispose(pText: pWideChar); - - // returns the length of an widestring - function tsStrLength(pText: pWideChar): Cardinal; - // copy source until #0 is reached - function tsStrCopy(pDest, pSource: pWideChar): pWideChar; - - // creates an copy from Text but maximum size is the size of the data not - // of the previous stringsize - function tsStrNew(pText: pWideChar): pWideChar; - - // Anso to WideChat converting functions - procedure tsAnsiUTF8ToWide(pDest: pWideChar; pSource: pAnsiChar; DefaultChar: WideChar); - - procedure tsAnsiISO_8859_1_ToWide(pDest: pWideChar; pSource: pAnsiChar); - - procedure tsAnsiSBCDToWide(pDest: pWideChar; pSource: pAnsiChar; pCodePage: PtsCodePage; DefaultChar: WideChar); - procedure tsAnsiDBCDToWide(pDest: pWideChar; pSource: pAnsiChar; pCodePage: PtsCodePage; DefaultChar: WideChar); - - - -{ *** Start of code pages *** } -const - CP_8859_2 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0104, $02D8, $0141, $00A4, $013D, $015A, $00A7, $00A8, $0160, $015E, $0164, $0179, $00AD, $017D, $017B, - $00B0, $0105, $02DB, $0142, $00B4, $013E, $015B, $02C7, $00B8, $0161, $015F, $0165, $017A, $02DD, $017E, $017C, - $0154, $00C1, $00C2, $0102, $00C4, $0139, $0106, $00C7, $010C, $00C9, $0118, $00CB, $011A, $00CD, $00CE, $010E, - $0110, $0143, $0147, $00D3, $00D4, $0150, $00D6, $00D7, $0158, $016E, $00DA, $0170, $00DC, $00DD, $0162, $00DF, - $0155, $00E1, $00E2, $0103, $00E4, $013A, $0107, $00E7, $010D, $00E9, $0119, $00EB, $011B, $00ED, $00EE, $010F, - $0111, $0144, $0148, $00F3, $00F4, $0151, $00F6, $00F7, $0159, $016F, $00FA, $0171, $00FC, $00FD, $0163, $02D9 - ); - -const - CP_8859_3 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0126, $02D8, $00A3, $00A4, $0000, $0124, $00A7, $00A8, $0130, $015E, $011E, $0134, $00AD, $0000, $017B, - $00B0, $0127, $00B2, $00B3, $00B4, $00B5, $0125, $00B7, $00B8, $0131, $015F, $011F, $0135, $00BD, $0000, $017C, - $00C0, $00C1, $00C2, $0000, $00C4, $010A, $0108, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $0000, $00D1, $00D2, $00D3, $00D4, $0120, $00D6, $00D7, $011C, $00D9, $00DA, $00DB, $00DC, $016C, $015C, $00DF, - $00E0, $00E1, $00E2, $0000, $00E4, $010B, $0109, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $0000, $00F1, $00F2, $00F3, $00F4, $0121, $00F6, $00F7, $011D, $00F9, $00FA, $00FB, $00FC, $016D, $015D, $02D9 - ); - -const - CP_8859_4 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0104, $0138, $0156, $00A4, $0128, $013B, $00A7, $00A8, $0160, $0112, $0122, $0166, $00AD, $017D, $00AF, - $00B0, $0105, $02DB, $0157, $00B4, $0129, $013C, $02C7, $00B8, $0161, $0113, $0123, $0167, $014A, $017E, $014B, - $0100, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $012E, $010C, $00C9, $0118, $00CB, $0116, $00CD, $00CE, $012A, - $0110, $0145, $014C, $0136, $00D4, $00D5, $00D6, $00D7, $00D8, $0172, $00DA, $00DB, $00DC, $0168, $016A, $00DF, - $0101, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $012F, $010D, $00E9, $0119, $00EB, $0117, $00ED, $00EE, $012B, - $0111, $0146, $014D, $0137, $00F4, $00F5, $00F6, $00F7, $00F8, $0173, $00FA, $00FB, $00FC, $0169, $016B, $02D9 - ); - -const - CP_8859_5 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0401, $0402, $0403, $0404, $0405, $0406, $0407, $0408, $0409, $040A, $040B, $040C, $00AD, $040E, $040F, - $0410, $0411, $0412, $0413, $0414, $0415, $0416, $0417, $0418, $0419, $041A, $041B, $041C, $041D, $041E, $041F, - $0420, $0421, $0422, $0423, $0424, $0425, $0426, $0427, $0428, $0429, $042A, $042B, $042C, $042D, $042E, $042F, - $0430, $0431, $0432, $0433, $0434, $0435, $0436, $0437, $0438, $0439, $043A, $043B, $043C, $043D, $043E, $043F, - $0440, $0441, $0442, $0443, $0444, $0445, $0446, $0447, $0448, $0449, $044A, $044B, $044C, $044D, $044E, $044F, - $2116, $0451, $0452, $0453, $0454, $0455, $0456, $0457, $0458, $0459, $045A, $045B, $045C, $00A7, $045E, $045F - ); - -const - CP_8859_6 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0000, $0000, $0000, $00A4, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $060C, $00AD, $0000, $0000, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $061B, $0000, $0000, $0000, $061F, - $0000, $0621, $0622, $0623, $0624, $0625, $0626, $0627, $0628, $0629, $062A, $062B, $062C, $062D, $062E, $062F, - $0630, $0631, $0632, $0633, $0634, $0635, $0636, $0637, $0638, $0639, $063A, $0000, $0000, $0000, $0000, $0000, - $0640, $0641, $0642, $0643, $0644, $0645, $0646, $0647, $0648, $0649, $064A, $064B, $064C, $064D, $064E, $064F, - $0650, $0651, $0652, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 - ); - -const - CP_8859_7 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $2018, $2019, $00A3, $20AC, $20AF, $00A6, $00A7, $00A8, $00A9, $037A, $00AB, $00AC, $00AD, $0000, $2015, - $00B0, $00B1, $00B2, $00B3, $0384, $0385, $0386, $00B7, $0388, $0389, $038A, $00BB, $038C, $00BD, $038E, $038F, - $0390, $0391, $0392, $0393, $0394, $0395, $0396, $0397, $0398, $0399, $039A, $039B, $039C, $039D, $039E, $039F, - $03A0, $03A1, $0000, $03A3, $03A4, $03A5, $03A6, $03A7, $03A8, $03A9, $03AA, $03AB, $03AC, $03AD, $03AE, $03AF, - $03B0, $03B1, $03B2, $03B3, $03B4, $03B5, $03B6, $03B7, $03B8, $03B9, $03BA, $03BB, $03BC, $03BD, $03BE, $03BF, - $03C0, $03C1, $03C2, $03C3, $03C4, $03C5, $03C6, $03C7, $03C8, $03C9, $03CA, $03CB, $03CC, $03CD, $03CE, $0000 - ); - -const - CP_8859_8 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0000, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $00D7, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00F7, $00BB, $00BC, $00BD, $00BE, $0000, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $2017, - $05D0, $05D1, $05D2, $05D3, $05D4, $05D5, $05D6, $05D7, $05D8, $05D9, $05DA, $05DB, $05DC, $05DD, $05DE, $05DF, - $05E0, $05E1, $05E2, $05E3, $05E4, $05E5, $05E6, $05E7, $05E8, $05E9, $05EA, $0000, $0000, $200E, $200F, $0000 - ); - -const - CP_8859_9 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $00A1, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $00AA, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00BA, $00BB, $00BC, $00BD, $00BE, $00BF, - $00C0, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $011E, $00D1, $00D2, $00D3, $00D4, $00D5, $00D6, $00D7, $00D8, $00D9, $00DA, $00DB, $00DC, $0130, $015E, $00DF, - $00E0, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $011F, $00F1, $00F2, $00F3, $00F4, $00F5, $00F6, $00F7, $00F8, $00F9, $00FA, $00FB, $00FC, $0131, $015F, $00FF - ); - -const - CP_8859_10 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0104, $0112, $0122, $012A, $0128, $0136, $00A7, $013B, $0110, $0160, $0166, $017D, $00AD, $016A, $014A, - $00B0, $0105, $0113, $0123, $012B, $0129, $0137, $00B7, $013C, $0111, $0161, $0167, $017E, $2015, $016B, $014B, - $0100, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $012E, $010C, $00C9, $0118, $00CB, $0116, $00CD, $00CE, $00CF, - $00D0, $0145, $014C, $00D3, $00D4, $00D5, $00D6, $0168, $00D8, $0172, $00DA, $00DB, $00DC, $00DD, $00DE, $00DF, - $0101, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $012F, $010D, $00E9, $0119, $00EB, $0117, $00ED, $00EE, $00EF, - $00F0, $0146, $014D, $00F3, $00F4, $00F5, $00F6, $0169, $00F8, $0173, $00FA, $00FB, $00FC, $00FD, $00FE, $0138 - ); - -const - CP_8859_11 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0E01, $0E02, $0E03, $0E04, $0E05, $0E06, $0E07, $0E08, $0E09, $0E0A, $0E0B, $0E0C, $0E0D, $0E0E, $0E0F, - $0E10, $0E11, $0E12, $0E13, $0E14, $0E15, $0E16, $0E17, $0E18, $0E19, $0E1A, $0E1B, $0E1C, $0E1D, $0E1E, $0E1F, - $0E20, $0E21, $0E22, $0E23, $0E24, $0E25, $0E26, $0E27, $0E28, $0E29, $0E2A, $0E2B, $0E2C, $0E2D, $0E2E, $0E2F, - $0E30, $0E31, $0E32, $0E33, $0E34, $0E35, $0E36, $0E37, $0E38, $0E39, $0E3A, $0000, $0000, $0000, $0000, $0E3F, - $0E40, $0E41, $0E42, $0E43, $0E44, $0E45, $0E46, $0E47, $0E48, $0E49, $0E4A, $0E4B, $0E4C, $0E4D, $0E4E, $0E4F, - $0E50, $0E51, $0E52, $0E53, $0E54, $0E55, $0E56, $0E57, $0E58, $0E59, $0E5A, $0E5B, $0000, $0000, $0000, $0000 - ); - -const - CP_8859_13 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $201D, $00A2, $00A3, $00A4, $201E, $00A6, $00A7, $00D8, $00A9, $0156, $00AB, $00AC, $00AD, $00AE, $00C6, - $00B0, $00B1, $00B2, $00B3, $201C, $00B5, $00B6, $00B7, $00F8, $00B9, $0157, $00BB, $00BC, $00BD, $00BE, $00E6, - $0104, $012E, $0100, $0106, $00C4, $00C5, $0118, $0112, $010C, $00C9, $0179, $0116, $0122, $0136, $012A, $013B, - $0160, $0143, $0145, $00D3, $014C, $00D5, $00D6, $00D7, $0172, $0141, $015A, $016A, $00DC, $017B, $017D, $00DF, - $0105, $012F, $0101, $0107, $00E4, $00E5, $0119, $0113, $010D, $00E9, $017A, $0117, $0123, $0137, $012B, $013C, - $0161, $0144, $0146, $00F3, $014D, $00F5, $00F6, $00F7, $0173, $0142, $015B, $016B, $00FC, $017C, $017E, $2019 - ); - -const - CP_8859_14 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $1E02, $1E03, $00A3, $010A, $010B, $1E0A, $00A7, $1E80, $00A9, $1E82, $1E0B, $1EF2, $00AD, $00AE, $0178, - $1E1E, $1E1F, $0120, $0121, $1E40, $1E41, $00B6, $1E56, $1E81, $1E57, $1E83, $1E60, $1EF3, $1E84, $1E85, $1E61, - $00C0, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $0174, $00D1, $00D2, $00D3, $00D4, $00D5, $00D6, $1E6A, $00D8, $00D9, $00DA, $00DB, $00DC, $00DD, $0176, $00DF, - $00E0, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $0175, $00F1, $00F2, $00F3, $00F4, $00F5, $00F6, $1E6B, $00F8, $00F9, $00FA, $00FB, $00FC, $00FD, $0177, $00FF - ); - -const - CP_8859_15 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $00A1, $00A2, $00A3, $20AC, $00A5, $0160, $00A7, $0161, $00A9, $00AA, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $017D, $00B5, $00B6, $00B7, $017E, $00B9, $00BA, $00BB, $0152, $0153, $0178, $00BF, - $00C0, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $00D0, $00D1, $00D2, $00D3, $00D4, $00D5, $00D6, $00D7, $00D8, $00D9, $00DA, $00DB, $00DC, $00DD, $00DE, $00DF, - $00E0, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $00F0, $00F1, $00F2, $00F3, $00F4, $00F5, $00F6, $00F7, $00F8, $00F9, $00FA, $00FB, $00FC, $00FD, $00FE, $00FF - ); - -const - CP_8859_16 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0080, $0081, $0082, $0083, $0084, $0085, $0086, $0087, $0088, $0089, $008A, $008B, $008C, $008D, $008E, $008F, - $0090, $0091, $0092, $0093, $0094, $0095, $0096, $0097, $0098, $0099, $009A, $009B, $009C, $009D, $009E, $009F, - $00A0, $0104, $0105, $0141, $20AC, $201E, $0160, $00A7, $0161, $00A9, $0218, $00AB, $0179, $00AD, $017A, $017B, - $00B0, $00B1, $010C, $0142, $017D, $201D, $00B6, $00B7, $017E, $010D, $0219, $00BB, $0152, $0153, $0178, $017C, - $00C0, $00C1, $00C2, $0102, $00C4, $0106, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $0110, $0143, $00D2, $00D3, $00D4, $0150, $00D6, $015A, $0170, $00D9, $00DA, $00DB, $00DC, $0118, $021A, $00DF, - $00E0, $00E1, $00E2, $0103, $00E4, $0107, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $0111, $0144, $00F2, $00F3, $00F4, $0151, $00F6, $015B, $0171, $00F9, $00FA, $00FB, $00FC, $0119, $021B, $00FF - ); - -const - CP_037 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $009C, $0009, $0086, $007F, $0097, $008D, $008E, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $009D, $0085, $0008, $0087, $0018, $0019, $0092, $008F, $001C, $001D, $001E, $001F, - $0080, $0081, $0082, $0083, $0084, $000A, $0017, $001B, $0088, $0089, $008A, $008B, $008C, $0005, $0006, $0007, - $0090, $0091, $0016, $0093, $0094, $0095, $0096, $0004, $0098, $0099, $009A, $009B, $0014, $0015, $009E, $001A, - $0020, $00A0, $00E2, $00E4, $00E0, $00E1, $00E3, $00E5, $00E7, $00F1, $00A2, $002E, $003C, $0028, $002B, $007C, - $0026, $00E9, $00EA, $00EB, $00E8, $00ED, $00EE, $00EF, $00EC, $00DF, $0021, $0024, $002A, $0029, $003B, $00AC, - $002D, $002F, $00C2, $00C4, $00C0, $00C1, $00C3, $00C5, $00C7, $00D1, $00A6, $002C, $0025, $005F, $003E, $003F, - $00F8, $00C9, $00CA, $00CB, $00C8, $00CD, $00CE, $00CF, $00CC, $0060, $003A, $0023, $0040, $0027, $003D, $0022, - $00D8, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $00AB, $00BB, $00F0, $00FD, $00FE, $00B1, - $00B0, $006A, $006B, $006C, $006D, $006E, $006F, $0070, $0071, $0072, $00AA, $00BA, $00E6, $00B8, $00C6, $00A4, - $00B5, $007E, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $00A1, $00BF, $00D0, $00DD, $00DE, $00AE, - $005E, $00A3, $00A5, $00B7, $00A9, $00A7, $00B6, $00BC, $00BD, $00BE, $005B, $005D, $00AF, $00A8, $00B4, $00D7, - $007B, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $00AD, $00F4, $00F6, $00F2, $00F3, $00F5, - $007D, $004A, $004B, $004C, $004D, $004E, $004F, $0050, $0051, $0052, $00B9, $00FB, $00FC, $00F9, $00FA, $00FF, - $005C, $00F7, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $00B2, $00D4, $00D6, $00D2, $00D3, $00D5, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $00B3, $00DB, $00DC, $00D9, $00DA, $009F - ); - -const - CP_437 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $00E0, $00E5, $00E7, $00EA, $00EB, $00E8, $00EF, $00EE, $00EC, $00C4, $00C5, - $00C9, $00E6, $00C6, $00F4, $00F6, $00F2, $00FB, $00F9, $00FF, $00D6, $00DC, $00A2, $00A3, $00A5, $20A7, $0192, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $00AA, $00BA, $00BF, $2310, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_500 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $009C, $0009, $0086, $007F, $0097, $008D, $008E, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $009D, $0085, $0008, $0087, $0018, $0019, $0092, $008F, $001C, $001D, $001E, $001F, - $0080, $0081, $0082, $0083, $0084, $000A, $0017, $001B, $0088, $0089, $008A, $008B, $008C, $0005, $0006, $0007, - $0090, $0091, $0016, $0093, $0094, $0095, $0096, $0004, $0098, $0099, $009A, $009B, $0014, $0015, $009E, $001A, - $0020, $00A0, $00E2, $00E4, $00E0, $00E1, $00E3, $00E5, $00E7, $00F1, $005B, $002E, $003C, $0028, $002B, $0021, - $0026, $00E9, $00EA, $00EB, $00E8, $00ED, $00EE, $00EF, $00EC, $00DF, $005D, $0024, $002A, $0029, $003B, $005E, - $002D, $002F, $00C2, $00C4, $00C0, $00C1, $00C3, $00C5, $00C7, $00D1, $00A6, $002C, $0025, $005F, $003E, $003F, - $00F8, $00C9, $00CA, $00CB, $00C8, $00CD, $00CE, $00CF, $00CC, $0060, $003A, $0023, $0040, $0027, $003D, $0022, - $00D8, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $00AB, $00BB, $00F0, $00FD, $00FE, $00B1, - $00B0, $006A, $006B, $006C, $006D, $006E, $006F, $0070, $0071, $0072, $00AA, $00BA, $00E6, $00B8, $00C6, $00A4, - $00B5, $007E, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $00A1, $00BF, $00D0, $00DD, $00DE, $00AE, - $00A2, $00A3, $00A5, $00B7, $00A9, $00A7, $00B6, $00BC, $00BD, $00BE, $00AC, $007C, $00AF, $00A8, $00B4, $00D7, - $007B, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $00AD, $00F4, $00F6, $00F2, $00F3, $00F5, - $007D, $004A, $004B, $004C, $004D, $004E, $004F, $0050, $0051, $0052, $00B9, $00FB, $00FC, $00F9, $00FA, $00FF, - $005C, $00F7, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $00B2, $00D4, $00D6, $00D2, $00D3, $00D5, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $00B3, $00DB, $00DC, $00D9, $00DA, $009F - ); - -const - CP_737 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0391, $0392, $0393, $0394, $0395, $0396, $0397, $0398, $0399, $039A, $039B, $039C, $039D, $039E, $039F, $03A0, - $03A1, $03A3, $03A4, $03A5, $03A6, $03A7, $03A8, $03A9, $03B1, $03B2, $03B3, $03B4, $03B5, $03B6, $03B7, $03B8, - $03B9, $03BA, $03BB, $03BC, $03BD, $03BE, $03BF, $03C0, $03C1, $03C3, $03C2, $03C4, $03C5, $03C6, $03C7, $03C8, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03C9, $03AC, $03AD, $03AE, $03CA, $03AF, $03CC, $03CD, $03CB, $03CE, $0386, $0388, $0389, $038A, $038C, $038E, - $038F, $00B1, $2265, $2264, $03AA, $03AB, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_775 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0106, $00FC, $00E9, $0101, $00E4, $0123, $00E5, $0107, $0142, $0113, $0156, $0157, $012B, $0179, $00C4, $00C5, - $00C9, $00E6, $00C6, $014D, $00F6, $0122, $00A2, $015A, $015B, $00D6, $00DC, $00F8, $00A3, $00D8, $00D7, $00A4, - $0100, $012A, $00F3, $017B, $017C, $017A, $201D, $00A6, $00A9, $00AE, $00AC, $00BD, $00BC, $0141, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $0104, $010C, $0118, $0116, $2563, $2551, $2557, $255D, $012E, $0160, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $0172, $016A, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $017D, - $0105, $010D, $0119, $0117, $012F, $0161, $0173, $016B, $017E, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $00D3, $00DF, $014C, $0143, $00F5, $00D5, $00B5, $0144, $0136, $0137, $013B, $013C, $0146, $0112, $0145, $2019, - $00AD, $00B1, $201C, $00BE, $00B6, $00A7, $00F7, $201E, $00B0, $2219, $00B7, $00B9, $00B3, $00B2, $25A0, $00A0 - ); - -const - CP_850 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $00E0, $00E5, $00E7, $00EA, $00EB, $00E8, $00EF, $00EE, $00EC, $00C4, $00C5, - $00C9, $00E6, $00C6, $00F4, $00F6, $00F2, $00FB, $00F9, $00FF, $00D6, $00DC, $00F8, $00A3, $00D8, $00D7, $0192, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $00AA, $00BA, $00BF, $00AE, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $00C1, $00C2, $00C0, $00A9, $2563, $2551, $2557, $255D, $00A2, $00A5, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $00E3, $00C3, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $00A4, - $00F0, $00D0, $00CA, $00CB, $00C8, $0131, $00CD, $00CE, $00CF, $2518, $250C, $2588, $2584, $00A6, $00CC, $2580, - $00D3, $00DF, $00D4, $00D2, $00F5, $00D5, $00B5, $00FE, $00DE, $00DA, $00DB, $00D9, $00FD, $00DD, $00AF, $00B4, - $00AD, $00B1, $2017, $00BE, $00B6, $00A7, $00F7, $00B8, $00B0, $00A8, $00B7, $00B9, $00B3, $00B2, $25A0, $00A0 - ); - -const - CP_852 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $016F, $0107, $00E7, $0142, $00EB, $0150, $0151, $00EE, $0179, $00C4, $0106, - $00C9, $0139, $013A, $00F4, $00F6, $013D, $013E, $015A, $015B, $00D6, $00DC, $0164, $0165, $0141, $00D7, $010D, - $00E1, $00ED, $00F3, $00FA, $0104, $0105, $017D, $017E, $0118, $0119, $00AC, $017A, $010C, $015F, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $00C1, $00C2, $011A, $015E, $2563, $2551, $2557, $255D, $017B, $017C, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $0102, $0103, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $00A4, - $0111, $0110, $010E, $00CB, $010F, $0147, $00CD, $00CE, $011B, $2518, $250C, $2588, $2584, $0162, $016E, $2580, - $00D3, $00DF, $00D4, $0143, $0144, $0148, $0160, $0161, $0154, $00DA, $0155, $0170, $00FD, $00DD, $0163, $00B4, - $00AD, $02DD, $02DB, $02C7, $02D8, $00A7, $00F7, $00B8, $00B0, $00A8, $02D9, $0171, $0158, $0159, $25A0, $00A0 - ); - -const - CP_855 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0452, $0402, $0453, $0403, $0451, $0401, $0454, $0404, $0455, $0405, $0456, $0406, $0457, $0407, $0458, $0408, - $0459, $0409, $045A, $040A, $045B, $040B, $045C, $040C, $045E, $040E, $045F, $040F, $044E, $042E, $044A, $042A, - $0430, $0410, $0431, $0411, $0446, $0426, $0434, $0414, $0435, $0415, $0444, $0424, $0433, $0413, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $0445, $0425, $0438, $0418, $2563, $2551, $2557, $255D, $0439, $0419, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $043A, $041A, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $00A4, - $043B, $041B, $043C, $041C, $043D, $041D, $043E, $041E, $043F, $2518, $250C, $2588, $2584, $041F, $044F, $2580, - $042F, $0440, $0420, $0441, $0421, $0442, $0422, $0443, $0423, $0436, $0416, $0432, $0412, $044C, $042C, $2116, - $00AD, $044B, $042B, $0437, $0417, $0448, $0428, $044D, $042D, $0449, $0429, $0447, $0427, $00A7, $25A0, $00A0 - ); - -const - CP_857 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $00E0, $00E5, $00E7, $00EA, $00EB, $00E8, $00EF, $00EE, $0131, $00C4, $00C5, - $00C9, $00E6, $00C6, $00F4, $00F6, $00F2, $00FB, $00F9, $0130, $00D6, $00DC, $00F8, $00A3, $00D8, $015E, $015F, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $011E, $011F, $00BF, $00AE, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $00C1, $00C2, $00C0, $00A9, $2563, $2551, $2557, $255D, $00A2, $00A5, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $00E3, $00C3, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $00A4, - $00BA, $00AA, $00CA, $00CB, $00C8, $0000, $00CD, $00CE, $00CF, $2518, $250C, $2588, $2584, $00A6, $00CC, $2580, - $00D3, $00DF, $00D4, $00D2, $00F5, $00D5, $00B5, $0000, $00D7, $00DA, $00DB, $00D9, $00EC, $00FF, $00AF, $00B4, - $00AD, $00B1, $0000, $00BE, $00B6, $00A7, $00F7, $00B8, $00B0, $00A8, $00B7, $00B9, $00B3, $00B2, $25A0, $00A0 - ); - -const - CP_860 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E3, $00E0, $00C1, $00E7, $00EA, $00CA, $00E8, $00CD, $00D4, $00EC, $00C3, $00C2, - $00C9, $00C0, $00C8, $00F4, $00F5, $00F2, $00DA, $00F9, $00CC, $00D5, $00DC, $00A2, $00A3, $00D9, $20A7, $00D3, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $00AA, $00BA, $00BF, $00D2, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_861 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $00E0, $00E5, $00E7, $00EA, $00EB, $00E8, $00D0, $00F0, $00DE, $00C4, $00C5, - $00C9, $00E6, $00C6, $00F4, $00F6, $00FE, $00FB, $00DD, $00FD, $00D6, $00DC, $00F8, $00A3, $00D8, $20A7, $0192, - $00E1, $00ED, $00F3, $00FA, $00C1, $00CD, $00D3, $00DA, $00BF, $2310, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_862 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $05D0, $05D1, $05D2, $05D3, $05D4, $05D5, $05D6, $05D7, $05D8, $05D9, $05DA, $05DB, $05DC, $05DD, $05DE, $05DF, - $05E0, $05E1, $05E2, $05E3, $05E4, $05E5, $05E6, $05E7, $05E8, $05E9, $05EA, $00A2, $00A3, $00A5, $20A7, $0192, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $00AA, $00BA, $00BF, $2310, $00AC, $00BD, $00BC, $00A1, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_863 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00C2, $00E0, $00B6, $00E7, $00EA, $00EB, $00E8, $00EF, $00EE, $2017, $00C0, $00A7, - $00C9, $00C8, $00CA, $00F4, $00CB, $00CF, $00FB, $00F9, $00A4, $00D4, $00DC, $00A2, $00A3, $00D9, $00DB, $0192, - $00A6, $00B4, $00F3, $00FA, $00A8, $00B8, $00B3, $00AF, $00CE, $2310, $00AC, $00BD, $00BC, $00BE, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_864 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $066A, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00B0, $00B7, $2219, $221A, $2592, $2500, $2502, $253C, $2524, $252C, $251C, $2534, $2510, $250C, $2514, $2518, - $03B2, $221E, $03C6, $00B1, $00BD, $00BC, $2248, $00AB, $00BB, $FEF7, $FEF8, $0000, $0000, $FEFB, $FEFC, $0000, - $00A0, $00AD, $FE82, $00A3, $00A4, $FE84, $0000, $0000, $FE8E, $FE8F, $FE95, $FE99, $060C, $FE9D, $FEA1, $FEA5, - $0660, $0661, $0662, $0663, $0664, $0665, $0666, $0667, $0668, $0669, $FED1, $061B, $FEB1, $FEB5, $FEB9, $061F, - $00A2, $FE80, $FE81, $FE83, $FE85, $FECA, $FE8B, $FE8D, $FE91, $FE93, $FE97, $FE9B, $FE9F, $FEA3, $FEA7, $FEA9, - $FEAB, $FEAD, $FEAF, $FEB3, $FEB7, $FEBB, $FEBF, $FEC1, $FEC5, $FECB, $FECF, $00A6, $00AC, $00F7, $00D7, $FEC9, - $0640, $FED3, $FED7, $FEDB, $FEDF, $FEE3, $FEE7, $FEEB, $FEED, $FEEF, $FEF3, $FEBD, $FECC, $FECE, $FECD, $FEE1, - $FE7D, $0651, $FEE5, $FEE9, $FEEC, $FEF0, $FEF2, $FED0, $FED5, $FEF5, $FEF6, $FEDD, $FED9, $FEF1, $25A0, $0000 - ); - -const - CP_865 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $00C7, $00FC, $00E9, $00E2, $00E4, $00E0, $00E5, $00E7, $00EA, $00EB, $00E8, $00EF, $00EE, $00EC, $00C4, $00C5, - $00C9, $00E6, $00C6, $00F4, $00F6, $00F2, $00FB, $00F9, $00FF, $00D6, $00DC, $00F8, $00A3, $00D8, $20A7, $0192, - $00E1, $00ED, $00F3, $00FA, $00F1, $00D1, $00AA, $00BA, $00BF, $2310, $00AC, $00BD, $00BC, $00A1, $00AB, $00A4, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $03B1, $00DF, $0393, $03C0, $03A3, $03C3, $00B5, $03C4, $03A6, $0398, $03A9, $03B4, $221E, $03C6, $03B5, $2229, - $2261, $00B1, $2265, $2264, $2320, $2321, $00F7, $2248, $00B0, $2219, $00B7, $221A, $207F, $00B2, $25A0, $00A0 - ); - -const - CP_866 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0410, $0411, $0412, $0413, $0414, $0415, $0416, $0417, $0418, $0419, $041A, $041B, $041C, $041D, $041E, $041F, - $0420, $0421, $0422, $0423, $0424, $0425, $0426, $0427, $0428, $0429, $042A, $042B, $042C, $042D, $042E, $042F, - $0430, $0431, $0432, $0433, $0434, $0435, $0436, $0437, $0438, $0439, $043A, $043B, $043C, $043D, $043E, $043F, - $2591, $2592, $2593, $2502, $2524, $2561, $2562, $2556, $2555, $2563, $2551, $2557, $255D, $255C, $255B, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $255E, $255F, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $2567, - $2568, $2564, $2565, $2559, $2558, $2552, $2553, $256B, $256A, $2518, $250C, $2588, $2584, $258C, $2590, $2580, - $0440, $0441, $0442, $0443, $0444, $0445, $0446, $0447, $0448, $0449, $044A, $044B, $044C, $044D, $044E, $044F, - $0401, $0451, $0404, $0454, $0407, $0457, $040E, $045E, $00B0, $2219, $00B7, $221A, $2116, $00A4, $25A0, $00A0 - ); - -const - CP_869 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0000, $0000, $0000, $0000, $0000, $0000, $0386, $0000, $00B7, $00AC, $00A6, $2018, $2019, $0388, $2015, $0389, - $038A, $03AA, $038C, $0000, $0000, $038E, $03AB, $00A9, $038F, $00B2, $00B3, $03AC, $00A3, $03AD, $03AE, $03AF, - $03CA, $0390, $03CC, $03CD, $0391, $0392, $0393, $0394, $0395, $0396, $0397, $00BD, $0398, $0399, $00AB, $00BB, - $2591, $2592, $2593, $2502, $2524, $039A, $039B, $039C, $039D, $2563, $2551, $2557, $255D, $039E, $039F, $2510, - $2514, $2534, $252C, $251C, $2500, $253C, $03A0, $03A1, $255A, $2554, $2569, $2566, $2560, $2550, $256C, $03A3, - $03A4, $03A5, $03A6, $03A7, $03A8, $03A9, $03B1, $03B2, $03B3, $2518, $250C, $2588, $2584, $03B4, $03B5, $2580, - $03B6, $03B7, $03B8, $03B9, $03BA, $03BB, $03BC, $03BD, $03BE, $03BF, $03C0, $03C1, $03C3, $03C2, $03C4, $0384, - $00AD, $00B1, $03C5, $03C6, $03C7, $00A7, $03C8, $0385, $00B0, $00A8, $03C9, $03CB, $03B0, $03CE, $25A0, $00A0 - ); - -const - CP_874 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $0000, $0000, $0000, $2026, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $00A0, $0E01, $0E02, $0E03, $0E04, $0E05, $0E06, $0E07, $0E08, $0E09, $0E0A, $0E0B, $0E0C, $0E0D, $0E0E, $0E0F, - $0E10, $0E11, $0E12, $0E13, $0E14, $0E15, $0E16, $0E17, $0E18, $0E19, $0E1A, $0E1B, $0E1C, $0E1D, $0E1E, $0E1F, - $0E20, $0E21, $0E22, $0E23, $0E24, $0E25, $0E26, $0E27, $0E28, $0E29, $0E2A, $0E2B, $0E2C, $0E2D, $0E2E, $0E2F, - $0E30, $0E31, $0E32, $0E33, $0E34, $0E35, $0E36, $0E37, $0E38, $0E39, $0E3A, $0000, $0000, $0000, $0000, $0E3F, - $0E40, $0E41, $0E42, $0E43, $0E44, $0E45, $0E46, $0E47, $0E48, $0E49, $0E4A, $0E4B, $0E4C, $0E4D, $0E4E, $0E4F, - $0E50, $0E51, $0E52, $0E53, $0E54, $0E55, $0E56, $0E57, $0E58, $0E59, $0E5A, $0E5B, $0000, $0000, $0000, $0000 - ); - -const - CP_875 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $009C, $0009, $0086, $007F, $0097, $008D, $008E, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $009D, $0085, $0008, $0087, $0018, $0019, $0092, $008F, $001C, $001D, $001E, $001F, - $0080, $0081, $0082, $0083, $0084, $000A, $0017, $001B, $0088, $0089, $008A, $008B, $008C, $0005, $0006, $0007, - $0090, $0091, $0016, $0093, $0094, $0095, $0096, $0004, $0098, $0099, $009A, $009B, $0014, $0015, $009E, $001A, - $0020, $0391, $0392, $0393, $0394, $0395, $0396, $0397, $0398, $0399, $005B, $002E, $003C, $0028, $002B, $0021, - $0026, $039A, $039B, $039C, $039D, $039E, $039F, $03A0, $03A1, $03A3, $005D, $0024, $002A, $0029, $003B, $005E, - $002D, $002F, $03A4, $03A5, $03A6, $03A7, $03A8, $03A9, $03AA, $03AB, $007C, $002C, $0025, $005F, $003E, $003F, - $00A8, $0386, $0388, $0389, $00A0, $038A, $038C, $038E, $038F, $0060, $003A, $0023, $0040, $0027, $003D, $0022, - $0385, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $03B1, $03B2, $03B3, $03B4, $03B5, $03B6, - $00B0, $006A, $006B, $006C, $006D, $006E, $006F, $0070, $0071, $0072, $03B7, $03B8, $03B9, $03BA, $03BB, $03BC, - $00B4, $007E, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $03BD, $03BE, $03BF, $03C0, $03C1, $03C3, - $00A3, $03AC, $03AD, $03AE, $03CA, $03AF, $03CC, $03CD, $03CB, $03CE, $03C2, $03C4, $03C5, $03C6, $03C7, $03C8, - $007B, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $00AD, $03C9, $0390, $03B0, $2018, $2015, - $007D, $004A, $004B, $004C, $004D, $004E, $004F, $0050, $0051, $0052, $00B1, $00BD, $001A, $0387, $2019, $00A6, - $005C, $001A, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $00B2, $00A7, $001A, $001A, $00AB, $00AC, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $00B3, $00A9, $001A, $001A, $00BB, $009F - ); - -const - CP_932 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $0000, $FF61, $FF62, $FF63, $FF64, $FF65, $FF66, $FF67, $FF68, $FF69, $FF6A, $FF6B, $FF6C, $FF6D, $FF6E, $FF6F, - $FF70, $FF71, $FF72, $FF73, $FF74, $FF75, $FF76, $FF77, $FF78, $FF79, $FF7A, $FF7B, $FF7C, $FF7D, $FF7E, $FF7F, - $FF80, $FF81, $FF82, $FF83, $FF84, $FF85, $FF86, $FF87, $FF88, $FF89, $FF8A, $FF8B, $FF8C, $FF8D, $FF8E, $FF8F, - $FF90, $FF91, $FF92, $FF93, $FF94, $FF95, $FF96, $FF97, $FF98, $FF99, $FF9A, $FF9B, $FF9C, $FF9D, $FF9E, $FF9F, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 - ); - -const - CP_1026 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $009C, $0009, $0086, $007F, $0097, $008D, $008E, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $009D, $0085, $0008, $0087, $0018, $0019, $0092, $008F, $001C, $001D, $001E, $001F, - $0080, $0081, $0082, $0083, $0084, $000A, $0017, $001B, $0088, $0089, $008A, $008B, $008C, $0005, $0006, $0007, - $0090, $0091, $0016, $0093, $0094, $0095, $0096, $0004, $0098, $0099, $009A, $009B, $0014, $0015, $009E, $001A, - $0020, $00A0, $00E2, $00E4, $00E0, $00E1, $00E3, $00E5, $007B, $00F1, $00C7, $002E, $003C, $0028, $002B, $0021, - $0026, $00E9, $00EA, $00EB, $00E8, $00ED, $00EE, $00EF, $00EC, $00DF, $011E, $0130, $002A, $0029, $003B, $005E, - $002D, $002F, $00C2, $00C4, $00C0, $00C1, $00C3, $00C5, $005B, $00D1, $015F, $002C, $0025, $005F, $003E, $003F, - $00F8, $00C9, $00CA, $00CB, $00C8, $00CD, $00CE, $00CF, $00CC, $0131, $003A, $00D6, $015E, $0027, $003D, $00DC, - $00D8, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $00AB, $00BB, $007D, $0060, $00A6, $00B1, - $00B0, $006A, $006B, $006C, $006D, $006E, $006F, $0070, $0071, $0072, $00AA, $00BA, $00E6, $00B8, $00C6, $00A4, - $00B5, $00F6, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $00A1, $00BF, $005D, $0024, $0040, $00AE, - $00A2, $00A3, $00A5, $00B7, $00A9, $00A7, $00B6, $00BC, $00BD, $00BE, $00AC, $007C, $00AF, $00A8, $00B4, $00D7, - $00E7, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $00AD, $00F4, $007E, $00F2, $00F3, $00F5, - $011F, $004A, $004B, $004C, $004D, $004E, $004F, $0050, $0051, $0052, $00B9, $00FB, $005C, $00F9, $00FA, $00FF, - $00FC, $00F7, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $00B2, $00D4, $0023, $00D2, $00D3, $00D5, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $00B3, $00DB, $0022, $00D9, $00DA, $009F - ); - -const - CP_1250 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0000, $201E, $2026, $2020, $2021, $0000, $2030, $0160, $2039, $015A, $0164, $017D, $0179, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $0000, $2122, $0161, $203A, $015B, $0165, $017E, $017A, - $00A0, $02C7, $02D8, $0141, $00A4, $0104, $00A6, $00A7, $00A8, $00A9, $015E, $00AB, $00AC, $00AD, $00AE, $017B, - $00B0, $00B1, $02DB, $0142, $00B4, $00B5, $00B6, $00B7, $00B8, $0105, $015F, $00BB, $013D, $02DD, $013E, $017C, - $0154, $00C1, $00C2, $0102, $00C4, $0139, $0106, $00C7, $010C, $00C9, $0118, $00CB, $011A, $00CD, $00CE, $010E, - $0110, $0143, $0147, $00D3, $00D4, $0150, $00D6, $00D7, $0158, $016E, $00DA, $0170, $00DC, $00DD, $0162, $00DF, - $0155, $00E1, $00E2, $0103, $00E4, $013A, $0107, $00E7, $010D, $00E9, $0119, $00EB, $011B, $00ED, $00EE, $010F, - $0111, $0144, $0148, $00F3, $00F4, $0151, $00F6, $00F7, $0159, $016F, $00FA, $0171, $00FC, $00FD, $0163, $02D9 - ); - -const - CP_1251 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $0402, $0403, $201A, $0453, $201E, $2026, $2020, $2021, $20AC, $2030, $0409, $2039, $040A, $040C, $040B, $040F, - $0452, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $0000, $2122, $0459, $203A, $045A, $045C, $045B, $045F, - $00A0, $040E, $045E, $0408, $00A4, $0490, $00A6, $00A7, $0401, $00A9, $0404, $00AB, $00AC, $00AD, $00AE, $0407, - $00B0, $00B1, $0406, $0456, $0491, $00B5, $00B6, $00B7, $0451, $2116, $0454, $00BB, $0458, $0405, $0455, $0457, - $0410, $0411, $0412, $0413, $0414, $0415, $0416, $0417, $0418, $0419, $041A, $041B, $041C, $041D, $041E, $041F, - $0420, $0421, $0422, $0423, $0424, $0425, $0426, $0427, $0428, $0429, $042A, $042B, $042C, $042D, $042E, $042F, - $0430, $0431, $0432, $0433, $0434, $0435, $0436, $0437, $0438, $0439, $043A, $043B, $043C, $043D, $043E, $043F, - $0440, $0441, $0442, $0443, $0444, $0445, $0446, $0447, $0448, $0449, $044A, $044B, $044C, $044D, $044E, $044F - ); - -const - CP_1252 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0192, $201E, $2026, $2020, $2021, $02C6, $2030, $0160, $2039, $0152, $0000, $017D, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $02DC, $2122, $0161, $203A, $0153, $0000, $017E, $0178, - $00A0, $00A1, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $00AA, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00BA, $00BB, $00BC, $00BD, $00BE, $00BF, - $00C0, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $00D0, $00D1, $00D2, $00D3, $00D4, $00D5, $00D6, $00D7, $00D8, $00D9, $00DA, $00DB, $00DC, $00DD, $00DE, $00DF, - $00E0, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $00F0, $00F1, $00F2, $00F3, $00F4, $00F5, $00F6, $00F7, $00F8, $00F9, $00FA, $00FB, $00FC, $00FD, $00FE, $00FF - ); - -const - CP_1253 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0192, $201E, $2026, $2020, $2021, $0000, $2030, $0000, $2039, $0000, $0000, $0000, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $0000, $2122, $0000, $203A, $0000, $0000, $0000, $0000, - $00A0, $0385, $0386, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $0000, $00AB, $00AC, $00AD, $00AE, $2015, - $00B0, $00B1, $00B2, $00B3, $0384, $00B5, $00B6, $00B7, $0388, $0389, $038A, $00BB, $038C, $00BD, $038E, $038F, - $0390, $0391, $0392, $0393, $0394, $0395, $0396, $0397, $0398, $0399, $039A, $039B, $039C, $039D, $039E, $039F, - $03A0, $03A1, $0000, $03A3, $03A4, $03A5, $03A6, $03A7, $03A8, $03A9, $03AA, $03AB, $03AC, $03AD, $03AE, $03AF, - $03B0, $03B1, $03B2, $03B3, $03B4, $03B5, $03B6, $03B7, $03B8, $03B9, $03BA, $03BB, $03BC, $03BD, $03BE, $03BF, - $03C0, $03C1, $03C2, $03C3, $03C4, $03C5, $03C6, $03C7, $03C8, $03C9, $03CA, $03CB, $03CC, $03CD, $03CE, $0000 - ); - -const - CP_1254 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0192, $201E, $2026, $2020, $2021, $02C6, $2030, $0160, $2039, $0152, $0000, $0000, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $02DC, $2122, $0161, $203A, $0153, $0000, $0000, $0178, - $00A0, $00A1, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $00AA, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00BA, $00BB, $00BC, $00BD, $00BE, $00BF, - $00C0, $00C1, $00C2, $00C3, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $00CC, $00CD, $00CE, $00CF, - $011E, $00D1, $00D2, $00D3, $00D4, $00D5, $00D6, $00D7, $00D8, $00D9, $00DA, $00DB, $00DC, $0130, $015E, $00DF, - $00E0, $00E1, $00E2, $00E3, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $00EC, $00ED, $00EE, $00EF, - $011F, $00F1, $00F2, $00F3, $00F4, $00F5, $00F6, $00F7, $00F8, $00F9, $00FA, $00FB, $00FC, $0131, $015F, $00FF - ); - -const - CP_1255 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0192, $201E, $2026, $2020, $2021, $02C6, $2030, $0000, $2039, $0000, $0000, $0000, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $02DC, $2122, $0000, $203A, $0000, $0000, $0000, $0000, - $00A0, $00A1, $00A2, $00A3, $20AA, $00A5, $00A6, $00A7, $00A8, $00A9, $00D7, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00F7, $00BB, $00BC, $00BD, $00BE, $00BF, - $05B0, $05B1, $05B2, $05B3, $05B4, $05B5, $05B6, $05B7, $05B8, $05B9, $0000, $05BB, $05BC, $05BD, $05BE, $05BF, - $05C0, $05C1, $05C2, $05C3, $05F0, $05F1, $05F2, $05F3, $05F4, $0000, $0000, $0000, $0000, $0000, $0000, $0000, - $05D0, $05D1, $05D2, $05D3, $05D4, $05D5, $05D6, $05D7, $05D8, $05D9, $05DA, $05DB, $05DC, $05DD, $05DE, $05DF, - $05E0, $05E1, $05E2, $05E3, $05E4, $05E5, $05E6, $05E7, $05E8, $05E9, $05EA, $0000, $0000, $200E, $200F, $0000 - ); - -const - CP_1256 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $067E, $201A, $0192, $201E, $2026, $2020, $2021, $02C6, $2030, $0679, $2039, $0152, $0686, $0698, $0688, - $06AF, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $06A9, $2122, $0691, $203A, $0153, $200C, $200D, $06BA, - $00A0, $060C, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $06BE, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $061B, $00BB, $00BC, $00BD, $00BE, $061F, - $06C1, $0621, $0622, $0623, $0624, $0625, $0626, $0627, $0628, $0629, $062A, $062B, $062C, $062D, $062E, $062F, - $0630, $0631, $0632, $0633, $0634, $0635, $0636, $00D7, $0637, $0638, $0639, $063A, $0640, $0641, $0642, $0643, - $00E0, $0644, $00E2, $0645, $0646, $0647, $0648, $00E7, $00E8, $00E9, $00EA, $00EB, $0649, $064A, $00EE, $00EF, - $064B, $064C, $064D, $064E, $00F4, $064F, $0650, $00F7, $0651, $00F9, $0652, $00FB, $00FC, $200E, $200F, $06D2 - ); - -const - CP_1257 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0000, $201E, $2026, $2020, $2021, $0000, $2030, $0000, $2039, $0000, $00A8, $02C7, $00B8, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $0000, $2122, $0000, $203A, $0000, $00AF, $02DB, $0000, - $00A0, $0000, $00A2, $00A3, $00A4, $0000, $00A6, $00A7, $00D8, $00A9, $0156, $00AB, $00AC, $00AD, $00AE, $00C6, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00F8, $00B9, $0157, $00BB, $00BC, $00BD, $00BE, $00E6, - $0104, $012E, $0100, $0106, $00C4, $00C5, $0118, $0112, $010C, $00C9, $0179, $0116, $0122, $0136, $012A, $013B, - $0160, $0143, $0145, $00D3, $014C, $00D5, $00D6, $00D7, $0172, $0141, $015A, $016A, $00DC, $017B, $017D, $00DF, - $0105, $012F, $0101, $0107, $00E4, $00E5, $0119, $0113, $010D, $00E9, $017A, $0117, $0123, $0137, $012B, $013C, - $0161, $0144, $0146, $00F3, $014D, $00F5, $00F6, $00F7, $0173, $0142, $015B, $016B, $00FC, $017C, $017E, $02D9 - ); - -const - CP_1258 : TtsCodePage = ( - $0000, $0001, $0002, $0003, $0004, $0005, $0006, $0007, $0008, $0009, $000A, $000B, $000C, $000D, $000E, $000F, - $0010, $0011, $0012, $0013, $0014, $0015, $0016, $0017, $0018, $0019, $001A, $001B, $001C, $001D, $001E, $001F, - $0020, $0021, $0022, $0023, $0024, $0025, $0026, $0027, $0028, $0029, $002A, $002B, $002C, $002D, $002E, $002F, - $0030, $0031, $0032, $0033, $0034, $0035, $0036, $0037, $0038, $0039, $003A, $003B, $003C, $003D, $003E, $003F, - $0040, $0041, $0042, $0043, $0044, $0045, $0046, $0047, $0048, $0049, $004A, $004B, $004C, $004D, $004E, $004F, - $0050, $0051, $0052, $0053, $0054, $0055, $0056, $0057, $0058, $0059, $005A, $005B, $005C, $005D, $005E, $005F, - $0060, $0061, $0062, $0063, $0064, $0065, $0066, $0067, $0068, $0069, $006A, $006B, $006C, $006D, $006E, $006F, - $0070, $0071, $0072, $0073, $0074, $0075, $0076, $0077, $0078, $0079, $007A, $007B, $007C, $007D, $007E, $007F, - $20AC, $0000, $201A, $0192, $201E, $2026, $2020, $2021, $02C6, $2030, $0000, $2039, $0152, $0000, $0000, $0000, - $0000, $2018, $2019, $201C, $201D, $2022, $2013, $2014, $02DC, $2122, $0000, $203A, $0153, $0000, $0000, $0178, - $00A0, $00A1, $00A2, $00A3, $00A4, $00A5, $00A6, $00A7, $00A8, $00A9, $00AA, $00AB, $00AC, $00AD, $00AE, $00AF, - $00B0, $00B1, $00B2, $00B3, $00B4, $00B5, $00B6, $00B7, $00B8, $00B9, $00BA, $00BB, $00BC, $00BD, $00BE, $00BF, - $00C0, $00C1, $00C2, $0102, $00C4, $00C5, $00C6, $00C7, $00C8, $00C9, $00CA, $00CB, $0300, $00CD, $00CE, $00CF, - $0110, $00D1, $0309, $00D3, $00D4, $01A0, $00D6, $00D7, $00D8, $00D9, $00DA, $00DB, $00DC, $01AF, $0303, $00DF, - $00E0, $00E1, $00E2, $0103, $00E4, $00E5, $00E6, $00E7, $00E8, $00E9, $00EA, $00EB, $0301, $00ED, $00EE, $00EF, - $0111, $00F1, $0323, $00F3, $00F4, $01A1, $00F6, $00F7, $00F8, $00F9, $00FA, $00FB, $00FC, $01B0, $20AB, $00FF - ); - - - -implementation - - - -function tsStrAlloc(Size: Cardinal): pWideChar; -begin - Size := (Size +1) shl 1; - - GetMem(Result, Size); - FillChar(Result^, Size, 0); -end; - - -function tsStrNew(pText: pWideChar): pWideChar; -begin - Result := tsStrAlloc(tsStrLength(pText)); - - tsStrCopy(Result, pText); -end; - - -procedure tsStrDispose(pText: pWideChar); -begin - FreeMem(pText); -end; - - -function tsStrLength(pText: pWideChar): Cardinal; -{$IFDEF TS_PURE_PASCAL} -begin - Result := 0; - - if pText <> nil then - while ord(pText^) <> 0 do begin - inc(Result); - inc(pText); - end; -{$ELSE} -asm - test eax, eax // test if addr is nil - je @@end // jump to end (no need to set length. allready 0) - - mov ecx, eax // copy pointer to ecx - xor eax, eax // clear eax - - xor edx, edx // clear edx - - jmp @@loopfoot - -@@loop: - - inc eax // inc counter in eax - add ecx, 2 // inc pointer in edx by 2 - -@@loopfoot: - - cmp word ptr [ecx], 0 // compare word with 0 - jnz @@loop - -@@end: - -{$ENDIF} -end; - - -function tsStrCopy(pDest, pSource: pWideChar): pWideChar; -{$IFDEF TS_PURE_PASCAL} -begin - Result := pDest; - - if pDest <> nil then - if pSource <> nil then - while ord(pSource^) <> 0 do begin - pDest^ := pSource^; - - inc(pDest); - inc(pSource); - end; -{$ELSE} -asm - test eax, eax - jz @@end - - test edx, eax - jz @@end - - push eax // save pointer of dest - - xor ecx, ecx // clear ecx - - jmp @@loopfoot - -@@loop: - - mov word ptr [eax], cx // copy cx to dest - -// add eax, 2 // inc dest pointer -// add edx, 2 // inc source pointer - inc eax // inc dest pointer - inc eax // inc dest pointer - inc edx // inc source pointer - inc edx // inc source pointer - -@@loopfoot: - - mov cx, word ptr [edx] // copy source word to cx - test ecx, ecx // have we reached the end - jnz @@loop // jump to end - - pop eax // restore dest pointer to eax - -@@end: - -{$ENDIF} -end; - - -const -{* Index into the table below with the first byte of a UTF-8 sequence to - * get the number of trailing bytes that are supposed to follow it. - * Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is - * left as-is for anyone who may want to do such conversion, which was - * allowed in earlier algorithms. } - trailingBytesForUTF8: array [AnsiChar] of byte = ( - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 - ); - -{* Magic values subtracted from a buffer value during UTF8 conversion. - * This table contains as many values as there might be trailing bytes - * in a UTF-8 sequence. } - offsetsFromUTF8 : array [0..5] of Cardinal = ($00000000, $00003080, $000E2080, $03C82080, $FA082080, $82082080); - - -procedure tsAnsiUTF8ToWide(pDest: pWideChar; pSource: pAnsiChar; DefaultChar: WideChar); -{$IFDEF TS_PURE_PASCAL} -var - ExtractBytes: Byte; - StrPos, StrLen, CharCode, Idx: Cardinal; -begin - // es ist möglich einen BufferOverflow zu erzeugen. - if (pSource <> nil) and (pDest <> nil) then begin - StrLen := Length(pSource); - StrPos := 0; - - while StrPos < StrLen do begin - // - ExtractBytes := trailingBytesForUTF8[pSource^]; - - if StrPos + ExtractBytes > StrLen then - Exit; - - // extract first byte - CharCode := Ord(pSource^); - Inc(pSource); - Inc(StrPos); - - // extract all other - for Idx := ExtractBytes downto 1 do begin - CharCode := CharCode shl 6; - CharCode := CharCode + Ord(pSource^); - Inc(pSource); - Inc(StrPos); - end; - - // decreasing by magic numbers - CharCode := CharCode - offsetsFromUTF8[ExtractBytes]; - - // if its not to large so use it - if CharCode > $FFFF then - CharCode := Ord(DefaultChar); - - if CharCode <= $FFFF then begin - pWord(pDest)^ := CharCode; - Inc(pDest); - end; - end; - end; -{$ELSE} -asm - test eax, eax // test pDest to nil - jnz @@param1 // jump to end - ret - -@@param1: - - test edx, edx // test pSource to nil - jnz @@param2 // jump to end - ret - -@@param2: - - push cx // save defaultchar - - // getting length of pSource into ecx - mov ecx, edx // mov pSource into ecx - jmp @@ansilenloopfoot - -@@ansilenloop: - - inc ecx // increase pointer - -@@ansilenloopfoot: - - cmp byte ptr [ecx], 0 // check if pointer^ is #0 - jnz @@ansilenloop - - sub ecx, edx // substract endpointer from begining. - - // preparing for conversion - push ebx // save register - push esi // save register - push edi // save register - - mov edi, eax // copy pSource to esi - mov esi, edx // copy pDest to edi - - // while ecx > 0 - jmp @@uftloopfoot - -@@uftloop: - - movzx ebx, byte ptr [trailingBytesForUTF8 + eax] // copy count to ebx - - test ebx, ebx // utf char - jz @@chardone // process utf - - // utf 8 char - - sub ecx, ebx // decrease char count - js @@finished // jump im signed (lower 0) - - jmp dword ptr [ebx * 4 + @@casemap1] - -@@case5: // trailingBytesForUTF8 = 5 - shl eax, 6 - inc esi - movzx edx, byte ptr [esi] - add eax, edx - -@@case4: // trailingBytesForUTF8 = 4 - shl eax, 6 - inc esi - movzx edx, byte ptr [esi] - add eax, edx - -@@case3: // trailingBytesForUTF8 = 3 - shl eax, 6 - inc esi - movzx edx, byte ptr [esi] - add eax, edx - -@@case2: // trailingBytesForUTF8 = 2 - shl eax, 6 - inc esi - movzx edx, byte ptr [esi] - add eax, edx - -@@case1: // trailingBytesForUTF8 = 1 - shl eax, 6 - inc esi - movzx edx, byte ptr [esi] - add eax, edx - -@@case0: - // substract magic number - mov edx, dword ptr [offsetsFromUTF8 + ebx * 4] - sub eax, edx - - // check out of range - cmp eax, $FFFF - jl @@chardone - - // move default char - movzx eax, word ptr [esp + $C] - - // skip if 0 - test eax, eax - jz @@nextchar - -@@chardone: - - mov word ptr [edi], ax // copy char into pDest^ -// add edi, 2 // inc pDest by 2 - inc edi // inc pDest by 2 - inc edi // inc pDest by 2 - -@@nextchar: - - inc esi // inc pSource - -@@uftloopfoot: - dec ecx - - movzx eax, byte ptr [esi] // copy actual char into eax - test eax, eax // check if #0 - jnz @@uftloop // if not zero process it - -@@finished: - - // cleaning up - pop edi - pop esi - pop ebx - pop cx - -@@end: - ret - -@@casemap1: - dd @@end - dd @@case1 - dd @@case2 - dd @@case3 - dd @@case4 - dd @@case5 -{$ENDIF} -end; - - -procedure tsAnsiISO_8859_1_ToWide(pDest: pWideChar; pSource: pAnsiChar); -{$IFDEF TS_PURE_PASCAL} -begin - if pDest <> nil then - if pSource <> nil then - while ord(pSource^) <> 0 do begin - pDest^ := WideChar(pSource^); - - inc(pDest); - inc(pSource); - end; -{$ELSE} -asm - test eax, eax // test pDest to nil - jz @@end - - test edx, edx // test pSource to nil - jz @@end - - xor ecx, ecx // clear ecx - - jmp @@loopfoot // jump to loop footer - -@@loop: - - mov word ptr [eax], cx // copy cx to dest - -// add eax, 2 // inc dest by 2 - inc eax // inc source pointer - inc eax // inc source pointer - inc edx // inc source pointer - -@@loopfoot: - - mov cl, byte ptr [edx] // copy source byte to cl - - test ecx, ecx // have we reached the end? - jnz @@loop // if not processchar - -@@end: - -{$ENDIF} -end; - - -procedure tsAnsiSBCDToWide(pDest: pWideChar; pSource: pAnsiChar; pCodePage: PtsCodePage; DefaultChar: WideChar); -{$IFDEF TS_PURE_PASCAL} -var - Temp: WideChar; -begin - if pDest <> nil then - if pSource <> nil then - while Ord(pSource^) <> 0 do begin - // copy char to temp - Temp := WideChar(pCodePage^[pSource^]); - - // copy defaultchar? - if ord(Temp) = 0 then begin - if ord(DefaultChar) <> 0 then begin - pDest^ := DefaultChar; - Inc(pDest); - end; - end else - - // copy normal char - begin - pDest^ := Temp; - Inc(pDest); - end; - - Inc(pSource); - end; -{$ELSE} -asm - test eax, eax // test if pDest is nil - jz @@end - - test edx, edx // test if pSource is nil - jz @@end - - push eax // save eax (pDest) - push edi // save edi - push esi // save esi - - mov edi, eax // copy eax to dsi - mov esi, edx // copy edx to esi - - movzx eax, word ptr [ebp + $08] // save defaultchar into eax - - jmp @@loopfoot - -@@loop: - - movzx edx, word ptr [ecx + edx * 2] // copy codepageentry to dx - - test edx, edx // is edx zero - jnz @@notempty // no empty char - - test eax, eax // is eax (defaultchar) zero - jz @@nextchar // if yes goto next char - - mov word ptr [edi], ax // copy defaultchar to dest - jmp @@donechar // goto donechar - -@@notempty: - - mov word ptr [edi], dx // copy widechar to dest - -@@donechar: - - add edi, 2 // increment the edi (pDest) by 2 - -@@nextchar: - - inc esi // increment the source index - -@@loopfoot: - - movzx edx, byte ptr [esi] // copy source byte to edx - - test edx, edx // have we reached the end? - jnz @@loop // jump down - - pop esi // restore esi - pop edi // restore edi - pop eax // restore eax (pDest) - -@@end: - -{$ENDIF} -end; - - -procedure tsAnsiDBCDToWide(pDest: pWideChar; pSource: pAnsiChar; pCodePage: PtsCodePage; DefaultChar: WideChar); -begin - -end; - - -end. diff --git a/utsFontCreatorFreeType.pas b/utsFontCreatorFreeType.pas index 4789631..4278cb7 100644 --- a/utsFontCreatorFreeType.pas +++ b/utsFontCreatorFreeType.pas @@ -35,6 +35,8 @@ type function ConvertFont(const aFont: TtsFont): TtsFontFreeType; procedure LoadNames(const aFace: FT_Face; var aProperties: TtsFontProperties); + function CreateFont(const aFace: FT_Face; const aRenderer: TtsRenderer; const aSize: Integer; + const aStyle: TtsFontStyles; const aAntiAliasing: TtsAntiAliasing): TtsFont; protected function GetGlyphMetrics(const aFont: TtsFont; const aCharCode: WideChar; out aGlyphOrigin, aGlyphSize: TtsPosition; out aAdvance: Integer): Boolean; override; @@ -43,6 +45,8 @@ type public function GetFontByFile(const aFilename: String; const aRenderer: TtsRenderer; const aSize: Integer; const aStyle: TtsFontStyles; const aAntiAliasing: TtsAntiAliasing): TtsFont; overload; + function GetFontByStream(const aStream: TStream; const aRenderer: TtsRenderer; const aSize: Integer; + const aStyle: TtsFontStyles; const aAntiAliasing: TtsAntiAliasing): TtsFont; overload; constructor Create(const aContext: TtsContext); destructor Destroy; override; @@ -170,6 +174,57 @@ begin end; end; +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function TtsFontGeneratorFreeType.CreateFont(const aFace: FT_Face; const aRenderer: TtsRenderer; const aSize: Integer; + const aStyle: TtsFontStyles; const aAntiAliasing: TtsAntiAliasing): TtsFont; +var + face: FT_Face; + err: FT_Error; + prop: TtsFontProperties; + os2: PTT_OS2; + hz: PTT_HoriHeader; +begin + err := FT_Set_Char_Size(aFace, 0, aSize * FT_SIZE_FACTOR, FT_SIZE_RES, FT_SIZE_RES); + if (err <> 0) then + raise EtsException.Create('unable to set char size: error=' + IntToStr(err)); + + FillByte(prop{%H-}, SizeOf(prop), 0); + prop.AntiAliasing := tsAANormal; + prop.FaceName := aFace^.family_name; + prop.StyleName := aFace^.style_name; + LoadNames(aFace, prop); + + prop.Size := aSize; + prop.AntiAliasing := aAntiAliasing; + prop.DefaultChar := '?'; + prop.Style := aStyle + [tsStyleBold, tsStyleItalic]; + if ((aFace^.style_flags and FT_STYLE_FLAG_BOLD) = 0) then + Exclude(prop.Style, tsStyleBold); + if ((aFace^.style_flags and FT_STYLE_FLAG_ITALIC) = 0) then + Exclude(prop.Style, tsStyleItalic); + + prop.Ascent := aFace^.size^.metrics.ascender div FT_SIZE_FACTOR; + prop.Descent := -aFace^.size^.metrics.descender div FT_SIZE_FACTOR; + prop.ExternalLeading := 0; + prop.BaseLineOffset := 0; + + prop.UnderlinePos := aFace^.underline_position div FT_SIZE_FACTOR; + prop.UnderlineSize := aFace^.underline_thickness div FT_SIZE_FACTOR; + + os2 := PTT_OS2(FT_Get_Sfnt_Table(aFace, FT_SFNT_OS2)); + if Assigned(os2) and (os2^.version <> $FFFF) then begin + prop.StrikeoutPos := os2^.yStrikeoutPosition div FT_SIZE_FACTOR; + prop.StrikeoutSize := os2^.yStrikeoutSize div FT_SIZE_FACTOR; + end; + + hz := PTT_HoriHeader(FT_Get_Sfnt_Table(aFace, FT_SFNT_HHEA)); + if Assigned(hz) then begin + prop.ExternalLeading := hz^.Line_Gap div FT_SIZE_FACTOR; + end; + + result := TtsFontFreeType.Create(TtsFreeTypeFaceHandle.Create(aFace), aRenderer, self, prop); +end; + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function TtsFontGeneratorFreeType.GetGlyphMetrics(const aFont: TtsFont; const aCharCode: WideChar; out aGlyphOrigin, aGlyphSize: TtsPosition; out aAdvance: Integer): Boolean; var @@ -303,53 +358,36 @@ function TtsFontGeneratorFreeType.GetFontByFile(const aFilename: String; const a var face: FT_Face; err: FT_Error; - prop: TtsFontProperties; - os2: PTT_OS2; - hz: PTT_HoriHeader; begin err := FT_New_Face(fHandle, PAnsiChar(aFilename), 0, @face); if (err <> 0) then raise EtsException.Create('unable to create free type face from file: ' + aFilename + ' error=' + IntToStr(err)); + result := CreateFont(face, aRenderer, aSize, aStyle, aAntiAliasing); +end; - err := FT_Set_Char_Size(face, 0, aSize * FT_SIZE_FACTOR, FT_SIZE_RES, FT_SIZE_RES); - if (err <> 0) then - raise EtsException.Create('unable to set char size: error=' + IntToStr(err)); - - FillByte(prop{%H-}, SizeOf(prop), 0); - prop.AntiAliasing := tsAANormal; - prop.FaceName := face^.family_name; - prop.StyleName := face^.style_name; - LoadNames(face, prop); - - prop.Size := aSize; - prop.AntiAliasing := aAntiAliasing; - prop.DefaultChar := '?'; - prop.Style := aStyle + [tsStyleBold, tsStyleItalic]; - if ((face^.style_flags and FT_STYLE_FLAG_BOLD) = 0) then - Exclude(prop.Style, tsStyleBold); - if ((face^.style_flags and FT_STYLE_FLAG_ITALIC) = 0) then - Exclude(prop.Style, tsStyleItalic); - - prop.Ascent := face^.size^.metrics.ascender div FT_SIZE_FACTOR; - prop.Descent := -face^.size^.metrics.descender div FT_SIZE_FACTOR; - prop.ExternalLeading := 0; - prop.BaseLineOffset := 0; - - prop.UnderlinePos := face^.underline_position div FT_SIZE_FACTOR; - prop.UnderlineSize := face^.underline_thickness div FT_SIZE_FACTOR; - - os2 := PTT_OS2(FT_Get_Sfnt_Table(face, FT_SFNT_OS2)); - if Assigned(os2) and (os2^.version <> $FFFF) then begin - prop.StrikeoutPos := os2^.yStrikeoutPosition div FT_SIZE_FACTOR; - prop.StrikeoutSize := os2^.yStrikeoutSize div FT_SIZE_FACTOR; - end; - - hz := PTT_HoriHeader(FT_Get_Sfnt_Table(face, FT_SFNT_HHEA)); - if Assigned(hz) then begin - prop.ExternalLeading := hz^.Line_Gap div FT_SIZE_FACTOR; +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function TtsFontGeneratorFreeType.GetFontByStream(const aStream: TStream; const aRenderer: TtsRenderer; + const aSize: Integer; const aStyle: TtsFontStyles; const aAntiAliasing: TtsAntiAliasing): TtsFont; +var + face: FT_Face; + err: FT_Error; + ms: TMemoryStream; +begin + if (aStream is TMemoryStream) then begin + ms := (aStream as TMemoryStream); + err := FT_New_Memory_Face(fHandle, PByte(ms.Memory) + ms.Position, ms.Size - ms.Position, 0, @face); + end else begin + ms := TMemoryStream.Create; + try + ms.CopyFrom(aStream, aStream.Size - aStream.Position); + err := FT_New_Memory_Face(fHandle, PByte(ms.Memory), ms.Size, 0, @face); + finally + FreeAndNil(ms); + end; end; - - result := TtsFontFreeType.Create(TtsFreeTypeFaceHandle.Create(face), aRenderer, self, prop); + if (err <> 0) then + raise EtsException.Create('unable to create free type face from stream: error=' + IntToStr(err)); + result := CreateFont(face, aRenderer, aSize, aStyle, aAntiAliasing); end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/utsFontCreatorGDI.pas b/utsFontCreatorGDI.pas index 301deb9..17d8931 100644 --- a/utsFontCreatorGDI.pas +++ b/utsFontCreatorGDI.pas @@ -505,11 +505,11 @@ begin Size := GetGlyphOutlineA(DC, GlyphIndex, GGO_METRICS or GGO_GLYPH_INDEX, @Metric, 0, nil, @font.fMat2); if (Size <> GDI_ERROR) then begin - aGlyphOrigin.x := Round(Metric.gmptGlyphOrigin.x / font.fMat2.eM11.value); + aGlyphOrigin.x := Metric.gmptGlyphOrigin.x; aGlyphOrigin.y := Metric.gmptGlyphOrigin.y; - aGlyphSize.x := Round(Metric.gmBlackBoxX / font.fMat2.eM11.value); + aGlyphSize.x := Metric.gmBlackBoxX; aGlyphSize.y := Metric.gmBlackBoxY; - aAdvance := Round(Metric.gmCellIncX / font.fMat2.eM11.value); + aAdvance := Metric.gmCellIncX; result := true; end; finally diff --git a/utsFreeType.pas b/utsFreeType.pas index 040ed21..e15371c 100644 --- a/utsFreeType.pas +++ b/utsFreeType.pas @@ -326,10 +326,11 @@ type short_metrics: Pointer; end; - TFT_Init_FreeType = function(aLibrary: PFT_Library): FT_Error; - TFT_Done_FreeType = function(aLibrary: FT_Library): FT_Error; - TFT_New_Face = function(aLibrary: FT_Library; const aFilename: PAnsiChar; aFaceIndex: FT_Long; aFace: PFT_Face): FT_Error; - TFT_Done_Face = function(aFace: FT_Face): FT_Error; + TFT_Init_FreeType = function(aLibrary: PFT_Library): FT_Error; + TFT_Done_FreeType = function(aLibrary: FT_Library): FT_Error; + TFT_New_Face = function(aLibrary: FT_Library; const aFilename: PAnsiChar; aFaceIndex: FT_Long; aFace: PFT_Face): FT_Error; + TFT_New_Memory_Face = function(aLibrary: FT_Library; aData: PByte; aSize: FT_Long; aFaceIndex: FT_Long; aFace: PFT_Face): FT_Error; + TFT_Done_Face = function(aFace: FT_Face): FT_Error; TFT_Get_Sfnt_Name_Count = function(aFace: FT_Face): FT_UInt; TFT_Get_Sfnt_Name = function(aFace: FT_Face; aIndex: FT_UInt; aName: PFT_SfntName): FT_Error; @@ -339,10 +340,11 @@ type TFT_Get_Sfnt_Table = function(aFace: FT_Face; aTag: Integer): Pointer; var - FT_Init_FreeType: TFT_Init_FreeType; - FT_Done_FreeType: TFT_Done_FreeType; - FT_New_Face: TFT_New_Face; - FT_Done_Face: TFT_Done_Face; + FT_Init_FreeType: TFT_Init_FreeType; + FT_Done_FreeType: TFT_Done_FreeType; + FT_New_Face: TFT_New_Face; + FT_New_Memory_Face: TFT_New_Memory_Face; + FT_Done_Face: TFT_Done_Face; FT_Get_Sfnt_Name_Count: TFT_Get_Sfnt_Name_Count; FT_Get_Sfnt_Name: TFT_Get_Sfnt_Name; @@ -648,10 +650,11 @@ begin raise EtsException.Create('unable to load free type lib: ' + LIB_FREE_TYPE + ' error=' + IntToStr(GetLastOSError)); end; - FT_Init_FreeType := TFT_Init_FreeType(GetProcAddr('FT_Init_FreeType')); - FT_Done_FreeType := TFT_Done_FreeType(GetProcAddr('FT_Done_FreeType')); - FT_New_Face := TFT_New_Face( GetProcAddr('FT_New_Face')); - FT_Done_Face := TFT_Done_Face( GetProcAddr('FT_Done_Face')); + FT_Init_FreeType := TFT_Init_FreeType( GetProcAddr('FT_Init_FreeType')); + FT_Done_FreeType := TFT_Done_FreeType( GetProcAddr('FT_Done_FreeType')); + FT_New_Face := TFT_New_Face( GetProcAddr('FT_New_Face')); + FT_New_Memory_Face := TFT_New_Memory_Face(GetProcAddr('FT_New_Memory_Face')); + FT_Done_Face := TFT_Done_Face( GetProcAddr('FT_Done_Face')); FT_Get_Sfnt_Name_Count := TFT_Get_Sfnt_Name_Count(GetProcAddr('FT_Get_Sfnt_Name_Count')); FT_Get_Sfnt_Name := TFT_Get_Sfnt_Name( GetProcAddr('FT_Get_Sfnt_Name')); @@ -684,8 +687,18 @@ begin FT_Done_FreeType(ftLibrary); - FT_Init_FreeType := nil; - FT_Done_FreeType := nil; + FT_Init_FreeType := nil; + FT_Done_FreeType := nil; + FT_New_Face := nil; + FT_New_Memory_Face := nil; + FT_Done_Face := nil; + + FT_Get_Sfnt_Name_Count := nil; + FT_Get_Sfnt_Name := nil; + + FT_Set_Char_Size := nil; + FT_Load_Char := nil; + FT_Get_Sfnt_Table := nil; if (FreeTypeLibHandle <> 0) then begin FreeLibrary(FreeTypeLibHandle); diff --git a/utsOpenGLUtils.pas b/utsOpenGLUtils.pas index 39bd380..92bcb2c 100644 --- a/utsOpenGLUtils.pas +++ b/utsOpenGLUtils.pas @@ -199,7 +199,7 @@ var function AddToTexture(const aTexture: PtsFontTexture): TtsCharRenderRefOpenGL; var - x, y: Integer; + x, y, wChar, hChar, l, t: Integer; item: PtsTextureTreeItem; begin item := InsertToTree(aTexture^.Usage, 0, 0, aTexture^.Size, aTexture^.Size, x, y); @@ -209,18 +209,22 @@ var item^.ref := TtsCharRenderRefOpenGL.Create; result := item^.ref; + wChar := aChar.GlyphRect.Right - aChar.GlyphRect.Left; + hChar := aChar.GlyphRect.Bottom - aChar.GlyphRect.Top; + l := aChar.GlyphRect.Left + x; + t := aChar.GlyphRect.Top + y; result.TextureID := aTexture^.ID; result.Size := tsPosition(aCharImage.Width, aCharImage.Height); result.TexMat := tsMatrix4f( - tsVector4f(aCharImage.Width / aTexture^.Size, 0.0, 0.0, 0.0), - tsVector4f(0.0, aCharImage.Height / aTexture^.Size, 0.0, 0.0), + tsVector4f(wChar / aTexture^.Size, 0.0, 0.0, 0.0), + tsVector4f(0.0, hChar / aTexture^.Size, 0.0, 0.0), tsVector4f(0.0, 0.0, 1.0, 0.0), - tsVector4f(x / aTexture^.Size, y / aTexture^.Size, 0.0, 1.0)); + tsVector4f(l / aTexture^.Size, t / aTexture^.Size, 0.0, 1.0)); result.VertMat := tsMatrix4f( - tsVector4f(aCharImage.Width, 0.0, 0.0, 0.0), - tsVector4f(0.0, aCharImage.Height, 0.0, 0.0), + tsVector4f(wChar, 0.0, 0.0, 0.0), + tsVector4f(0.0, hChar, 0.0, 0.0), tsVector4f(0.0, 0.0, 1.0, 0.0), - tsVector4f(-aChar.GlyphRect.Left, -aChar.GlyphRect.Top - aChar.GlyphOrigin.y, 0.0, 1.0)); + tsVector4f(aChar.GlyphOrigin.x, -aChar.GlyphOrigin.y, 0.0, 1.0)); UploadTexData(result, aCharImage, x, y); end; diff --git a/utsPostProcess.pas b/utsPostProcess.pas index 04d7cfa..ed6e706 100644 --- a/utsPostProcess.pas +++ b/utsPostProcess.pas @@ -42,12 +42,12 @@ type private fKernel: TtsKernel2D; fColor: TtsColor4f; - fUpdateCharSize: Boolean; + fKeepCharSize: Boolean; public procedure Execute(const aChar: TtsChar; const aCharImage: TtsImage); override; public constructor Create(const aWidth, aStrength: Single; const aColor: TtsColor4f; - const aUpdateCharSize: Boolean = false); + const aKeepCharSize: Boolean = false); destructor Destroy; override; end; @@ -184,27 +184,31 @@ begin FreeAndNil(orig); end; - if fUpdateCharSize then begin - aChar.GlyphRect := tsRect( - aChar.GlyphRect.Left + fKernel.SizeX - fKernel.MidSizeX, - aChar.GlyphRect.Top + fKernel.SizeY - fKernel.MidSizeY, - aChar.GlyphRect.Right + fKernel.SizeX + fKernel.MidSizeX, - aChar.GlyphRect.Bottom + fKernel.SizeY + fKernel.MidSizeY); + aChar.GlyphRect := tsRect( + aChar.GlyphRect.Left, + aChar.GlyphRect.Top, + aChar.GlyphRect.Right + 2 * fKernel.SizeX, + aChar.GlyphRect.Bottom + 2 * fKernel.SizeY); + + if fKeepCharSize then begin aChar.GlyphOrigin := tsPosition( - aChar.GlyphOrigin.x + fKernel.MidSizeX, - aChar.GlyphOrigin.y + fKernel.MidSizeY); - aChar.Advance := aChar.Advance + fKernel.MidSizeX ; + aChar.GlyphOrigin.x - fKernel.SizeX, + aChar.GlyphOrigin.y + fKernel.SizeY); + end else begin + aChar.Advance := aChar.Advance + 2 * fKernel.SizeX; + aChar.GlyphOrigin := tsPosition( + aChar.GlyphOrigin.x, + aChar.GlyphOrigin.y + fKernel.SizeY); end; end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -constructor TtsPostProcessBorder.Create(const aWidth, aStrength: Single; const aColor: TtsColor4f; - const aUpdateCharSize: Boolean); +constructor TtsPostProcessBorder.Create(const aWidth, aStrength: Single; const aColor: TtsColor4f; const aKeepCharSize: Boolean); begin inherited Create; - fKernel := TtsKernel2D.Create(aWidth, aStrength); - fColor := aColor; - fUpdateCharSize := aUpdateCharSize; + fKernel := TtsKernel2D.Create(aWidth, aStrength); + fColor := aColor; + fKeepCharSize := aKeepCharSize; end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -236,9 +240,14 @@ begin tmpY := fKernel.Size - fY; aCharImage.Blend(orig, tmpX, tmpY, @tsBlendFundAlpha); + aChar.GlyphRect := tsRect( + aChar.GlyphRect.Left, + aChar.GlyphRect.Top, + aChar.GlyphRect.Right + 2 * fKernel.Size, + aChar.GlyphRect.Bottom + 2 * fKernel.Size); aChar.GlyphOrigin := tsPosition( aChar.GlyphOrigin.x - tmpX, - aChar.GlyphOrigin.y - tmpX); + aChar.GlyphOrigin.y + tmpX); finally FreeAndNil(orig); end; diff --git a/utsRendererOpenGL.pas b/utsRendererOpenGL.pas index 2087a04..01a4e23 100644 --- a/utsRendererOpenGL.pas +++ b/utsRendererOpenGL.pas @@ -25,7 +25,7 @@ type procedure SetDrawPos(const X, Y: Integer); override; procedure MoveDrawPos(const X, Y: Integer); override; procedure SetColor(const aColor: TtsColor4f); override; - procedure Render(const aCharRef: TtsCharRenderRef); override; + procedure Render(const aCharRef: TtsCharRenderRef; const aForcedWidth: Integer); override; public constructor Create(const aContext: TtsContext; const aFormat: TtsFormat); destructor Destroy; override; @@ -171,9 +171,10 @@ begin end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TtsRendererOpenGL.Render(const aCharRef: TtsCharRenderRef); +procedure TtsRendererOpenGL.Render(const aCharRef: TtsCharRenderRef; const aForcedWidth: Integer); var ref: TtsCharRenderRefOpenGL; + m: TtsMatrix4f; begin if Assigned(aCharRef) and (aCharRef is TtsCharRenderRefOpenGL) then begin ref := (aCharRef as TtsCharRenderRefOpenGL); @@ -188,7 +189,12 @@ begin glMatrixMode(GL_MODELVIEW); glPushMatrix; - glMultMatrixf(@ref.VertMat[0, 0]); + if (aForcedWidth > 0) then begin + m := ref.VertMat; + m[0] := tsVector4f(aForcedWidth, 0, 0, 0); + glMultMatrixf(@m[0, 0]); + end else + glMultMatrixf(@ref.VertMat[0, 0]); glBindBuffer(GL_ARRAY_BUFFER, fVBO); glEnableClientState(GL_VERTEX_ARRAY); diff --git a/utsRendererOpenGLES.pas b/utsRendererOpenGLES.pas index 4fadc57..40b1c5d 100644 --- a/utsRendererOpenGLES.pas +++ b/utsRendererOpenGLES.pas @@ -42,7 +42,7 @@ type procedure SetDrawPos(const X, Y: Integer); override; procedure MoveDrawPos(const X, Y: Integer); override; procedure SetColor(const aColor: TtsColor4f); override; - procedure Render(const aCharRef: TtsCharRenderRef); override; + procedure Render(const aCharRef: TtsCharRenderRef; const aForcedWidth: Integer); override; public property ShaderProgram: GLuint read fShaderProgram write SetShaderProgram; property ProjectionMatrix: TtsMatrix4f read fProjMatrix write SetProjectionMatrix; @@ -354,9 +354,10 @@ begin end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TtsRendererOpenGLES.Render(const aCharRef: TtsCharRenderRef); +procedure TtsRendererOpenGLES.Render(const aCharRef: TtsCharRenderRef; const aForcedWidth: Integer); var ref: TtsCharRenderRefOpenGL; + m: TtsMatrix4f; begin if Assigned(aCharRef) and (aCharRef is TtsCharRenderRefOpenGL) then begin ref := (aCharRef as TtsCharRenderRefOpenGL); @@ -369,8 +370,14 @@ begin glVertexAttribPointer(ATTRIB_LOCATION_TEXCOORD, 2, GL_FLOAT, false, SizeOf(TVertex), Pointer(8)); glUseProgram(fShaderProgram); - if (fCharPosLocation >= 0) then - glUniformMatrix4fv(fCharPosLocation, 1, false, @ref.VertMat); + if (fCharPosLocation >= 0) then begin + if (aForcedWidth > 0) then begin + m := ref.VertMat; + m[0] := tsVector4f(aForcedWidth, 0, 0, 0); + glUniformMatrix4fv(fCharPosLocation, 1, false, @m[0, 0]); + end else + glUniformMatrix4fv(fCharPosLocation, 1, false, @ref.VertMat[0, 0]); + end; if (fCharTexPosLocation >= 0) then glUniformMatrix4fv(fCharTexPosLocation, 1, false, @ref.TexMat); diff --git a/utsTextSuite.pas b/utsTextSuite.pas index ca68dd7..2f47ec2 100644 --- a/utsTextSuite.pas +++ b/utsTextSuite.pas @@ -384,7 +384,7 @@ type function GetDrawPos: TtsPosition; virtual; abstract; procedure MoveDrawPos(const X, Y: Integer); virtual; abstract; procedure SetColor(const aColor: TtsColor4f); virtual; abstract; - procedure Render(const aCharRef: TtsCharRenderRef); virtual; abstract; + procedure Render(const aCharRef: TtsCharRenderRef; const aForcedWidth: Integer = 0); virtual; abstract; public property Context: TtsContext read fContext; property Format: TtsFormat read fFormat; @@ -1287,7 +1287,8 @@ end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TtsFontGenerator.DrawLine(const aChar: TtsChar; const aCharImage: TtsImage; aLinePosition, aLineSize: Integer); var - NewSize, NewPos: TtsPosition; + ImgSize, ImgPos, Origin: TtsPosition; + Rect: TtsRect; YOffset, y: Integer; procedure FillLine(aData: PByte); @@ -1296,7 +1297,7 @@ var c: TtsColor4f; tmp: PByte; begin - w := NewSize.x; + w := aCharImage.Width; while (w > 0) do begin tmp := aData; tsFormatUnmap(aCharImage.Format, tmp, c); @@ -1314,47 +1315,56 @@ begin aLinePosition := aLinePosition - aLineSize; // calculate width and height - NewPos.x := 0; - NewPos.y := 0; - NewSize.x := aCharImage.Width; - NewSize.y := aCharImage.Height; + ImgPos := tsPosition(0, 0); + ImgSize := tsPosition(aCharImage.Width, aCharImage.Height); + Origin := aChar.GlyphOrigin; + Rect := aChar.GlyphRect; - // expand image to the full advance - if aChar.Advance > aCharImage.Width then - NewSize.x := aChar.Advance; + // expand left rect border to origin + if (Origin.x > 0) then begin + dec(Rect.Left, Origin.x); + Origin.x := 0; + end; - // add glyph position to image width and set position - if aChar.GlyphOrigin.x > aChar.GlyphRect.Left then begin - NewSize.x := NewSize.x + aChar.GlyphOrigin.x; - NewPos.x := aChar.GlyphOrigin.x; + // expand right rect border to advanced + if (Rect.Right - Rect.Left < aChar.Advance) then begin + Rect.Right := Rect.Left + aChar.Advance; end; - if (aChar.GlyphOrigin.x < 0) then - NewSize.x := NewSize.x - aChar.GlyphOrigin.x; - // line is under the image - if aLinePosition < (aChar.GlyphOrigin.y - aCharImage.Height) then - NewSize.y := NewSize.y + (aChar.GlyphOrigin.y - aCharImage.Height - aLinePosition); + // expand bottom rect border + if (Origin.y - aLinePosition > Rect.Bottom) then begin + Rect.Bottom := Origin.y - aLinePosition; + end; - // line is above the image - if aLinePosition + aLineSize > aChar.GlyphOrigin.y then begin - NewPos.y := ((aLinePosition + aLineSize) - aChar.GlyphOrigin.y); - NewSize.y := NewSize.y + NewPos.y; + // expand top rect border + if (Origin.y - aLinePosition - aLineSize < Rect.Top) then begin + Rect.Top := Origin.y - aLinePosition - aLineSize; + Origin.y := aLinePosition + aLineSize; end; - // resize - aCharImage.Resize(NewSize.x, NewSize.y, NewPos.x, NewPos.y); + // update image size + if (Rect.Right - Rect.Left > ImgSize.x) then begin + ImgSize.x := Rect.Right - Rect.Left; + ImgPos.x := Max(-Rect.Left, 0); + inc(Rect.Left, ImgPos.x); + inc(Rect.Right, ImgPos.x); + end; + if (Rect.Bottom - Rect.Top > ImgSize.y) then begin + ImgSize.y := Rect.Bottom - Rect.Top; + ImgPos.y := Max(-Rect.Top, 0); + inc(Rect.Top, ImgPos.y); + inc(Rect.Bottom, ImgPos.y); + end; + aCharImage.Resize(ImgSize.x, ImgSize.y, ImgPos.x, ImgPos.y); // draw lines - YOffset := (aChar.GlyphOrigin.y + NewPos.y) - aLinePosition; + YOffset := Rect.Top + Origin.y - aLinePosition; for y := 1 to aLineSize do FillLine(aCharImage.ScanLine[YOffset - y]); // move glyph rect - aChar.GlyphRect := tsRect( - aChar.GlyphRect.Left + NewPos.x, - aChar.GlyphRect.Top + NewPos.y, - aChar.GlyphRect.Right + NewPos.x, - aChar.GlyphRect.Bottom + NewPos.y); + aChar.GlyphOrigin := Origin; + aChar.GlyphRect := Rect; end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1393,14 +1403,19 @@ var CharImage: TtsImage; begin result := nil; - if not GetGlyphMetrics(aFont, aCharCode, GlyphOrigin, GlyphSize, Advance) or - not ((GlyphOrigin.x <> 0) or (GlyphOrigin.y <> 0) or (GlyphSize.x <> 0) or (GlyphSize.y <> 0) or (Advance <> 0)) then + if (aCharCode <> #0) and + (not GetGlyphMetrics(aFont, aCharCode, GlyphOrigin, GlyphSize, Advance) or + not ((GlyphOrigin.x <> 0) or (GlyphOrigin.y <> 0) or (GlyphSize.x <> 0) or (GlyphSize.y <> 0) or (Advance <> 0))) then exit; CharImage := TtsImage.Create; try if aRenderer.SaveImages then begin - if (GlyphSize.x > 0) and (GlyphSize.y > 0) then + if (aCharCode = #0) then begin + CharImage.CreateEmpty(aRenderer.Format, 3, 1); + GlyphOrigin := tsPosition(0, 1); + Advance := 1; + end else if (GlyphSize.x > 0) and (GlyphSize.y > 0) then GetCharImage(aFont, aCharCode, CharImage); if CharImage.IsEmpty and ([tsStyleUnderline, tsStyleStrikeout] * aFont.Properties.Style <> []) then begin @@ -1412,8 +1427,11 @@ begin result := TtsChar.Create(aCharCode); try result.GlyphOrigin := GlyphOrigin; - result.GlyphRect := tsRect(0, 0, CharImage.Width, CharImage.Height); result.Advance := Advance; + if (aCharCode = #0) then + result.GlyphRect := tsRect(1, 0, 2, 1) + else + result.GlyphRect := tsRect(0, 0, CharImage.Width, CharImage.Height); if (aRenderer.SaveImages) then begin try @@ -2032,9 +2050,9 @@ var while (c^ <> #0) do begin char := GetChar(c^); if Assigned(char) then begin - MoveDrawPos(Char.GlyphOrigin.x, -metric.BaseLineOffset); + MoveDrawPos(0, -metric.BaseLineOffset); Render(char.RenderRef); - MoveDrawPos(char.Advance - char.GlyphOrigin.x + font.CharSpacing, metric.BaseLineOffset); + MoveDrawPos(char.Advance + font.CharSpacing, metric.BaseLineOffset); end; inc(c); end; @@ -2049,9 +2067,9 @@ var char := GetChar(c^); if Assigned(char) then begin if (font.Properties.Style * [tsStyleUnderline, tsStyleStrikeout] <> []) then begin - MoveDrawPos(char.GlyphOrigin.x, -metric.BaseLineOffset); + MoveDrawPos(0, -metric.BaseLineOffset); Render(char.RenderRef); - MoveDrawPos(char.Advance - char.GlyphOrigin.x + font.CharSpacing, metric.BaseLineOffset); + MoveDrawPos(char.Advance + font.CharSpacing, metric.BaseLineOffset); end else begin MoveDrawPos(char.Advance + font.CharSpacing, 0); end; @@ -2062,6 +2080,9 @@ var tmp := Trunc(ExtraSpaceActual); ExtraSpaceActual := ExtraSpaceActual - tmp; if (font.Properties.Style * [tsStyleUnderline, tsStyleStrikeout] <> []) then begin + char := GetChar(#0); + if Assigned(char) then + Render(char.RenderRef, tmp); // TODO draw lines; maybe with a temporary created fake char or something like an empty char? end; MoveDrawPos(tmp, 0); @@ -2108,7 +2129,7 @@ var tsHorzAlignRight: x := rect.Right - line^.meta.Width; tsHorzAlignJustify: - if (tsAutoLineBreak in line^.Flags) then + if (tsAutoLineBreak in line^.Flags) and (line^.meta.SpaceCount > 0) then ExtraSpaceTotal := (aBlock.Width - line^.meta.Width) / line^.meta.SpaceCount; end;