From 722279aad5845d487f7eacbaaaf8947bc3ee0559 Mon Sep 17 00:00:00 2001 From: Razor12911 Date: Thu, 22 Dec 2022 10:03:17 +0200 Subject: [PATCH] update to 0.6.9 --- Unit1.fmx | 3999 +++++++++++++++++++++++++++++++ Unit1.pas | 221 ++ Unit2.fmx | 1287 ++++++++++ Unit2.pas | 562 +++++ changes.txt | 21 +- common/Utils.pas | 172 +- imports/LZ4DLL.pas | 18 +- imports/LZODLL.pas | 19 +- imports/OodleDLL.pas | 28 +- imports/ZLibDLL.pas | 22 +- imports/ZSTDDLL.pas | 19 +- precompressor/PrecompDLL.pas | 8 + precompressor/PrecompINI.pas | 45 +- precompressor/PrecompINIEx.pas | 707 ++++++ precompressor/PrecompMain.pas | 52 +- precompressor/PrecompOodle.pas | 25 +- precompressor/PrecompSearch.pas | 3 + precompressor/PrecompZLib.pas | 18 +- precompressor/PrecompZSTD.pas | 2 - resources/Win32/fast-lzma2.dll | Bin 166400 -> 0 bytes resources/Win32/xdelta3_dll.dll | Bin 113664 -> 0 bytes resources/Win64/fast-lzma2.dll | Bin 196608 -> 0 bytes resources/Win64/xdelta3_dll.dll | Bin 123904 -> 0 bytes ui/UIMain.pas | 95 + xtool.dpr | 105 +- xtool.dproj | 19 +- xtool.dres | Bin 95816 -> 0 bytes xtoolResource.rc | 1 - xtoolui.dpr | 151 ++ xtoolui.dproj | 1043 ++++++++ xtoolui.res | Bin 0 -> 820 bytes 31 files changed, 8425 insertions(+), 217 deletions(-) create mode 100644 Unit1.fmx create mode 100644 Unit1.pas create mode 100644 Unit2.fmx create mode 100644 Unit2.pas create mode 100644 precompressor/PrecompINIEx.pas delete mode 100644 resources/Win32/fast-lzma2.dll delete mode 100644 resources/Win32/xdelta3_dll.dll delete mode 100644 resources/Win64/fast-lzma2.dll delete mode 100644 resources/Win64/xdelta3_dll.dll create mode 100644 ui/UIMain.pas delete mode 100644 xtool.dres delete mode 100644 xtoolResource.rc create mode 100644 xtoolui.dpr create mode 100644 xtoolui.dproj create mode 100644 xtoolui.res diff --git a/Unit1.fmx b/Unit1.fmx new file mode 100644 index 0000000..c4b4d59 --- /dev/null +++ b/Unit1.fmx @@ -0,0 +1,3999 @@ +object Form1: TForm1 + Left = 0 + Top = 0 + BorderIcons = [biSystemMenu, biMinimize] + BorderStyle = Single + Caption = 'XTool' + ClientHeight = 410 + ClientWidth = 592 + Position = ScreenCenter + StyleBook = StyleBook1 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnShow = FormShow + DesignerMasterStyle = 0 + object StyleBook1: TStyleBook + Styles = < + item + ResourcesBin = { + 464D585F5354594C4520322E3501060B7377697463687374796C6503EB00060D + 63616C656E6461727374796C6503220B061263616C656E6461726C6162656C73 + 74796C650359010611696D616765636F6E74726F6C7374796C6503B503061466 + 72616D65647363726F6C6C626F787374796C6503AF08060F6261636B67726F75 + 6E647374796C6503D600060E6D756C7469766965777374796C6503E400060A70 + 616E656C7374796C6503C901061163616C6C6F757470616E656C7374796C6503 + 1601060E7374617475736261727374796C6503D902060C746F6F6C6261727374 + 796C6503D9010613457870616E646572427574746F6E5374796C6503C30B060D + 657870616E6465727374796C65035D04060D67726F7570626F787374796C6503 + B20206107370656564627574746F6E7374796C65035E08060D73706C69747465 + 727374796C65034E01060A6C6162656C7374796C65035101060F76616C75656C + 6162656C7374796C65036902060C7461626974656D7374796C65039B0C060B74 + 6162646F747374796C65034B01060F746162636F6E74726F6C7374796C650337 + 02060D636865636B626F787374796C6503A8070610726164696F627574746F6E + 7374796C65032407061070726F67726573736261727374796C6503A30A060D73 + 697A65677269707374796C6503D501060F636F6D626F706F7075707374796C65 + 032D02060D74726565766965777374796C6503FF090611747265657669657769 + 74656D7374796C65039F04061B7472656576696577657870616E646572627574 + 746F6E7374796C6503A904060D747261636B6261727374796C65032105060E6E + 756D626572626F787374796C6503BA060609656469747374796C65035D06060C + 7370696E626F787374796C65034A0A0611636C656172696E6765646974737479 + 6C6503610806096D656D6F7374796C6503FD08060B627574746F6E7374796C65 + 03C5080610636F6C6F72627574746F6E7374796C6503FD070611636F726E6572 + 627574746F6E7374796C65038506060D706F707570626F787374796C65030E09 + 060C6172636469616C7374796C6503FE08060D7468756D626261727374796C65 + 035C0306147363726F6C6C62617276747261636B7374796C6503990206147363 + 726F6C6C62617268747261636B7374796C65039A0206137363726F6C6C626172 + 6C656674627574746F6E03200406147363726F6C6C6261727269676874627574 + 746F6E03150406127363726F6C6C626172746F70627574746F6E031F04061573 + 63726F6C6C626172626F74746F6D627574746F6E031604060B687468756D6273 + 74796C65038B03060B767468756D627374796C65038B03060D636F6D626F626F + 787374796C65032E07060E636F6D626F656469747374796C65030108060A7472 + 61636B7374796C6503FE02060C6C697374626F787374796C6503FE0906126C69 + 7374626F78706C61696E686561646572036603060D6C697374626F78666F6F74 + 657203B60106177472616E73706172656E746C697374626F787374796C650371 + 0806167472616E73706172656E74627574746F6E7374796C6503FB02061C7472 + 616E73706172656E74636972636C65627574746F6E7374796C6503FF0206106C + 697374626F786974656D7374796C650345030615636F6C6F726C697374626F78 + 6974656D7374796C6503A503060E7363726F6C6C6261727374796C6503D80506 + 19736D616C6C7363726F6C6C62617276747261636B7374796C65035402061973 + 6D616C6C7363726F6C6C62617268747261636B7374796C650354020613736D61 + 6C6C7363726F6C6C6261727374796C65036702060F64726F7074617267657473 + 74796C65039E040609677269647374796C65031E0A060F686561646572697465 + 6D7374796C65036303060D7465787463656C6C7374796C65038402060E636865 + 636B63656C6C7374796C6503FE03060E706F70757063656C6C7374796C650315 + 04061170726F677265737363656C6C7374796C65031003060E696D6167656365 + 6C6C7374796C65039E01060C6D656E756261727374796C6503D901060D6D656E + 75766965777374796C6503E702060D6D656E756974656D7374796C6503820C06 + 106D656E756261726974656D7374796C6503870C06126D656E75736570617261 + 746F727374796C650303020611616E69696E64696361746F727374796C6503AA + 00060D74696D65656469747374796C6503140C060D6461746565646974737479 + 6C65030C0A060E7370696E65646974627574746F6E03C60200545046300D5453 + 77697463684F626A65637400095374796C654E616D65060B7377697463687374 + 796C65085461624F72646572020012547261636B696E675468756D625363616C + 65050000000000000080FF3F0756697369626C65080A46696C6C2E436F6C6F72 + 07097846463438343834380C46696C6C4F6E2E436F6C6F720709784646363543 + 3845300B46696C6C4F6E2E4B696E640705536F6C69640C5374726F6B652E436F + 6C6F7207097846463143314331430B5468756D622E436F6C6F72070978464634 + 3834383438115468756D625374726F6B652E436F6C6F72070978464631433143 + 314300005450463007544C61796F757400095374796C654E616D65060D63616C + 656E6461727374796C650A53697A652E57696474680500000000000000B40640 + 0B53697A652E4865696768740500000000000000A006401453697A652E506C61 + 74666F726D44656661756C74080756697369626C6508085461624F7264657202 + 010009545374796C6554616700095374796C654E616D65060946697865645369 + 7A65000007544C61796F75740005416C69676E07074D6F7374546F70064C6F63 + 6B6564090E4D617267696E732E426F74746F6D05000000000000008000400A53 + 697A652E57696474680500000000000000B406400B53697A652E486569676874 + 05000000000000009803401453697A652E506C6174666F726D44656661756C74 + 08000754427574746F6E00095374796C654E616D6506047072657605416C6967 + 6E07044C6566740843616E466F63757308064C6F636B6564090D4D617267696E + 732E526967687405000000000000008000400B526570656174436C69636B090A + 53697A652E576964746805000000000000009803400B53697A652E4865696768 + 7405000000000000009803401453697A652E506C6174666F726D44656661756C + 74080B5374796C654C6F6F6B7570061C7472616E73706172656E74636972636C + 65627574746F6E7374796C65000A54506174684C6162656C0005416C69676E07 + 0643656E74657209446174612E506174680A3400000004000000000000000000 + 803F00000000010000000000803F0000803F01000000000000000000003F0100 + 00000000803F00000000064C6F636B6564090A53697A652E5769647468050000 + 0000000000A001400B53697A652E4865696768740500000000000000A0014014 + 53697A652E506C6174666F726D44656661756C74080B5374796C654C6F6F6B75 + 70061263616C656E6461726C6162656C7374796C650000000754427574746F6E + 00095374796C654E616D650605746F64617905416C69676E07044C6566740843 + 616E466F63757308064C6F636B6564090D4D617267696E732E52696768740500 + 0000000000008000400A506F736974696F6E2E580500000000000000A803400B + 526570656174436C69636B090A53697A652E5769647468050000000000000098 + 03400B53697A652E48656967687405000000000000009803401453697A652E50 + 6C6174666F726D44656661756C74080B5374796C654C6F6F6B7570061C747261 + 6E73706172656E74636972636C65627574746F6E7374796C65000A5450617468 + 4C6162656C0005416C69676E070643656E74657209446174612E506174680A34 + 000000040000000000000089C965431BE2BB43010000002B88E1421080834301 + 0000002B886143AEFA114301000000CF46AB43625F8143064C6F636B6564090A + 53697A652E57696474680500000000000000A001400B53697A652E4865696768 + 740500000000000000A001401453697A652E506C6174666F726D44656661756C + 74080B5374796C654C6F6F6B7570061263616C656E6461726C6162656C737479 + 6C650000000754427574746F6E00095374796C654E616D6506046E6578740541 + 6C69676E07044C6566740843616E466F63757308064C6F636B6564090D4D6172 + 67696E732E526967687405000000000000008000400A506F736974696F6E2E58 + 0500000000000000A804400B526570656174436C69636B090A53697A652E5769 + 64746805000000000000009803400B53697A652E486569676874050000000000 + 00009803401453697A652E506C6174666F726D44656661756C74080B5374796C + 654C6F6F6B7570061C7472616E73706172656E74636972636C65627574746F6E + 7374796C65000A54506174684C6162656C0005416C69676E070643656E746572 + 09446174612E506174680A280000000300000000000000000000000000000001 + 000000000000000000803F010000000000803F0000003F064C6F636B6564090A + 53697A652E57696474680500000000000000A001400B53697A652E4865696768 + 740500000000000000A001401453697A652E506C6174666F726D44656661756C + 74080B5374796C654C6F6F6B7570061263616C656E6461726C6162656C737479 + 6C650000000954506F707570426F7800095374796C654E616D6506066D6F6E74 + 687305416C69676E0706436C69656E740843616E466F63757308124469736162 + 6C65466F63757345666665637409064C6F636B6564090C4D617267696E732E4C + 6566740500000000000000A001400D4D617267696E732E526967687405000000 + 00000000A001400A53697A652E576964746805000000000000008605400B5369 + 7A652E48656967687405000000000000009803401453697A652E506C6174666F + 726D44656661756C74080B5374796C654C6F6F6B7570061263616C656E646172 + 6C6162656C7374796C6500000954506F707570426F7800095374796C654E616D + 650605796561727305416C69676E070552696768740843616E466F6375730812 + 44697361626C65466F63757345666665637409064C6F636B6564090A506F7369 + 74696F6E2E5805000000000000008C06400A53697A652E576964746805000000 + 00000000A004400B53697A652E48656967687405000000000000009803401453 + 697A652E506C6174666F726D44656661756C74080B5374796C654C6F6F6B7570 + 061263616C656E6461726C6162656C7374796C650000000B54477269644C6179 + 6F757400095374796C654E616D6506047765656B05416C69676E0703546F7006 + 4C6F636B6564090A4974656D4865696768740500000000000000980340094974 + 656D576964746805000000000000008005400B4F7269656E746174696F6E070A + 486F72697A6F6E74616C0E4D617267696E732E426F74746F6D05000000000000 + 008000400A506F736974696F6E2E590500000000000000A803400A53697A652E + 57696474680500000000000000B406400B53697A652E48656967687405000000 + 000000009803401453697A652E506C6174666F726D44656661756C740800000B + 54477269644C61796F757400095374796C654E616D6506057765656B7305416C + 69676E07084D6F73744C656674064C6F636B6564090A4974656D486569676874 + 0500000000000000980340094974656D57696474680500000000000000800540 + 0B4F7269656E746174696F6E070A486F72697A6F6E74616C0B4D617267696E73 + 2E546F700500000000000000A803400A53697A652E5769647468050000000000 + 0000B803400B53697A652E4865696768740500000000000000C804401453697A + 652E506C6174666F726D44656661756C74080756697369626C6508000008544C + 697374426F7800095374796C654E616D6506046461797305416C69676E070643 + 6C69656E74064C6F636B6564090A53697A652E57696474680500000000000000 + B406400B53697A652E4865696768740500000000000000EC05401453697A652E + 506C6174666F726D44656661756C74080B5374796C654C6F6F6B757006177472 + 616E73706172656E746C697374626F787374796C650E53686F775363726F6C6C + 426172730818416C7465726E6174696E67526F774261636B67726F756E640908 + 43616E466F6375730807436F6C756D6E7302071244697361626C65466F637573 + 456666656374090A4974656D48656967687405000000000000009803401B4465 + 6661756C744974656D5374796C65732E4974656D5374796C6512000000002244 + 656661756C744974656D5374796C65732E47726F75704865616465725374796C + 6512000000002244656661756C744974656D5374796C65732E47726F7570466F + 6F7465725374796C6512000000000E56696577706F72742E5769647468050000 + 0000000000B406400F56696577706F72742E4865696768740500000000000000 + E405400000005450463007544C61796F757400095374796C654E616D65061263 + 616C656E6461726C6162656C7374796C650A506F736974696F6E2E5805000000 + 00000000C607400A506F736974696F6E2E590500000000000080F507400A5369 + 7A652E57696474680500000000000000C404400B53697A652E48656967687405 + 00000000000000A003401453697A652E506C6174666F726D44656661756C7408 + 0756697369626C6508085461624F726465720202000554546578740009537479 + 6C654E616D6506047465787405416C69676E0706436C69656E74064C6F636B65 + 64090748697454657374080A53697A652E57696474680500000000000000C404 + 400B53697A652E4865696768740500000000000000A003401453697A652E506C + 6174666F726D44656661756C7408045465787406056C6162656C165465787453 + 657474696E67732E466F6E74436F6C6F72070978464645304530453000000054 + 50463007544C61796F757400095374796C654E616D650611696D616765636F6E + 74726F6C7374796C650A506F736974696F6E2E580500000000000000C007400A + 506F736974696F6E2E590500000000000000F407400A53697A652E5769647468 + 05000000000000009205400B53697A652E4865696768740500000000000000D0 + 03401453697A652E506C6174666F726D44656661756C74080756697369626C65 + 08085461624F726465720203000A5452656374616E676C6500095374796C654E + 616D65060A6261636B67726F756E6405416C69676E0708436F6E74656E74730A + 46696C6C2E436F6C6F720709784646313931393139064C6F636B656409074869 + 7454657374080A53697A652E576964746805000000000000009205400B53697A + 652E4865696768740500000000000000D003401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463339333933 + 39000A5452656374616E676C650005416C69676E0706436C69656E740946696C + 6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C65 + 6674050000000000000080FF3F0B4D617267696E732E546F7005000000000000 + 0080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D61 + 7267696E732E426F74746F6D050000000000000080FF3F0A53697A652E576964 + 746805000000000000008E05400B53697A652E48656967687405000000000000 + 00C003401453697A652E506C6174666F726D44656661756C74080C5374726F6B + 652E436F6C6F72070978464631383138313800000654496D6167650009537479 + 6C654E616D650605696D6167650E4D756C74695265734269746D61700E010000 + 05416C69676E0706436C69656E74064C6F636B6564090748697454657374080C + 4D617267696E732E4C6566740500000000000000C000400B4D617267696E732E + 546F700500000000000000C000400D4D617267696E732E526967687405000000 + 00000000C000400E4D617267696E732E426F74746F6D0500000000000000C000 + 400A53697A652E576964746805000000000000008605400B53697A652E486569 + 6768740500000000000000A003401453697A652E506C6174666F726D44656661 + 756C74080000000B54476C6F774566666563740008536F66746E657373050000 + 000000CDCCCCFC3F09476C6F77436F6C6F720709784646363543384530074F70 + 61636974790500000000006666E6FE3F0754726967676572060E4973466F6375 + 7365643D7472756507456E61626C6564080000005450463007544C61796F7574 + 00095374796C654E616D6506146672616D65647363726F6C6C626F787374796C + 650A506F736974696F6E2E580500000000000080B507400A506F736974696F6E + 2E590500000000000000DA07400A53697A652E5769647468050000000000FFFF + E905400B53697A652E48656967687405000000000000008306401453697A652E + 506C6174666F726D44656661756C74080756697369626C6508085461624F7264 + 65720204000A5452656374616E676C6500095374796C654E616D65060A626163 + 6B67726F756E6405416C69676E0708436F6E74656E74730A46696C6C2E436F6C + 6F720709784646343834383438064C6F636B6564090748697454657374080C50 + 616464696E672E4C656674050000000000000080FF3F0B50616464696E672E54 + 6F70050000000000000080FF3F0D50616464696E672E52696768740500000000 + 00000080FF3F0E50616464696E672E426F74746F6D050000000000000080FF3F + 0A53697A652E5769647468050000000000FFFFE905400B53697A652E48656967 + 687405000000000000008306401453697A652E506C6174666F726D4465666175 + 6C74080C5374726F6B652E436F6C6F720709784646314331433143000A545265 + 6374616E676C650005416C69676E0706436C69656E740946696C6C2E4B696E64 + 07044E6F6E650748697454657374080A53697A652E5769647468050000000000 + FFFFE505400B53697A652E48656967687405000000000000008106401453697A + 652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207 + 09784646353935393539000007544C61796F75740005416C69676E0706436C69 + 656E740A53697A652E5769647468050000000000FFFFE505400B53697A652E48 + 656967687405000000000000008106401453697A652E506C6174666F726D4465 + 6661756C74080007544C61796F757400095374796C654E616D650607636F6E74 + 656E7405416C69676E0706436C69656E740C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A53697A652E57696474680500 + 00000000FFFFC305400B53697A652E4865696768740500000000000000E00540 + 1453697A652E506C6174666F726D44656661756C740800000A545363726F6C6C + 42617200095374796C654E616D65060A767363726F6C6C62617205416C69676E + 070552696768740B536D616C6C4368616E676505000000000000000000000B4F + 7269656E746174696F6E0708566572746963616C0A506F736974696F6E2E5805 + 0000000000FFFFC705400A53697A652E57696474680500000000000000F00240 + 0B53697A652E4865696768740500000000000000E405401453697A652E506C61 + 74666F726D44656661756C740800000A545363726F6C6C42617200095374796C + 654E616D65060A687363726F6C6C62617205416C69676E0706426F74746F6D0B + 536D616C6C4368616E676505000000000000000000000B4F7269656E74617469 + 6F6E070A486F72697A6F6E74616C0A506F736974696F6E2E5905000000000000 + 00E405400A53697A652E5769647468050000000000FFFFE505400B53697A652E + 4865696768740500000000000000F002401453697A652E506C6174666F726D44 + 656661756C740800000F54536D616C6C5363726F6C6C42617200095374796C65 + 4E616D65060F76736D616C6C7363726F6C6C62617205416C69676E0705526967 + 68740B536D616C6C4368616E676505000000000000000000000B4F7269656E74 + 6174696F6E0708566572746963616C0B4D617267696E732E546F700500000000 + 00000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E + 4D617267696E732E426F74746F6D050000000000000080FF3F0A506F73697469 + 6F6E2E580500000000000000C605400A506F736974696F6E2E59050000000000 + 00008000400A53697A652E576964746805000000000000008002400B53697A65 + 2E48656967687405000000000000008002401453697A652E506C6174666F726D + 44656661756C74080756697369626C650800000F54536D616C6C5363726F6C6C + 42617200095374796C654E616D65060F68736D616C6C7363726F6C6C62617205 + 416C69676E0706426F74746F6D0B536D616C6C4368616E676505000000000000 + 000000000B4F7269656E746174696F6E070A486F72697A6F6E74616C0C4D6172 + 67696E732E4C656674050000000000000080FF3F0D4D617267696E732E526967 + 6874050000000000000080FF3F0E4D617267696E732E426F74746F6D05000000 + 0000000080FF3F0A506F736974696F6E2E5805000000000000008000400A506F + 736974696F6E2E590500000000000000E205400A53697A652E57696474680500 + 0000000000009606400B53697A652E4865696768740500000000000000800240 + 1453697A652E506C6174666F726D44656661756C74080756697369626C650800 + 0007544C61796F75740005416C69676E0708436F6E74656E74730A53697A652E + 5769647468050000000000FFFFE505400B53697A652E48656967687405000000 + 000000008106401453697A652E506C6174666F726D44656661756C7408000754 + 4C61796F75740005416C69676E0706426F74746F6D0A506F736974696F6E2E59 + 0500000000000000DA05400A53697A652E5769647468050000000000FFFFE505 + 400B53697A652E4865696768740500000000000000A003401453697A652E506C + 6174666F726D44656661756C740800095453697A654772697000095374796C65 + 4E616D65060873697A656772697005416C69676E07055269676874064C6F636B + 6564090A506F736974696F6E2E58050000000000FFFFBD05400A53697A652E57 + 696474680500000000000000A003400B53697A652E4865696768740500000000 + 000000A003401453697A652E506C6174666F726D44656661756C740800000000 + 000000545046300A5452656374616E676C6500095374796C654E616D65060F62 + 61636B67726F756E647374796C650A46696C6C2E436F6C6F7207097846463334 + 333433340748697454657374080A506F736974696F6E2E580500000000000000 + C607400A506F736974696F6E2E590500000000000000EE07400A53697A652E57 + 696474680500000000000000C804400B53697A652E4865696768740500000000 + 000000C804401453697A652E506C6174666F726D44656661756C74080B537472 + 6F6B652E4B696E6407044E6F6E650756697369626C65080000545046300A5452 + 656374616E676C6500095374796C654E616D65060E6D756C7469766965777374 + 796C650A46696C6C2E436F6C6F72070978464634383438343807486974546573 + 74080A53697A652E57696474680500000000000000C804400B53697A652E4865 + 696768740500000000000000C804401453697A652E506C6174666F726D446566 + 61756C74080B5374726F6B652E4B696E6407044E6F6E650756697369626C6508 + 000C5442727573684F626A65637400095374796C654E616D65060864726F706C + 696E650B42727573682E436F6C6F720709784646314331433143000000545046 + 300A5452656374616E676C6500095374796C654E616D65060A70616E656C7374 + 796C650A46696C6C2E436F6C6F72070978464634383438343807486974546573 + 74080A506F736974696F6E2E580500000000000000C607400A506F736974696F + 6E2E590500000000000000EE07400A53697A652E576964746805000000000000 + 00C804400B53697A652E4865696768740500000000000000C804401453697A65 + 2E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709 + 7846463143314331430756697369626C6508000A5452656374616E676C650005 + 416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65074869 + 7454657374080C4D617267696E732E4C656674050000000000000080FF3F0B4D + 617267696E732E546F70050000000000000080FF3F0D4D617267696E732E5269 + 676874050000000000000080FF3F0E4D617267696E732E426F74746F6D050000 + 000000000080FF3F0A53697A652E57696474680500000000000000C004400B53 + 697A652E4865696768740500000000000000C004401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646353935 + 39353900000054504630115443616C6C6F757452656374616E676C6500095374 + 796C654E616D65061163616C6C6F757470616E656C7374796C650A46696C6C2E + 436F6C6F7207097846463438343834380748697454657374080A506F73697469 + 6F6E2E580500000000000000C607400A506F736974696F6E2E59050000000000 + 0000EE07400A53697A652E57696474680500000000000000C804400B53697A65 + 2E4865696768740500000000000000C804401453697A652E506C6174666F726D + 44656661756C74080C5374726F6B652E436F6C6F720709784646314331433143 + 0756697369626C65080C43616C6C6F757457696474680500000000000000B803 + 400D43616C6C6F75744C656E6774680500000000000000B00240000054504630 + 0A5452656374616E676C6500095374796C654E616D65060E7374617475736261 + 727374796C650C436C69704368696C6472656E090A46696C6C2E436F6C6F7207 + 097846463438343834380A506F736974696F6E2E580500000000000000C60740 + 0A506F736974696F6E2E590500000000000000EE07400A53697A652E57696474 + 680500000000000000C804400B53697A652E4865696768740500000000000000 + C804401453697A652E506C6174666F726D44656661756C74080C5374726F6B65 + 2E436F6C6F7207097846463143314331430756697369626C6508000A54526563 + 74616E676C650005416C69676E0706436C69656E740946696C6C2E4B696E6407 + 044E6F6E650C4D617267696E732E4C656674050000000000000080FF3F0B4D61 + 7267696E732E546F70050000000000000080FF3F0D4D617267696E732E526967 + 6874050000000000000080FF3F0E4D617267696E732E426F74746F6D05000000 + 0000000080FF3F0A53697A652E57696474680500000000000000C004400B5369 + 7A652E4865696768740500000000000000C004401453697A652E506C6174666F + 726D44656661756C74080C5374726F6B652E436F6C6F72070978464635393539 + 353900095453697A654772697000095374796C654E616D65060873697A656772 + 697005416C69676E07055269676874064C6F636B656409074869745465737408 + 0C4D617267696E732E4C65667405000000000000008000400B4D617267696E73 + 2E546F7005000000000000008000400D4D617267696E732E5269676874050000 + 00000000008000400E4D617267696E732E426F74746F6D050000000000000080 + 00400A506F736974696F6E2E580500000000000000D003400A506F736974696F + 6E2E5905000000000000008000400A53697A652E576964746805000000000000 + 00A003400B53697A652E4865696768740500000000000000B004401453697A65 + 2E506C6174666F726D44656661756C740800000000545046300A545265637461 + 6E676C6500095374796C654E616D65060C746F6F6C6261727374796C650C436C + 69704368696C6472656E090A46696C6C2E436F6C6F7207097846463438343834 + 380748697454657374080A506F736974696F6E2E580500000000000000C60740 + 0A506F736974696F6E2E590500000000000000EE07400A53697A652E57696474 + 680500000000000000C804400B53697A652E4865696768740500000000000000 + C804401453697A652E506C6174666F726D44656661756C74080C5374726F6B65 + 2E436F6C6F7207097846463143314331430756697369626C6508000A54526563 + 74616E676C650005416C69676E0706436C69656E740946696C6C2E4B696E6407 + 044E6F6E650748697454657374080C4D617267696E732E4C6566740500000000 + 00000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D61 + 7267696E732E5269676874050000000000000080FF3F0E4D617267696E732E42 + 6F74746F6D050000000000000080FF3F0A53697A652E57696474680500000000 + 000000C004400B53697A652E4865696768740500000000000000C00440145369 + 7A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72 + 07097846463539353935390000005450463007544C61796F757400095374796C + 654E616D650613457870616E646572427574746F6E5374796C650C5061646469 + 6E672E4C65667405000000000000008000400B50616464696E672E546F700500 + 0000000000008000400D50616464696E672E5269676874050000000000000080 + 00400E50616464696E672E426F74746F6D05000000000000008000400C4D6172 + 67696E732E4C65667405000000000000008001400B4D617267696E732E546F70 + 05000000000000008001400D4D617267696E732E526967687405000000000000 + 008001400E4D617267696E732E426F74746F6D05000000000000008001400A50 + 6F736974696F6E2E580500000000000000C007400A506F736974696F6E2E5905 + 00000000000000F407400A53697A652E57696474680500000000000000920540 + 0B53697A652E4865696768740500000000000000D003401453697A652E506C61 + 74666F726D44656661756C74080756697369626C6508085461624F7264657202 + 0B000854456C6C6970736500095374796C654E616D65060A6261636B67726F75 + 6E6405416C69676E0708436F6E74656E74730946696C6C2E4B696E6407084772 + 616469656E741446696C6C2E4772616469656E742E506F696E74730E0105436F + 6C6F720709784646353835383538064F66667365740500000000000000000000 + 000105436F6C6F720709784646353135313531064F6666736574050000000000 + A01BF3FD3F000105436F6C6F720709784646343934393439064F666673657405 + 0000000000000080FF3F0000064C6F636B6564090748697454657374080A5369 + 7A652E576964746805000000000000009205400B53697A652E48656967687405 + 00000000000000D003401453697A652E506C6174666F726D44656661756C7408 + 0C5374726F6B652E436F6C6F720709784646364136413641000F54436F6C6F72 + 416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50 + 726F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C + 756507097846463538353835380953746F7056616C7565070978464634383438 + 34380754726967676572062049734D6F7573654F7665723D747275653B497350 + 7265737365643D66616C736500000F54436F6C6F72416E696D6174696F6E0008 + 4475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65 + 060A46696C6C2E436F6C6F720A537461727456616C7565070978464634383438 + 34380953746F7056616C75650709784646353835383538075472696767657206 + 2149734D6F7573654F7665723D66616C73653B4973507265737365643D66616C + 736500000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C + 6F720A537461727456616C756507097846463438343834380953746F7056616C + 756507097846463432343234320754726967676572062049734D6F7573654F76 + 65723D66616C73653B4973507265737365643D7472756500000F54436F6C6F72 + 416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50 + 726F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C + 756507097846463432343234320953746F7056616C7565070978464634383438 + 34380754726967676572061F49734D6F7573654F7665723D747275653B497350 + 7265737365643D7472756500000854456C6C697073650005416C69676E070643 + 6C69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080C4D + 617267696E732E4C65667405000000000000008000C00B4D617267696E732E54 + 6F7005000000000000008000C00D4D617267696E732E52696768740500000000 + 0000008000C00E4D617267696E732E426F74746F6D05000000000000008000C0 + 0A53697A652E576964746805000000000000009A05400B53697A652E48656967 + 68740500000000000000F003401453697A652E506C6174666F726D4465666175 + 6C74080C5374726F6B652E436F6C6F720709784646353135313531000854456C + 6C697073650005416C69676E0706436C69656E740946696C6C2E4B696E640704 + 4E6F6E650748697454657374080C4D617267696E732E4C656674050000000000 + 000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D6172 + 67696E732E5269676874050000000000000080FF3F0E4D617267696E732E426F + 74746F6D050000000000000080FF3F0A53697A652E5769647468050000000000 + 00009605400B53697A652E4865696768740500000000000000E003401453697A + 652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207 + 09784646314331433143000000000554506174680005416C69676E0708436F6E + 74656E747309446174612E506174680A6400000008000000000000001DFA7743 + 664E0D4401000000B032464364C3034401000000F668B94375C3A84301000000 + 4E92084464C303440100000019A4F74319940E4401000000A4D0B9434E12D043 + 010000001DFA7743664E0D44030000000000000000000000064C6F636B656409 + 0748697454657374080C4D617267696E732E4C65667405000000000000008001 + 400B4D617267696E732E546F700500000000000000C001400D4D617267696E73 + 2E526967687405000000000000008001400E4D617267696E732E426F74746F6D + 0500000000000000C001400A53697A652E576964746805000000000000008205 + 400B53697A652E4865696768740500000000000000E002401453697A652E506C + 6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65 + 000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500000000 + 0017B7D1F13F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A + 537461727456616C756507097830304530453045300953746F7056616C756507 + 097846464530453045300754726967676572060F4973457870616E6465643D74 + 72756500000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05 + 000000000017B7D1F13F07496E7665727365090C50726F70657274794E616D65 + 060A46696C6C2E436F6C6F720A537461727456616C7565070978303045304530 + 45300953746F7056616C75650709784646453045304530075472696767657206 + 104973457870616E6465643D66616C73650000000554506174680005416C6967 + 6E0708436F6E74656E747309446174612E506174680A64000000080000000000 + 0000C540F843D94EAB43010000004E920844DD64BE4301000000FED4BA431994 + 0E4401000000B0324643DD64BE4301000000B633794375C3A84301000000506D + BA4358D9F54301000000C540F843D94EAB430300000000000000000000000A46 + 696C6C2E436F6C6F720709783030453045304530064C6F636B65640907486974 + 54657374080C4D617267696E732E4C65667405000000000000008001400B4D61 + 7267696E732E546F700500000000000000C001400D4D617267696E732E526967 + 687405000000000000008001400E4D617267696E732E426F74746F6D05000000 + 00000000C001400A53697A652E576964746805000000000000008205400B5369 + 7A652E4865696768740500000000000000E002401453697A652E506C6174666F + 726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65000F5443 + 6F6C6F72416E696D6174696F6E00084475726174696F6E05000000000017B7D1 + F13F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A53746172 + 7456616C756507097830304530453045300953746F7056616C75650709784646 + 453045304530075472696767657206104973457870616E6465643D66616C7365 + 00000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05000000 + 000017B7D1F13F07496E7665727365090C50726F70657274794E616D65060A46 + 696C6C2E436F6C6F720A537461727456616C7565070978303045304530453009 + 53746F7056616C756507097846464530453045300754726967676572060F4973 + 457870616E6465643D74727565000000005450463007544C61796F7574000953 + 74796C654E616D65060D657870616E6465727374796C650A506F736974696F6E + 2E580500000000000000AB07400A506F736974696F6E2E590500000000000000 + DC07400A53697A652E576964746805000000000000009F06400B53697A652E48 + 65696768740500000000000000F205401453697A652E506C6174666F726D4465 + 6661756C74080756697369626C6508085461624F72646572020C000A54526563 + 74616E676C650005416C69676E0708436F6E74656E74730A46696C6C2E436F6C + 6F7207097846463438343834380748697454657374080A53697A652E57696474 + 6805000000000000009F06400B53697A652E4865696768740500000000000000 + F205401453697A652E506C6174666F726D44656661756C74080C5374726F6B65 + 2E436F6C6F720709784646314331433143000A5452656374616E676C65000541 + 6C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E650C4D6172 + 67696E732E4C656674050000000000000080FF3F0B4D617267696E732E546F70 + 050000000000000080FF3F0D4D617267696E732E526967687405000000000000 + 0080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A53 + 697A652E576964746805000000000000009D06400B53697A652E486569676874 + 0500000000000000EE05401453697A652E506C6174666F726D44656661756C74 + 080C5374726F6B652E436F6C6F72070978464635393539353900000005545465 + 787400095374796C654E616D6506047465787405416C69676E0703546F70064C + 6F636B6564090748697454657374080C4D617267696E732E4C65667405000000 + 00000000C803400A506F736974696F6E2E580500000000000000C803400A5369 + 7A652E576964746805000000000000008606400B53697A652E48656967687405 + 00000000000000C803401453697A652E506C6174666F726D44656661756C7408 + 04546578740608457870616E646572165465787453657474696E67732E466F6E + 74436F6C6F720709784646463146314631155465787453657474696E67732E57 + 6F72645772617008000F54457870616E646572427574746F6E00095374796C65 + 4E616D650606627574746F6E05416C69676E07044C656674064C6F636B656409 + 0C4D617267696E732E4C6566740500000000000000C803C00A506F736974696F + 6E2E580500000000000000C803C00A53697A652E576964746805000000000000 + 00C803400B53697A652E4865696768740500000000000000C803401453697A65 + 2E506C6174666F726D44656661756C740800000954436865636B426F78000953 + 74796C654E616D650608636865636B626F7805416C69676E0705526967687408 + 43616E466F63757308064C6F636B6564090A506F736974696F6E2E5805000000 + 00000000DA05400A53697A652E57696474680500000000000000C803400B5369 + 7A652E4865696768740500000000000000C803401453697A652E506C6174666F + 726D44656661756C7408000000005450463007544C61796F757400095374796C + 654E616D65060D67726F7570626F787374796C650C50616464696E672E4C6566 + 7405000000000000008000400B50616464696E672E546F700500000000000000 + 8002400D50616464696E672E526967687405000000000000008000400E506164 + 64696E672E426F74746F6D05000000000000008000400A506F736974696F6E2E + 580500000000000000B107400A506F736974696F6E2E590500000000000000E1 + 07400A53697A652E576964746805000000000000008706400B53697A652E4865 + 696768740500000000000000CC05401453697A652E506C6174666F726D446566 + 61756C74080756697369626C6508085461624F72646572020D000A5452656374 + 616E676C6500095374796C654E616D65060A6261636B67726F756E6405416C69 + 676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65064C6F636B65 + 64090748697454657374080A53697A652E576964746805000000000000008306 + 400B53697A652E4865696768740500000000000000B805401453697A652E506C + 6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709784646 + 3539353935390005545465787400095374796C654E616D650604746578740841 + 75746F53697A65090A436C6970506172656E7409064C6F636B65640907486974 + 54657374080A506F736974696F6E2E580500000000000000F002400A506F7369 + 74696F6E2E5905000000000000008002C00A53697A652E576964746805000000 + 00000080E304400B53697A652E4865696768740500000000000060FF02401453 + 697A652E506C6174666F726D44656661756C74080454657874060847726F7570 + 626F78165465787453657474696E67732E466F6E74436F6C6F72070978464646 + 3846384638155465787453657474696E67732E576F7264577261700800000000 + 5450463007544C61796F757400095374796C654E616D65061073706565646275 + 74746F6E7374796C650A506F736974696F6E2E580500000000000000C007400A + 506F736974696F6E2E590500000000000000F407400A53697A652E5769647468 + 05000000000000009205400B53697A652E4865696768740500000000000000D0 + 03401453697A652E506C6174666F726D44656661756C74080756697369626C65 + 08085461624F72646572020E000A5452656374616E676C6500095374796C654E + 616D65060A6261636B67726F756E6405416C69676E0708436F6E74656E747309 + 46696C6C2E4B696E6407084772616469656E741446696C6C2E4772616469656E + 742E506F696E74730E0105436F6C6F720709784646353835383538064F666673 + 65740500000000000000000000000105436F6C6F720709784646353135313531 + 064F6666736574050000000000A01BF3FD3F000105436F6C6F72070978464634 + 3934393439064F6666736574050000000000000080FF3F0000064C6F636B6564 + 090748697454657374080C4D617267696E732E4C656674050000000000000080 + 00400B4D617267696E732E546F7005000000000000008000400D4D617267696E + 732E526967687405000000000000008000400E4D617267696E732E426F74746F + 6D05000000000000008000400A53697A652E576964746805000000000000008A + 05400B53697A652E4865696768740500000000000000B003401453697A652E50 + 6C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207097846 + 46364136413641000F54436F6C6F72416E696D6174696F6E0008447572617469 + 6F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C + 2E436F6C6F720A537461727456616C756507097846463538353835380953746F + 7056616C756507097846463438343834380754726967676572062049734D6F75 + 73654F7665723D747275653B4973507265737365643D66616C736500000F5443 + 6F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCC + FC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A53746172 + 7456616C756507097846463438343834380953746F7056616C75650709784646 + 3538353835380754726967676572062149734D6F7573654F7665723D66616C73 + 653B4973507265737365643D66616C736500000F54436F6C6F72416E696D6174 + 696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274 + 794E616D65060A46696C6C2E436F6C6F720A537461727456616C756507097846 + 463438343834380953746F7056616C7565070978464634323432343207547269 + 67676572062049734D6F7573654F7665723D66616C73653B4973507265737365 + 643D7472756500000F54436F6C6F72416E696D6174696F6E0008447572617469 + 6F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C + 2E436F6C6F720A537461727456616C756507097846463432343234320953746F + 7056616C756507097846463438343834380754726967676572061F49734D6F75 + 73654F7665723D747275653B4973507265737365643D7472756500000A545265 + 6374616E676C650005416C69676E0706436C69656E740946696C6C2E4B696E64 + 07044E6F6E650748697454657374080C4D617267696E732E4C65667405000000 + 000000008000C00B4D617267696E732E546F7005000000000000008000C00D4D + 617267696E732E526967687405000000000000008000C00E4D617267696E732E + 426F74746F6D05000000000000008000C00A53697A652E576964746805000000 + 000000009205400B53697A652E4865696768740500000000000000D003401453 + 697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F + 720709784646353135313531000A5452656374616E676C650005416C69676E07 + 06436C69656E740946696C6C2E4B696E6407044E6F6E65074869745465737408 + 0C4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E73 + 2E546F70050000000000000080FF3F0D4D617267696E732E5269676874050000 + 000000000080FF3F0E4D617267696E732E426F74746F6D050000000000000080 + FF3F0A53697A652E576964746805000000000000008E05400B53697A652E4865 + 696768740500000000000000C003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646314331433143000000 + 000654476C79706800095374796C654E616D65060A676C7970687374796C650C + 4D617267696E732E4C6566740500000000000000A001400B4D617267696E732E + 546F7005000000000000008000400D4D617267696E732E526967687405000000 + 0000000080FF3F0E4D617267696E732E426F74746F6D05000000000000008000 + 4005416C69676E07044C6566740A53697A652E57696474680500000000000000 + 8003400B53697A652E48656967687405000000000000008003401453697A652E + 506C6174666F726D44656661756C7408000005545465787400095374796C654E + 616D6506047465787405416C69676E0706436C69656E74064C6F636B65640907 + 48697454657374080C4D617267696E732E4C6566740500000000000000C00140 + 0B4D617267696E732E546F7005000000000000008000400D4D617267696E732E + 52696768740500000000000000C001400E4D617267696E732E426F74746F6D05 + 000000000000008000400A53697A652E57696474680500000000000000F40440 + 0B53697A652E4865696768740500000000000000B003401453697A652E506C61 + 74666F726D44656661756C740804546578740606627574746F6E165465787453 + 657474696E67732E466F6E74436F6C6F720708636C6157686974650000005450 + 463007544C61796F757400095374796C654E616D65060D73706C697474657273 + 74796C650A506F736974696F6E2E580500000000000000C607400A506F736974 + 696F6E2E590500000000000000EE07400A53697A652E57696474680500000000 + 000000C804400B53697A652E4865696768740500000000000000C80440145369 + 7A652E506C6174666F726D44656661756C74080756697369626C650808546162 + 4F72646572020F000854456C6C6970736500095374796C654E616D6506046772 + 697005416C69676E07034669740A46696C6C2E436F6C6F720709784646314331 + 433143064C6F636B6564090748697454657374080A53697A652E576964746805 + 00000000000000C804400B53697A652E4865696768740500000000000000C804 + 401453697A652E506C6174666F726D44656661756C74080B5374726F6B652E4B + 696E6407044E6F6E650000005450463007544C61796F757400095374796C654E + 616D65060A6C6162656C7374796C650A506F736974696F6E2E58050000000000 + 0000C607400A506F736974696F6E2E590500000000000080F507400A53697A65 + 2E57696474680500000000000000C404400B53697A652E486569676874050000 + 0000000000A003401453697A652E506C6174666F726D44656661756C74080756 + 697369626C6508085461624F7264657202100005545465787400095374796C65 + 4E616D6506047465787405416C69676E0706436C69656E74064C6F636B656409 + 0748697454657374080A53697A652E57696474680500000000000000C404400B + 53697A652E4865696768740500000000000000A003401453697A652E506C6174 + 666F726D44656661756C7408045465787406056C6162656C1654657874536574 + 74696E67732E466F6E74436F6C6F720709784646464446444644000000545046 + 3007544C61796F757400095374796C654E616D65060F76616C75656C6162656C + 7374796C650A506F736974696F6E2E580500000000000000BB07400A506F7369 + 74696F6E2E590500000000000080F407400A53697A652E576964746805000000 + 00000000BE05400B53697A652E4865696768740500000000000000C003401453 + 697A652E506C6174666F726D44656661756C74080756697369626C6508085461 + 624F726465720211000A5452656374616E676C650005416C69676E0708436F6E + 74656E74730A46696C6C2E436F6C6F7207097846463139313931390748697454 + 657374080A53697A652E57696474680500000000000000BE05400B53697A652E + 4865696768740500000000000000C003401453697A652E506C6174666F726D44 + 656661756C74080C5374726F6B652E436F6C6F72070978464633393339333900 + 0005545465787400095374796C654E616D6506047465787405416C69676E0706 + 436C69656E740748697454657374080C4D617267696E732E4C65667405000000 + 0000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D + 617267696E732E5269676874050000000000000080FF3F0E4D617267696E732E + 426F74746F6D050000000000000080FF3F0A53697A652E576964746805000000 + 00000000BA05400B53697A652E4865696768740500000000000000B003401453 + 697A652E506C6174666F726D44656661756C7408045465787406045465787416 + 5465787453657474696E67732E466F6E742E53697A650500000000000000A002 + 40165465787453657474696E67732E466F6E74436F6C6F720709784646454145 + 4145410000005450463007544C61796F757400095374796C654E616D65060C74 + 61626974656D7374796C650A506F736974696F6E2E580500000000000000C707 + 400A506F736974696F6E2E590500000000000080F507400A53697A652E576964 + 74680500000000000000B804400B53697A652E48656967687405000000000000 + 00A003401453697A652E506C6174666F726D44656661756C7408075669736962 + 6C6508085461624F726465720212000A5452656374616E676C6500095374796C + 654E616D650603746F7005416C69676E0708436F6E74656E74730C436C697043 + 68696C6472656E090A46696C6C2E436F6C6F720709784646343834383438064C + 6F636B6564090748697454657374080553696465730B03546F70044C65667405 + 5269676874000A53697A652E57696474680500000000000000B804400B53697A + 652E4865696768740500000000000000A003401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463143314331 + 43000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05000000 + 000017B7D1F13F0C50726F70657274794E616D65060A46696C6C2E436F6C6F72 + 0A537461727456616C756507097846463438343834380953746F7056616C7565 + 07097846463338333833380754726967676572062149734D6F7573654F766572 + 3D747275653B497353656C65637465643D66616C736500000F54436F6C6F7241 + 6E696D6174696F6E00084475726174696F6E05000000000017B7D1F13F0C5072 + 6F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C75 + 6507097846463338333833380953746F7056616C756507097846463438343834 + 380754726967676572062249734D6F7573654F7665723D66616C73653B497353 + 656C65637465643D66616C736500000F54436F6C6F72416E696D6174696F6E00 + 084475726174696F6E050000000000BD3786EB3F0C50726F70657274794E616D + 65060A46696C6C2E436F6C6F720A537461727456616C75650709784646333833 + 3833380953746F7056616C756507097846463438343834380754726967676572 + 0610497353656C65637465643D66616C736500000F54436F6C6F72416E696D61 + 74696F6E00084475726174696F6E050000000000ACC5A7EE3F0C50726F706572 + 74794E616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978 + 46463438343834380953746F7056616C75650709784646353835383538075472 + 6967676572060F497353656C65637465643D7472756500000E5452656374416E + 696D6174696F6E00084475726174696F6E050000000000ACC5A7EE3F0C50726F + 70657274794E616D6506074D617267696E730E537461727456616C75652E546F + 70050000000000000080FF3F10537461727456616C75652E5269676874050000 + 000000000080FFBF0F53746F7056616C75652E52696768740500000000000000 + 80FFBF0754726967676572060F497353656C65637465643D7472756500000E54 + 52656374416E696D6174696F6E00084475726174696F6E050000000000ACC5A7 + EE3F07496E7665727365090C50726F70657274794E616D6506074D617267696E + 730E537461727456616C75652E546F70050000000000000080FF3F1053746172 + 7456616C75652E5269676874050000000000000080FFBF0F53746F7056616C75 + 652E5269676874050000000000000080FFBF0754726967676572061049735365 + 6C65637465643D66616C736500000654476C79706800095374796C654E616D65 + 060A676C7970687374796C650C4D617267696E732E4C65667405000000000000 + 008001400D4D617267696E732E526967687405000000000000008001C005416C + 69676E07044C6566740A53697A652E576964746805000000000000008003400B + 53697A652E48656967687405000000000000008003401453697A652E506C6174 + 666F726D44656661756C7408000005545465787400095374796C654E616D6506 + 047465787405416C69676E0706436C69656E74064C6F636B6564090748697454 + 657374080C4D617267696E732E4C65667405000000000000008002400B4D6172 + 67696E732E546F700500000000000000C000400D4D617267696E732E52696768 + 7405000000000000008002400E4D617267696E732E426F74746F6D0500000000 + 0000008000400A53697A652E57696474680500000000000000F003400B53697A + 652E4865696768740500000000000000F002401453697A652E506C6174666F72 + 6D44656661756C7408045465787406046974656D165465787453657474696E67 + 732E466F6E74436F6C6F72070978464644454445444515546578745365747469 + 6E67732E576F726457726170080000000A5452656374616E676C650009537479 + 6C654E616D650606626F74746F6D05416C69676E0708436F6E74656E74730C43 + 6C69704368696C6472656E090A46696C6C2E436F6C6F72070978464634383438 + 3438064C6F636B6564090748697454657374080553696465730B044C65667406 + 426F74746F6D055269676874000A53697A652E57696474680500000000000000 + B804400B53697A652E4865696768740500000000000000A003401453697A652E + 506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72070978 + 4646314331433143000F54436F6C6F72416E696D6174696F6E00084475726174 + 696F6E05000000000017B7D1F13F0C50726F70657274794E616D65060A46696C + 6C2E436F6C6F720A537461727456616C75650709784646343834383438095374 + 6F7056616C756507097846463338333833380754726967676572062149734D6F + 7573654F7665723D747275653B497353656C65637465643D66616C736500000F + 54436F6C6F72416E696D6174696F6E00084475726174696F6E05000000000017 + B7D1F13F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A5374 + 61727456616C756507097846463338333833380953746F7056616C7565070978 + 46463438343834380754726967676572062249734D6F7573654F7665723D6661 + 6C73653B497353656C65637465643D66616C736500000F54436F6C6F72416E69 + 6D6174696F6E00084475726174696F6E050000000000BD3786EB3F0C50726F70 + 657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C756507 + 097846463338333833380953746F7056616C7565070978464634383438343807 + 547269676765720610497353656C65637465643D66616C736500000F54436F6C + 6F72416E696D6174696F6E00084475726174696F6E050000000000ACC5A7EE3F + 0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456 + 616C756507097846463438343834380953746F7056616C756507097846463538 + 353835380754726967676572060F497353656C65637465643D7472756500000E + 5452656374416E696D6174696F6E00084475726174696F6E050000000000ACC5 + A7EE3F0C50726F70657274794E616D6506074D617267696E730F537461727456 + 616C75652E4C656674050000000000000080FFBF10537461727456616C75652E + 5269676874050000000000000080FFBF11537461727456616C75652E426F7474 + 6F6D05000000000000008000400E53746F7056616C75652E4C65667405000000 + 0000000080FFBF0F53746F7056616C75652E5269676874050000000000000080 + FFBF0754726967676572060F497353656C65637465643D547275650E54726967 + 676572496E76657273650610497353656C65637465643D66616C736500000654 + 476C79706800095374796C654E616D65060A676C7970687374796C650C4D6172 + 67696E732E4C65667405000000000000008001400D4D617267696E732E526967 + 687405000000000000008001C005416C69676E07044C6566740A53697A652E57 + 6964746805000000000000008003400B53697A652E4865696768740500000000 + 0000008003401453697A652E506C6174666F726D44656661756C740800000554 + 5465787400095374796C654E616D6506047465787405416C69676E0706436C69 + 656E74064C6F636B6564090748697454657374080C4D617267696E732E4C6566 + 7405000000000000008002400B4D617267696E732E546F700500000000000000 + C000400D4D617267696E732E526967687405000000000000008002400E4D6172 + 67696E732E426F74746F6D05000000000000008000400A53697A652E57696474 + 680500000000000000F003400B53697A652E4865696768740500000000000000 + F002401453697A652E506C6174666F726D44656661756C740804546578740604 + 6974656D165465787453657474696E67732E466F6E74436F6C6F720709784646 + 444544454445155465787453657474696E67732E576F72645772617008000000 + 00545046300A5452656374616E676C6500095374796C654E616D65060B746162 + 646F747374796C650A46696C6C2E436F6C6F7207097846463143314331430748 + 697454657374080A53697A652E57696474680500000000000000C804400B5369 + 7A652E4865696768740500000000000000C804401453697A652E506C6174666F + 726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E6507566973 + 69626C6508000F54436F6C6F72416E696D6174696F6E00084475726174696F6E + 05000000000018B7D1F23F0C50726F70657274794E616D65060A46696C6C2E43 + 6F6C6F720A537461727456616C756507097846463143314331430953746F7056 + 616C756507097846464644464446440754726967676572060F497353656C6563 + 7465643D747275650E54726967676572496E76657273650610497353656C6563 + 7465643D66616C73650000005450463007544C61796F757400095374796C654E + 616D65060F746162636F6E74726F6C7374796C650A506F736974696F6E2E5805 + 00000000000000AF07400A506F736974696F6E2E590500000000000080E10740 + 0A53697A652E576964746805000000000000008E06400B53697A652E48656967 + 6874050000000000FFFFC905401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F726465720214000A5452656374616E + 676C650005416C69676E0708436F6E74656E74730A46696C6C2E436F6C6F7207 + 097846463438343834380748697454657374080A53697A652E57696474680500 + 0000000000008E06400B53697A652E486569676874050000000000FFFFC90540 + 1453697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F + 6C6F720709784646314331433143000A5452656374616E676C650005416C6967 + 6E0706436C69656E740946696C6C2E4B696E6407044E6F6E6507486974546573 + 74080C4D617267696E732E4C656674050000000000000080FF3F0B4D61726769 + 6E732E546F70050000000000000080FF3F0D4D617267696E732E526967687405 + 0000000000000080FF3F0E4D617267696E732E426F74746F6D05000000000000 + 0080FF3F0A53697A652E576964746805000000000000008C06400B53697A652E + 486569676874050000000000FFFFC505401453697A652E506C6174666F726D44 + 656661756C74080C5374726F6B652E436F6C6F72070978464635393539353900 + 0000005450463007544C61796F757400095374796C654E616D65060D63686563 + 6B626F787374796C650A506F736974696F6E2E580500000000000000B407400A + 506F736974696F6E2E590500000000000000F507400A53697A652E5769647468 + 0500000000000000F205400B53697A652E4865696768740500000000000000A8 + 03401453697A652E506C6174666F726D44656661756C74080756697369626C65 + 08085461624F7264657202150007544C61796F75740005416C69676E07044C65 + 66740A53697A652E57696474680500000000000000A003400B53697A652E4865 + 696768740500000000000000A803401453697A652E506C6174666F726D446566 + 61756C7408000A5452656374616E676C6500095374796C654E616D65060A6261 + 636B67726F756E6405416C69676E070643656E7465720A46696C6C2E436F6C6F + 720709784646353835383538064C6F636B6564090748697454657374080A5369 + 7A652E57696474680500000000000000D002400B53697A652E48656967687405 + 00000000000000D002401453697A652E506C6174666F726D44656661756C7408 + 0C5374726F6B652E436F6C6F720709784646314331433143000B54476C6F7745 + 66666563740008536F66746E6573730500000000009A9999FD3F09476C6F7743 + 6F6C6F720709784646363543384530074F706163697479050000000000000080 + FF3F0754726967676572060E4973466F63757365643D7472756507456E61626C + 65640800000A5452656374616E676C650005416C69676E0706436C69656E7409 + 46696C6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E73 + 2E4C656674050000000000000080FF3F0B4D617267696E732E546F7005000000 + 0000000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F + 0E4D617267696E732E426F74746F6D050000000000000080FF3F0A53697A652E + 57696474680500000000000000B002400B53697A652E48656967687405000000 + 00000000B002401453697A652E506C6174666F726D44656661756C74080C5374 + 726F6B652E436F6C6F72070978464635393539353900000F54436F6C6F72416E + 696D6174696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F + 70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C7565 + 07097846463538353835380953746F7056616C75650709784646363836383638 + 0754726967676572061049734D6F7573654F7665723D7472756500000F54436F + 6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFB + 3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A5374617274 + 56616C756507097846463638363836380953746F7056616C7565070978464635 + 38353835380754726967676572061149734D6F7573654F7665723D66616C7365 + 000005545061746800095374796C654E616D650609636865636B6D61726B0541 + 6C69676E070643656E74657209446174612E506174680ADC0000001200000000 + 000000000000000000000001000000CDCC4C3E00000000010000000000003F9A + 99993E01000000CDCC4C3F00000000010000000000803F000000000100000000 + 00803FCDCC4C3E010000003333333F0000003F010000000000803FCDCC4C3F01 + 0000000000803F0000803F01000000CDCC4C3F0000803F010000000000003F33 + 33333F01000000CDCC4C3E0000803F01000000000000000000803F0100000000 + 000000CDCC4C3F010000009A99993E0000003F0100000000000000CDCC4C3E01 + 00000000000000000000000300000000000000000000000A46696C6C2E436F6C + 6F720707636C614E756C6C064C6F636B6564090748697454657374080A53697A + 652E576964746805000000000000009002400B53697A652E4865696768740500 + 0000000000009002401453697A652E506C6174666F726D44656661756C74080B + 5374726F6B652E4B696E6407044E6F6E65000F54436F6C6F72416E696D617469 + 6F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F7065727479 + 4E616D65060A46696C6C2E436F6C6F720A537461727456616C75650707636C61 + 4E756C6C0953746F7056616C75650708636C61426C61636B0754726967676572 + 060E4973436865636B65643D7472756500000F54436F6C6F72416E696D617469 + 6F6E00084475726174696F6E05000000000018B7D1F13F0C50726F7065727479 + 4E616D65060A46696C6C2E436F6C6F720A537461727456616C75650708636C61 + 426C61636B0953746F7056616C75650707636C614E756C6C0754726967676572 + 060F4973436865636B65643D66616C7365000000000005545465787400095374 + 796C654E616D6506047465787405416C69676E0706436C69656E74064C6F636B + 6564090748697454657374080C4D617267696E732E4C65667405000000000000 + 0080FF3F0B4D617267696E732E546F7005000000000000008000400D4D617267 + 696E732E5269676874050000000000000080FF3F0A53697A652E576964746805 + 00000000000000C605400B53697A652E48656967687405000000000000009803 + 401453697A652E506C6174666F726D44656661756C7408045465787406084368 + 65636B426F78165465787453657474696E67732E466F6E74436F6C6F72070978 + 46464633463346330000005450463007544C61796F757400095374796C654E61 + 6D650610726164696F627574746F6E7374796C650A506F736974696F6E2E5805 + 00000000000000B407400A506F736974696F6E2E590500000000000000F50740 + 0A53697A652E57696474680500000000000000F205400B53697A652E48656967 + 68740500000000000000A803401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F7264657202160007544C61796F7574 + 0005416C69676E07044C6566740A53697A652E57696474680500000000000000 + A003400B53697A652E4865696768740500000000000000A803401453697A652E + 506C6174666F726D44656661756C7408000854456C6C6970736500095374796C + 654E616D65060A6261636B67726F756E6405416C69676E070643656E7465720A + 46696C6C2E436F6C6F720709784646353835383538064C6F636B656409074869 + 7454657374080A53697A652E57696474680500000000000000D002400B53697A + 652E4865696768740500000000000000D002401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463143314331 + 43000B54476C6F774566666563740008536F66746E6573730500000000009A99 + 99FD3F09476C6F77436F6C6F720709784646363543384530074F706163697479 + 050000000000000080FF3F0754726967676572060E4973466F63757365643D74 + 72756507456E61626C65640800000854456C6C697073650005416C69676E0706 + 436C69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080C + 4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E732E + 546F70050000000000000080FF3F0D4D617267696E732E526967687405000000 + 0000000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF + 3F0A53697A652E57696474680500000000000000B002400B53697A652E486569 + 6768740500000000000000B002401453697A652E506C6174666F726D44656661 + 756C74080C5374726F6B652E436F6C6F72070978464635393539353900000F54 + 436F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCC + CCFB3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A537461 + 727456616C756507097846463538353835380953746F7056616C756507097846 + 463638363836380754726967676572061049734D6F7573654F7665723D747275 + 6500000F54436F6C6F72416E696D6174696F6E00084475726174696F6E050000 + 000000CDCCCCFB3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F + 720A537461727456616C756507097846463638363836380953746F7056616C75 + 6507097846463538353835380754726967676572061149734D6F7573654F7665 + 723D66616C736500000854456C6C6970736500095374796C654E616D65060963 + 6865636B6D61726B05416C69676E0706436C69656E740A46696C6C2E436F6C6F + 720707636C614E756C6C064C6F636B6564090748697454657374080C4D617267 + 696E732E4C6566740500000000000000C000400B4D617267696E732E546F7005 + 00000000000000C000400D4D617267696E732E52696768740500000000000000 + C000400E4D617267696E732E426F74746F6D0500000000000000C000400A5369 + 7A652E57696474680500000000000000E001400B53697A652E48656967687405 + 00000000000000E001401453697A652E506C6174666F726D44656661756C7408 + 0B5374726F6B652E4B696E6407044E6F6E65000F54436F6C6F72416E696D6174 + 696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F70657274 + 794E616D65060A46696C6C2E436F6C6F720A537461727456616C75650707636C + 614E756C6C0953746F7056616C75650708636C61426C61636B07547269676765 + 72060E4973436865636B65643D7472756500000F54436F6C6F72416E696D6174 + 696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F70657274 + 794E616D65060A46696C6C2E436F6C6F720A537461727456616C75650708636C + 61426C61636B0953746F7056616C75650707636C614E756C6C07547269676765 + 72060F4973436865636B65643D66616C73650000000000055454657874000953 + 74796C654E616D6506047465787405416C69676E0706436C69656E74064C6F63 + 6B6564090748697454657374080C4D617267696E732E4C656674050000000000 + 000080FF3F0B4D617267696E732E546F7005000000000000008000400D4D6172 + 67696E732E5269676874050000000000000080FF3F0A53697A652E5769647468 + 0500000000000000C605400B53697A652E486569676874050000000000000098 + 03401453697A652E506C6174666F726D44656661756C74080454657874060B52 + 6164696F427574746F6E165465787453657474696E67732E466F6E74436F6C6F + 7207097846464633463346330000005450463007544C61796F75740009537479 + 6C654E616D65061070726F67726573736261727374796C650A506F736974696F + 6E2E580500000000000080C007400A506F736974696F6E2E5905000000000000 + 80EB07400A53697A652E576964746805000000000000009005400B53697A652E + 486569676874050000000000FFFFF304401453697A652E506C6174666F726D44 + 656661756C74080756697369626C6508085461624F726465720217000A545265 + 6374616E676C6500095374796C654E616D650605747261636B05416C69676E07 + 08436F6E74656E74730A46696C6C2E436F6C6F72070978464631463146314606 + 4C6F636B6564090748697454657374080A53697A652E57696474680500000000 + 0000009005400B53697A652E486569676874050000000000FFFFF30440145369 + 7A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72 + 0709784646334433443344000A5452656374616E676C6500095374796C654E61 + 6D65060A68696E64696361746F7205416C69676E07044C6566740946696C6C2E + 4B696E6407084772616469656E741446696C6C2E4772616469656E742E506F69 + 6E74730E0105436F6C6F720709784646323637324238064F6666736574050000 + 0000000000000000000105436F6C6F720709784646303634353735064F666673 + 6574050000000000000080FF3F0000064C6F636B656409074869745465737408 + 0C4D617267696E732E4C65667405000000000000008000400B4D617267696E73 + 2E546F7005000000000000008000400D4D617267696E732E5269676874050000 + 00000000008000400E4D617267696E732E426F74746F6D050000000000000080 + 00400A506F736974696F6E2E5805000000000000008000400A506F736974696F + 6E2E5905000000000000008000400A53697A652E576964746805000000000000 + 00C804400B53697A652E486569676874050000000000FEFFFF03401453697A65 + 2E506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E + 6F6E650007544C61796F75740005416C69676E0706436C69656E740C436C6970 + 4368696C6472656E09064C6F636B6564090C4D617267696E732E4C6566740500 + 0000000000008000400D4D617267696E732E5269676874050000000000000080 + 00400A53697A652E57696474680500000000000000B804400B53697A652E4865 + 69676874050000000000FEFFFF03401453697A652E506C6174666F726D446566 + 61756C7408000A5452656374616E676C650005416C69676E0708566572746963 + 616C0946696C6C2E4B696E6407084772616469656E741446696C6C2E47726164 + 69656E742E506F696E74730E0105436F6C6F720709783030323637324238064F + 66667365740500000000000000000000000105436F6C6F720709784239323038 + 314433064F6666736574050000000000000080FE3F000105436F6C6F72070978 + 3030303835313838064F6666736574050000000000000080FF3F00001C46696C + 6C2E4772616469656E742E53746F70506F736974696F6E2E5805000000000000 + 0080FF3F1C46696C6C2E4772616469656E742E53746F70506F736974696F6E2E + 590500000000000000000000064C6F636B6564090748697454657374080A5369 + 7A652E5769647468050000000000FFFFF704400B53697A652E48656967687405 + 0000000000FEFFFF03401453697A652E506C6174666F726D44656661756C7408 + 0B5374726F6B652E4B696E6407044E6F6E650758526164697573050000000000 + 000090024007595261646975730500000000000000900240000F54466C6F6174 + 416E696D6174696F6E00084475726174696F6E0500000000000000800140044C + 6F6F70090C50726F70657274794E616D65060A506F736974696F6E2E780A5374 + 61727456616C75650500000000000000C804C00953746F7056616C7565050000 + 0000000000C808400754726967676572060E497356697369626C653D74727565 + 00000000000A5452656374616E676C6500095374796C654E616D65060A76696E + 64696361746F7205416C69676E0706426F74746F6D0946696C6C2E4B696E6407 + 084772616469656E741446696C6C2E4772616469656E742E506F696E74730E01 + 05436F6C6F720709784646323637324238064F66667365740500000000000000 + 000000000105436F6C6F720709784646303634353735064F6666736574050000 + 000000000080FF3F00001C46696C6C2E4772616469656E742E53746F70506F73 + 6974696F6E2E58050000000000000080FF3F1C46696C6C2E4772616469656E74 + 2E53746F70506F736974696F6E2E590500000000000000000000064C6F636B65 + 64090748697454657374080C4D617267696E732E4C6566740500000000000000 + 8000400B4D617267696E732E546F7005000000000000008000400D4D61726769 + 6E732E526967687405000000000000008000400E4D617267696E732E426F7474 + 6F6D05000000000000008000400A506F736974696F6E2E580500000000000000 + 8000400A506F736974696F6E2E59050000000000FFFF9704400A53697A652E57 + 6964746805000000000000008805400B53697A652E4865696768740500000000 + 000000A803401453697A652E506C6174666F726D44656661756C74080B537472 + 6F6B652E4B696E6407044E6F6E650007544C61796F75740005416C69676E0706 + 436C69656E740C436C69704368696C6472656E09064C6F636B6564090B4D6172 + 67696E732E546F7005000000000000008000400E4D617267696E732E426F7474 + 6F6D05000000000000008000400A53697A652E57696474680500000000000000 + 8805400B53697A652E48656967687405000000000000008803401453697A652E + 506C6174666F726D44656661756C7408000A5452656374616E676C650005416C + 69676E070A486F72697A6F6E74616C0946696C6C2E4B696E6407084772616469 + 656E741446696C6C2E4772616469656E742E506F696E74730E0105436F6C6F72 + 0709783030323637324238064F66667365740500000000000000000000000105 + 436F6C6F720709784239323038314433064F6666736574050000000000000080 + FE3F000105436F6C6F720709783030303835313838064F666673657405000000 + 0000000080FF3F0000064C6F636B6564090748697454657374080C4D61726769 + 6E732E4C656674050000000000000080FF3F0B4D617267696E732E546F700500 + 00000000000080FF3F0D4D617267696E732E5269676874050000000000000080 + FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A506F73 + 6974696F6E2E58050000000000000080FF3F0A506F736974696F6E2E59050000 + 0000000000F108400A53697A652E576964746805000000000000008405400B53 + 697A652E4865696768740500000000000000C804401453697A652E506C617466 + 6F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65075852 + 6164697573050000000000000090024007595261646975730500000000000000 + 900240000F54466C6F6174416E696D6174696F6E00084475726174696F6E0500 + 000000000000800140044C6F6F70090C50726F70657274794E616D65060A506F + 736974696F6E2E790A537461727456616C75650500000000000000C808400953 + 746F7056616C75650500000000000000C804C00754726967676572060E497356 + 697369626C653D74727565000000000000005450463007544C61796F75740009 + 5374796C654E616D65060D73697A65677269707374796C650A506F736974696F + 6E2E580500000000000000CD07400A506F736974696F6E2E5905000000000000 + 00F507400A53697A652E57696474680500000000000000B803400B53697A652E + 4865696768740500000000000000B803401453697A652E506C6174666F726D44 + 656661756C74080756697369626C6508085461624F726465720218000654496D + 616765000E4D756C74695265734269746D61700E01055769647468020B064865 + 69676874020B03504E470A7E00000089504E470D0A1A0A0000000D4948445200 + 00000B0000000B0806000000A9AC7726000000017352474200AECE1CE9000000 + 0467414D410000B18F0BFC61050000002849444154285363A03A101616FE0F65 + 5209C04CA49EC9E826526E322E13C9379990896498CCC00000F021124915B537 + D20000000049454E44AE426082000005416C69676E070643656E746572064C6F + 636B6564090748697454657374080A53697A652E576964746805000000000001 + 00B002400B53697A652E4865696768740500000000000100B002401453697A65 + 2E506C6174666F726D44656661756C740808577261704D6F646507084F726967 + 696E616C0000005450463007544C61796F757400095374796C654E616D65060F + 636F6D626F706F7075707374796C650C436C69704368696C6472656E09074F70 + 61636974790500000000003333F3FE3F0A506F736974696F6E2E580500000000 + 000080BB07400A506F736974696F6E2E590500000000000000EC07400A53697A + 652E57696474680500000000000000B805400B53697A652E4865696768740500 + 000000000000EC04401453697A652E506C6174666F726D44656661756C740807 + 56697369626C6508085461624F726465720219000A5452656374616E676C6500 + 095374796C654E616D65060A6261636B67726F756E6405416C69676E0708436F + 6E74656E74730A46696C6C2E436F6C6F720709784646343834383438064C6F63 + 6B6564090748697454657374080A53697A652E57696474680500000000000000 + B805400B53697A652E4865696768740500000000000000EC04401453697A652E + 506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72070978 + 4646314331433143000F54466C6F6174416E696D6174696F6E00084475726174 + 696F6E050000000000CDCCCCFB3F0C50726F70657274794E616D65060E506172 + 656E742E4F7061636974790A537461727456616C756505000000000000000000 + 000953746F7056616C7565050000000000000080FF3F0754726967676572060F + 497344726F70446F776E3D747275650E54726967676572496E76657273650610 + 497344726F70446F776E3D66616C7365000000005450463007544C61796F7574 + 00095374796C654E616D65060D74726565766965777374796C650A506F736974 + 696F6E2E580500000000000080B507400A506F736974696F6E2E590500000000 + 000080D707400A53697A652E5769647468050000000000FFFFE905400B53697A + 652E48656967687405000000000000008C06401453697A652E506C6174666F72 + 6D44656661756C74080756697369626C6508085461624F72646572021A000A54 + 52656374616E676C6500095374796C654E616D65060A6261636B67726F756E64 + 05416C69676E0708436F6E74656E74730A46696C6C2E436F6C6F720709784646 + 343834383438064C6F636B6564090748697454657374080C50616464696E672E + 4C656674050000000000000080FF3F0B50616464696E672E546F700500000000 + 00000080FF3F0D50616464696E672E5269676874050000000000000080FF3F0E + 50616464696E672E426F74746F6D050000000000000080FF3F0A53697A652E57 + 69647468050000000000FFFFE905400B53697A652E4865696768740500000000 + 0000008C06401453697A652E506C6174666F726D44656661756C74080C537472 + 6F6B652E436F6C6F720709784646314331433143000A5452656374616E676C65 + 0005416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E6507 + 48697454657374080A53697A652E5769647468050000000000FFFFE505400B53 + 697A652E48656967687405000000000000008A06401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646353935 + 393539000007544C61796F75740005416C69676E0706436C69656E740A53697A + 652E5769647468050000000000FFFFE505400B53697A652E4865696768740500 + 0000000000008A06401453697A652E506C6174666F726D44656661756C740800 + 07544C61796F757400095374796C654E616D650607636F6E74656E7405416C69 + 676E0706436C69656E740C436C69704368696C6472656E090C4D617267696E73 + 2E4C656674050000000000000080FF3F0B4D617267696E732E546F7005000000 + 0000000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F + 0E4D617267696E732E426F74746F6D050000000000000080FF3F0A53697A652E + 5769647468050000000000FFFFC305400B53697A652E48656967687405000000 + 00000000F205401453697A652E506C6174666F726D44656661756C7408000A54 + 52656374616E676C6500095374796C654E616D65060973656C656374696F6E09 + 46696C6C2E4B696E6407084772616469656E741446696C6C2E4772616469656E + 742E506F696E74730E0105436F6C6F720709783830324237393843064F666673 + 65740500000000000000000000000105436F6C6F720709783830324236453746 + 064F666673657405000000000012A2F8FD3F000105436F6C6F72070978383032 + 4236343732064F6666736574050000000000000080FF3F000007486974546573 + 74080A53697A652E57696474680500000000000000C804400B53697A652E4865 + 696768740500000000000000C804401453697A652E506C6174666F726D446566 + 61756C74080B5374726F6B652E4B696E6407044E6F6E6500000A545265637461 + 6E676C6500095374796C654E616D650610666F637573656473656C656374696F + 6E0946696C6C2E4B696E6407084772616469656E741446696C6C2E4772616469 + 656E742E506F696E74730E0105436F6C6F720709783830324237393843064F66 + 667365740500000000000000000000000105436F6C6F72070978383032423645 + 3746064F666673657405000000000012A2F8FD3F000105436F6C6F7207097838 + 30324236343732064F6666736574050000000000000080FF3F00000748697454 + 657374080A53697A652E57696474680500000000000000C804400B53697A652E + 4865696768740500000000000000C804401453697A652E506C6174666F726D44 + 656661756C74080B5374726F6B652E446173680703446F740000000A54536372 + 6F6C6C42617200095374796C654E616D65060A767363726F6C6C62617205416C + 69676E070552696768740B536D616C6C4368616E676505000000000000000000 + 000B4F7269656E746174696F6E0708566572746963616C0A506F736974696F6E + 2E58050000000000FFFFC705400A53697A652E57696474680500000000000000 + F002400B53697A652E4865696768740500000000000000F605401453697A652E + 506C6174666F726D44656661756C740800000A545363726F6C6C426172000953 + 74796C654E616D65060A687363726F6C6C62617205416C69676E0706426F7474 + 6F6D0B536D616C6C4368616E676505000000000000000000000B4F7269656E74 + 6174696F6E070A486F72697A6F6E74616C0A506F736974696F6E2E5905000000 + 00000000F605400A53697A652E5769647468050000000000FFFFE505400B5369 + 7A652E4865696768740500000000000000F002401453697A652E506C6174666F + 726D44656661756C740800000F54536D616C6C5363726F6C6C42617200095374 + 796C654E616D65060F76736D616C6C7363726F6C6C62617205416C69676E0705 + 52696768740B536D616C6C4368616E676505000000000000000000000B4F7269 + 656E746174696F6E0708566572746963616C0B4D617267696E732E546F700500 + 00000000000080FF3F0D4D617267696E732E5269676874050000000000000080 + FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A506F73 + 6974696F6E2E580500000000000000C605400A506F736974696F6E2E59050000 + 00000000008000400A53697A652E576964746805000000000000008002400B53 + 697A652E48656967687405000000000000008002401453697A652E506C617466 + 6F726D44656661756C74080756697369626C650800000F54536D616C6C536372 + 6F6C6C42617200095374796C654E616D65060F68736D616C6C7363726F6C6C62 + 617205416C69676E0706426F74746F6D0B536D616C6C4368616E676505000000 + 000000000000000B4F7269656E746174696F6E070A486F72697A6F6E74616C0C + 4D617267696E732E4C656674050000000000000080FF3F0D4D617267696E732E + 5269676874050000000000000080FF3F0E4D617267696E732E426F74746F6D05 + 0000000000000080FF3F0A506F736974696F6E2E580500000000000000800040 + 0A506F736974696F6E2E590500000000000000E205400A53697A652E57696474 + 6805000000000000009606400B53697A652E4865696768740500000000000000 + 8002401453697A652E506C6174666F726D44656661756C74080756697369626C + 6508000000000B54476C6F774566666563740008536F66746E65737305000000 + 00009A9999FD3F09476C6F77436F6C6F720709784646363543384530074F7061 + 63697479050000000000000080FF3F0754726967676572060E4973466F637573 + 65643D7472756507456E61626C656408000000545046300A5452656374616E67 + 6C6500095374796C654E616D65061174726565766965776974656D7374796C65 + 0946696C6C2E4B696E6407044E6F6E650748697454657374080A506F73697469 + 6F6E2E580500000000000000BD07400A506F736974696F6E2E59050000000000 + 0080F007400A53697A652E57696474680500000000000000AE05400B53697A65 + 2E4865696768740500000000000000A004401453697A652E506C6174666F726D + 44656661756C74080B5374726F6B652E4B696E6407044E6F6E65075669736962 + 6C6508000C545370656564427574746F6E00095374796C654E616D6506066275 + 74746F6E05416C69676E07044C6566740C4D617267696E732E4C656674050000 + 0000000000C000400B4D617267696E732E546F700500000000000000C000400D + 4D617267696E732E52696768740500000000000000C000400E4D617267696E73 + 2E426F74746F6D0500000000000000C000400A506F736974696F6E2E58050000 + 0000000000C000400A506F736974696F6E2E590500000000000000C000400A53 + 697A652E57696474680500000000000000A003400B53697A652E486569676874 + 05000000000000008804401453697A652E506C6174666F726D44656661756C74 + 080B5374796C654C6F6F6B7570061B7472656576696577657870616E64657262 + 7574746F6E7374796C65000007544C61796F75740005416C69676E0708436F6E + 74656E74730C4D617267696E732E4C6566740500000000000000A003400A5369 + 7A652E576964746805000000000000008605400B53697A652E48656967687405 + 00000000000000A004401453697A652E506C6174666F726D44656661756C7408 + 000954436865636B426F7800095374796C654E616D650605636865636B05416C + 69676E07044C6566740843616E466F637573081244697361626C65466F637573 + 456666656374090A53697A652E57696474680500000000000000A003400B5369 + 7A652E4865696768740500000000000000A004401453697A652E506C6174666F + 726D44656661756C740800000654476C79706800095374796C654E616D65060A + 676C7970687374796C650C4D617267696E732E4C656674050000000000000080 + 00400B4D617267696E732E546F70050000000000000080FF3F0D4D617267696E + 732E526967687405000000000000008000400E4D617267696E732E426F74746F + 6D050000000000000080FF3F05416C69676E07044C6566740A53697A652E5769 + 64746805000000000000008003400B53697A652E486569676874050000000000 + 00008003401453697A652E506C6174666F726D44656661756C74080000055454 + 65787400095374796C654E616D6506047465787405416C69676E0706436C6965 + 6E74064C6F636B6564090748697454657374080A53697A652E57696474680500 + 000000000000BC04400B53697A652E4865696768740500000000000000A00440 + 1453697A652E506C6174666F726D44656661756C740816546578745365747469 + 6E67732E466F6E74436F6C6F720708636C615768697465155465787453657474 + 696E67732E576F72645772617008165465787453657474696E67732E486F727A + 416C69676E07074C656164696E67000000005450463007544C61796F75740009 + 5374796C654E616D65061B7472656576696577657870616E646572627574746F + 6E7374796C650B4D617267696E732E546F70050000000000000080FF3F0A506F + 736974696F6E2E580500000000000000CD07400A506F736974696F6E2E590500 + 000000000000F507400A53697A652E57696474680500000000000000B003400B + 53697A652E4865696768740500000000000000B003401453697A652E506C6174 + 666F726D44656661756C74080756697369626C6508085461624F72646572021C + 000554506174680005416C69676E070643656E74657209446174612E50617468 + 0A400000000500000000000000D36D3F431BEF4843010000001749E043BA09E5 + 4301000000D36D3F43C73B344401000000D36D3F431BEF484303000000D36D3F + 431BEF48430A46696C6C2E436F6C6F720708636C61426C61636B064C6F636B65 + 64090748697454657374080A53697A652E576964746805000000000000008002 + 400B53697A652E48656967687405000000000000009002401453697A652E506C + 6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65 + 000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500000000 + 0017B7D1F13F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A + 537461727456616C75650707636C614E756C6C0953746F7056616C7565070863 + 6C61426C61636B075472696767657206104973457870616E6465643D66616C73 + 6500000F54436F6C6F72416E696D6174696F6E00084475726174696F6E050000 + 00000017B7D1F13F07496E7665727365090C50726F70657274794E616D65060A + 46696C6C2E436F6C6F720A537461727456616C75650707636C614E756C6C0953 + 746F7056616C75650708636C61426C61636B0754726967676572060F49734578 + 70616E6465643D747275650000000554506174680005416C69676E070643656E + 74657209446174612E506174680A400000000500000000000000CB11CF4379E9 + 3C4301000000CB11CF4396230A44010000007DBF1E4296230A4401000000CB11 + CF4379E93C4303000000CB11CF4379E93C430A46696C6C2E436F6C6F72070763 + 6C614E756C6C064C6F636B6564090748697454657374080A53697A652E576964 + 746805000000000000008002400B53697A652E48656967687405000000000000 + 008002401453697A652E506C6174666F726D44656661756C74080B5374726F6B + 652E4B696E6407044E6F6E65000F54436F6C6F72416E696D6174696F6E000844 + 75726174696F6E05000000000017B7D1F13F0C50726F70657274794E616D6506 + 0A46696C6C2E436F6C6F720A537461727456616C75650707636C614E756C6C09 + 53746F7056616C75650708636C61426C61636B0754726967676572060F497345 + 7870616E6465643D7472756500000F54436F6C6F72416E696D6174696F6E0008 + 4475726174696F6E05000000000017B7D1F13F07496E7665727365090C50726F + 70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C7565 + 0707636C614E756C6C0953746F7056616C75650708636C61426C61636B075472 + 696767657206104973457870616E6465643D66616C7365000000005450463007 + 544C61796F757400095374796C654E616D65060D747261636B6261727374796C + 650A506F736974696F6E2E580500000000000000B207400A506F736974696F6E + 2E590500000000000000F707400A53697A652E57696474680500000000000000 + 8206400B53697A652E4865696768740500000000000100E002401453697A652E + 506C6174666F726D44656661756C74080756697369626C6508085461624F7264 + 6572021D000A5452656374616E676C6500095374796C654E616D650606687472 + 61636B05416C69676E070A5665727443656E7465720A46696C6C2E436F6C6F72 + 0709784646314631463146064C6F636B6564090748697454657374080C4D6172 + 67696E732E4C65667405000000000000008001400B4D617267696E732E546F70 + 05000000000000008001400D4D617267696E732E526967687405000000000000 + 008001400E4D617267696E732E426F74746F6D05000000000000008001400A50 + 6F736974696F6E2E5805000000000000008001400A506F736974696F6E2E5905 + 000000000000008001400A53697A652E57696474680500000000000000F40540 + 0B53697A652E4865696768740500000000000200C001401453697A652E506C61 + 74666F726D44656661756C74080C5374726F6B652E436F6C6F72070978464631 + 4331433143000B54476C6F774566666563740008536F66746E65737305000000 + 00009A9999FD3F09476C6F77436F6C6F720709784646363543384530074F7061 + 63697479050000000000000080FF3F0754726967676572060E4973466F637573 + 65643D7472756507456E61626C6564080000000A5452656374616E676C650009 + 5374796C654E616D65060676747261636B05416C69676E070A486F727A43656E + 7465720A46696C6C2E436F6C6F720709784646314631463146064C6F636B6564 + 090748697454657374080C4D617267696E732E4C656674050000000000000080 + 01400B4D617267696E732E546F7005000000000000008001400D4D617267696E + 732E526967687405000000000000008001400E4D617267696E732E426F74746F + 6D05000000000000008001400A506F736974696F6E2E580500000000000000F8 + 04400A506F736974696F6E2E5905000000000000008001400A53697A652E5769 + 6474680500000000000000C001400B53697A652E486569676874050000000000 + 0200C001401453697A652E506C6174666F726D44656661756C74080C5374726F + 6B652E436F6C6F720709784646314331433143000B54476C6F77456666656374 + 0008536F66746E6573730500000000009A9999FD3F09476C6F77436F6C6F7207 + 09784646363543384530074F706163697479050000000000000080FF3F075472 + 6967676572060E4973466F63757365643D7472756507456E61626C6564080000 + 0006545468756D6200095374796C654E616D6506057468756D62064C6F636B65 + 64090C4D617267696E732E4C65667405000000000000008000C00B4D61726769 + 6E732E546F7005000000000000008000C00D4D617267696E732E526967687405 + 000000000000008000C00E4D617267696E732E426F74746F6D05000000000000 + 008000C00A506F736974696F6E2E580500000000000000C000400A506F736974 + 696F6E2E59050000000000000080FF3F0A53697A652E57696474680500000000 + 000000A002400B53697A652E4865696768740500000000000100E00240145369 + 7A652E506C6174666F726D44656661756C74080B5374796C654C6F6F6B757006 + 0D7468756D626261727374796C65085461624F72646572020100000054504630 + 07544C61796F757400095374796C654E616D65060E6E756D626572626F787374 + 796C650A506F736974696F6E2E580500000000000000BC07400A506F73697469 + 6F6E2E590500000000000080F407400A53697A652E5769647468050000000000 + 0000B605400B53697A652E4865696768740500000000000000C003401453697A + 652E506C6174666F726D44656661756C74080756697369626C6508085461624F + 72646572021E000A5452656374616E676C6500095374796C654E616D65060A62 + 61636B67726F756E6405416C69676E0708436F6E74656E74730946696C6C2E4B + 696E6407084772616469656E741446696C6C2E4772616469656E742E506F696E + 74730E0105436F6C6F720709784646353835383538064F666673657405000000 + 00000000000000000105436F6C6F720709784646353135313531064F66667365 + 74050000000000A01BF3FD3F000105436F6C6F72070978464634393439343906 + 4F6666736574050000000000000080FF3F0000064C6F636B6564090748697454 + 657374080C4D617267696E732E4C65667405000000000000008000400B4D6172 + 67696E732E546F7005000000000000008000400D4D617267696E732E52696768 + 7405000000000000008000400E4D617267696E732E426F74746F6D0500000000 + 0000008000400A53697A652E57696474680500000000000000AE05400B53697A + 652E4865696768740500000000000000A003401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463641364136 + 41000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05000000 + 0000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F72 + 0A537461727456616C756507097846463538353835380953746F7056616C7565 + 07097846463438343834380754726967676572061049734D6F7573654F766572 + 3D7472756500000F54436F6C6F72416E696D6174696F6E00084475726174696F + 6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E + 436F6C6F720A537461727456616C756507097846463438343834380953746F70 + 56616C756507097846463538353835380754726967676572061149734D6F7573 + 654F7665723D66616C736500000A5452656374616E676C650005416C69676E07 + 06436C69656E740946696C6C2E4B696E6407044E6F6E65074869745465737408 + 0C4D617267696E732E4C65667405000000000000008000C00B4D617267696E73 + 2E546F7005000000000000008000C00D4D617267696E732E5269676874050000 + 00000000008000C00E4D617267696E732E426F74746F6D050000000000000080 + 00C00A53697A652E57696474680500000000000000B605400B53697A652E4865 + 696768740500000000000000C003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646353135313531000A54 + 52656374616E676C650005416C69676E0706436C69656E740946696C6C2E4B69 + 6E6407044E6F6E650748697454657374080C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A53697A652E57696474680500 + 000000000000B205400B53697A652E4865696768740500000000000000B00340 + 1453697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F + 6C6F7207097846463143314331430000000007544C61796F757400095374796C + 654E616D650607636F6E74656E7405416C69676E0708436F6E74656E7473064C + 6F636B6564090C4D617267696E732E4C65667405000000000000008001400B4D + 617267696E732E546F7005000000000000008001400D4D617267696E732E5269 + 67687405000000000000008001400E4D617267696E732E426F74746F6D050000 + 00000000008001400A53697A652E57696474680500000000000000A605400B53 + 697A652E48656967687405000000000000008003401453697A652E506C617466 + 6F726D44656661756C740800000C5442727573684F626A65637400095374796C + 654E616D65060A666F726567726F756E640B42727573682E436F6C6F72070863 + 6C61426C61636B00000B54476C6F774566666563740008536F66746E65737305 + 00000000009A9999FD3F09476C6F77436F6C6F72070978464636354338453007 + 4F706163697479050000000000000080FF3F0754726967676572060E4973466F + 63757365643D7472756507456E61626C6564080000005450463007544C61796F + 757400095374796C654E616D650609656469747374796C650A506F736974696F + 6E2E580500000000000000BC07400A506F736974696F6E2E5905000000000000 + 80F407400A53697A652E57696474680500000000000000B605400B53697A652E + 4865696768740500000000000000C003401453697A652E506C6174666F726D44 + 656661756C74080756697369626C6508085461624F72646572021F000A545265 + 6374616E676C6500095374796C654E616D65060A6261636B67726F756E640541 + 6C69676E0708436F6E74656E74730A46696C6C2E436F6C6F7207097846463139 + 31393139064C6F636B6564090748697454657374080A53697A652E5769647468 + 0500000000000000B605400B53697A652E4865696768740500000000000000C0 + 03401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E + 436F6C6F720709784646333933393339000F54436F6C6F72416E696D6174696F + 6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E + 616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978464635 + 30353035300953746F7056616C7565070978464637303730373000000F54436F + 6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC + 3F07496E7665727365090C50726F70657274794E616D65060A46696C6C2E436F + 6C6F720A537461727456616C756507097846463530353035300953746F705661 + 6C7565070978464637303730373000000A5452656374616E676C650005416C69 + 676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65074869745465 + 7374080C4D617267696E732E4C656674050000000000000080FF3F0B4D617267 + 696E732E546F70050000000000000080FF3F0D4D617267696E732E5269676874 + 050000000000000080FF3F0E4D617267696E732E426F74746F6D050000000000 + 000080FF3F0A53697A652E57696474680500000000000000B205400B53697A65 + 2E4865696768740500000000000000B003401453697A652E506C6174666F726D + 44656661756C74080C5374726F6B652E436F6C6F720709784646313831383138 + 00000007544C61796F757400095374796C654E616D650607636F6E74656E7405 + 416C69676E0706436C69656E74064C6F636B6564090C4D617267696E732E4C65 + 66740500000000000000C000400B4D617267696E732E546F7005000000000000 + 00C000400D4D617267696E732E52696768740500000000000000C000400E4D61 + 7267696E732E426F74746F6D0500000000000000C000400A53697A652E576964 + 746805000000000000008004400B53697A652E48656967687405000000000000 + 009003401453697A652E506C6174666F726D44656661756C7408000007544C61 + 796F757400095374796C654E616D650607627574746F6E7305416C69676E0705 + 5269676874064C6F636B6564090B4D617267696E732E546F7005000000000000 + 00C000400D4D617267696E732E52696768740500000000000000C000400E4D61 + 7267696E732E426F74746F6D0500000000000000C000400A506F736974696F6E + 2E5805000000000000009804400A506F736974696F6E2E590500000000000000 + C000400A53697A652E57696474680500000000000000C804400B53697A652E48 + 656967687405000000000000009003401453697A652E506C6174666F726D4465 + 6661756C740800000C5442727573684F626A65637400095374796C654E616D65 + 060A666F726567726F756E640B42727573682E436F6C6F720709784646454145 + 41454100000C5442727573684F626A65637400095374796C654E616D65060973 + 656C656374696F6E0A42727573682E4B696E6407084772616469656E74154272 + 7573682E4772616469656E742E506F696E74730E0105436F6C6F720709783830 + 324237393843064F66667365740500000000000000000000000105436F6C6F72 + 0709783830324236453746064F666673657405000000000012A2F8FD3F000105 + 436F6C6F720709783830324236343732064F6666736574050000000000000080 + FF3F000000000B54476C6F774566666563740008536F66746E65737305000000 + 00009A9999FD3F09476C6F77436F6C6F720709784646363543384530074F7061 + 63697479050000000000000080FF3F0754726967676572060E4973466F637573 + 65643D7472756507456E61626C6564080000005450463007544C61796F757400 + 095374796C654E616D65060C7370696E626F787374796C650A506F736974696F + 6E2E580500000000000000BC07400A506F736974696F6E2E5905000000000000 + 80F407400A53697A652E57696474680500000000000000B605400B53697A652E + 4865696768740500000000000000C003401453697A652E506C6174666F726D44 + 656661756C74080756697369626C6508085461624F726465720220000A545265 + 6374616E676C6500095374796C654E616D65060A6261636B67726F756E640541 + 6C69676E0708436F6E74656E74730A46696C6C2E436F6C6F7207097846463139 + 31393139064C6F636B6564090748697454657374080A53697A652E5769647468 + 0500000000000000B605400B53697A652E4865696768740500000000000000C0 + 03401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E + 436F6C6F720709784646333933393339000F54436F6C6F72416E696D6174696F + 6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E + 616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978464635 + 30353035300953746F7056616C7565070978464637303730373000000F54436F + 6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC + 3F07496E7665727365090C50726F70657274794E616D65060A46696C6C2E436F + 6C6F720A537461727456616C756507097846463530353035300953746F705661 + 6C7565070978464637303730373000000A5452656374616E676C650005416C69 + 676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65074869745465 + 7374080C4D617267696E732E4C656674050000000000000080FF3F0B4D617267 + 696E732E546F70050000000000000080FF3F0D4D617267696E732E5269676874 + 050000000000000080FF3F0E4D617267696E732E426F74746F6D050000000000 + 000080FF3F0A53697A652E57696474680500000000000000B205400B53697A65 + 2E4865696768740500000000000000B003401453697A652E506C6174666F726D + 44656661756C74080C5374726F6B652E436F6C6F720709784646313831383138 + 00000007544C61796F757400095374796C654E616D650607636F6E74656E7405 + 416C69676E0706436C69656E74064C6F636B6564090C4D617267696E732E4C65 + 66740500000000000000C000400B4D617267696E732E546F7005000000000000 + 00C000400D4D617267696E732E52696768740500000000000000C000400E4D61 + 7267696E732E426F74746F6D0500000000000000C000400A53697A652E576964 + 746805000000000000009404400B53697A652E48656967687405000000000000 + 009003401453697A652E506C6174666F726D44656661756C7408000007544275 + 74746F6E00095374796C654E616D65060B6D696E7573627574746F6E05416C69 + 676E07074669744C6566740843616E466F637573080C4D617267696E732E4C65 + 667405000000000000008000400B4D617267696E732E546F7005000000000000 + 008000400D4D617267696E732E526967687405000000000000008000400E4D61 + 7267696E732E426F74746F6D05000000000000008000400A506F736974696F6E + 2E5805000000000000008000400A506F736974696F6E2E590500000000000000 + 8000400A53697A652E57696474680500000000000000A003400B53697A652E48 + 65696768740500000000000000A003401453697A652E506C6174666F726D4465 + 6661756C74080B5374796C654C6F6F6B7570061C7472616E73706172656E7463 + 6972636C65627574746F6E7374796C65000554506174680005416C69676E0706 + 436C69656E7409446174612E506174680A400000000500000000000000000080 + 3F00000000010000000000803F0000803F01000000000000000000003F010000 + 000000803F00000000030000000000803F000000000A46696C6C2E436F6C6F72 + 0708636C6157686974650748697454657374080C4D617267696E732E4C656674 + 0500000000000000C001400B4D617267696E732E546F700500000000000000C0 + 01400D4D617267696E732E52696768740500000000000000C001400E4D617267 + 696E732E426F74746F6D0500000000000000C001400A53697A652E5769647468 + 05000000000000008002400B53697A652E486569676874050000000000000080 + 02401453697A652E506C6174666F726D44656661756C74080B5374726F6B652E + 4B696E6407044E6F6E650000000754427574746F6E00095374796C654E616D65 + 060A706C7573627574746F6E05416C69676E070846697452696768740843616E + 466F637573080C4D617267696E732E4C65667405000000000000008000400B4D + 617267696E732E546F7005000000000000008000400D4D617267696E732E5269 + 67687405000000000000008000400E4D617267696E732E426F74746F6D050000 + 00000000008000400A506F736974696F6E2E5805000000000000008A05400A50 + 6F736974696F6E2E5905000000000000008000400A53697A652E576964746805 + 00000000000000A003400B53697A652E4865696768740500000000000000A003 + 401453697A652E506C6174666F726D44656661756C74080B5374796C654C6F6F + 6B7570061C7472616E73706172656E74636972636C65627574746F6E7374796C + 65000554506174680005416C69676E0706436C69656E7409446174612E506174 + 680A340000000400000000000000000000000000000001000000000000000000 + 803F010000000000803F0000003F0300000000000000000000000A46696C6C2E + 436F6C6F720708636C6157686974650748697454657374080C4D617267696E73 + 2E4C6566740500000000000000C001400B4D617267696E732E546F7005000000 + 00000000C001400D4D617267696E732E52696768740500000000000000C00140 + 0E4D617267696E732E426F74746F6D0500000000000000C001400A53697A652E + 576964746805000000000000008002400B53697A652E48656967687405000000 + 000000008002401453697A652E506C6174666F726D44656661756C74080B5374 + 726F6B652E4B696E6407044E6F6E650000000C5442727573684F626A65637400 + 095374796C654E616D65060A666F726567726F756E640B42727573682E436F6C + 6F72070978464645414541454100000C5442727573684F626A65637400095374 + 796C654E616D65060973656C656374696F6E0A42727573682E4B696E64070847 + 72616469656E741542727573682E4772616469656E742E506F696E74730E0105 + 436F6C6F720709783830324237393843064F6666736574050000000000000000 + 0000000105436F6C6F720709783830324236453746064F666673657405000000 + 000012A2F8FD3F000105436F6C6F720709783830324236343732064F66667365 + 74050000000000000080FF3F000000000B54476C6F774566666563740008536F + 66746E6573730500000000009A9999FD3F09476C6F77436F6C6F720709784646 + 363543384530074F706163697479050000000000000080FF3F07547269676765 + 72060E4973466F63757365643D7472756507456E61626C656408000000545046 + 3007544C61796F757400095374796C654E616D650611636C656172696E676564 + 69747374796C650A506F736974696F6E2E580500000000000000BC07400A506F + 736974696F6E2E590500000000000080F407400A53697A652E57696474680500 + 000000000000B605400B53697A652E4865696768740500000000000000C00340 + 1453697A652E506C6174666F726D44656661756C74080756697369626C650808 + 5461624F726465720221000A5452656374616E676C6500095374796C654E616D + 65060A6261636B67726F756E6405416C69676E0708436F6E74656E74730A4669 + 6C6C2E436F6C6F720709784646313931393139064C6F636B6564090748697454 + 657374080A53697A652E57696474680500000000000000B605400B53697A652E + 4865696768740500000000000000C003401453697A652E506C6174666F726D44 + 656661756C74080C5374726F6B652E436F6C6F72070978464633393339333900 + 0F54436F6C6F72416E696D6174696F6E00084475726174696F6E050000000000 + CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A53 + 7461727456616C756507097846463530353035300953746F7056616C75650709 + 78464637303730373000000F54436F6C6F72416E696D6174696F6E0008447572 + 6174696F6E050000000000CDCCCCFC3F07496E7665727365090C50726F706572 + 74794E616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978 + 46463530353035300953746F7056616C7565070978464637303730373000000A + 5452656374616E676C650005416C69676E0706436C69656E740946696C6C2E4B + 696E6407044E6F6E650748697454657374080C4D617267696E732E4C65667405 + 0000000000000080FF3F0B4D617267696E732E546F70050000000000000080FF + 3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D61726769 + 6E732E426F74746F6D050000000000000080FF3F0A53697A652E576964746805 + 00000000000000B205400B53697A652E4865696768740500000000000000B003 + 401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E43 + 6F6C6F72070978464631383138313800000007544C61796F757400095374796C + 654E616D650607636F6E74656E7405416C69676E0708436F6E74656E7473064C + 6F636B6564090C4D617267696E732E4C6566740500000000000000C000400B4D + 617267696E732E546F700500000000000000C000400D4D617267696E732E5269 + 6768740500000000000000B803400E4D617267696E732E426F74746F6D050000 + 0000000000C000400A53697A652E576964746805000000000000008205400B53 + 697A652E48656967687405000000000000009003401453697A652E506C617466 + 6F726D44656661756C740800000754427574746F6E00095374796C654E616D65 + 060B636C656172627574746F6E05416C69676E07084669745269676874084361 + 6E466F637573080C4D617267696E732E4C65667405000000000000008000400B + 4D617267696E732E546F7005000000000000008000400D4D617267696E732E52 + 6967687405000000000000008000400E4D617267696E732E426F74746F6D0500 + 0000000000008000400A506F736974696F6E2E5805000000000000008A05400A + 506F736974696F6E2E5905000000000000008000400A53697A652E5769647468 + 0500000000000000A003400B53697A652E4865696768740500000000000000A0 + 03401453697A652E506C6174666F726D44656661756C74080B5374796C654C6F + 6F6B7570061C7472616E73706172656E74636972636C65627574746F6E737479 + 6C65000554506174680005416C69676E070346697409446174612E506174680A + C400000010000000000000000000A0C00000704101000000000070410000A0C0 + 01000000000048420000F041010000000000AA420000A0C0010000000000D242 + 000070410100000000008C4200004842010000000000D2420000B44201000000 + 0000AA420000DC42020000003BDF34429E6F8C4202000000FE547D427FAAB042 + 02000000000048420000964201000000000070410000DC42010000000000A0C0 + 0000B442010000000000F04100005C42010000000000A0C00000704103000000 + 0000000000000000064C6F636B6564090748697454657374080C4D617267696E + 732E4C65667405000000000000008001400B4D617267696E732E546F70050000 + 00000000008001400D4D617267696E732E526967687405000000000000008001 + 400E4D617267696E732E426F74746F6D05000000000000008001400A53697A65 + 2E57696474680500000000000000C002400B53697A652E486569676874050000 + 0000000000C002401453697A652E506C6174666F726D44656661756C74080B53 + 74726F6B652E4B696E6407044E6F6E650000000C5442727573684F626A656374 + 00095374796C654E616D65060A666F726567726F756E640B42727573682E436F + 6C6F72070978464645414541454100000C5442727573684F626A656374000953 + 74796C654E616D65060973656C656374696F6E0A42727573682E4B696E640708 + 4772616469656E741542727573682E4772616469656E742E506F696E74730E01 + 05436F6C6F720709783830324237393843064F66667365740500000000000000 + 000000000105436F6C6F720709783830324236453746064F6666736574050000 + 00000012A2F8FD3F000105436F6C6F720709783830324236343732064F666673 + 6574050000000000000080FF3F000000000B54476C6F77456666656374000853 + 6F66746E6573730500000000009A9999FD3F09476C6F77436F6C6F7207097846 + 46363543384530074F706163697479050000000000000080FF3F075472696767 + 6572060E4973466F63757365643D7472756507456E61626C6564080000005450 + 463007544C61796F757400095374796C654E616D6506096D656D6F7374796C65 + 0C436C69704368696C6472656E090A506F736974696F6E2E5805000000000000 + 80B507400A506F736974696F6E2E590500000000000000DA07400A53697A652E + 5769647468050000000000FFFFE905400B53697A652E48656967687405000000 + 000000008306401453697A652E506C6174666F726D44656661756C7408075669 + 7369626C6508085461624F726465720222000A5452656374616E676C65000953 + 74796C654E616D65060A6261636B67726F756E6405416C69676E0708436F6E74 + 656E74730A46696C6C2E436F6C6F720709784646313931393139064C6F636B65 + 64090748697454657374080C50616464696E672E4C6566740500000000000000 + 80FF3F0B50616464696E672E546F70050000000000000080FF3F0D5061646469 + 6E672E5269676874050000000000000080FF3F0E50616464696E672E426F7474 + 6F6D050000000000000080FF3F0A53697A652E5769647468050000000000FFFF + E905400B53697A652E48656967687405000000000000008306401453697A652E + 506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72070978 + 4646333933393339000A5452656374616E676C650005416C69676E0706436C69 + 656E740946696C6C2E4B696E6407044E6F6E650748697454657374080A53697A + 652E5769647468050000000000FFFFE505400B53697A652E4865696768740500 + 0000000000008106401453697A652E506C6174666F726D44656661756C74080C + 5374726F6B652E436F6C6F720709784646353935393539000007544C61796F75 + 740005416C69676E0706436C69656E740A53697A652E57696474680500000000 + 00FFFFE505400B53697A652E4865696768740500000000000000810640145369 + 7A652E506C6174666F726D44656661756C74080007544C61796F757400095374 + 796C654E616D650607636F6E74656E7405416C69676E0706436C69656E740C4D + 617267696E732E4C656674050000000000000080FF3F0B4D617267696E732E54 + 6F70050000000000000080FF3F0D4D617267696E732E52696768740500000000 + 00000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F + 0A53697A652E5769647468050000000000FFFFC305400B53697A652E48656967 + 68740500000000000000E005401453697A652E506C6174666F726D4465666175 + 6C740800000A545363726F6C6C42617200095374796C654E616D65060A767363 + 726F6C6C62617205416C69676E0705526967687406437572736F720707637241 + 72726F770B536D616C6C4368616E676505000000000000000000000B4F726965 + 6E746174696F6E0708566572746963616C0A506F736974696F6E2E5805000000 + 0000FFFFC705400A53697A652E57696474680500000000000000F002400B5369 + 7A652E4865696768740500000000000000E405401453697A652E506C6174666F + 726D44656661756C740800000A545363726F6C6C42617200095374796C654E61 + 6D65060A687363726F6C6C62617205416C69676E0706426F74746F6D06437572 + 736F72070763724172726F770B536D616C6C4368616E67650500000000000000 + 0000000B4F7269656E746174696F6E070A486F72697A6F6E74616C0A506F7369 + 74696F6E2E590500000000000000E405400A53697A652E576964746805000000 + 0000FFFFE505400B53697A652E4865696768740500000000000000F002401453 + 697A652E506C6174666F726D44656661756C740800000F54536D616C6C536372 + 6F6C6C42617200095374796C654E616D65060F76736D616C6C7363726F6C6C62 + 617205416C69676E0705526967687406437572736F72070763724172726F770B + 536D616C6C4368616E676505000000000000000000000B4F7269656E74617469 + 6F6E0708566572746963616C0B4D617267696E732E546F700500000000000000 + 80FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D6172 + 67696E732E426F74746F6D050000000000000080FF3F0A506F736974696F6E2E + 580500000000000000C605400A506F736974696F6E2E59050000000000000080 + 00400A53697A652E576964746805000000000000008002400B53697A652E4865 + 6967687405000000000000008002401453697A652E506C6174666F726D446566 + 61756C74080756697369626C650800000F54536D616C6C5363726F6C6C426172 + 00095374796C654E616D65060F68736D616C6C7363726F6C6C62617205416C69 + 676E0706426F74746F6D06437572736F72070763724172726F770B536D616C6C + 4368616E676505000000000000000000000B4F7269656E746174696F6E070A48 + 6F72697A6F6E74616C0C4D617267696E732E4C656674050000000000000080FF + 3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D61726769 + 6E732E426F74746F6D050000000000000080FF3F0A506F736974696F6E2E5805 + 000000000000008000400A506F736974696F6E2E590500000000000000E20540 + 0A53697A652E576964746805000000000000009606400B53697A652E48656967 + 687405000000000000008002401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508000000000C5442727573684F626A656374000953 + 74796C654E616D65060A666F726567726F756E640B42727573682E436F6C6F72 + 070978464645414541454100000C5442727573684F626A65637400095374796C + 654E616D65060973656C656374696F6E0A42727573682E4B696E640708477261 + 6469656E741542727573682E4772616469656E742E506F696E74730E0105436F + 6C6F720709783830324237393843064F66667365740500000000000000000000 + 000105436F6C6F720709783830324236453746064F6666736574050000000000 + 12A2F8FD3F000105436F6C6F720709783830324236343732064F666673657405 + 0000000000000080FF3F000000000B54476C6F774566666563740008536F6674 + 6E6573730500000000009A9999FD3F09476C6F77436F6C6F7207097846463635 + 43384530074F706163697479050000000000000080FF3F075472696767657206 + 0E4973466F63757365643D7472756507456E61626C6564080000005450463007 + 544C61796F757400095374796C654E616D65060B627574746F6E7374796C650A + 506F736974696F6E2E580500000000000000BC07400A506F736974696F6E2E59 + 0500000000000080F407400A53697A652E57696474680500000000000000B605 + 400B53697A652E4865696768740500000000000000C003401453697A652E506C + 6174666F726D44656661756C74080756697369626C6508085461624F72646572 + 0223000A5452656374616E676C6500095374796C654E616D65060A6261636B67 + 726F756E6405416C69676E0708436F6E74656E74730946696C6C2E4B696E6407 + 084772616469656E741446696C6C2E4772616469656E742E506F696E74730E01 + 05436F6C6F720709784646353835383538064F66667365740500000000000000 + 000000000105436F6C6F720709784646353135313531064F6666736574050000 + 000000A01BF3FD3F000105436F6C6F720709784646343934393439064F666673 + 6574050000000000000080FF3F0000064C6F636B656409074869745465737408 + 0C4D617267696E732E4C65667405000000000000008000400B4D617267696E73 + 2E546F7005000000000000008000400D4D617267696E732E5269676874050000 + 00000000008000400E4D617267696E732E426F74746F6D050000000000000080 + 00400A53697A652E57696474680500000000000000AE05400B53697A652E4865 + 696768740500000000000000A003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646364136413641000F54 + 436F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCC + CCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A537461 + 727456616C756507097846463538353835380953746F7056616C756507097846 + 463438343834380754726967676572062049734D6F7573654F7665723D747275 + 653B4973507265737365643D66616C736500000F54436F6C6F72416E696D6174 + 696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274 + 794E616D65060A46696C6C2E436F6C6F720A537461727456616C756507097846 + 463438343834380953746F7056616C7565070978464635383538353807547269 + 67676572062149734D6F7573654F7665723D66616C73653B4973507265737365 + 643D66616C736500000F54436F6C6F72416E696D6174696F6E00084475726174 + 696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C + 6C2E436F6C6F720A537461727456616C75650709784646343834383438095374 + 6F7056616C756507097846463432343234320754726967676572062049734D6F + 7573654F7665723D66616C73653B4973507265737365643D7472756500000F54 + 436F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCC + CCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A537461 + 727456616C756507097846463432343234320953746F7056616C756507097846 + 463438343834380754726967676572061F49734D6F7573654F7665723D747275 + 653B4973507265737365643D7472756500000A5452656374616E676C65000541 + 6C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E6507486974 + 54657374080C4D617267696E732E4C65667405000000000000008000C00B4D61 + 7267696E732E546F7005000000000000008000C00D4D617267696E732E526967 + 687405000000000000008000C00E4D617267696E732E426F74746F6D05000000 + 000000008000C00A53697A652E57696474680500000000000000B605400B5369 + 7A652E4865696768740500000000000000C003401453697A652E506C6174666F + 726D44656661756C74080C5374726F6B652E436F6C6F72070978464635313531 + 3531000A5452656374616E676C650005416C69676E0706436C69656E74094669 + 6C6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C + 656674050000000000000080FF3F0B4D617267696E732E546F70050000000000 + 000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D + 617267696E732E426F74746F6D050000000000000080FF3F0A53697A652E5769 + 6474680500000000000000B205400B53697A652E486569676874050000000000 + 0000B003401453697A652E506C6174666F726D44656661756C74080C5374726F + 6B652E436F6C6F720709784646314331433143000000000654476C7970680009 + 5374796C654E616D65060A676C7970687374796C650C4D617267696E732E4C65 + 66740500000000000000A001400B4D617267696E732E546F7005000000000000 + 008000400D4D617267696E732E5269676874050000000000000080FF3F0E4D61 + 7267696E732E426F74746F6D050000000000000080004005416C69676E07044C + 6566740A53697A652E576964746805000000000000008003400B53697A652E48 + 656967687405000000000000008003401453697A652E506C6174666F726D4465 + 6661756C7408000005545465787400095374796C654E616D6506047465787405 + 416C69676E0706436C69656E74064C6F636B6564090748697454657374080C4D + 617267696E732E4C6566740500000000000000A001400B4D617267696E732E54 + 6F7005000000000000008000400D4D617267696E732E52696768740500000000 + 000000A001400E4D617267696E732E426F74746F6D0500000000000000800040 + 0A53697A652E57696474680500000000000000A205400B53697A652E48656967 + 68740500000000000000A003401453697A652E506C6174666F726D4465666175 + 6C740804546578740606627574746F6E165465787453657474696E67732E466F + 6E74436F6C6F720708636C61576869746500000B54476C6F7745666665637400 + 08536F66746E6573730500000000009A9999FD3F09476C6F77436F6C6F720709 + 784646363543384530074F706163697479050000000000000080FF3F07547269 + 67676572060E4973466F63757365643D7472756507456E61626C656408000000 + 5450463007544C61796F757400095374796C654E616D650610636F6C6F726275 + 74746F6E7374796C650A506F736974696F6E2E580500000000000000BC07400A + 506F736974696F6E2E590500000000000080F407400A53697A652E5769647468 + 0500000000000000B605400B53697A652E4865696768740500000000000000C0 + 03401453697A652E506C6174666F726D44656661756C74080756697369626C65 + 08085461624F726465720224000A5452656374616E676C6500095374796C654E + 616D65060A6261636B67726F756E6405416C69676E0708436F6E74656E747309 + 46696C6C2E4B696E6407084772616469656E741446696C6C2E4772616469656E + 742E506F696E74730E0105436F6C6F720709784646353835383538064F666673 + 65740500000000000000000000000105436F6C6F720709784646353135313531 + 064F6666736574050000000000A01BF3FD3F000105436F6C6F72070978464634 + 3934393439064F6666736574050000000000000080FF3F0000064C6F636B6564 + 090748697454657374080C4D617267696E732E4C656674050000000000000080 + 00400B4D617267696E732E546F7005000000000000008000400D4D617267696E + 732E526967687405000000000000008000400E4D617267696E732E426F74746F + 6D05000000000000008000400A53697A652E57696474680500000000000000AE + 05400B53697A652E4865696768740500000000000000A003401453697A652E50 + 6C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207097846 + 46364136413641000F54436F6C6F72416E696D6174696F6E0008447572617469 + 6F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C + 2E436F6C6F720A537461727456616C756507097846463538353835380953746F + 7056616C756507097846463438343834380754726967676572062049734D6F75 + 73654F7665723D747275653B4973507265737365643D66616C736500000F5443 + 6F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCC + FC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A53746172 + 7456616C756507097846463438343834380953746F7056616C75650709784646 + 3538353835380754726967676572062149734D6F7573654F7665723D66616C73 + 653B4973507265737365643D66616C736500000F54436F6C6F72416E696D6174 + 696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274 + 794E616D65060A46696C6C2E436F6C6F720A537461727456616C756507097846 + 463438343834380953746F7056616C7565070978464634323432343207547269 + 67676572062049734D6F7573654F7665723D66616C73653B4973507265737365 + 643D7472756500000F54436F6C6F72416E696D6174696F6E0008447572617469 + 6F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C + 2E436F6C6F720A537461727456616C756507097846463432343234320953746F + 7056616C756507097846463438343834380754726967676572061F49734D6F75 + 73654F7665723D747275653B4973507265737365643D7472756500000A545265 + 6374616E676C650005416C69676E0706436C69656E740946696C6C2E4B696E64 + 07044E6F6E650748697454657374080C4D617267696E732E4C65667405000000 + 000000008000C00B4D617267696E732E546F7005000000000000008000C00D4D + 617267696E732E526967687405000000000000008000C00E4D617267696E732E + 426F74746F6D05000000000000008000C00A53697A652E576964746805000000 + 00000000B605400B53697A652E4865696768740500000000000000C003401453 + 697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F + 720709784646353135313531000A5452656374616E676C650005416C69676E07 + 06436C69656E740946696C6C2E4B696E6407044E6F6E65074869745465737408 + 0C4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E73 + 2E546F70050000000000000080FF3F0D4D617267696E732E5269676874050000 + 000000000080FF3F0E4D617267696E732E426F74746F6D050000000000000080 + FF3F0A53697A652E57696474680500000000000000B205400B53697A652E4865 + 696768740500000000000000B003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646314331433143000000 + 000A5452656374616E676C6500095374796C654E616D65060466696C6C05416C + 69676E0706436C69656E740A46696C6C2E436F6C6F720708636C61426C61636B + 064C6F636B6564090748697454657374080C4D617267696E732E4C6566740500 + 000000000000C001400B4D617267696E732E546F700500000000000000A00140 + 0D4D617267696E732E52696768740500000000000000C001400E4D617267696E + 732E426F74746F6D0500000000000000A001400A53697A652E57696474680500 + 0000000000009E05400B53697A652E4865696768740500000000000000E00240 + 1453697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F + 6C6F72070978464636413641364100000B54476C6F774566666563740008536F + 66746E6573730500000000009A9999FD3F09476C6F77436F6C6F720709784646 + 363543384530074F706163697479050000000000000080FF3F07547269676765 + 72060E4973466F63757365643D7472756507456E61626C656408000000545046 + 3007544C61796F757400095374796C654E616D650611636F726E657262757474 + 6F6E7374796C650A506F736974696F6E2E580500000000000000BC07400A506F + 736974696F6E2E590500000000000080F407400A53697A652E57696474680500 + 000000000000B605400B53697A652E4865696768740500000000000000C00340 + 1453697A652E506C6174666F726D44656661756C74080756697369626C650808 + 5461624F726465720225000A5452656374616E676C6500095374796C654E616D + 65060A6261636B67726F756E6405416C69676E0708436F6E74656E7473094669 + 6C6C2E4B696E6407084772616469656E741446696C6C2E4772616469656E742E + 506F696E74730E0105436F6C6F720709784646353835383538064F6666736574 + 0500000000000000000000000105436F6C6F720709784646353135313531064F + 6666736574050000000000A01BF3FD3F000105436F6C6F720709784646343934 + 393439064F6666736574050000000000000080FF3F0000064C6F636B65640907 + 48697454657374080A53697A652E57696474680500000000000000B605400B53 + 697A652E4865696768740500000000000000C003401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646314331 + 433143000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C + 6F720A537461727456616C756507097846463538353835380953746F7056616C + 756507097846463438343834380754726967676572062049734D6F7573654F76 + 65723D747275653B4973507265737365643D66616C736500000F54436F6C6F72 + 416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50 + 726F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C + 756507097846463438343834380953746F7056616C7565070978464635383538 + 35380754726967676572062149734D6F7573654F7665723D66616C73653B4973 + 507265737365643D66616C736500000F54436F6C6F72416E696D6174696F6E00 + 084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D + 65060A46696C6C2E436F6C6F720A537461727456616C75650709784646343834 + 3834380953746F7056616C756507097846463432343234320754726967676572 + 062049734D6F7573654F7665723D66616C73653B4973507265737365643D7472 + 756500000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C + 6F720A537461727456616C756507097846463432343234320953746F7056616C + 756507097846463438343834380754726967676572061F49734D6F7573654F76 + 65723D747275653B4973507265737365643D747275650000000654476C797068 + 00095374796C654E616D65060A676C7970687374796C650C4D617267696E732E + 4C65667405000000000000008000400B4D617267696E732E546F700500000000 + 0000008001400D4D617267696E732E526967687405000000000000008000400E + 4D617267696E732E426F74746F6D050000000000000080004005416C69676E07 + 044C6566740A53697A652E576964746805000000000000008003400B53697A65 + 2E48656967687405000000000000008003401453697A652E506C6174666F726D + 44656661756C7408000005545465787400095374796C654E616D650604746578 + 7405416C69676E0706436C69656E74064C6F636B656409074869745465737408 + 0C4D617267696E732E4C6566740500000000000000A001400B4D617267696E73 + 2E546F7005000000000000008000400D4D617267696E732E5269676874050000 + 0000000000A001400E4D617267696E732E426F74746F6D050000000000000080 + 00400A53697A652E57696474680500000000000000A205400B53697A652E4865 + 696768740500000000000000A003401453697A652E506C6174666F726D446566 + 61756C740804546578740606627574746F6E165465787453657474696E67732E + 466F6E74436F6C6F720708636C61576869746500000B54476C6F774566666563 + 740008536F66746E6573730500000000009A9999FD3F09476C6F77436F6C6F72 + 0709784646363543384530074F706163697479050000000000000080FF3F0754 + 726967676572060E4973466F63757365643D7472756507456E61626C65640800 + 00005450463007544C61796F757400095374796C654E616D65060D706F707570 + 626F787374796C650A506F736974696F6E2E580500000000000000B807400A50 + 6F736974696F6E2E590500000000000000F507400A53697A652E576964746805 + 00000000000000D605400B53697A652E4865696768740500000000000000B003 + 401453697A652E506C6174666F726D44656661756C74080756697369626C6508 + 085461624F726465720226000A5452656374616E676C6500095374796C654E61 + 6D65060A6261636B67726F756E6405416C69676E0708436F6E74656E74730946 + 696C6C2E4B696E6407084772616469656E741446696C6C2E4772616469656E74 + 2E506F696E74730E0105436F6C6F720709784646353835383538064F66667365 + 740500000000000000000000000105436F6C6F72070978464635313531353106 + 4F6666736574050000000000A01BF3FD3F000105436F6C6F7207097846463439 + 34393439064F6666736574050000000000000080FF3F0000064C6F636B656409 + 0748697454657374080C4D617267696E732E4C65667405000000000000008000 + 400B4D617267696E732E546F7005000000000000008000400D4D617267696E73 + 2E526967687405000000000000008000400E4D617267696E732E426F74746F6D + 05000000000000008000400A53697A652E57696474680500000000000000CE05 + 400B53697A652E48656967687405000000000000009003401453697A652E506C + 6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709784646 + 364136413641000F54436F6C6F72416E696D6174696F6E00084475726174696F + 6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E + 436F6C6F720A537461727456616C756507097846463538353835380953746F70 + 56616C756507097846463438343834380754726967676572061049734D6F7573 + 654F7665723D7472756500000F54436F6C6F72416E696D6174696F6E00084475 + 726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A + 46696C6C2E436F6C6F720A537461727456616C75650709784646343834383438 + 0953746F7056616C756507097846463538353835380754726967676572061149 + 734D6F7573654F7665723D66616C736500000A5452656374616E676C65000541 + 6C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E6507486974 + 54657374080C4D617267696E732E4C65667405000000000000008000C00B4D61 + 7267696E732E546F7005000000000000008000C00D4D617267696E732E526967 + 687405000000000000008000C00E4D617267696E732E426F74746F6D05000000 + 000000008000C00A53697A652E57696474680500000000000000D605400B5369 + 7A652E4865696768740500000000000000B003401453697A652E506C6174666F + 726D44656661756C74080C5374726F6B652E436F6C6F72070978464635313531 + 3531000A5452656374616E676C650005416C69676E0706436C69656E74094669 + 6C6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C + 656674050000000000000080FF3F0B4D617267696E732E546F70050000000000 + 000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D + 617267696E732E426F74746F6D050000000000000080FF3F0A53697A652E5769 + 6474680500000000000000D205400B53697A652E486569676874050000000000 + 0000A003401453697A652E506C6174666F726D44656661756C74080C5374726F + 6B652E436F6C6F7207097846463143314331430000000007544C61796F757400 + 05416C69676E070552696768740A506F736974696F6E2E580500000000000000 + B805400A53697A652E57696474680500000000000000F002400B53697A652E48 + 65696768740500000000000000B003401453697A652E506C6174666F726D4465 + 6661756C7408000554506174680005416C69676E070643656E74657209446174 + 612E506174680A400000000500000000000000000000000000803F0100000000 + 00803F0000803F010000000000003F0000000001000000000000000000803F03 + 00000000000000000000000A46696C6C2E436F6C6F72070C636C614C69676874 + 677261790748697454657374080B4D617267696E732E546F7005000000000000 + 009002C00A53697A652E576964746805000000000000008002400B53697A652E + 4865696768740500000000000000A001401453697A652E506C6174666F726D44 + 656661756C74080B5374726F6B652E4B696E6407044E6F6E6500000554506174 + 680005416C69676E070643656E74657209446174612E506174680A3400000004 + 000000000000000000000000000000010000000000803F000000000100000000 + 00003F0000803F0300000000000000000000000A46696C6C2E436F6C6F720709 + 7846464430443044300748697454657374080B4D617267696E732E546F700500 + 000000000000E001400A53697A652E576964746805000000000000008002400B + 53697A652E4865696768740500000000000000A001401453697A652E506C6174 + 666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E650000 + 0005545465787400095374796C654E616D6506047465787405416C69676E0706 + 436C69656E74064C6F636B6564090748697454657374080C4D617267696E732E + 4C6566740500000000000000A001400B4D617267696E732E546F700500000000 + 000000A001400D4D617267696E732E52696768740500000000000000A001400E + 4D617267696E732E426F74746F6D0500000000000000A001400A53697A652E57 + 696474680500000000000000A405400B53697A652E4865696768740500000000 + 000000C002401453697A652E506C6174666F726D44656661756C740804546578 + 740606627574746F6E165465787453657474696E67732E466F6E74436F6C6F72 + 0708636C615768697465155465787453657474696E67732E576F726457726170 + 0800000B54476C6F774566666563740008536F66746E6573730500000000009A + 9999FD3F09476C6F77436F6C6F720709784646363543384530074F7061636974 + 79050000000000000080FF3F0754726967676572060E4973466F63757365643D + 7472756507456E61626C6564080000005450463007544C61796F757400095374 + 796C654E616D65060C6172636469616C7374796C650A506F736974696F6E2E58 + 0500000000000080C307400A506F736974696F6E2E590500000000000080EF07 + 400A53697A652E5769647468050000000000FFFFB304400B53697A652E486569 + 6768740500000000000000B004401453697A652E506C6174666F726D44656661 + 756C74080756697369626C6508085461624F726465720227000854456C6C6970 + 736500095374796C654E616D65060A6261636B67726F756E6405416C69676E07 + 034669740946696C6C2E4B696E6407084772616469656E741446696C6C2E4772 + 616469656E742E506F696E74730E0105436F6C6F720709784646353835383538 + 064F66667365740500000000000000000000000105436F6C6F72070978464635 + 3135313531064F6666736574050000000000A01BF3FD3F000105436F6C6F7207 + 09784646343934393439064F6666736574050000000000000080FF3F0000064C + 6F636B6564090748697454657374080C4D617267696E732E4C65667405000000 + 000000008000400B4D617267696E732E546F7005000000000000008000400D4D + 617267696E732E526967687405000000000000008000400E4D617267696E732E + 426F74746F6D05000000000000008000400A53697A652E576964746805000000 + 00000000A004400B53697A652E4865696768740500000000000000A004401453 + 697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F + 720709784646364136413641000F54436F6C6F72416E696D6174696F6E000844 + 75726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D6506 + 0A46696C6C2E436F6C6F720A537461727456616C756507097846463538353835 + 380953746F7056616C7565070978464634383438343807547269676765720610 + 49734D6F7573654F7665723D7472756500000F54436F6C6F72416E696D617469 + 6F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F7065727479 + 4E616D65060A46696C6C2E436F6C6F720A537461727456616C75650709784646 + 3438343834380953746F7056616C756507097846463538353835380754726967 + 676572061149734D6F7573654F7665723D66616C736500000854456C6C697073 + 650005416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65 + 0748697454657374080C4D617267696E732E4C65667405000000000000008000 + C00B4D617267696E732E546F7005000000000000008000C00D4D617267696E73 + 2E526967687405000000000000008000C00E4D617267696E732E426F74746F6D + 05000000000000008000C00A53697A652E57696474680500000000000000B004 + 400B53697A652E4865696768740500000000000000B004401453697A652E506C + 6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709784646 + 353135313531000854456C6C697073650005416C69676E0706436C69656E7409 + 46696C6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E73 + 2E4C656674050000000000000080FF3F0B4D617267696E732E546F7005000000 + 0000000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F + 0E4D617267696E732E426F74746F6D050000000000000080FF3F0A53697A652E + 57696474680500000000000000A804400B53697A652E48656967687405000000 + 00000000A804401453697A652E506C6174666F726D44656661756C74080C5374 + 726F6B652E436F6C6F72070978464631433143314300000007544C61796F7574 + 00095374796C654E616D6506047469636B05416C69676E0706436C69656E7406 + 4C6F636B6564090C4D617267696E732E4C65667405000000000000008000400B + 4D617267696E732E546F7005000000000000008000400D4D617267696E732E52 + 6967687405000000000000008000400E4D617267696E732E426F74746F6D0500 + 0000000000008000400A53697A652E576964746805000000000000009004400B + 53697A652E48656967687405000000000000009004401453697A652E506C6174 + 666F726D44656661756C74080007544C61796F75740005416C69676E07055269 + 6768740A506F736974696F6E2E580500000000000000F803400A53697A652E57 + 696474680500000000000000A001400B53697A652E4865696768740500000000 + 0000009004401453697A652E506C6174666F726D44656661756C740800085445 + 6C6C697073650005416C69676E070643656E7465720A46696C6C2E436F6C6F72 + 0709784646443044304430064C6F636B6564090748697454657374080A53697A + 652E57696474680500000000000000A001400B53697A652E4865696768740500 + 000000000000A001401453697A652E506C6174666F726D44656661756C74080B + 5374726F6B652E4B696E6407044E6F6E65000000000005545465787400095374 + 796C654E616D6506047465787405416C69676E0706436C69656E74064C6F636B + 6564090748697454657374080A53697A652E5769647468050000000000FFFFB3 + 04400B53697A652E4865696768740500000000000000B004401453697A652E50 + 6C6174666F726D44656661756C74080454657874060474657874165465787453 + 657474696E67732E466F6E742E53697A65050000000000000090024016546578 + 7453657474696E67732E466F6E74436F6C6F7207097846464530453045301554 + 65787453657474696E67732E576F726457726170080000055454657874000953 + 74796C654E616D650609747261636B7465787405416C69676E0706426F74746F + 6D064C6F636B6564090748697454657374080E4D617267696E732E426F74746F + 6D0500000000000000A002C00A506F736974696F6E2E590500000000000000B0 + 04400A53697A652E5769647468050000000000FFFFB304400B53697A652E4865 + 696768740500000000000000A002401453697A652E506C6174666F726D446566 + 61756C74080454657874060474657874165465787453657474696E67732E466F + 6E742E53697A650500000000000000900240165465787453657474696E67732E + 466F6E74436F6C6F720709784646453045304530155465787453657474696E67 + 732E576F726457726170080000005450463007544C61796F757400095374796C + 654E616D65060D7468756D626261727374796C650A506F736974696F6E2E5805 + 00000000000080CE07400A506F736974696F6E2E590500000000000080F60740 + 0A53697A652E576964746805000000000000008003400B53697A652E48656967 + 687405000000000000008003401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F726465720228000A5452656374616E + 676C6500095374796C654E616D65060A6261636B67726F756E6405416C69676E + 070643656E7465720A46696C6C2E436F6C6F720709784646343834383438064C + 6F636B6564090748697454657374080A53697A652E5769647468050000000000 + FFFFBF02400B53697A652E486569676874050000000000FFFFBF02401453697A + 652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207 + 09784646314331433143000A5452656374616E676C650005416C69676E070643 + 6C69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080C4D + 617267696E732E4C656674050000000000000080FF3F0B4D617267696E732E54 + 6F70050000000000000080FF3F0D4D617267696E732E52696768740500000000 + 00000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F + 0A53697A652E5769647468050000000000FFFF9F02400B53697A652E48656967 + 6874050000000000FFFF9F02401453697A652E506C6174666F726D4465666175 + 6C74080C5374726F6B652E436F6C6F72070978464635393539353900000F5443 + 6F6C6F72416E696D6174696F6E00084475726174696F6E050000000000CDCCCC + FC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A53746172 + 7456616C756507097846463438343834380953746F7056616C75650709784646 + 3538353835380754726967676572061049734D6F7573654F7665723D74727565 + 00000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05000000 + 0000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F72 + 0A537461727456616C756507097846463538353835380953746F7056616C7565 + 07097846463438343834380754726967676572061149734D6F7573654F766572 + 3D66616C736500000000545046300A5452656374616E676C6500095374796C65 + 4E616D6506147363726F6C6C62617276747261636B7374796C650946696C6C2E + 4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C656674 + 050000000000000080FF3F0D4D617267696E732E526967687405000000000000 + 0080FF3F0A506F736974696F6E2E580500000000000000CC07400A506F736974 + 696F6E2E590500000000000080EB07400A53697A652E57696474680500000000 + 000000C803400B53697A652E486569676874050000000000FFFFF30440145369 + 7A652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407 + 044E6F6E650756697369626C6508000A5452656374616E676C650005416C6967 + 6E0706436C69656E740A46696C6C2E436F6C6F72070978464634383438343806 + 4C6F636B6564090748697454657374080B4D617267696E732E546F7005000000 + 000000008000C00E4D617267696E732E426F74746F6D05000000000000008000 + C00A53697A652E57696474680500000000000000C803400B53697A652E486569 + 67687405000000000000008205401453697A652E506C6174666F726D44656661 + 756C74080C5374726F6B652E436F6C6F72070978464631433143314300000654 + 5468756D6200095374796C654E616D6506057468756D62064C6F636B6564090D + 4D617267696E732E526967687405000000000000008000400A506F736974696F + 6E2E580500000000000000A001400A506F736974696F6E2E5905000000000000 + 00A001400A53697A652E57696474680500000000000000A002400B53697A652E + 4865696768740500000000000000B804401453697A652E506C6174666F726D44 + 656661756C74080B5374796C654C6F6F6B7570060B767468756D627374796C65 + 000000545046300A5452656374616E676C6500095374796C654E616D65061473 + 63726F6C6C62617268747261636B7374796C650946696C6C2E4B696E6407044E + 6F6E650748697454657374080B4D617267696E732E546F700500000000000000 + 80FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A506F + 736974696F6E2E580500000000000080B407400A506F736974696F6E2E590500 + 000000000080F507400A53697A652E5769647468050000000000FFFFEF05400B + 53697A652E48656967687405000000000000009803401453697A652E506C6174 + 666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E650756 + 697369626C6508000A5452656374616E676C650005416C69676E0706436C6965 + 6E740A46696C6C2E436F6C6F720709784646343834383438064C6F636B656409 + 0748697454657374080C4D617267696E732E4C65667405000000000000008000 + C00D4D617267696E732E526967687405000000000000008000C00A53697A652E + 5769647468050000000000FFFFF705400B53697A652E48656967687405000000 + 000000009803401453697A652E506C6174666F726D44656661756C74080C5374 + 726F6B652E436F6C6F720709784646314331433143000006545468756D620009 + 5374796C654E616D6506057468756D62064C6F636B6564090E4D617267696E73 + 2E426F74746F6D05000000000000008000400A506F736974696F6E2E58050000 + 00000000008001400A506F736974696F6E2E5905000000000000008001400A53 + 697A652E57696474680500000000000000C804400B53697A652E486569676874 + 0500000000000000D002401453697A652E506C6174666F726D44656661756C74 + 080B5374796C654C6F6F6B7570060B687468756D627374796C65000000545046 + 300A5452656374616E676C6500095374796C654E616D6506137363726F6C6C62 + 61726C656674627574746F6E0A46696C6C2E436F6C6F72070978464634383438 + 34380748697454657374080C4D617267696E732E4C6566740500000000000000 + 8000400B4D617267696E732E546F70050000000000000080FF3F0D4D61726769 + 6E732E5269676874050000000000000080FF3F0E4D617267696E732E426F7474 + 6F6D050000000000000080FF3F0A506F736974696F6E2E580500000000000000 + CE07400A506F736974696F6E2E590500000000000000F607400A53697A652E57 + 6964746805000000000000009803400B53697A652E4865696768740500000000 + 0000009003401453697A652E506C6174666F726D44656661756C74080C537472 + 6F6B652E436F6C6F7207097846463143314331430756697369626C6508000A54 + 52656374616E676C650005416C69676E0706436C69656E740946696C6C2E4B69 + 6E6407044E6F6E650748697454657374080C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A53697A652E57696474680500 + 0000000000008803400B53697A652E4865696768740500000000000000800340 + 1453697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F + 6C6F72070978464635393539353900000F54436F6C6F72416E696D6174696F6E + 00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E61 + 6D65060A46696C6C2E436F6C6F720A537461727456616C756507097846463438 + 343834380953746F7056616C7565070978464635383538353807547269676765 + 72061049734D6F7573654F7665723D7472756500000F54436F6C6F72416E696D + 6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F7065 + 7274794E616D65060A46696C6C2E436F6C6F720A537461727456616C75650709 + 7846463538353835380953746F7056616C756507097846463438343834380754 + 726967676572061149734D6F7573654F7665723D66616C736500000554506174 + 680005416C69676E070643656E74657209446174612E506174680A4000000005 + 000000000000000000803F00000000010000000000803F0000803F0100000000 + 0000000000003F010000000000803F000000000300000000000000000000000A + 46696C6C2E436F6C6F720708636C61426C61636B064C6F636B65640907486974 + 54657374080A53697A652E57696474680500000000000000E001400B53697A65 + 2E48656967687405000000000000008002401453697A652E506C6174666F726D + 44656661756C74080B5374726F6B652E4B696E6407044E6F6E65000000545046 + 300A5452656374616E676C6500095374796C654E616D6506147363726F6C6C62 + 61727269676874627574746F6E0A46696C6C2E436F6C6F720709784646343834 + 3834380748697454657374080C4D617267696E732E4C65667405000000000000 + 0080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D617267 + 696E732E526967687405000000000000008000400E4D617267696E732E426F74 + 746F6D050000000000000080FF3F0A506F736974696F6E2E5805000000000000 + 00CE07400A506F736974696F6E2E590500000000000000F607400A53697A652E + 576964746805000000000000008803400B53697A652E48656967687405000000 + 000000009003401453697A652E506C6174666F726D44656661756C74080C5374 + 726F6B652E436F6C6F7207097846463143314331430756697369626C6508000A + 5452656374616E676C650005416C69676E0706436C69656E740946696C6C2E4B + 696E6407044E6F6E650748697454657374080C4D617267696E732E4C65667405 + 0000000000000080FF3F0B4D617267696E732E546F70050000000000000080FF + 3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D61726769 + 6E732E426F74746F6D050000000000000080FF3F0A53697A652E576964746805 + 00000000000000F002400B53697A652E48656967687405000000000000008003 + 401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E43 + 6F6C6F72070978464635393539353900000F54436F6C6F72416E696D6174696F + 6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E + 616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978464634 + 38343834380953746F7056616C75650709784646353835383538075472696767 + 6572061049734D6F7573654F7665723D7472756500000F54436F6C6F72416E69 + 6D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50726F70 + 657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C756507 + 097846463538353835380953746F7056616C7565070978464634383438343807 + 54726967676572061149734D6F7573654F7665723D66616C7365000005545061 + 74680005416C69676E070643656E74657209446174612E506174680A34000000 + 0400000000000000000000000000000001000000000000000000803F01000000 + 0000803F0000003F0300000000000000000000000A46696C6C2E436F6C6F7207 + 08636C61426C61636B064C6F636B6564090748697454657374080A53697A652E + 57696474680500000000000000E001400B53697A652E48656967687405000000 + 000000008002401453697A652E506C6174666F726D44656661756C74080B5374 + 726F6B652E4B696E6407044E6F6E65000000545046300A5452656374616E676C + 6500095374796C654E616D6506127363726F6C6C626172746F70627574746F6E + 0A46696C6C2E436F6C6F7207097846463438343834380748697454657374080C + 4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E732E + 546F7005000000000000008000400D4D617267696E732E526967687405000000 + 0000000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF + 3F0A506F736974696F6E2E580500000000000080CE07400A506F736974696F6E + 2E590500000000000000F607400A53697A652E57696474680500000000000000 + 8003400B53697A652E48656967687405000000000000009803401453697A652E + 506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72070978 + 46463143314331430756697369626C6508000A5452656374616E676C65000541 + 6C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E6507486974 + 54657374080C4D617267696E732E4C656674050000000000000080FF3F0B4D61 + 7267696E732E546F70050000000000000080FF3F0D4D617267696E732E526967 + 6874050000000000000080FF3F0E4D617267696E732E426F74746F6D05000000 + 0000000080FF3F0A53697A652E57696474680500000000000000E002400B5369 + 7A652E48656967687405000000000000008803401453697A652E506C6174666F + 726D44656661756C74080C5374726F6B652E436F6C6F72070978464635393539 + 353900000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E436F6C + 6F720A537461727456616C756507097846463438343834380953746F7056616C + 756507097846463538353835380754726967676572061049734D6F7573654F76 + 65723D7472756500000F54436F6C6F72416E696D6174696F6E00084475726174 + 696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C + 6C2E436F6C6F720A537461727456616C75650709784646353835383538095374 + 6F7056616C756507097846463438343834380754726967676572061149734D6F + 7573654F7665723D66616C736500000554506174680005416C69676E07064365 + 6E74657209446174612E506174680A4000000005000000000000000000000000 + 00803F010000000000803F0000803F010000000000003F000000000100000000 + 0000000000803F0300000000000000000000000A46696C6C2E436F6C6F720708 + 636C61426C61636B064C6F636B6564090748697454657374080A53697A652E57 + 6964746805000000000000008002400B53697A652E4865696768740500000000 + 000000E001401453697A652E506C6174666F726D44656661756C74080B537472 + 6F6B652E4B696E6407044E6F6E65000000545046300A5452656374616E676C65 + 00095374796C654E616D6506157363726F6C6C626172626F74746F6D62757474 + 6F6E0A46696C6C2E436F6C6F7207097846463438343834380748697454657374 + 080C4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E + 732E546F70050000000000000080FF3F0D4D617267696E732E52696768740500 + 00000000000080FF3F0E4D617267696E732E426F74746F6D0500000000000000 + 8000400A506F736974696F6E2E580500000000000000CE07400A506F73697469 + 6F6E2E590500000000000000F607400A53697A652E5769647468050000000000 + 00008803400B53697A652E48656967687405000000000000008803401453697A + 652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F7207 + 097846463143314331430756697369626C6508000A5452656374616E676C6500 + 05416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E650748 + 697454657374080C4D617267696E732E4C656674050000000000000080FF3F0B + 4D617267696E732E546F70050000000000000080FF3F0D4D617267696E732E52 + 69676874050000000000000080FF3F0E4D617267696E732E426F74746F6D0500 + 00000000000080FF3F0A53697A652E57696474680500000000000000F002400B + 53697A652E4865696768740500000000000000F002401453697A652E506C6174 + 666F726D44656661756C74080C5374726F6B652E436F6C6F7207097846463539 + 3539353900000F54436F6C6F72416E696D6174696F6E00084475726174696F6E + 050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46696C6C2E43 + 6F6C6F720A537461727456616C756507097846463438343834380953746F7056 + 616C756507097846463538353835380754726967676572061049734D6F757365 + 4F7665723D7472756500000F54436F6C6F72416E696D6174696F6E0008447572 + 6174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D65060A46 + 696C6C2E436F6C6F720A537461727456616C7565070978464635383538353809 + 53746F7056616C75650709784646343834383438075472696767657206114973 + 4D6F7573654F7665723D66616C736500000554506174680005416C69676E0706 + 43656E74657209446174612E506174680A340000000400000000000000000000 + 0000000000010000000000803F00000000010000000000003F0000803F030000 + 0000000000000000000A46696C6C2E436F6C6F720708636C61426C61636B064C + 6F636B6564090748697454657374080A53697A652E5769647468050000000000 + 00008002400B53697A652E4865696768740500000000000000E001401453697A + 652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E640704 + 4E6F6E650000005450463007544C61796F757400095374796C654E616D65060B + 687468756D627374796C650A506F736974696F6E2E580500000000000080C307 + 400A506F736974696F6E2E590500000000000000F707400A53697A652E576964 + 7468050000000000FFFFF304400B53697A652E48656967687405000000000001 + 00E002401453697A652E506C6174666F726D44656661756C7408075669736962 + 6C6508085461624F72646572022F000A5452656374616E676C6500095374796C + 654E616D65060A6261636B67726F756E6405416C69676E0706436C69656E740A + 46696C6C2E436F6C6F720709784646343834383438064C6F636B656409074869 + 7454657374080C4D617267696E732E4C656674050000000000000080FFBF0D4D + 617267696E732E5269676874050000000000000080FFBF0A53697A652E576964 + 7468050000000000FFFFFB04400B53697A652E48656967687405000000000001 + 00E002401453697A652E506C6174666F726D44656661756C74080C5374726F6B + 652E436F6C6F720709784646314331433143000A5452656374616E676C650005 + 416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65074869 + 7454657374080C4D617267696E732E4C656674050000000000000080FF3F0B4D + 617267696E732E546F70050000000000000080FF3F0D4D617267696E732E5269 + 676874050000000000000080FF3F0E4D617267696E732E426F74746F6D050000 + 000000000080FF3F0A53697A652E5769647468050000000000FFFFF304400B53 + 697A652E4865696768740500000000000100C002401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646353935 + 39353900000F54436F6C6F72416E696D6174696F6E00084475726174696F6E05 + 0000000000CDCCCCFB3F0C50726F70657274794E616D65060A46696C6C2E436F + 6C6F720A537461727456616C756507097846463438343834380953746F705661 + 6C756507097846463538353835380754726967676572061049734D6F7573654F + 7665723D7472756500000F54436F6C6F72416E696D6174696F6E000844757261 + 74696F6E050000000000CDCCCCFB3F0C50726F70657274794E616D65060A4669 + 6C6C2E436F6C6F720A537461727456616C756507097846463538353835380953 + 746F7056616C756507097846463438343834380754726967676572061149734D + 6F7573654F7665723D66616C7365000000005450463007544C61796F75740009 + 5374796C654E616D65060B767468756D627374796C650A506F736974696F6E2E + 580500000000000080CF07400A506F736974696F6E2E590500000000000000EF + 07400A53697A652E5769647468050000000000FFFFBF02400B53697A652E4865 + 696768740500000000000000BC04401453697A652E506C6174666F726D446566 + 61756C74080756697369626C6508085461624F726465720230000A5452656374 + 616E676C6500095374796C654E616D65060A6261636B67726F756E6405416C69 + 676E0706436C69656E740A46696C6C2E436F6C6F720709784646343834383438 + 064C6F636B6564090748697454657374080B4D617267696E732E546F70050000 + 000000000080FFBF0E4D617267696E732E426F74746F6D050000000000000080 + FFBF0A53697A652E5769647468050000000000FFFFBF02400B53697A652E4865 + 696768740500000000000000C404401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646314331433143000A54 + 52656374616E676C650005416C69676E0706436C69656E740946696C6C2E4B69 + 6E6407044E6F6E650748697454657374080C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A53697A652E57696474680500 + 00000000FFFF9F02400B53697A652E4865696768740500000000000000BC0440 + 1453697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F + 6C6F72070978464635393539353900000F54436F6C6F72416E696D6174696F6E + 00084475726174696F6E050000000000CDCCCCFB3F0C50726F70657274794E61 + 6D65060A46696C6C2E436F6C6F720A537461727456616C756507097846463438 + 343834380953746F7056616C7565070978464635383538353807547269676765 + 72061049734D6F7573654F7665723D7472756500000F54436F6C6F72416E696D + 6174696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F7065 + 7274794E616D65060A46696C6C2E436F6C6F720A537461727456616C75650709 + 7846463538353835380953746F7056616C756507097846463438343834380754 + 726967676572061149734D6F7573654F7665723D66616C736500000000545046 + 3007544C61796F757400095374796C654E616D65060D636F6D626F626F787374 + 796C650A506F736974696F6E2E580500000000000000BC07400A506F73697469 + 6F6E2E590500000000000000F407400A53697A652E5769647468050000000000 + 0000B205400B53697A652E4865696768740500000000000000D003401453697A + 652E506C6174666F726D44656661756C74080756697369626C6508085461624F + 726465720231000A5452656374616E676C6500095374796C654E616D65060A62 + 61636B67726F756E6405416C69676E0708436F6E74656E74730946696C6C2E4B + 696E6407084772616469656E741446696C6C2E4772616469656E742E506F696E + 74730E0105436F6C6F720709784646353835383538064F666673657405000000 + 00000000000000000105436F6C6F720709784646353135313531064F66667365 + 74050000000000A01BF3FD3F000105436F6C6F72070978464634393439343906 + 4F6666736574050000000000000080FF3F0000064C6F636B6564090748697454 + 657374080C4D617267696E732E4C65667405000000000000008000400B4D6172 + 67696E732E546F7005000000000000008000400D4D617267696E732E52696768 + 7405000000000000008000400E4D617267696E732E426F74746F6D0500000000 + 0000008000400A53697A652E57696474680500000000000000AA05400B53697A + 652E4865696768740500000000000000B003401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463641364136 + 41000A5452656374616E676C650005416C69676E0706436C69656E740946696C + 6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C65 + 667405000000000000008000C00B4D617267696E732E546F7005000000000000 + 008000C00D4D617267696E732E526967687405000000000000008000C00E4D61 + 7267696E732E426F74746F6D05000000000000008000C00A53697A652E576964 + 74680500000000000000B205400B53697A652E48656967687405000000000000 + 00D003401453697A652E506C6174666F726D44656661756C74080C5374726F6B + 652E436F6C6F720709784646353135313531000A5452656374616E676C650005 + 416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E65074869 + 7454657374080C4D617267696E732E4C656674050000000000000080FF3F0B4D + 617267696E732E546F70050000000000000080FF3F0D4D617267696E732E5269 + 676874050000000000000080FF3F0E4D617267696E732E426F74746F6D050000 + 000000000080FF3F0A53697A652E57696474680500000000000000AE05400B53 + 697A652E4865696768740500000000000000C003401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646314331 + 4331430000000007544C61796F75740005416C69676E07055269676874064C6F + 636B6564090A506F736974696F6E2E5805000000000000008E05400A53697A65 + 2E576964746805000000000000009003400B53697A652E486569676874050000 + 0000000000D003401453697A652E506C6174666F726D44656661756C74080005 + 54506174680005416C69676E070643656E74657209446174612E506174680A64 + 0000000800000000000000E5D01C414A0CF241010000005839EB41D7A36E4101 + 00000054E35B42AC1C344201000000BE5F9F425EBA774101000000B448C842A8 + C6EF410100000054E35B424CB7954201000000E5D01C414A0CF2410300000000 + 000000000000000A46696C6C2E436F6C6F720709784646434143414341064C6F + 636B6564090748697454657374080A53697A652E576964746805000000000000 + 00A002400B53697A652E4865696768740500000000000000E001401453697A65 + 2E506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E + 6F6E650000000C5442727573684F626A65637400095374796C654E616D65060A + 666F726567726F756E640B42727573682E436F6C6F7207097846464536453645 + 36000007544C61796F757400095374796C654E616D650607636F6E74656E7405 + 416C69676E0708436F6E74656E7473064C6F636B6564090C4D617267696E732E + 4C65667405000000000000008000400B4D617267696E732E546F700500000000 + 0000008000400D4D617267696E732E52696768740500000000000000B803400E + 4D617267696E732E426F74746F6D05000000000000008000400A53697A652E57 + 6964746805000000000000008005400B53697A652E4865696768740500000000 + 000000B003401453697A652E506C6174666F726D44656661756C740800000B54 + 476C6F774566666563740008536F66746E6573730500000000009A9999FD3F09 + 476C6F77436F6C6F720709784646363543384530074F70616369747905000000 + 0000000080FF3F0754726967676572060E4973466F63757365643D7472756507 + 456E61626C6564080000005450463007544C61796F757400095374796C654E61 + 6D65060E636F6D626F656469747374796C650A506F736974696F6E2E58050000 + 0000000000BC07400A506F736974696F6E2E590500000000000000F407400A53 + 697A652E57696474680500000000000000B205400B53697A652E486569676874 + 0500000000000000D003401453697A652E506C6174666F726D44656661756C74 + 080756697369626C6508085461624F726465720232000A5452656374616E676C + 6500095374796C654E616D65060A6261636B67726F756E6405416C69676E0708 + 436F6E74656E74730946696C6C2E4B696E6407084772616469656E741446696C + 6C2E4772616469656E742E506F696E74730E0105436F6C6F7207097846463538 + 35383538064F66667365740500000000000000000000000105436F6C6F720709 + 784646353135313531064F6666736574050000000000A01BF3FD3F000105436F + 6C6F720709784646343934393439064F6666736574050000000000000080FF3F + 0000064C6F636B6564090748697454657374080C4D617267696E732E4C656674 + 05000000000000008000400B4D617267696E732E546F70050000000000000080 + 00400D4D617267696E732E526967687405000000000000008000400E4D617267 + 696E732E426F74746F6D05000000000000008000400A53697A652E5769647468 + 0500000000000000AA05400B53697A652E4865696768740500000000000000B0 + 03401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E + 436F6C6F720709784646364136413641000A5452656374616E676C650005416C + 69676E0706436C69656E740946696C6C2E4B696E6407044E6F6E650748697454 + 657374080C4D617267696E732E4C65667405000000000000008000C00B4D6172 + 67696E732E546F7005000000000000008000C00D4D617267696E732E52696768 + 7405000000000000008000C00E4D617267696E732E426F74746F6D0500000000 + 0000008000C00A53697A652E57696474680500000000000000B205400B53697A + 652E4865696768740500000000000000D003401453697A652E506C6174666F72 + 6D44656661756C74080C5374726F6B652E436F6C6F7207097846463531353135 + 31000A5452656374616E676C650005416C69676E0706436C69656E740946696C + 6C2E4B696E6407044E6F6E650748697454657374080C4D617267696E732E4C65 + 6674050000000000000080FF3F0B4D617267696E732E546F7005000000000000 + 0080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D61 + 7267696E732E426F74746F6D050000000000000080FF3F0A53697A652E576964 + 74680500000000000000AE05400B53697A652E48656967687405000000000000 + 00C003401453697A652E506C6174666F726D44656661756C74080C5374726F6B + 652E436F6C6F7207097846463143314331430000000007544C61796F75740009 + 5374796C654E616D6506056172726F7705416C69676E07055269676874064C6F + 636B6564090A506F736974696F6E2E5805000000000000008E05400A53697A65 + 2E576964746805000000000000009003400B53697A652E486569676874050000 + 0000000000D003401453697A652E506C6174666F726D44656661756C74080005 + 54506174680005416C69676E070643656E74657209446174612E506174680A64 + 0000000800000000000000E5D01C414A0CF241010000005839EB41D7A36E4101 + 00000054E35B42AC1C344201000000BE5F9F425EBA774101000000B448C842A8 + C6EF410100000054E35B424CB7954201000000E5D01C414A0CF2410300000000 + 000000000000000A46696C6C2E436F6C6F720709784646434143414341064C6F + 636B6564090748697454657374080A53697A652E576964746805000000000000 + 00A002400B53697A652E4865696768740500000000000000E001401453697A65 + 2E506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E + 6F6E650000000C5442727573684F626A65637400095374796C654E616D65060A + 666F726567726F756E640B42727573682E436F6C6F7207097846464541454145 + 4100000C5442727573684F626A65637400095374796C654E616D65060973656C + 656374696F6E0A42727573682E4B696E6407084772616469656E741542727573 + 682E4772616469656E742E506F696E74730E0105436F6C6F7207097838303242 + 37393843064F66667365740500000000000000000000000105436F6C6F720709 + 783830324236453746064F666673657405000000000012A2F8FD3F000105436F + 6C6F720709783830324236343732064F6666736574050000000000000080FF3F + 0000000007544C61796F757400095374796C654E616D650607636F6E74656E74 + 05416C69676E0708436F6E74656E7473064C6F636B6564090C4D617267696E73 + 2E4C65667405000000000000008001400B4D617267696E732E546F7005000000 + 00000000C000400D4D617267696E732E52696768740500000000000000B80340 + 0E4D617267696E732E426F74746F6D0500000000000000C000400A53697A652E + 57696474680500000000000000F804400B53697A652E48656967687405000000 + 00000000A003401453697A652E506C6174666F726D44656661756C740800000B + 54476C6F774566666563740008536F66746E6573730500000000009A9999FD3F + 09476C6F77436F6C6F720709784646363543384530074F706163697479050000 + 000000000080FF3F0754726967676572060E4973466F63757365643D74727565 + 07456E61626C656408000000545046300A5452656374616E676C650009537479 + 6C654E616D65060A747261636B7374796C650A46696C6C2E436F6C6F72070978 + 46463438343834380748697454657374080A506F736974696F6E2E5805000000 + 00000080B407400A506F736974696F6E2E590500000000000000F607400A5369 + 7A652E5769647468050000000000FFFFEF05400B53697A652E48656967687405 + 000000000000009803401453697A652E506C6174666F726D44656661756C7408 + 0C5374726F6B652E436F6C6F7207097846463143314331430756697369626C65 + 08000A5452656374616E676C650005416C69676E0706436C69656E740946696C + 6C2E4B696E6407044E6F6E65064C6F636B6564090748697454657374080C4D61 + 7267696E732E4C65667405000000000000008000400B4D617267696E732E546F + 7005000000000000008000400D4D617267696E732E5269676874050000000000 + 00008000400E4D617267696E732E426F74746F6D05000000000000008000400A + 53697A652E5769647468050000000000FFFFE705400B53697A652E4865696768 + 740500000000000000F002401453697A652E506C6174666F726D44656661756C + 74080B5374726F6B652E4B696E6407044E6F6E65075852616469757305000000 + 00000000E0014007595261646975730500000000000000E00140000006545468 + 756D6200095374796C654E616D6506057468756D62064C6F636B6564090C4D61 + 7267696E732E4C6566740500000000000000C000400B4D617267696E732E546F + 7005000000000000008000400D4D617267696E732E5269676874050000000000 + 0000C000400E4D617267696E732E426F74746F6D05000000000000008000400A + 506F736974696F6E2E5805000000000000008001400A506F736974696F6E2E59 + 05000000000000008001400A53697A652E57696474680500000000000000CC04 + 400B53697A652E48656967687405000000000000008003401453697A652E506C + 6174666F726D44656661756C74080B5374796C654C6F6F6B7570060B68746875 + 6D627374796C650000005450463007544C61796F757400095374796C654E616D + 65060C6C697374626F787374796C650A506F736974696F6E2E58050000000000 + 0080B507400A506F736974696F6E2E590500000000000000DA07400A53697A65 + 2E5769647468050000000000FFFFE905400B53697A652E486569676874050000 + 00000000008306401453697A652E506C6174666F726D44656661756C74080756 + 697369626C6508085461624F726465720234000A5452656374616E676C650009 + 5374796C654E616D65060A6261636B67726F756E6405416C69676E0708436F6E + 74656E74730A46696C6C2E436F6C6F720709784646343834383438064C6F636B + 6564090748697454657374080C50616464696E672E4C65667405000000000000 + 0080FF3F0B50616464696E672E546F70050000000000000080FF3F0D50616464 + 696E672E5269676874050000000000000080FF3F0E50616464696E672E426F74 + 746F6D050000000000000080FF3F0A53697A652E5769647468050000000000FF + FFE905400B53697A652E48656967687405000000000000008306401453697A65 + 2E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709 + 784646314331433143000A5452656374616E676C650005416C69676E0706436C + 69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080A5369 + 7A652E5769647468050000000000FFFFE505400B53697A652E48656967687405 + 000000000000008106401453697A652E506C6174666F726D44656661756C7408 + 0C5374726F6B652E436F6C6F720709784646353935393539000007544C61796F + 75740005416C69676E0706436C69656E740A53697A652E576964746805000000 + 0000FFFFE505400B53697A652E48656967687405000000000000008106401453 + 697A652E506C6174666F726D44656661756C74080007544C61796F7574000953 + 74796C654E616D650607636F6E74656E7405416C69676E0706436C69656E740C + 436C69704368696C6472656E090C4D617267696E732E4C656674050000000000 + 000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D6172 + 67696E732E5269676874050000000000000080FF3F0E4D617267696E732E426F + 74746F6D050000000000000080FF3F0A53697A652E5769647468050000000000 + FFFFC305400B53697A652E4865696768740500000000000000E005401453697A + 652E506C6174666F726D44656661756C7408000A5452656374616E676C650009 + 5374796C654E616D65060973656C656374696F6E0946696C6C2E4B696E640708 + 4772616469656E741446696C6C2E4772616469656E742E506F696E74730E0105 + 436F6C6F720709783830324237393843064F6666736574050000000000000000 + 0000000105436F6C6F720709783830324236453746064F666673657405000000 + 000012A2F8FD3F000105436F6C6F720709783830324236343732064F66667365 + 74050000000000000080FF3F00000748697454657374080A53697A652E576964 + 74680500000000000000C804400B53697A652E48656967687405000000000000 + 00C804401453697A652E506C6174666F726D44656661756C74080B5374726F6B + 652E4B696E6407044E6F6E6500000A5452656374616E676C6500095374796C65 + 4E616D650610666F637573656473656C656374696F6E0946696C6C2E4B696E64 + 07084772616469656E741446696C6C2E4772616469656E742E506F696E74730E + 0105436F6C6F720709783830324237393843064F666673657405000000000000 + 00000000000105436F6C6F720709783830324236453746064F66667365740500 + 0000000012A2F8FD3F000105436F6C6F720709783830324236343732064F6666 + 736574050000000000000080FF3F00000748697454657374080A53697A652E57 + 696474680500000000000000C804400B53697A652E4865696768740500000000 + 000000C804401453697A652E506C6174666F726D44656661756C74080B537472 + 6F6B652E446173680703446F740000000A545363726F6C6C4261720009537479 + 6C654E616D65060A767363726F6C6C62617205416C69676E070552696768740B + 536D616C6C4368616E676505000000000000000000000B4F7269656E74617469 + 6F6E0708566572746963616C0A506F736974696F6E2E58050000000000FFFFC7 + 05400A53697A652E57696474680500000000000000F002400B53697A652E4865 + 696768740500000000000000E405401453697A652E506C6174666F726D446566 + 61756C740800000A545363726F6C6C42617200095374796C654E616D65060A68 + 7363726F6C6C62617205416C69676E0706426F74746F6D0B536D616C6C436861 + 6E676505000000000000000000000B4F7269656E746174696F6E070A486F7269 + 7A6F6E74616C0A506F736974696F6E2E590500000000000000E405400A53697A + 652E5769647468050000000000FFFFE505400B53697A652E4865696768740500 + 000000000000F002401453697A652E506C6174666F726D44656661756C740800 + 000F54536D616C6C5363726F6C6C42617200095374796C654E616D65060F7673 + 6D616C6C7363726F6C6C62617205416C69676E070552696768740B536D616C6C + 4368616E676505000000000000000000000B4F7269656E746174696F6E070856 + 6572746963616C0B4D617267696E732E546F70050000000000000080FF3F0D4D + 617267696E732E5269676874050000000000000080FF3F0E4D617267696E732E + 426F74746F6D050000000000000080FF3F0A506F736974696F6E2E5805000000 + 00000000C605400A506F736974696F6E2E5905000000000000008000400A5369 + 7A652E576964746805000000000000008002400B53697A652E48656967687405 + 000000000000008002401453697A652E506C6174666F726D44656661756C7408 + 0756697369626C650800000F54536D616C6C5363726F6C6C4261720009537479 + 6C654E616D65060F68736D616C6C7363726F6C6C62617205416C69676E070642 + 6F74746F6D0B536D616C6C4368616E676505000000000000000000000B4F7269 + 656E746174696F6E070A486F72697A6F6E74616C0C4D617267696E732E4C6566 + 74050000000000000080FF3F0D4D617267696E732E5269676874050000000000 + 000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A + 506F736974696F6E2E5805000000000000008000400A506F736974696F6E2E59 + 0500000000000000E205400A53697A652E576964746805000000000000009606 + 400B53697A652E48656967687405000000000000008002401453697A652E506C + 6174666F726D44656661756C74080756697369626C6508000000000B54476C6F + 774566666563740008536F66746E6573730500000000009A9999FD3F09476C6F + 77436F6C6F720709784646363543384530074F70616369747905000000000000 + 0080FF3F0754726967676572060E4973466F63757365643D7472756507456E61 + 626C6564080000005450463007544C61796F757400095374796C654E616D6506 + 126C697374626F78706C61696E6865616465720A506F736974696F6E2E580500 + 000000000000BC07400A506F736974696F6E2E590500000000000080F407400A + 53697A652E57696474680500000000000000B605400B53697A652E4865696768 + 740500000000000000C003401453697A652E506C6174666F726D44656661756C + 74080756697369626C6508085461624F726465720235000A5452656374616E67 + 6C6500095374796C654E616D65060A6261636B67726F756E6405416C69676E07 + 08436F6E74656E74730946696C6C2E4B696E6407084772616469656E74144669 + 6C6C2E4772616469656E742E506F696E74730E0105436F6C6F72070978464635 + 3835383538064F66667365740500000000000000000000000105436F6C6F7207 + 09784646353135313531064F6666736574050000000000A01BF3FD3F00010543 + 6F6C6F720709784646343934393439064F6666736574050000000000000080FF + 3F0000064C6F636B6564090748697454657374080A53697A652E576964746805 + 00000000000000B605400B53697A652E4865696768740500000000000000C003 + 401453697A652E506C6174666F726D44656661756C74080C5374726F6B652E43 + 6F6C6F720709784646314331433143001054496E6E6572476C6F774566666563 + 740008536F66746E657373050000000000CDCCCCFD3F09476C6F77436F6C6F72 + 0709784646344634383438074F7061636974790500000000006666E6FE3F0754 + 726967676572060E4973507265737365643D7472756507456E61626C65640800 + 000005545465787400095374796C654E616D6506047465787405416C69676E07 + 06436C69656E74064C6F636B6564090748697454657374080C4D617267696E73 + 2E4C6566740500000000000000A001400B4D617267696E732E546F7005000000 + 000000008000400D4D617267696E732E52696768740500000000000000A00140 + 0E4D617267696E732E426F74746F6D05000000000000008000400A53697A652E + 57696474680500000000000000A205400B53697A652E48656967687405000000 + 00000000A003401453697A652E506C6174666F726D44656661756C7408045465 + 78740606627574746F6E165465787453657474696E67732E466F6E74436F6C6F + 720708636C6157686974650000005450463007544C61796F757400095374796C + 654E616D65060D6C697374626F78666F6F7465720A506F736974696F6E2E5805 + 00000000000000BC07400A506F736974696F6E2E590500000000000080F40740 + 0A53697A652E57696474680500000000000000B605400B53697A652E48656967 + 68740500000000000000C003401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F726465720236000554546578740009 + 5374796C654E616D6506047465787405416C69676E0706436C69656E74064C6F + 636B6564090748697454657374080C4D617267696E732E4C6566740500000000 + 000000A001400B4D617267696E732E546F7005000000000000008000400D4D61 + 7267696E732E52696768740500000000000000A001400E4D617267696E732E42 + 6F74746F6D05000000000000008000400A53697A652E57696474680500000000 + 000000A205400B53697A652E4865696768740500000000000000A00340145369 + 7A652E506C6174666F726D44656661756C740804546578740606627574746F6E + 165465787453657474696E67732E466F6E74436F6C6F720708636C6157686974 + 650000005450463007544C61796F757400095374796C654E616D650617747261 + 6E73706172656E746C697374626F787374796C650A506F736974696F6E2E5805 + 00000000000080B507400A506F736974696F6E2E590500000000000000DA0740 + 0A53697A652E5769647468050000000000FFFFE905400B53697A652E48656967 + 687405000000000000008306401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F7264657202370007544C61796F7574 + 00095374796C654E616D65060A6261636B67726F756E6405416C69676E070843 + 6F6E74656E7473064C6F636B6564090A53697A652E5769647468050000000000 + FFFFE905400B53697A652E48656967687405000000000000008306401453697A + 652E506C6174666F726D44656661756C74080007544C61796F75740005416C69 + 676E0706436C69656E740A53697A652E5769647468050000000000FFFFE90540 + 0B53697A652E48656967687405000000000000008306401453697A652E506C61 + 74666F726D44656661756C74080007544C61796F757400095374796C654E616D + 650607636F6E74656E7405416C69676E0706436C69656E740C436C6970436869 + 6C6472656E090C4D617267696E732E4C656674050000000000000080FF3F0B4D + 617267696E732E546F70050000000000000080FF3F0D4D617267696E732E5269 + 676874050000000000000080FF3F0E4D617267696E732E426F74746F6D050000 + 000000000080FF3F0A53697A652E5769647468050000000000FFFFC705400B53 + 697A652E4865696768740500000000000000E405401453697A652E506C617466 + 6F726D44656661756C7408000A5452656374616E676C6500095374796C654E61 + 6D65060973656C656374696F6E0946696C6C2E4B696E6407084772616469656E + 741446696C6C2E4772616469656E742E506F696E74730E0105436F6C6F720709 + 783830324237393843064F66667365740500000000000000000000000105436F + 6C6F720709783830324236453746064F666673657405000000000012A2F8FD3F + 000105436F6C6F720709783830324236343732064F6666736574050000000000 + 000080FF3F00000748697454657374080A53697A652E57696474680500000000 + 000000C804400B53697A652E4865696768740500000000000000C80440145369 + 7A652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407 + 044E6F6E6500000A5452656374616E676C6500095374796C654E616D65061066 + 6F637573656473656C656374696F6E0946696C6C2E4B696E6407084772616469 + 656E741446696C6C2E4772616469656E742E506F696E74730E0105436F6C6F72 + 0709783830324237393843064F66667365740500000000000000000000000105 + 436F6C6F720709783830324236453746064F666673657405000000000012A2F8 + FD3F000105436F6C6F720709783830324236343732064F666673657405000000 + 0000000080FF3F00000748697454657374080A53697A652E5769647468050000 + 0000000000C804400B53697A652E4865696768740500000000000000C8044014 + 53697A652E506C6174666F726D44656661756C74080B5374726F6B652E446173 + 680703446F740000000A545363726F6C6C42617200095374796C654E616D6506 + 0A767363726F6C6C62617205416C69676E070552696768740B536D616C6C4368 + 616E676505000000000000000000000B4F7269656E746174696F6E0708566572 + 746963616C0A506F736974696F6E2E58050000000000FFFFCB05400A53697A65 + 2E57696474680500000000000000F002400B53697A652E486569676874050000 + 0000000000E805401453697A652E506C6174666F726D44656661756C74080000 + 0A545363726F6C6C42617200095374796C654E616D65060A687363726F6C6C62 + 617205416C69676E0706426F74746F6D0B536D616C6C4368616E676505000000 + 000000000000000B4F7269656E746174696F6E070A486F72697A6F6E74616C0A + 506F736974696F6E2E590500000000000000E805400A53697A652E5769647468 + 050000000000FFFFE905400B53697A652E4865696768740500000000000000F0 + 02401453697A652E506C6174666F726D44656661756C740800000F54536D616C + 6C5363726F6C6C42617200095374796C654E616D65060F76736D616C6C736372 + 6F6C6C62617205416C69676E070552696768740B536D616C6C4368616E676505 + 000000000000000000000B4F7269656E746174696F6E0708566572746963616C + 0B4D617267696E732E546F70050000000000000080FF3F0D4D617267696E732E + 5269676874050000000000000080FF3F0E4D617267696E732E426F74746F6D05 + 0000000000000080FF3F0A506F736974696F6E2E580500000000000000C60540 + 0A506F736974696F6E2E5905000000000000008000400A53697A652E57696474 + 6805000000000000008002400B53697A652E4865696768740500000000000000 + 8002401453697A652E506C6174666F726D44656661756C74080756697369626C + 650800000F54536D616C6C5363726F6C6C42617200095374796C654E616D6506 + 0F68736D616C6C7363726F6C6C62617205416C69676E0706426F74746F6D0B53 + 6D616C6C4368616E676505000000000000000000000B4F7269656E746174696F + 6E070A486F72697A6F6E74616C0C4D617267696E732E4C656674050000000000 + 000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F0E4D + 617267696E732E426F74746F6D050000000000000080FF3F0A506F736974696F + 6E2E5805000000000000008000400A506F736974696F6E2E5905000000000000 + 00E205400A53697A652E576964746805000000000000009606400B53697A652E + 48656967687405000000000000008002401453697A652E506C6174666F726D44 + 656661756C74080756697369626C65080000000000545046300A545265637461 + 6E676C6500095374796C654E616D6506167472616E73706172656E7462757474 + 6F6E7374796C650A46696C6C2E436F6C6F720709783030383038303830074869 + 7454657374080A506F736974696F6E2E580500000000000080CE07400A506F73 + 6974696F6E2E590500000000000080F607400A53697A652E5769647468050000 + 0000000000F002400B53697A652E4865696768740500000000000000F0024014 + 53697A652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E + 6407044E6F6E650756697369626C6508000F54436F6C6F72416E696D6174696F + 6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F70657274794E + 616D65060A46696C6C2E436F6C6F720A537461727456616C7565070978303038 + 30383038300953746F7056616C75650709784146383038303830075472696767 + 6572061049734D6F7573654F7665723D7472756500000F54436F6C6F72416E69 + 6D6174696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F70 + 657274794E616D65060A46696C6C2E636F6C6F720A537461727456616C756507 + 097841463830383038300953746F7056616C7565070978303038303830383007 + 54726967676572061149734D6F7573654F7665723D66616C736500000F54466C + 6F6174416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFB + 3F0C50726F70657274794E616D65060E506172656E742E4F7061636974790A53 + 7461727456616C7565050000000000000080FF3F0953746F7056616C75650500 + 00000000000080FE3F0754726967676572061049734D6F7573654F7665723D74 + 72756500000F54466C6F6174416E696D6174696F6E00084475726174696F6E05 + 0000000000CDCCCCFB3F0C50726F70657274794E616D65060E506172656E742E + 4F7061636974790A537461727456616C7565050000000000000080FE3F095374 + 6F7056616C7565050000000000000080FF3F0754726967676572061149734D6F + 7573654F7665723D66616C7365000000545046300854456C6C69707365000953 + 74796C654E616D65061C7472616E73706172656E74636972636C65627574746F + 6E7374796C650A46696C6C2E436F6C6F72070978303038303830383007486974 + 54657374080A506F736974696F6E2E580500000000000080CE07400A506F7369 + 74696F6E2E590500000000000080F607400A53697A652E576964746805000000 + 00000000F002400B53697A652E4865696768740500000000000000F002401453 + 697A652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E64 + 07044E6F6E650756697369626C6508000F54436F6C6F72416E696D6174696F6E + 00084475726174696F6E050000000000CDCCCCFB3F0C50726F70657274794E61 + 6D65060A46696C6C2E436F6C6F720A537461727456616C756507097830303830 + 383038300953746F7056616C7565070978414638303830383007547269676765 + 72061049734D6F7573654F7665723D7472756500000F54436F6C6F72416E696D + 6174696F6E00084475726174696F6E050000000000CDCCCCFB3F0C50726F7065 + 7274794E616D65060A46696C6C2E636F6C6F720A537461727456616C75650709 + 7841463830383038300953746F7056616C756507097830303830383038300754 + 726967676572061149734D6F7573654F7665723D66616C736500000F54466C6F + 6174416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFB3F + 0C50726F70657274794E616D65060E506172656E742E4F7061636974790A5374 + 61727456616C7565050000000000000080FF3F0953746F7056616C7565050000 + 000000000080FE3F0754726967676572061049734D6F7573654F7665723D7472 + 756500000F54466C6F6174416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFB3F0C50726F70657274794E616D65060E506172656E742E4F + 7061636974790A537461727456616C7565050000000000000080FE3F0953746F + 7056616C7565050000000000000080FF3F0754726967676572061149734D6F75 + 73654F7665723D66616C73650000005450463007544C61796F75740009537479 + 6C654E616D6506106C697374626F786974656D7374796C650A506F736974696F + 6E2E580500000000000080BC07400A506F736974696F6E2E5905000000000000 + 80F407400A53697A652E57696474680500000000000000B005400B53697A652E + 4865696768740500000000000000C003401453697A652E506C6174666F726D44 + 656661756C74080756697369626C6508085461624F72646572023A000654476C + 79706800095374796C654E616D65060A676C7970687374796C650C4D61726769 + 6E732E4C65667405000000000000008000400B4D617267696E732E546F700500 + 00000000000080FF3F0D4D617267696E732E5269676874050000000000000080 + 00400E4D617267696E732E426F74746F6D050000000000000080FF3F05416C69 + 676E07044C6566740A53697A652E576964746805000000000000008003400B53 + 697A652E48656967687405000000000000008003401453697A652E506C617466 + 6F726D44656661756C7408000005545465787400095374796C654E616D650604 + 7465787405416C69676E0706436C69656E740748697454657374080C4D617267 + 696E732E4C6566740500000000000000C000400B4D617267696E732E546F7005 + 0000000000000080FF3F0D4D617267696E732E52696768740500000000000000 + C000400E4D617267696E732E426F74746F6D050000000000000080FF3F0A5369 + 7A652E57696474680500000000000000A405400B53697A652E48656967687405 + 00000000000000B003401453697A652E506C6174666F726D44656661756C7408 + 165465787453657474696E67732E466F6E74436F6C6F72070978464645384538 + 4538155465787453657474696E67732E576F7264577261700816546578745365 + 7474696E67732E486F727A416C69676E07074C656164696E6700000954436865 + 636B426F7800095374796C654E616D650605636865636B05416C69676E07084D + 6F73744C6566740843616E466F637573081244697361626C65466F6375734566 + 66656374090A53697A652E57696474680500000000000000A003400B53697A65 + 2E4865696768740500000000000000C003401453697A652E506C6174666F726D + 44656661756C74080756697369626C65080000005450463007544C61796F7574 + 00095374796C654E616D650615636F6C6F726C697374626F786974656D737479 + 6C650A506F736974696F6E2E580500000000000080BC07400A506F736974696F + 6E2E590500000000000080F407400A53697A652E576964746805000000000000 + 00B005400B53697A652E4865696768740500000000000000C003401453697A65 + 2E506C6174666F726D44656661756C74080756697369626C6508085461624F72 + 646572023B000954436865636B426F7800095374796C654E616D650605636865 + 636B05416C69676E07044C6566740843616E466F637573081244697361626C65 + 466F637573456666656374090A53697A652E57696474680500000000000000A0 + 03400B53697A652E4865696768740500000000000000C003401453697A652E50 + 6C6174666F726D44656661756C74080756697369626C650800000A5452656374 + 616E676C6500095374796C654E616D650605636F6C6F7205416C69676E07044C + 656674064C6F636B6564090748697454657374080C4D617267696E732E4C6566 + 7405000000000000008000400B4D617267696E732E546F700500000000000000 + 8000400D4D617267696E732E526967687405000000000000008000400E4D6172 + 67696E732E426F74746F6D05000000000000008000400A506F736974696F6E2E + 5805000000000000008000400A506F736974696F6E2E59050000000000000080 + 00400A53697A652E576964746805000000000000008003400B53697A652E4865 + 696768740500000000000000A003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646364136413641000005 + 545465787400095374796C654E616D6506047465787405416C69676E0706436C + 69656E740748697454657374080C4D617267696E732E4C656674050000000000 + 0000C000400B4D617267696E732E546F70050000000000000080FF3F0D4D6172 + 67696E732E52696768740500000000000000C000400E4D617267696E732E426F + 74746F6D050000000000000080FF3F0A53697A652E5769647468050000000000 + 0000F804400B53697A652E4865696768740500000000000000B003401453697A + 652E506C6174666F726D44656661756C74080454657874060454657874165465 + 787453657474696E67732E466F6E74436F6C6F72070978464645384538453815 + 5465787453657474696E67732E576F7264577261700816546578745365747469 + 6E67732E486F727A416C69676E07074C656164696E670000005450463007544C + 61796F757400095374796C654E616D65060E7363726F6C6C6261727374796C65 + 0A506F736974696F6E2E580500000000000080A607400A506F736974696F6E2E + 590500000000000000ED07400A53697A652E57696474680500000000000000B0 + 06400B53697A652E4865696768740500000000000000D404401453697A652E50 + 6C6174666F726D44656661756C74080756697369626C6508085461624F726465 + 72023C000A5452656374616E676C6500095374796C654E616D65060A6261636B + 67726F756E6405416C69676E0708436F6E74656E74730946696C6C2E4B696E64 + 07044E6F6E65064C6F636B6564090748697454657374080A53697A652E576964 + 74680500000000000000B006400B53697A652E48656967687405000000000000 + 00D404401453697A652E506C6174666F726D44656661756C74080B5374726F6B + 652E4B696E6407044E6F6E6500000C545370656564427574746F6E0009537479 + 6C654E616D65060A6C656674627574746F6E05416C69676E07044C656674064C + 6F636B6564090A506F736974696F6E2E5905000000000000009003400A53697A + 652E576964746805000000000000009003400B53697A652E4865696768740500 + 0000000000008803401453697A652E506C6174666F726D44656661756C74080B + 5374796C654C6F6F6B757006137363726F6C6C6261726C656674627574746F6E + 00000654547261636B00095374796C654E616D65060668747261636B05416C69 + 676E0706436C69656E74064C6F636B656409034D6178050000000000000080FF + 3F0B4F7269656E746174696F6E070A486F72697A6F6E74616C0A53697A652E57 + 6964746805000000000000008C06400B53697A652E4865696768740500000000 + 0000008803401453697A652E506C6174666F726D44656661756C74080B537479 + 6C654C6F6F6B757006147363726F6C6C62617268747261636B7374796C650C56 + 696577706F727453697A65050000000000CDCCCCFB3F00000C54537065656442 + 7574746F6E00095374796C654E616D65060B7269676874627574746F6E05416C + 69676E07055269676874064C6F636B6564090A506F736974696F6E2E58050000 + 00000000009E06400A506F736974696F6E2E5905000000000000009003400A53 + 697A652E576964746805000000000000009003400B53697A652E486569676874 + 05000000000000008803401453697A652E506C6174666F726D44656661756C74 + 080B5374796C654C6F6F6B757006147363726F6C6C6261727269676874627574 + 746F6E00000654547261636B00095374796C654E616D65060676747261636B05 + 416C69676E0706436C69656E74064C6F636B656409034D617805000000000000 + 0080FF3F0B4F7269656E746174696F6E070A486F72697A6F6E74616C0A53697A + 652E576964746805000000000000008C06400B53697A652E4865696768740500 + 0000000000008803401453697A652E506C6174666F726D44656661756C74080B + 5374796C654C6F6F6B757006147363726F6C6C62617276747261636B7374796C + 650C56696577706F727453697A65050000000000CDCCCCFB3F00000C54537065 + 6564427574746F6E00095374796C654E616D650609746F70627574746F6E0541 + 6C69676E0703546F70064C6F636B6564090A53697A652E576964746805000000 + 00000000B006400B53697A652E48656967687405000000000000009003401453 + 697A652E506C6174666F726D44656661756C74080B5374796C654C6F6F6B7570 + 06127363726F6C6C626172746F70627574746F6E00000C545370656564427574 + 746F6E00095374796C654E616D65060C626F74746F6D627574746F6E05416C69 + 676E0706426F74746F6D064C6F636B6564090A506F736974696F6E2E59050000 + 00000000008C04400A53697A652E57696474680500000000000000B006400B53 + 697A652E48656967687405000000000000009003401453697A652E506C617466 + 6F726D44656661756C74080B5374796C654C6F6F6B757006157363726F6C6C62 + 6172626F74746F6D627574746F6E000000545046300A5452656374616E676C65 + 00095374796C654E616D650619736D616C6C7363726F6C6C6261727674726163 + 6B7374796C650946696C6C2E4B696E6407044E6F6E650748697454657374080A + 506F736974696F6E2E580500000000000000CC07400A506F736974696F6E2E59 + 0500000000000080EB07400A53697A652E57696474680500000000000000C803 + 400B53697A652E486569676874050000000000FFFFF304401453697A652E506C + 6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65 + 0756697369626C6508000A5452656374616E676C650005416C69676E0706436C + 69656E740A46696C6C2E436F6C6F720709784646343834383438064C6F636B65 + 64090748697454657374080A53697A652E57696474680500000000000000C803 + 400B53697A652E486569676874050000000000FFFFF304401453697A652E506C + 6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709784646 + 314331433143000006545468756D6200095374796C654E616D6506057468756D + 62064C6F636B6564090B4D617267696E732E546F70050000000000000080FF3F + 0E4D617267696E732E426F74746F6D050000000000000080FF3F0A506F736974 + 696F6E2E580500000000000000A001400A506F736974696F6E2E590500000000 + 000000A001400A53697A652E57696474680500000000000000A002400B53697A + 652E4865696768740500000000000000B804401453697A652E506C6174666F72 + 6D44656661756C74080B5374796C654C6F6F6B7570060B767468756D62737479 + 6C65000000545046300A5452656374616E676C6500095374796C654E616D6506 + 19736D616C6C7363726F6C6C62617268747261636B7374796C650946696C6C2E + 4B696E6407044E6F6E650748697454657374080A506F736974696F6E2E580500 + 000000000080B407400A506F736974696F6E2E590500000000000000F607400A + 53697A652E5769647468050000000000FFFFEF05400B53697A652E4865696768 + 7405000000000000009803401453697A652E506C6174666F726D44656661756C + 74080B5374726F6B652E4B696E6407044E6F6E650756697369626C6508000A54 + 52656374616E676C650005416C69676E0706436C69656E740A46696C6C2E436F + 6C6F720709784646343834383438064C6F636B6564090748697454657374080A + 53697A652E5769647468050000000000FFFFEF05400B53697A652E4865696768 + 7405000000000000009803401453697A652E506C6174666F726D44656661756C + 74080C5374726F6B652E436F6C6F720709784646314331433143000006545468 + 756D6200095374796C654E616D6506057468756D62064C6F636B6564090C4D61 + 7267696E732E4C656674050000000000000080FF3F0D4D617267696E732E5269 + 676874050000000000000080FF3F0A506F736974696F6E2E5805000000000000 + 008001400A506F736974696F6E2E5905000000000000008001400A53697A652E + 57696474680500000000000000C804400B53697A652E48656967687405000000 + 00000000D002401453697A652E506C6174666F726D44656661756C74080B5374 + 796C654C6F6F6B7570060B687468756D627374796C650000005450463007544C + 61796F757400095374796C654E616D650613736D616C6C7363726F6C6C626172 + 7374796C650A506F736974696F6E2E580500000000000080A607400A506F7369 + 74696F6E2E590500000000000000ED07400A53697A652E576964746805000000 + 00000000B006400B53697A652E4865696768740500000000000000D404401453 + 697A652E506C6174666F726D44656661756C74080756697369626C6508085461 + 624F72646572023F000654547261636B00095374796C654E616D650606687472 + 61636B05416C69676E0706436C69656E74064C6F636B656409034D6178050000 + 000000000080FF3F0B4F7269656E746174696F6E070A486F72697A6F6E74616C + 0A53697A652E57696474680500000000000000B006400B53697A652E48656967 + 68740500000000000000D404401453697A652E506C6174666F726D4465666175 + 6C74080B5374796C654C6F6F6B75700619736D616C6C7363726F6C6C62617268 + 747261636B7374796C650C56696577706F727453697A65050000000000CDCCCC + FB3F00000654547261636B00095374796C654E616D65060676747261636B0541 + 6C69676E0706436C69656E74064C6F636B656409034D61780500000000000000 + 80FF3F0B4F7269656E746174696F6E070A486F72697A6F6E74616C0A53697A65 + 2E57696474680500000000000000B006400B53697A652E486569676874050000 + 0000000000D404401453697A652E506C6174666F726D44656661756C74080B53 + 74796C654C6F6F6B75700619736D616C6C7363726F6C6C62617276747261636B + 7374796C650C56696577706F727453697A65050000000000CDCCCCFB3F000000 + 5450463007544C61796F757400095374796C654E616D65060F64726F70746172 + 6765747374796C650A506F736974696F6E2E580500000000000000B007400A50 + 6F736974696F6E2E590500000000000000D907400A53697A652E576964746805 + 000000000000008906400B53697A652E48656967687405000000000000008706 + 401453697A652E506C6174666F726D44656661756C74080756697369626C6508 + 085461624F726465720240000A5452656374616E676C650005416C69676E0708 + 436F6E74656E74730946696C6C2E4B696E6407044E6F6E650748697454657374 + 080A53697A652E576964746805000000000000008906400B53697A652E486569 + 67687405000000000000008706401453697A652E506C6174666F726D44656661 + 756C74080C5374726F6B652E436F6C6F72070978464645364536453610537472 + 6F6B652E546869636B6E6573730500000000000000C000400B5374726F6B652E + 4461736807044461736807585261646975730500000000000000800040075952 + 616469757305000000000000008000400005545465787400095374796C654E61 + 6D6506047465787405416C69676E0706426F74746F6D0748697454657374080C + 4D617267696E732E4C6566740500000000000000A002400D4D617267696E732E + 52696768740500000000000000A002400A506F736974696F6E2E580500000000 + 000000A002400A506F736974696F6E2E590500000000000000AA05400A53697A + 652E57696474680500000000000000EA05400B53697A652E4865696768740500 + 000000000000C804401453697A652E506C6174666F726D44656661756C740804 + 54657874060474657874165465787453657474696E67732E466F6E74436F6C6F + 7207097846464633463346330000001254466C6F61744B6579416E696D617469 + 6F6E00084475726174696F6E050000000000999999FE3F044B6579730E010001 + 034B6579050000000000000080FE3F0556616C75650500000000000000A003C0 + 0001034B6579050000000000000080FF3F0000044C6F6F70090C50726F706572 + 74794E616D65060B50616464696E672E546F7010537461727446726F6D437572 + 72656E74080754726967676572060F4973447261674F7665723D747275650000 + 0554506174680005416C69676E070643656E74657209446174612E506174680A + C4000000100000000000000008EC8343F087A4430100000008EC8343083CFB43 + 0200000035BE7143504DF9430200000012835C43A8E6F54302000000F0674943 + F803F1430100000008EC8343FC0116440100000008EC8343FC51164401000000 + 00408443FC5116440100000010689A43FC412B4401000000081CD043F803F143 + 02000000915DC64321E0F54302000000919DBB439643F94302000000087CB043 + F833FB4301000000087CB043F087A4430100000008EC8343F087A44303000000 + 00000000000000000A46696C6C2E436F6C6F720708636C615768697465074869 + 7454657374080A53697A652E57696474680500000000000000C804400B53697A + 652E4865696768740500000000000100C804401453697A652E506C6174666F72 + 6D44656661756C74080B5374726F6B652E4B696E6407044E6F6E650000005450 + 463007544C61796F757400095374796C654E616D650609677269647374796C65 + 0C436C69704368696C6472656E090A506F736974696F6E2E5805000000000000 + 80B507400A506F736974696F6E2E590500000000000000DA07400A53697A652E + 5769647468050000000000FFFFE905400B53697A652E48656967687405000000 + 000000008306401453697A652E506C6174666F726D44656661756C7408075669 + 7369626C6508085461624F726465720241000C5442727573684F626A65637400 + 095374796C654E616D6506086C696E6566696C6C0B42727573682E436F6C6F72 + 070978464632303230323000000A5452656374616E676C6500095374796C654E + 616D65060A6261636B67726F756E6405416C69676E0708436F6E74656E74730A + 46696C6C2E436F6C6F720709784646343834383438064C6F636B656409074869 + 7454657374080C50616464696E672E4C656674050000000000000080FF3F0B50 + 616464696E672E546F70050000000000000080FF3F0D50616464696E672E5269 + 676874050000000000000080FF3F0E50616464696E672E426F74746F6D050000 + 000000000080FF3F0A53697A652E5769647468050000000000FFFFE905400B53 + 697A652E48656967687405000000000000008306401453697A652E506C617466 + 6F726D44656661756C74080C5374726F6B652E436F6C6F720709784646314331 + 4331430007544C61796F75740005416C69676E0706436C69656E740A53697A65 + 2E5769647468050000000000FFFFE505400B53697A652E486569676874050000 + 00000000008106401453697A652E506C6174666F726D44656661756C74080007 + 5448656164657200095374796C654E616D650606686561646572055369646573 + 0B06426F74746F6D0005416C69676E0703546F700A53697A652E576964746805 + 0000000000FFFFE505400B53697A652E4865696768740500000000000000A803 + 401453697A652E506C6174666F726D44656661756C7408000007544C61796F75 + 7400095374796C654E616D650607636F6E74656E7405416C69676E0706436C69 + 656E740C436C69704368696C6472656E090C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A53697A652E57696474680500 + 00000000FFFFC305400B53697A652E4865696768740500000000000000B60540 + 1453697A652E506C6174666F726D44656661756C7408000A5452656374616E67 + 6C6500095374796C654E616D65060973656C656374696F6E0946696C6C2E4B69 + 6E6407084772616469656E741446696C6C2E4772616469656E742E506F696E74 + 730E0105436F6C6F720709783830324237393843064F66667365740500000000 + 000000000000000105436F6C6F720709783830324236453746064F6666736574 + 05000000000012A2F8FD3F000105436F6C6F720709783830324236343732064F + 6666736574050000000000000080FF3F00000748697454657374080A53697A65 + 2E57696474680500000000000000C804400B53697A652E486569676874050000 + 0000000000C804401453697A652E506C6174666F726D44656661756C74080B53 + 74726F6B652E4B696E6407044E6F6E6500000A5452656374616E676C65000953 + 74796C654E616D650605666F6375730A46696C6C2E436F6C6F72070978464631 + 39313931390748697454657374080C4D617267696E732E4C6566740500000000 + 00000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D61 + 7267696E732E5269676874050000000000000080FF3F0E4D617267696E732E42 + 6F74746F6D050000000000000080FF3F0A53697A652E57696474680500000000 + 000000C804400B53697A652E4865696768740500000000000000C80440145369 + 7A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72 + 07097846463339333933390000000A545363726F6C6C42617200095374796C65 + 4E616D65060A767363726F6C6C62617205416C69676E070552696768740B536D + 616C6C4368616E676505000000000000000000000B4F7269656E746174696F6E + 0708566572746963616C0A506F736974696F6E2E58050000000000FFFFC70540 + 0A506F736974696F6E2E590500000000000000A803400A53697A652E57696474 + 680500000000000000F002400B53697A652E4865696768740500000000000000 + BA05401453697A652E506C6174666F726D44656661756C740800000A54536372 + 6F6C6C42617200095374796C654E616D65060A687363726F6C6C62617205416C + 69676E0706426F74746F6D0B536D616C6C4368616E6765050000000000000000 + 00000B4F7269656E746174696F6E070A486F72697A6F6E74616C0A506F736974 + 696F6E2E590500000000000000E405400A53697A652E57696474680500000000 + 00FFFFE505400B53697A652E4865696768740500000000000000F00240145369 + 7A652E506C6174666F726D44656661756C740800000F54536D616C6C5363726F + 6C6C42617200095374796C654E616D65060F76736D616C6C7363726F6C6C6261 + 7205416C69676E070552696768740B536D616C6C4368616E6765050000000000 + 00000000000B4F7269656E746174696F6E0708566572746963616C0B4D617267 + 696E732E546F70050000000000000080FF3F0D4D617267696E732E5269676874 + 050000000000000080FF3F0E4D617267696E732E426F74746F6D050000000000 + 000080FF3F0A506F736974696F6E2E580500000000000000C605400A506F7369 + 74696F6E2E5905000000000000008000400A53697A652E576964746805000000 + 000000008002400B53697A652E48656967687405000000000000008002401453 + 697A652E506C6174666F726D44656661756C74080756697369626C650800000F + 54536D616C6C5363726F6C6C42617200095374796C654E616D65060F68736D61 + 6C6C7363726F6C6C62617205416C69676E0706426F74746F6D0B536D616C6C43 + 68616E676505000000000000000000000B4F7269656E746174696F6E070A486F + 72697A6F6E74616C0C4D617267696E732E4C656674050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A506F736974696F6E2E580500 + 0000000000008000400A506F736974696F6E2E590500000000000000E205400A + 53697A652E576964746805000000000000009606400B53697A652E4865696768 + 7405000000000000008002401453697A652E506C6174666F726D44656661756C + 74080756697369626C6508000000000B54476C6F774566666563740008536F66 + 746E6573730500000000009A9999FD3F09476C6F77436F6C6F72070978464636 + 3543384530074F706163697479050000000000000080FF3F0754726967676572 + 060E4973466F63757365643D7472756507456E61626C65640800000054504630 + 07544C61796F757400095374796C654E616D65060F6865616465726974656D73 + 74796C650A506F736974696F6E2E580500000000000000BC07400A506F736974 + 696F6E2E590500000000000080F407400A53697A652E57696474680500000000 + 000000B605400B53697A652E4865696768740500000000000000C00340145369 + 7A652E506C6174666F726D44656661756C74080756697369626C650808546162 + 4F726465720242000A5452656374616E676C6500095374796C654E616D65060A + 6261636B67726F756E6405416C69676E0708436F6E74656E74730946696C6C2E + 4B696E6407084772616469656E741446696C6C2E4772616469656E742E506F69 + 6E74730E0105436F6C6F720709784646353835383538064F6666736574050000 + 0000000000000000000105436F6C6F720709784646353135313531064F666673 + 6574050000000000A01BF3FD3F000105436F6C6F720709784646343934393439 + 064F6666736574050000000000000080FF3F0000064C6F636B65640907486974 + 54657374080A53697A652E57696474680500000000000000B605400B53697A65 + 2E4865696768740500000000000000C003401453697A652E506C6174666F726D + 44656661756C74080C5374726F6B652E436F6C6F720709784646314331433143 + 001054496E6E6572476C6F774566666563740008536F66746E65737305000000 + 0000CDCCCCFD3F09476C6F77436F6C6F720709784646344634383438074F7061 + 636974790500000000006666E6FE3F0754726967676572060E49735072657373 + 65643D7472756507456E61626C65640800000005545465787400095374796C65 + 4E616D6506047465787405416C69676E0706436C69656E74064C6F636B656409 + 0748697454657374080C4D617267696E732E4C6566740500000000000000A001 + 400B4D617267696E732E546F7005000000000000008000400D4D617267696E73 + 2E52696768740500000000000000A001400E4D617267696E732E426F74746F6D + 05000000000000008000400A53697A652E57696474680500000000000000A205 + 400B53697A652E4865696768740500000000000000A003401453697A652E506C + 6174666F726D44656661756C740804546578740606627574746F6E1654657874 + 53657474696E67732E466F6E74436F6C6F720708636C61576869746500000054 + 50463007544C61796F757400095374796C654E616D65060D7465787463656C6C + 7374796C650A506F736974696F6E2E580500000000000000B807400A506F7369 + 74696F6E2E590500000000000000F507400A53697A652E576964746805000000 + 00000000D605400B53697A652E4865696768740500000000000000B003401453 + 697A652E506C6174666F726D44656661756C74080756697369626C6508085461 + 624F726465720243000C5442727573684F626A65637400095374796C654E616D + 65060A666F726567726F756E640B42727573682E436F6C6F7207097846464541 + 4541454100000C5442727573684F626A65637400095374796C654E616D650609 + 73656C656374696F6E0A42727573682E4B696E6407084772616469656E741542 + 727573682E4772616469656E742E506F696E74730E0105436F6C6F7207097838 + 30324237393843064F66667365740500000000000000000000000105436F6C6F + 720709783830324236453746064F666673657405000000000012A2F8FD3F0001 + 05436F6C6F720709783830324236343732064F66667365740500000000000000 + 80FF3F0000000007544C61796F757400095374796C654E616D650607636F6E74 + 656E7405416C69676E0708436F6E74656E7473064C6F636B6564090C4D617267 + 696E732E4C6566740500000000000000C000400B4D617267696E732E546F7005 + 00000000000000C000400D4D617267696E732E52696768740500000000000000 + C000400E4D617267696E732E426F74746F6D0500000000000000C000400A5369 + 7A652E57696474680500000000000000CA05400B53697A652E48656967687405 + 000000000000008003401453697A652E506C6174666F726D44656661756C7408 + 0000005450463007544C61796F757400095374796C654E616D65060E63686563 + 6B63656C6C7374796C650A506F736974696F6E2E580500000000000000AD0740 + 0A506F736974696F6E2E590500000000000000F307400A53697A652E57696474 + 6805000000000000009506400B53697A652E4865696768740500000000000000 + F003401453697A652E506C6174666F726D44656661756C74080756697369626C + 6508085461624F7264657202440007544C61796F75740005416C69676E070643 + 656E7465720A53697A652E57696474680500000000000000A003400B53697A65 + 2E4865696768740500000000000000F003401453697A652E506C6174666F726D + 44656661756C74080007544C61796F75740005416C69676E070643656E746572 + 064C6F636B6564090A53697A652E57696474680500000000000000F002400B53 + 697A652E4865696768740500000000000000F002401453697A652E506C617466 + 6F726D44656661756C74080005545061746800095374796C654E616D65060963 + 6865636B6D61726B05416C69676E070643656E74657209446174612E50617468 + 0ADC0000001200000000000000000000000000000001000000CDCC4C3E000000 + 00010000000000003F9A99993E01000000CDCC4C3F0000000001000000000080 + 3F00000000010000000000803FCDCC4C3E010000003333333F0000003F010000 + 000000803FCDCC4C3F010000000000803F0000803F01000000CDCC4C3F000080 + 3F010000000000003F3333333F01000000CDCC4C3E0000803F01000000000000 + 000000803F0100000000000000CDCC4C3F010000009A99993E0000003F010000 + 0000000000CDCC4C3E0100000000000000000000000300000000000000000000 + 000A46696C6C2E436F6C6F720707636C614E756C6C064C6F636B656409074869 + 7454657374080A53697A652E576964746805000000000000009002400B53697A + 652E48656967687405000000000000009002401453697A652E506C6174666F72 + 6D44656661756C74080B5374726F6B652E4B696E6407044E6F6E65000F54436F + 6C6F72416E696D6174696F6E00084475726174696F6E0500000000006F1283F5 + 3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A5374617274 + 56616C75650707636C614E756C6C0953746F7056616C75650708636C61426C61 + 636B0754726967676572060E4973436865636B65643D7472756500000F54436F + 6C6F72416E696D6174696F6E00084475726174696F6E0500000000006F1283F5 + 3F0C50726F70657274794E616D65060A46696C6C2E436F6C6F720A5374617274 + 56616C75650708636C61426C61636B0953746F7056616C75650707636C614E75 + 6C6C0754726967676572060F4973436865636B65643D66616C73650000000000 + 005450463007544C61796F757400095374796C654E616D65060E706F70757063 + 656C6C7374796C650A506F736974696F6E2E580500000000000000B807400A50 + 6F736974696F6E2E590500000000000000F507400A53697A652E576964746805 + 00000000000000D605400B53697A652E4865696768740500000000000000B003 + 401453697A652E506C6174666F726D44656661756C74080756697369626C6508 + 085461624F7264657202450007544C61796F75740005416C69676E0705526967 + 68740A506F736974696F6E2E580500000000000000B805400A53697A652E5769 + 6474680500000000000000F002400B53697A652E486569676874050000000000 + 0000B003401453697A652E506C6174666F726D44656661756C74080005545061 + 74680005416C69676E070643656E74657209446174612E506174680A40000000 + 0500000000000000000000000000803F010000000000803F0000803F01000000 + 0000003F0000000001000000000000000000803F030000000000000000000000 + 0A46696C6C2E436F6C6F7207097846464541454145410748697454657374080B + 4D617267696E732E546F7005000000000000009002C00A53697A652E57696474 + 6805000000000000008002400B53697A652E4865696768740500000000000000 + A001401453697A652E506C6174666F726D44656661756C74080B5374726F6B65 + 2E4B696E6407044E6F6E6500000554506174680005416C69676E070643656E74 + 657209446174612E506174680A34000000040000000000000000000000000000 + 00010000000000803F00000000010000000000003F0000803F03000000000000 + 00000000000A46696C6C2E436F6C6F7207097846464541454145410748697454 + 657374080B4D617267696E732E546F700500000000000000E001400A53697A65 + 2E576964746805000000000000008002400B53697A652E486569676874050000 + 0000000000A001401453697A652E506C6174666F726D44656661756C74080B53 + 74726F6B652E4B696E6407044E6F6E6500000005545465787400095374796C65 + 4E616D6506047465787405416C69676E0706436C69656E74064C6F636B656409 + 0748697454657374080C4D617267696E732E4C6566740500000000000000A001 + 400B4D617267696E732E546F700500000000000000A001400D4D617267696E73 + 2E52696768740500000000000000A001400E4D617267696E732E426F74746F6D + 0500000000000000A001400A53697A652E57696474680500000000000000A405 + 400B53697A652E4865696768740500000000000000C002401453697A652E506C + 6174666F726D44656661756C740804546578740606627574746F6E1654657874 + 53657474696E67732E466F6E74436F6C6F720708636C61576869746515546578 + 7453657474696E67732E576F726457726170080000005450463007544C61796F + 757400095374796C654E616D65061170726F677265737363656C6C7374796C65 + 0A506F736974696F6E2E580500000000000080C007400A506F736974696F6E2E + 590500000000000080EB07400A53697A652E5769647468050000000000000090 + 05400B53697A652E486569676874050000000000FFFFF304401453697A652E50 + 6C6174666F726D44656661756C74080756697369626C6508085461624F726465 + 7202460007544C61796F757400095374796C654E616D65060668747261636B05 + 416C69676E0708436F6E74656E7473064C6F636B6564090C4D617267696E732E + 4C65667405000000000000008000400B4D617267696E732E546F700500000000 + 0000008000400D4D617267696E732E526967687405000000000000008000400E + 4D617267696E732E426F74746F6D05000000000000008000400A53697A652E57 + 6964746805000000000000008805400B53697A652E4865696768740500000000 + 00FFFFE304401453697A652E506C6174666F726D44656661756C7408000A5452 + 656374616E676C6500095374796C654E616D65060A68696E64696361746F7205 + 416C69676E07044C6566740946696C6C2E4B696E6407084772616469656E7414 + 46696C6C2E4772616469656E742E506F696E74730E0105436F6C6F7207097846 + 46323637324238064F66667365740500000000000000000000000105436F6C6F + 720709784646303634353735064F6666736574050000000000000080FF3F0000 + 064C6F636B6564090748697454657374080C4D617267696E732E4C6566740500 + 00000000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F + 0D4D617267696E732E5269676874050000000000000080FF3F0E4D617267696E + 732E426F74746F6D050000000000000080FF3F0A506F736974696F6E2E580500 + 00000000000080FF3F0A506F736974696F6E2E59050000000000000080FF3F0A + 53697A652E57696474680500000000000000C804400B53697A652E4865696768 + 74050000000000FFFFDB04401453697A652E506C6174666F726D44656661756C + 7408000000005450463007544C61796F757400095374796C654E616D65060E69 + 6D61676563656C6C7374796C650A506F736974696F6E2E580500000000000000 + C007400A506F736974696F6E2E590500000000000000F407400A53697A652E57 + 6964746805000000000000009205400B53697A652E4865696768740500000000 + 000000D003401453697A652E506C6174666F726D44656661756C740807566973 + 69626C6508085461624F726465720247000654496D61676500095374796C654E + 616D650605696D6167650E4D756C74695265734269746D61700E01000005416C + 69676E0706436C69656E74064C6F636B6564090748697454657374080C4D6172 + 67696E732E4C6566740500000000000000C000400B4D617267696E732E546F70 + 0500000000000000C000400D4D617267696E732E526967687405000000000000 + 00C000400E4D617267696E732E426F74746F6D0500000000000000C000400A53 + 697A652E576964746805000000000000008605400B53697A652E486569676874 + 0500000000000000A003401453697A652E506C6174666F726D44656661756C74 + 08000000545046300A5452656374616E676C6500095374796C654E616D65060C + 6D656E756261727374796C650C436C69704368696C6472656E090A46696C6C2E + 436F6C6F7207097846463438343834380748697454657374080A506F73697469 + 6F6E2E580500000000000000C607400A506F736974696F6E2E59050000000000 + 0000EE07400A53697A652E57696474680500000000000000C804400B53697A65 + 2E4865696768740500000000000000C804401453697A652E506C6174666F726D + 44656661756C74080C5374726F6B652E436F6C6F720709784646314331433143 + 0756697369626C6508000A5452656374616E676C650005416C69676E0706436C + 69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080C4D61 + 7267696E732E4C656674050000000000000080FF3F0B4D617267696E732E546F + 70050000000000000080FF3F0D4D617267696E732E5269676874050000000000 + 000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF3F0A + 53697A652E57696474680500000000000000C004400B53697A652E4865696768 + 740500000000000000C004401453697A652E506C6174666F726D44656661756C + 74080C5374726F6B652E436F6C6F720709784646353935393539000000545046 + 300A5452656374616E676C6500095374796C654E616D65060D6D656E75766965 + 777374796C650D50616464696E672E526967687405000000000000008002400E + 50616464696E672E426F74746F6D05000000000000008002400A506F73697469 + 6F6E2E580500000000000000C607400A506F736974696F6E2E59050000000000 + 0000EE07400A53697A652E57696474680500000000000000C804400B53697A65 + 2E4865696768740500000000000000C804401453697A652E506C6174666F726D + 44656661756C74080756697369626C6508000A5452656374616E676C65000541 + 6C69676E0706436C69656E740A46696C6C2E436F6C6F72070978464633333333 + 33330748697454657374080D4D617267696E732E526967687405000000000000 + 008002C00E4D617267696E732E426F74746F6D05000000000000008002C00A53 + 697A652E57696474680500000000000000C804400B53697A652E486569676874 + 0500000000000000C804401453697A652E506C6174666F726D44656661756C74 + 080C5374726F6B652E436F6C6F720709784646323232323232000D5453686164 + 6F77456666656374000844697374616E63650500000000000000800140094469 + 72656374696F6E0500000000000000B4044008536F66746E6573730500000000 + 00CECCCCFC3F074F706163697479050000000000000080FE3F0B536861646F77 + 436F6C6F720708636C61426C61636B00000007544C61796F757400095374796C + 654E616D650607636F6E74656E7405416C69676E0706436C69656E740C4D6172 + 67696E732E4C6566740500000000000000C000400B4D617267696E732E546F70 + 0500000000000000C000400D4D617267696E732E526967687405000000000000 + 00C000400E4D617267696E732E426F74746F6D0500000000000000C000400A53 + 697A652E576964746805000000000000009004400B53697A652E486569676874 + 05000000000000009004401453697A652E506C6174666F726D44656661756C74 + 080000005450463007544C61796F757400095374796C654E616D65060D6D656E + 756974656D7374796C650C4D617267696E732E4C656674050000000000000080 + FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D617267696E + 732E5269676874050000000000000080FF3F0E4D617267696E732E426F74746F + 6D050000000000000080FF3F0A506F736974696F6E2E580500000000000000C0 + 07400A506F736974696F6E2E590500000000000000F407400A53697A652E5769 + 64746805000000000000009205400B53697A652E486569676874050000000000 + 0000D003401453697A652E506C6174666F726D44656661756C74080756697369 + 626C6508085461624F72646572024A000A5452656374616E676C650005416C69 + 676E0708436F6E74656E74730946696C6C2E4B696E6407084772616469656E74 + 1446696C6C2E4772616469656E742E506F696E74730E0105436F6C6F72070978 + 4646353835383538064F66667365740500000000000000000000000105436F6C + 6F720709784646353135313531064F6666736574050000000000A01BF3FD3F00 + 0105436F6C6F720709784646343934393439064F666673657405000000000000 + 0080FF3F0000074869745465737408074F70616369747905000000000017B7D1 + F13F0A53697A652E576964746805000000000000009205400B53697A652E4865 + 696768740500000000000000D003401453697A652E506C6174666F726D446566 + 61756C74080C5374726F6B652E436F6C6F720709784646364136413641000F54 + 466C6F6174416E696D6174696F6E00084475726174696F6E05000000000018B7 + D1F23F0C50726F70657274794E616D6506074F7061636974790A537461727456 + 616C756505000000000000000000000953746F7056616C756505000000000000 + 0080FF3F0754726967676572060F497353656C65637465643D747275650E5472 + 6967676572496E76657273650610497353656C65637465643D66616C73650000 + 000A5452656374616E676C6500095374796C654E616D65060A6261636B67726F + 756E6405416C69676E0708436F6E74656E74730946696C6C2E4B696E64070847 + 72616469656E741446696C6C2E4772616469656E742E506F696E74730E010543 + 6F6C6F720709784646353835383538064F666673657405000000000000000000 + 00000105436F6C6F720709784646353135313531064F66667365740500000000 + 00A01BF3FD3F000105436F6C6F720709784646343934393439064F6666736574 + 050000000000000080FF3F0000074869745465737408074F7061636974790500 + 0000000017B7D1F13F0A53697A652E576964746805000000000000009205400B + 53697A652E4865696768740500000000000000D003401453697A652E506C6174 + 666F726D44656661756C74080C5374726F6B652E436F6C6F7207097846463641 + 36413641000F54466C6F6174416E696D6174696F6E00084475726174696F6E05 + 000000000018B7D1F23F0C50726F70657274794E616D6506074F706163697479 + 0A537461727456616C756505000000000000000000000953746F7056616C7565 + 050000000000000080FF3F0754726967676572061049734D6F7573654F766572 + 3D747275650E54726967676572496E7665727365061149734D6F7573654F7665 + 723D66616C736500000007544C61796F757400095374796C654E616D65060567 + 6C79706805416C69676E07084D6F73744C6566740A53697A652E576964746805 + 00000000000000C803400B53697A652E4865696768740500000000000000D003 + 401453697A652E506C6174666F726D44656661756C74080007544C61796F7574 + 00095374796C654E616D650609636865636B6D61726B05416C69676E0708436F + 6E74656E7473074F7061636974790500000000006F1283F53F0A53697A652E57 + 696474680500000000000000C803400B53697A652E4865696768740500000000 + 000000D003401453697A652E506C6174666F726D44656661756C740800055450 + 61746800095374796C654E616D65060E636865636B6D61726B7374796C650541 + 6C69676E070643656E74657209446174612E506174680A580000000700000000 + 00000056D9524391AE2C43010000009276664365021643010000009F3983432B + 7C3C43010000009E9AA64382D2B442010000006F1CB04375A4D1420100000026 + DF8243263F67430300000056D9524391AE2C430A46696C6C2E436F6C6F720708 + 636C6157686974650748697454657374080A53697A652E576964746805000000 + 00000000B002400B53697A652E4865696768740500000000000000B002401453 + 697A652E506C6174666F726D44656661756C74080B5374726F6B652E4B696E64 + 07044E6F6E6500000F54466C6F6174416E696D6174696F6E0008447572617469 + 6F6E050000000000CDCCCCFB3F0C50726F70657274794E616D6506074F706163 + 6974790A537461727456616C756505000000000000000000000953746F705661 + 6C7565050000000000000080FF3F0754726967676572060E4973436865636B65 + 643D747275650E54726967676572496E7665727365060F4973436865636B6564 + 3D66616C73650000000654476C79706800095374796C654E616D65060A676C79 + 70687374796C650C4D617267696E732E4C656674050000000000000080FF3F0B + 4D617267696E732E546F7005000000000000008000400D4D617267696E732E52 + 696768740500000000000000C000400E4D617267696E732E426F74746F6D0500 + 00000000000080FF3F05416C69676E07044C6566740A53697A652E5769647468 + 05000000000000008003400B53697A652E486569676874050000000000000080 + 03401453697A652E506C6174666F726D44656661756C740800000654496D6167 + 6500095374796C654E616D6506066269746D61700E4D756C7469526573426974 + 6D61700E01000005416C69676E07044C6566740C4D617267696E732E4C656674 + 05000000000000008000400B4D617267696E732E546F70050000000000000080 + 00400D4D617267696E732E526967687405000000000000008000400E4D617267 + 696E732E426F74746F6D05000000000000008000400A506F736974696F6E2E58 + 05000000000000008000400A506F736974696F6E2E5905000000000000008000 + 400A53697A652E57696474680500000000000000A803400B53697A652E486569 + 6768740500000000000000B003401453697A652E506C6174666F726D44656661 + 756C740800000005545465787400095374796C654E616D650604746578740541 + 6C69676E07044C656674064C6F636B6564090748697454657374080C4D617267 + 696E732E4C65667405000000000000008002400D4D617267696E732E52696768 + 7405000000000000008002400A506F736974696F6E2E58050000000000000084 + 04400A53697A652E57696474680500000000000000C804400B53697A652E4865 + 696768740500000000000000D003401453697A652E506C6174666F726D446566 + 61756C7408165465787453657474696E67732E466F6E74436F6C6F720708636C + 615768697465165465787453657474696E67732E486F727A416C69676E07074C + 656164696E67000005545465787400095374796C654E616D65060873686F7274 + 63757405416C69676E07055269676874064C6F636B6564090748697454657374 + 080C4D617267696E732E4C6566740500000000000000C002400D4D617267696E + 732E52696768740500000000000000C001400A506F736974696F6E2E58050000 + 0000000000C000C00A53697A652E57696474680500000000000000C804400B53 + 697A652E4865696768740500000000000000D003401453697A652E506C617466 + 6F726D44656661756C7408165465787453657474696E67732E486F727A416C69 + 676E07074C656164696E67000007544C61796F757400095374796C654E616D65 + 06077375626D61726B05416C69676E070552696768740A506F736974696F6E2E + 580500000000000000D404400A53697A652E57696474680500000000000000A0 + 03400B53697A652E4865696768740500000000000000D003401453697A652E50 + 6C6174666F726D44656661756C7408000554506174680005416C69676E070643 + 656E74657209446174612E506174680A34000000040000000000000000000000 + 0000000001000000000000000000803F010000000000803F0000003F03000000 + 00000000000000000A46696C6C2E436F6C6F720707636C6147726179064C6F63 + 6B6564090748697454657374080A53697A652E57696474680500000000000000 + E001400B53697A652E48656967687405000000000000008002401453697A652E + 506C6174666F726D44656661756C74080B5374726F6B652E4B696E6407044E6F + 6E65000000005450463007544C61796F757400095374796C654E616D6506106D + 656E756261726974656D7374796C650C4D617267696E732E4C65667405000000 + 0000000080FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D + 617267696E732E5269676874050000000000000080FF3F0E4D617267696E732E + 426F74746F6D050000000000000080FF3F0A506F736974696F6E2E5805000000 + 00000000C007400A506F736974696F6E2E590500000000000000F407400A5369 + 7A652E576964746805000000000000009205400B53697A652E48656967687405 + 00000000000000D003401453697A652E506C6174666F726D44656661756C7408 + 0756697369626C6508085461624F72646572024B000A5452656374616E676C65 + 0005416C69676E0708436F6E74656E74730946696C6C2E4B696E640708477261 + 6469656E741446696C6C2E4772616469656E742E506F696E74730E0105436F6C + 6F720709784646353835383538064F6666736574050000000000000000000000 + 0105436F6C6F720709784646353135313531064F6666736574050000000000A0 + 1BF3FD3F000105436F6C6F720709784646343934393439064F66667365740500 + 00000000000080FF3F0000074869745465737408074F70616369747905000000 + 000017B7D1F13F0A53697A652E576964746805000000000000009205400B5369 + 7A652E4865696768740500000000000000D003401453697A652E506C6174666F + 726D44656661756C74080C5374726F6B652E436F6C6F72070978464636413641 + 3641000F54466C6F6174416E696D6174696F6E00084475726174696F6E050000 + 00000018B7D1F23F0C50726F70657274794E616D6506074F7061636974790A53 + 7461727456616C756505000000000000000000000953746F7056616C75650500 + 00000000000080FF3F0754726967676572060F497353656C65637465643D7472 + 75650E54726967676572496E76657273650610497353656C65637465643D6661 + 6C73650000000A5452656374616E676C6500095374796C654E616D65060A6261 + 636B67726F756E6405416C69676E0708436F6E74656E74730946696C6C2E4B69 + 6E6407084772616469656E741446696C6C2E4772616469656E742E506F696E74 + 730E0105436F6C6F720709784646353835383538064F66667365740500000000 + 000000000000000105436F6C6F720709784646353135313531064F6666736574 + 050000000000A01BF3FD3F000105436F6C6F720709784646343934393439064F + 6666736574050000000000000080FF3F0000074869745465737408074F706163 + 69747905000000000017B7D1F13F0A53697A652E576964746805000000000000 + 009205400B53697A652E4865696768740500000000000000D003401453697A65 + 2E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F720709 + 784646364136413641000F54466C6F6174416E696D6174696F6E000844757261 + 74696F6E05000000000018B7D1F23F0C50726F70657274794E616D6506074F70 + 61636974790A537461727456616C756505000000000000000000000953746F70 + 56616C7565050000000000000080FF3F0754726967676572061049734D6F7573 + 654F7665723D747275650E54726967676572496E7665727365061149734D6F75 + 73654F7665723D66616C736500000007544C61796F757400095374796C654E61 + 6D650605676C79706805416C69676E07084D6F73744C6566740A53697A652E57 + 696474680500000000000000C803400B53697A652E4865696768740500000000 + 000000D003401453697A652E506C6174666F726D44656661756C74080007544C + 61796F757400095374796C654E616D650609636865636B6D61726B05416C6967 + 6E0708436F6E74656E7473074F7061636974790500000000006F1283F53F0A53 + 697A652E57696474680500000000000000C803400B53697A652E486569676874 + 0500000000000000D003401453697A652E506C6174666F726D44656661756C74 + 080005545061746800095374796C654E616D65060E636865636B6D61726B7374 + 796C6505416C69676E070643656E74657209446174612E506174680A58000000 + 070000000000000056D9524391AE2C4301000000927666436502164301000000 + 9F3983432B7C3C43010000009E9AA64382D2B442010000006F1CB04375A4D142 + 0100000026DF8243263F67430300000056D9524391AE2C430A46696C6C2E436F + 6C6F720708636C6157686974650748697454657374080A53697A652E57696474 + 680500000000000000B002400B53697A652E4865696768740500000000000000 + B002401453697A652E506C6174666F726D44656661756C74080B5374726F6B65 + 2E4B696E6407044E6F6E6500000F54466C6F6174416E696D6174696F6E000844 + 75726174696F6E050000000000CDCCCCFB3F0C50726F70657274794E616D6506 + 074F7061636974790A537461727456616C756505000000000000000000000953 + 746F7056616C7565050000000000000080FF3F0754726967676572060E497343 + 6865636B65643D747275650E54726967676572496E7665727365060F49734368 + 65636B65643D66616C73650000000654476C79706800095374796C654E616D65 + 060A676C7970687374796C650C4D617267696E732E4C65667405000000000000 + 0080FF3F0B4D617267696E732E546F7005000000000000008000400D4D617267 + 696E732E52696768740500000000000000C000400E4D617267696E732E426F74 + 746F6D050000000000000080FF3F05416C69676E070552696768740A53697A65 + 2E576964746805000000000000008003400B53697A652E486569676874050000 + 00000000008003401453697A652E506C6174666F726D44656661756C74080000 + 0654496D61676500095374796C654E616D6506066269746D61700E4D756C7469 + 5265734269746D61700E01000005416C69676E070552696768740C4D61726769 + 6E732E4C65667405000000000000008000400B4D617267696E732E546F700500 + 0000000000008000400D4D617267696E732E5269676874050000000000000080 + 00400E4D617267696E732E426F74746F6D05000000000000008000400A506F73 + 6974696F6E2E5805000000000000008000400A506F736974696F6E2E59050000 + 00000000008000400A53697A652E57696474680500000000000000A803400B53 + 697A652E4865696768740500000000000000B003401453697A652E506C617466 + 6F726D44656661756C740800000005545465787400095374796C654E616D6506 + 047465787405416C69676E07044C656674064C6F636B65640907486974546573 + 74080C4D617267696E732E4C65667405000000000000008002400D4D61726769 + 6E732E526967687405000000000000008002400A506F736974696F6E2E580500 + 0000000000008404400A53697A652E57696474680500000000000000C804400B + 53697A652E4865696768740500000000000000D003401453697A652E506C6174 + 666F726D44656661756C7408165465787453657474696E67732E466F6E74436F + 6C6F720708636C615768697465165465787453657474696E67732E486F727A41 + 6C69676E07074C656164696E67000005545465787400095374796C654E616D65 + 060873686F727463757405416C69676E07055269676874064C6F636B65640907 + 48697454657374080C4D617267696E732E4C6566740500000000000000C00240 + 0D4D617267696E732E52696768740500000000000000C001400A506F73697469 + 6F6E2E580500000000000000C000C00A53697A652E5769647468050000000000 + 0000C804400B53697A652E4865696768740500000000000000D003401453697A + 652E506C6174666F726D44656661756C7408165465787453657474696E67732E + 486F727A416C69676E07074C656164696E67000007544C61796F757400095374 + 796C654E616D6506077375626D61726B05416C69676E070552696768740A506F + 736974696F6E2E580500000000000000D404400A53697A652E57696474680500 + 000000000000A003400B53697A652E4865696768740500000000000000D00340 + 1453697A652E506C6174666F726D44656661756C740800055450617468000541 + 6C69676E070643656E74657209446174612E506174680A340000000400000000 + 000000000000000000000001000000000000000000803F010000000000803F00 + 00003F0300000000000000000000000A46696C6C2E436F6C6F720707636C6147 + 726179064C6F636B6564090748697454657374080A53697A652E576964746805 + 00000000000000E001400B53697A652E48656967687405000000000000008002 + 401453697A652E506C6174666F726D44656661756C74080B5374726F6B652E4B + 696E6407044E6F6E65000000005450463007544C61796F757400095374796C65 + 4E616D6506126D656E75736570617261746F727374796C650C4D617267696E73 + 2E4C656674050000000000000080FF3F0B4D617267696E732E546F7005000000 + 0000000080FF3F0D4D617267696E732E5269676874050000000000000080FF3F + 0E4D617267696E732E426F74746F6D050000000000000080FF3F0A506F736974 + 696F6E2E580500000000000000C607400A506F736974696F6E2E590500000000 + 000000EE07400A53697A652E57696474680500000000000000C804400B53697A + 652E4865696768740500000000000000C804401453697A652E506C6174666F72 + 6D44656661756C74080756697369626C6508085461624F72646572024C000554 + 4C696E650005416C69676E0703546F70084C696E65547970650703546F700C4D + 617267696E732E4C6566740500000000000000C000400B4D617267696E732E54 + 6F7005000000000000008000400D4D617267696E732E52696768740500000000 + 000000C000400A506F736974696F6E2E580500000000000000C000400A506F73 + 6974696F6E2E5905000000000000008000400A53697A652E5769647468050000 + 0000000000B004400B53697A652E486569676874050000000000000080FF3F14 + 53697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C + 6F720709636C6153696C766572000000545046300654496D6167650009537479 + 6C654E616D650611616E69696E64696361746F727374796C650E4D756C746952 + 65734269746D61700E0100000A53697A652E57696474680500000000000000C8 + 04400B53697A652E4865696768740500000000000000C804401453697A652E50 + 6C6174666F726D44656661756C74080756697369626C6508000C544272757368 + 4F626A65637400095374796C654E616D65060466696C6C000000545046300754 + 4C61796F757400095374796C654E616D65060D74696D65656469747374796C65 + 0A53697A652E57696474680500000000000000C804400B53697A652E48656967 + 68740500000000000000C804401453697A652E506C6174666F726D4465666175 + 6C74080756697369626C6508085461624F72646572024E000B54476C6F774566 + 666563740008536F66746E6573730500000000009A9999FD3F09476C6F77436F + 6C6F720709784646363543384530074F706163697479050000000000000080FF + 3F0754726967676572060E4973466F63757365643D7472756507456E61626C65 + 640800000A5452656374616E676C6500095374796C654E616D65060A6261636B + 67726F756E6405416C69676E0708436F6E74656E74730A46696C6C2E436F6C6F + 720709784646313931393139064C6F636B6564090748697454657374080A5369 + 7A652E57696474680500000000000000C804400B53697A652E48656967687405 + 00000000000000C804401453697A652E506C6174666F726D44656661756C7408 + 0C5374726F6B652E436F6C6F720709784646333933393339000F54436F6C6F72 + 416E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F0C50 + 726F70657274794E616D65060A46696C6C2E436F6C6F720A537461727456616C + 756507097846463530353035300953746F7056616C7565070978464637303730 + 373000000F54436F6C6F72416E696D6174696F6E00084475726174696F6E0500 + 00000000CDCCCCFC3F07496E7665727365090C50726F70657274794E616D6506 + 0A46696C6C2E436F6C6F720A537461727456616C756507097846463530353035 + 300953746F7056616C7565070978464637303730373000000A5452656374616E + 676C650005416C69676E0706436C69656E740946696C6C2E4B696E6407044E6F + 6E650748697454657374080C4D617267696E732E4C6566740500000000000000 + 80FF3F0B4D617267696E732E546F70050000000000000080FF3F0D4D61726769 + 6E732E5269676874050000000000000080FF3F0E4D617267696E732E426F7474 + 6F6D050000000000000080FF3F0A53697A652E57696474680500000000000000 + C004400B53697A652E4865696768740500000000000000C004401453697A652E + 506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F72070978 + 46463138313831380000000B54477269644C61796F75740005416C69676E0709 + 4D6F737452696768740A4974656D486569676874050000000000000080FFBF09 + 4974656D576964746805000000000000008005400B4F7269656E746174696F6E + 0708566572746963616C0C4D617267696E732E4C656674050000000000000080 + 00400B4D617267696E732E546F7005000000000000008000400D4D617267696E + 732E526967687405000000000000008000400E4D617267696E732E426F74746F + 6D05000000000000008000400A506F736974696F6E2E580500000000000000E0 + 03400A506F736974696F6E2E5905000000000000008000400A53697A652E5769 + 6474680500000000000000A003400B53697A652E486569676874050000000000 + 0000B804401453697A652E506C6174666F726D44656661756C74080007544C61 + 796F7574000A53697A652E57696474680500000000000000A003400B53697A65 + 2E4865696768740500000000000000B803401453697A652E506C6174666F726D + 44656661756C7408000754427574746F6E00095374796C654E616D6506087570 + 627574746F6E05416C69676E0706436C69656E740843616E466F637573080A53 + 697A652E57696474680500000000000000A003400B53697A652E486569676874 + 0500000000000000B803401453697A652E506C6174666F726D44656661756C74 + 080B5374796C654C6F6F6B757006127363726F6C6C626172746F70627574746F + 6E085461624F72646572020000000007544C61796F7574000A506F736974696F + 6E2E590500000000000000B803400A53697A652E576964746805000000000000 + 00A003400B53697A652E4865696768740500000000000000B803401453697A65 + 2E506C6174666F726D44656661756C7408000754427574746F6E00095374796C + 654E616D65060A646F776E627574746F6E05416C69676E0706436C69656E7408 + 43616E466F637573080A53697A652E57696474680500000000000000A003400B + 53697A652E4865696768740500000000000000B803401453697A652E506C6174 + 666F726D44656661756C74080B5374796C654C6F6F6B757006157363726F6C6C + 626172626F74746F6D627574746F6E085461624F726465720200000000001054 + 5374796C65546578744F626A65637400095374796C654E616D65060454657874 + 05416C69676E0706436C69656E74064C6F636B6564090C4D617267696E732E4C + 65667405000000000000008000400B4D617267696E732E546F70050000000000 + 00008000400D4D617267696E732E526967687405000000000000008000400E4D + 617267696E732E426F74746F6D05000000000000008000400A53697A652E5769 + 64746805000000000000000000000B53697A652E486569676874050000000000 + 0000B804401453697A652E506C6174666F726D44656661756C74081654657874 + 53657474696E67732E466F6E74436F6C6F7207097846464541454145410D5368 + 61646F7756697369626C650800000C5442727573684F626A6563740009537479 + 6C654E616D65060973656C656374696F6E0A42727573682E4B696E6407084772 + 616469656E741542727573682E4772616469656E742E506F696E74730E010543 + 6F6C6F720709783830324237393843064F666673657405000000000000000000 + 00000105436F6C6F720709783830324236453746064F66667365740500000000 + 0012A2F8FD3F000105436F6C6F720709783830324236343732064F6666736574 + 050000000000000080FF3F000000000954436865636B426F7800095374796C65 + 4E616D650605636865636B05416C69676E07084D6F73744C6566740843616E46 + 6F637573081244697361626C65466F637573456666656374090C4D617267696E + 732E4C65667405000000000000008000400A53697A652E576964746805000000 + 00000000A003400B53697A652E48656967687405000000000000009803401453 + 697A652E506C6174666F726D44656661756C7408085461624F72646572020307 + 56697369626C650800000754427574746F6E00095374796C654E616D65060B63 + 6C656172627574746F6E05416C69676E070552696768740843616E466F637573 + 080C4D617267696E732E4C65667405000000000000008000400B4D617267696E + 732E546F7005000000000000008000400D4D617267696E732E52696768740500 + 0000000000008000400E4D617267696E732E426F74746F6D0500000000000000 + 8000400A506F736974696F6E2E5805000000000000008001400A506F73697469 + 6F6E2E5905000000000000008000400A53697A652E5769647468050000000000 + 0000A003400B53697A652E4865696768740500000000000000B804401453697A + 652E506C6174666F726D44656661756C74080B5374796C654C6F6F6B7570061C + 7472616E73706172656E74636972636C65627574746F6E7374796C6500055450 + 6174680005416C69676E070346697409446174612E506174680AC40000001000 + 0000000000000000A0C00000704101000000000070410000A0C0010000000000 + 48420000F041010000000000AA420000A0C0010000000000D242000070410100 + 000000008C4200004842010000000000D2420000B442010000000000AA420000 + DC42020000003BDF34429E6F8C4202000000FE547D427FAAB042020000000000 + 48420000964201000000000070410000DC42010000000000A0C00000B4420100 + 00000000F04100005C42010000000000A0C00000704103000000000000000000 + 0000064C6F636B6564090748697454657374080C4D617267696E732E4C656674 + 05000000000000008001400B4D617267696E732E546F70050000000000000080 + 01400D4D617267696E732E526967687405000000000000008001400E4D617267 + 696E732E426F74746F6D05000000000000008001400A53697A652E5769647468 + 0500000000000000C002400B53697A652E4865696768740500000000000000C0 + 02401453697A652E506C6174666F726D44656661756C74080B5374726F6B652E + 4B696E6407044E6F6E65000000005450463007544C61796F757400095374796C + 654E616D65060D64617465656469747374796C650A53697A652E576964746805 + 00000000000000C804400B53697A652E4865696768740500000000000000C804 + 401453697A652E506C6174666F726D44656661756C74080756697369626C6508 + 085461624F72646572024F000B54476C6F774566666563740008536F66746E65 + 73730500000000009A9999FD3F09476C6F77436F6C6F72070978464636354338 + 4530074F706163697479050000000000000080FF3F0754726967676572060E49 + 73466F63757365643D7472756507456E61626C65640800000A5452656374616E + 676C6500095374796C654E616D65060A6261636B67726F756E6405416C69676E + 0708436F6E74656E74730A46696C6C2E436F6C6F720709784646313931393139 + 064C6F636B6564090748697454657374080A53697A652E576964746805000000 + 00000000C804400B53697A652E4865696768740500000000000000C804401453 + 697A652E506C6174666F726D44656661756C74080C5374726F6B652E436F6C6F + 720709784646333933393339000F54436F6C6F72416E696D6174696F6E000844 + 75726174696F6E050000000000CDCCCCFC3F0C50726F70657274794E616D6506 + 0A46696C6C2E436F6C6F720A537461727456616C756507097846463530353035 + 300953746F7056616C7565070978464637303730373000000F54436F6C6F7241 + 6E696D6174696F6E00084475726174696F6E050000000000CDCCCCFC3F07496E + 7665727365090C50726F70657274794E616D65060A46696C6C2E436F6C6F720A + 537461727456616C756507097846463530353035300953746F7056616C756507 + 0978464637303730373000000A5452656374616E676C650005416C69676E0706 + 436C69656E740946696C6C2E4B696E6407044E6F6E650748697454657374080C + 4D617267696E732E4C656674050000000000000080FF3F0B4D617267696E732E + 546F70050000000000000080FF3F0D4D617267696E732E526967687405000000 + 0000000080FF3F0E4D617267696E732E426F74746F6D050000000000000080FF + 3F0A53697A652E57696474680500000000000000C004400B53697A652E486569 + 6768740500000000000000C004401453697A652E506C6174666F726D44656661 + 756C74080C5374726F6B652E436F6C6F72070978464631383138313800000007 + 54427574746F6E00095374796C654E616D6506056172726F7705416C69676E07 + 094D6F737452696768740843616E466F637573080C4D617267696E732E4C6566 + 7405000000000000008000400B4D617267696E732E546F700500000000000000 + 8000400D4D617267696E732E526967687405000000000000008000400E4D6172 + 67696E732E426F74746F6D05000000000000008000400A506F736974696F6E2E + 580500000000000000E003400A506F736974696F6E2E59050000000000000080 + 00400A53697A652E57696474680500000000000000A003400B53697A652E4865 + 696768740500000000000000B804401453697A652E506C6174666F726D446566 + 61756C74080B5374796C654C6F6F6B757006157363726F6C6C626172626F7474 + 6F6D627574746F6E000010545374796C65546578744F626A6563740009537479 + 6C654E616D6506045465787405416C69676E0706436C69656E74064C6F636B65 + 64090C4D617267696E732E4C65667405000000000000008000400B4D61726769 + 6E732E546F7005000000000000008000400D4D617267696E732E526967687405 + 000000000000008000400E4D617267696E732E426F74746F6D05000000000000 + 008000400A53697A652E576964746805000000000000000000000B53697A652E + 4865696768740500000000000000B804401453697A652E506C6174666F726D44 + 656661756C7408165465787453657474696E67732E466F6E74436F6C6F720709 + 7846464541454145410D536861646F7756697369626C650800000C5442727573 + 684F626A65637400095374796C654E616D65060973656C656374696F6E0A4272 + 7573682E4B696E6407084772616469656E741542727573682E4772616469656E + 742E506F696E74730E0105436F6C6F720709783830324237393843064F666673 + 65740500000000000000000000000105436F6C6F720709783830324236453746 + 064F666673657405000000000012A2F8FD3F000105436F6C6F72070978383032 + 4236343732064F6666736574050000000000000080FF3F000000000954436865 + 636B426F7800095374796C654E616D650605636865636B05416C69676E07084D + 6F73744C6566740843616E466F637573081244697361626C65466F6375734566 + 66656374090C4D617267696E732E4C65667405000000000000008000400A5369 + 7A652E57696474680500000000000000A003400B53697A652E48656967687405 + 000000000000009803401453697A652E506C6174666F726D44656661756C7408 + 085461624F7264657202030756697369626C650800000754427574746F6E0009 + 5374796C654E616D65060B636C656172627574746F6E05416C69676E07055269 + 6768740843616E466F637573080C4D617267696E732E4C656674050000000000 + 00008000400B4D617267696E732E546F7005000000000000008000400D4D6172 + 67696E732E526967687405000000000000008000400E4D617267696E732E426F + 74746F6D05000000000000008000400A506F736974696F6E2E58050000000000 + 00008001400A506F736974696F6E2E5905000000000000008000400A53697A65 + 2E57696474680500000000000000A003400B53697A652E486569676874050000 + 0000000000B804401453697A652E506C6174666F726D44656661756C74080B53 + 74796C654C6F6F6B7570061C7472616E73706172656E74636972636C65627574 + 746F6E7374796C65000554506174680005416C69676E07034669740944617461 + 2E506174680AC400000010000000000000000000A0C000007041010000000000 + 70410000A0C001000000000048420000F041010000000000AA420000A0C00100 + 00000000D242000070410100000000008C4200004842010000000000D2420000 + B442010000000000AA420000DC42020000003BDF34429E6F8C4202000000FE54 + 7D427FAAB04202000000000048420000964201000000000070410000DC420100 + 00000000A0C00000B442010000000000F04100005C42010000000000A0C00000 + 7041030000000000000000000000064C6F636B6564090748697454657374080C + 4D617267696E732E4C65667405000000000000008001400B4D617267696E732E + 546F7005000000000000008001400D4D617267696E732E526967687405000000 + 000000008001400E4D617267696E732E426F74746F6D05000000000000008001 + 400A53697A652E57696474680500000000000000C002400B53697A652E486569 + 6768740500000000000000C002401453697A652E506C6174666F726D44656661 + 756C74080B5374726F6B652E4B696E6407044E6F6E6500000000545046300B54 + 477269644C61796F757400095374796C654E616D65060E7370696E6564697462 + 7574746F6E0A4974656D486569676874050000000000000080FFBF094974656D + 576964746805000000000000008005400B4F7269656E746174696F6E07085665 + 72746963616C0A53697A652E57696474680500000000000000C804400B53697A + 652E4865696768740500000000000000C804401453697A652E506C6174666F72 + 6D44656661756C74080756697369626C6508085461624F726465720250000754 + 4C61796F7574000A53697A652E57696474680500000000000000C804400B5369 + 7A652E4865696768740500000000000000C803401453697A652E506C6174666F + 726D44656661756C7408000754427574746F6E00095374796C654E616D650608 + 7570627574746F6E05416C69676E0706436C69656E740843616E466F63757308 + 0A53697A652E57696474680500000000000000C804400B53697A652E48656967 + 68740500000000000000C803401453697A652E506C6174666F726D4465666175 + 6C74080B5374796C654C6F6F6B757006127363726F6C6C626172746F70627574 + 746F6E085461624F72646572020000000007544C61796F7574000A506F736974 + 696F6E2E590500000000000000C803400A53697A652E57696474680500000000 + 000000C804400B53697A652E4865696768740500000000000000C80340145369 + 7A652E506C6174666F726D44656661756C7408000754427574746F6E00095374 + 796C654E616D65060A646F776E627574746F6E05416C69676E0706436C69656E + 740843616E466F637573080A53697A652E57696474680500000000000000C804 + 400B53697A652E4865696768740500000000000000C803401453697A652E506C + 6174666F726D44656661756C74080B5374796C654C6F6F6B757006157363726F + 6C6C626172626F74746F6D627574746F6E085461624F72646572020000000000} + end> + Left = 472 + Top = 72 + end + object SaveDialog1: TSaveDialog + Left = 368 + Top = 56 + end + object OpenDialog1: TOpenDialog + Left = 208 + Top = 96 + end + object Layout4: TLayout + Align = Bottom + Margins.Bottom = 8.000000000000000000 + Position.Y = 382.000000000000000000 + Size.Width = 592.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + object Button1: TButton + Align = Right + ModalResult = 1 + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 504.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Text = 'Start' + OnClick = Button1Click + end + end + object PopupMenu1: TPopupMenu + Left = 368 + Top = 450 + object MenuItem1: TMenuItem + Text = 'MenuItem1' + end + end + object VertScrollBox1: TVertScrollBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 576.000000000000000000 + Size.Height = 366.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Viewport.Width = 560.000000000000000000 + Viewport.Height = 366.000000000000000000 + object GroupBox1: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Input' + TabOrder = 7 + object Layout1: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Edit1: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Client + TabOrder = 0 + ReadOnly = True + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 440.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + object SearchEditButton1: TSearchEditButton + CanFocus = False + Cursor = crArrow + Size.Width = 28.000000000000000000 + Size.Height = 14.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + OnClick = SearchEditButton1Click + end + end + object ComboBox2: TComboBox + Align = Left + Items.Strings = ( + 'File' + 'Directory' + 'URL') + ItemIndex = 0 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + OnChange = ComboBox2Change + end + end + end + object GroupBox2: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 108.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 90.000000000000000000 + Size.PlatformDefault = False + Text = 'Options' + TabOrder = 3 + object Layout3: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 15 + object Label1: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Chunk size (MB)' + TabOrder = 1 + end + object SpinBox1: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 3 + Cursor = crIBeam + DecimalDigits = 0 + Min = 16.000000000000000000 + Max = 1792.000000000000000000 + Value = 16.000000000000000000 + Increment = 16.000000000000000000 + Position.X = 116.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object Label2: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 224.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Threads' + TabOrder = 0 + end + object SpinBox2: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 2 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 1.000000000000000000 + Value = 1.000000000000000000 + Position.X = 332.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox1: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 440.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 4 + Text = 'Low memory' + end + end + object Layout2: TLayout + Align = Top + Position.Y = 52.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Label3: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Depth' + TabOrder = 0 + end + object SpinBox3: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 1 + Cursor = crIBeam + DecimalDigits = 0 + Max = 63.000000000000000000 + Position.X = 116.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox2: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 224.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 140.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 5 + Text = 'Skip verification' + end + object CheckBox6: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 372.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 140.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 4 + Text = 'Verbose' + end + end + end + object GroupBox3: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 54.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Output' + TabOrder = 0 + object Layout7: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Edit3: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Client + TabOrder = 0 + ReadOnly = True + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 440.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + object SearchEditButton3: TSearchEditButton + CanFocus = False + Cursor = crArrow + Size.Width = 28.000000000000000000 + Size.Height = 14.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + OnClick = SearchEditButton3Click + end + end + object ComboBox3: TComboBox + Align = Left + Items.Strings = ( + 'File' + 'None') + ItemIndex = 0 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + OnChange = ComboBox3Change + end + end + end + object GroupBox4: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 360.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Deduplication' + TabOrder = 2 + object Layout6: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 12 + object CheckBox3: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'Enable' + end + object Label4: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 116.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Srep method' + TabOrder = 1 + end + object SpinBox4: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Max = 5.000000000000000000 + Value = 3.000000000000000000 + Position.X = 224.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + end + object GroupBox5: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 414.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Compression' + TabOrder = 1 + object Layout8: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 13 + object Label7: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 116.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Compression level' + TabOrder = 0 + end + object SpinBox7: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 1 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 10.000000000000000000 + Value = 6.000000000000000000 + Position.X = 224.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox5: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 332.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 160.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'High compression mode' + end + object CheckBox4: TCheckBox + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Enable' + end + end + end + object GroupBox6: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 198.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Method' + TabOrder = 4 + object Layout5: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Edit2: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Client + TabOrder = 0 + ReadOnly = True + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 440.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object Button2: TButton + Align = Right + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 456.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'Configure' + OnClick = Button2Click + end + end + end + object GroupBox7: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 306.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Database' + TabOrder = 6 + object Layout9: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Edit4: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Client + TabOrder = 0 + ReadOnly = True + Enabled = False + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 440.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + object SearchEditButton2: TSearchEditButton + CanFocus = False + Cursor = crArrow + Size.Width = 28.000000000000000000 + Size.Height = 14.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + OnClick = SearchEditButton2Click + end + end + object ComboBox1: TComboBox + Align = Left + Items.Strings = ( + 'Disabled' + 'Internal' + 'Generate' + 'Load') + ItemIndex = 0 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + OnChange = ComboBox1Change + end + end + end + object GroupBox8: TGroupBox + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 252.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 54.000000000000000000 + Size.PlatformDefault = False + Text = 'Library checker' + TabOrder = 5 + object Layout10: TLayout + Align = Top + Margins.Top = 16.000000000000000000 + Position.Y = 16.000000000000000000 + Size.Width = 544.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 14 + object Edit5: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Client + TabOrder = 0 + ReadOnly = True + Enabled = False + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 440.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + object SearchEditButton4: TSearchEditButton + CanFocus = False + Cursor = crArrow + Size.Width = 28.000000000000000000 + Size.Height = 14.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + OnClick = SearchEditButton4Click + end + end + object ComboBox4: TComboBox + Align = Left + Items.Strings = ( + 'Disabled' + 'LZ4' + 'ZSTD' + 'Oodle') + ItemIndex = 0 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + OnChange = ComboBox4Change + end + end + end + end +end diff --git a/Unit1.pas b/Unit1.pas new file mode 100644 index 0000000..ab71f7c --- /dev/null +++ b/Unit1.pas @@ -0,0 +1,221 @@ +unit Unit1; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + System.Variants, System.Math, System.StrUtils, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl, + FMX.Layouts, FMX.ListBox, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Edit, + FMX.EditBox, FMX.SpinBox, FMX.Menus; + +type + TForm1 = class(TForm) + StyleBook1: TStyleBook; + SaveDialog1: TSaveDialog; + OpenDialog1: TOpenDialog; + Layout4: TLayout; + Button1: TButton; + GroupBox1: TGroupBox; + ComboBox2: TComboBox; + Edit1: TEdit; + SearchEditButton1: TSearchEditButton; + Layout1: TLayout; + GroupBox2: TGroupBox; + Layout3: TLayout; + VertScrollBox1: TVertScrollBox; + GroupBox3: TGroupBox; + Layout7: TLayout; + Edit3: TEdit; + SearchEditButton3: TSearchEditButton; + ComboBox3: TComboBox; + Label1: TLabel; + SpinBox1: TSpinBox; + Label2: TLabel; + SpinBox2: TSpinBox; + CheckBox1: TCheckBox; + Layout2: TLayout; + Label3: TLabel; + SpinBox3: TSpinBox; + GroupBox4: TGroupBox; + Layout6: TLayout; + GroupBox5: TGroupBox; + Layout8: TLayout; + Label7: TLabel; + SpinBox7: TSpinBox; + CheckBox5: TCheckBox; + CheckBox3: TCheckBox; + Label4: TLabel; + SpinBox4: TSpinBox; + CheckBox4: TCheckBox; + PopupMenu1: TPopupMenu; + MenuItem1: TMenuItem; + GroupBox6: TGroupBox; + Layout5: TLayout; + Edit2: TEdit; + Button2: TButton; + GroupBox7: TGroupBox; + Layout9: TLayout; + Edit4: TEdit; + SearchEditButton2: TSearchEditButton; + ComboBox1: TComboBox; + CheckBox2: TCheckBox; + CheckBox6: TCheckBox; + GroupBox8: TGroupBox; + Layout10: TLayout; + Edit5: TEdit; + SearchEditButton4: TSearchEditButton; + ComboBox4: TComboBox; + procedure FormShow(Sender: TObject); + procedure SearchEditButton1Click(Sender: TObject); + procedure SearchEditButton3Click(Sender: TObject); + procedure ComboBox3Change(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure ComboBox2Change(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure SearchEditButton2Click(Sender: TObject); + procedure ComboBox4Change(Sender: TObject); + procedure SearchEditButton4Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + CmdStr: TArray; + +implementation + +{$R *.fmx} + +uses + Unit2; + +procedure TForm1.Button1Click(Sender: TObject); +begin + SetLength(CmdStr, 0); + Insert(ParamStr(0), CmdStr, Length(CmdStr)); + Insert('precomp', CmdStr, Length(CmdStr)); + Insert('-c' + SpinBox1.Text + 'mb', CmdStr, Length(CmdStr)); + Insert('-t' + SpinBox2.Text, CmdStr, Length(CmdStr)); + if CheckBox1.IsChecked then + Insert('-lm', CmdStr, Length(CmdStr)); + Insert('-d' + SpinBox3.Text, CmdStr, Length(CmdStr)); + if CheckBox2.IsChecked then + Insert('-s', CmdStr, Length(CmdStr)); + if CheckBox6.IsChecked then + Insert('-v', CmdStr, Length(CmdStr)); + Insert('-m' + Edit2.Text, CmdStr, Length(CmdStr)); + if ComboBox1.ItemIndex = 1 then + Insert('-db', CmdStr, Length(CmdStr)) + else if ComboBox1.ItemIndex > 1 then + Insert('-db' + Edit4.Text, CmdStr, Length(CmdStr)); + if CheckBox3.IsChecked then + Insert('-dd' + IfThen(SpinBox4.Enabled, SpinBox4.Text, ''), CmdStr, + Length(CmdStr)); + if CheckBox4.IsChecked then + Insert('--compress=' + 't' + SpinBox2.Text + ':l' + SpinBox7.Text + ':hi' + + IfThen(CheckBox5.IsChecked, '1', '0'), CmdStr, Length(CmdStr)); + Insert(Edit1.Text, CmdStr, Length(CmdStr)); + if ComboBox3.ItemIndex = 0 then + Insert(Edit3.Text, CmdStr, Length(CmdStr)); +end; + +procedure TForm1.Button2Click(Sender: TObject); +begin + Form2.Left := Form1.Left + (Form1.Width div 2) - (Form2.Width div 2); + Form2.Top := Form1.Top + (Form1.Height div 2) - (Form2.Height div 2); + Form2.ShowModal; + Form2.Close; +end; + +procedure TForm1.ComboBox1Change(Sender: TObject); +begin + Edit4.Enabled := ComboBox1.ItemIndex in [2, 3]; + Edit4.Text := ''; +end; + +procedure TForm1.ComboBox2Change(Sender: TObject); +begin + SearchEditButton1.Enabled := ComboBox2.ItemIndex <> 2; + Edit1.ReadOnly := ComboBox2.ItemIndex <> 2; + if ComboBox2.ItemIndex = 2 then + Edit1.Text := 'http://mattmahoney.net/dc/silesia.zip' + else + Edit1.Text := ''; +end; + +procedure TForm1.ComboBox3Change(Sender: TObject); +begin + Edit3.Enabled := ComboBox3.ItemIndex <> 1; +end; + +procedure TForm1.ComboBox4Change(Sender: TObject); +begin + Edit5.Enabled := ComboBox4.ItemIndex > 0; + Edit5.Text := ''; +end; + +procedure TForm1.FormShow(Sender: TObject); +var + I: Integer; +begin + for I := 0 to ComponentCount - 1 do + if Components[I] is TSpinBox then + TSpinBox(Components[I]).Cursor := crDefault; + SpinBox2.Max := CPUCount * 2; + SpinBox2.Value := Max(1, CPUCount div 2); +end; + +procedure TForm1.SearchEditButton1Click(Sender: TObject); +var + Dir: string; +begin + case ComboBox2.ItemIndex of + 0: + begin + OpenDialog1.FileName := ''; + if OpenDialog1.Execute then + Edit1.Text := OpenDialog1.FileName; + end; + 1: + if SelectDirectory('', '', Dir) then + Edit1.Text := Dir; + end; +end; + +procedure TForm1.SearchEditButton2Click(Sender: TObject); +begin + if ComboBox1.ItemIndex = 2 then + begin + SaveDialog1.FileName := ''; + if SaveDialog1.Execute then + Edit4.Text := SaveDialog1.FileName; + end + else if ComboBox1.ItemIndex = 3 then + begin + OpenDialog1.FileName := ''; + if OpenDialog1.Execute then + Edit4.Text := OpenDialog1.FileName; + end; +end; + +procedure TForm1.SearchEditButton3Click(Sender: TObject); +begin + SaveDialog1.FileName := ''; + if SaveDialog1.Execute then + Edit3.Text := SaveDialog1.FileName; +end; + +procedure TForm1.SearchEditButton4Click(Sender: TObject); +var + Dir: string; +begin + if SelectDirectory('', '', Dir) then + Edit5.Text := Dir; +end; + +end. diff --git a/Unit2.fmx b/Unit2.fmx new file mode 100644 index 0000000..2ce35f6 --- /dev/null +++ b/Unit2.fmx @@ -0,0 +1,1287 @@ +object Form2: TForm2 + Left = 0 + Top = 0 + BorderIcons = [biSystemMenu] + BorderStyle = Single + Caption = 'XTool' + ClientHeight = 420 + ClientWidth = 300 + Position = OwnerFormCenter + StyleBook = Form1.StyleBook1 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnShow = FormShow + DesignerMasterStyle = 0 + object TabControl1: TTabControl + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 284.000000000000000000 + Size.Height = 376.000000000000000000 + Size.PlatformDefault = False + TabIndex = 0 + TabOrder = 0 + TabPosition = PlatformDefault + Sizes = ( + 284s + 354s + 284s + 354s) + object TabItem1: TTabItem + CustomIcon = < + item + end> + IsSelected = True + Size.Width = 101.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + StyleLookup = '' + TabOrder = 0 + Text = 'Internal codecs' + ExplicitSize.cx = 101.000000000000000000 + ExplicitSize.cy = 26.000000000000000000 + object VertScrollBox1: TVertScrollBox + Align = Client + Size.Width = 284.000000000000000000 + Size.Height = 354.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Viewport.Width = 268.000000000000000000 + Viewport.Height = 354.000000000000000000 + object Expander1: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 242.000000000000000000 + Size.PlatformDefault = False + Text = 'ZLib' + TabOrder = 5 + ContentSize = '217' + object Layout6: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 37 + object CheckBox3: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'ZLib' + OnChange = CheckBox3Change + end + end + object Layout1: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object Label4: TLabel + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Window bits' + TabOrder = 1 + end + object SpinBox4: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 8.000000000000000000 + Max = 15.000000000000000000 + Value = 15.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + object Layout2: TLayout + Align = Top + Position.Y = 72.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 36 + object CheckBox1: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'Reflate' + OnChange = CheckBox1Change + end + end + object Layout3: TLayout + Align = Top + Position.Y = 108.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object Label1: TLabel + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Level' + TabOrder = 1 + end + object SpinBox1: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 6.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + object Layout4: TLayout + Align = Top + Position.Y = 144.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 35 + object CheckBox2: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'Preflate' + end + end + object Layout28: TLayout + Align = Top + Position.Y = 180.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 34 + object CheckBox20: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'PNG Preprocessor (Depth +1)' + end + end + end + object Expander2: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 258.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 278.000000000000000000 + Size.PlatformDefault = False + Text = 'LZ4' + TabOrder = 0 + ContentSize = '253' + object Layout5: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 38 + object CheckBox4: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'LZ4 (Experimental)' + OnChange = CheckBox4Change + end + end + object Layout7: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 35 + object Label2: TLabel + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Acceleration' + TabOrder = 1 + end + object SpinBox2: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 16.000000000000000000 + Value = 1.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + object Layout8: TLayout + Align = Top + Position.Y = 72.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 37 + object CheckBox5: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'LZ4HC (Experimental)' + OnChange = CheckBox5Change + end + end + object Layout9: TLayout + Align = Top + Position.Y = 108.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 34 + object SpinBox3: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 2.000000000000000000 + Max = 12.000000000000000000 + Value = 9.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox24: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox24Change + end + end + object Layout10: TLayout + Align = Top + Position.Y = 144.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 36 + object CheckBox6: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'LZ4F' + OnChange = CheckBox6Change + end + end + object Layout11: TLayout + Align = Top + Position.Y = 216.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object SpinBox5: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 2.000000000000000000 + Max = 12.000000000000000000 + Value = 9.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox23: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox23Change + end + end + object Layout12: TLayout + Align = Top + Position.Y = 180.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object Label6: TLabel + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Block dependency' + TabOrder = 1 + end + object SpinBox6: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Max = 1.000000000000000000 + Value = 1.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + end + object Expander3: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 544.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 134.000000000000000000 + Size.PlatformDefault = False + Text = 'LZO' + TabOrder = 4 + ContentSize = '109' + object Layout13: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 34 + object CheckBox7: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'LZO1X' + OnChange = CheckBox7Change + end + end + object Layout14: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object Label7: TLabel + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Mode' + TabOrder = 0 + end + object ComboBox1: TComboBox + Align = Left + Items.Strings = ( + 'LZO1X-999') + ItemIndex = 0 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + end + end + object Layout15: TLayout + Align = Top + Position.Y = 72.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object SpinBox8: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 9.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox25: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox25Change + end + end + end + object Expander4: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 686.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 98.000000000000000000 + Size.PlatformDefault = False + Text = 'ZSTD' + TabOrder = 3 + ContentSize = '73' + object Layout16: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object CheckBox8: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'ZSTD' + OnChange = CheckBox8Change + end + end + object Layout18: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object SpinBox7: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 22.000000000000000000 + Value = 19.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox9: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox9Change + end + end + end + object Expander5: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 792.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 456.000000000000000000 + Size.PlatformDefault = False + Text = 'Oodle' + TabOrder = 1 + ContentSize = '431' + object Layout17: TLayout + Align = Top + Position.Y = 72.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 43 + object CheckBox10: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Kraken' + OnChange = CheckBox10Change + end + end + object Layout19: TLayout + Align = Top + Position.Y = 108.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 38 + object SpinBox9: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 4.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox11: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox11Change + end + end + object Layout20: TLayout + Align = Top + Position.Y = 144.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 42 + object CheckBox12: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Mermaid' + OnChange = CheckBox12Change + end + end + object Layout21: TLayout + Align = Top + Position.Y = 180.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 37 + object SpinBox10: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 4.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox13: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox13Change + end + end + object Layout22: TLayout + Align = Top + Position.Y = 216.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 41 + object CheckBox14: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Selkie' + OnChange = CheckBox14Change + end + end + object Layout23: TLayout + Align = Top + Position.Y = 252.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 36 + object SpinBox11: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 4.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox15: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox15Change + end + end + object Layout24: TLayout + Align = Top + Position.Y = 288.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 40 + object CheckBox16: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Hydra (Experimental)' + OnChange = CheckBox16Change + end + end + object Layout25: TLayout + Align = Top + Position.Y = 324.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 35 + object SpinBox12: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 4.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox17: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox17Change + end + end + object Layout26: TLayout + Align = Top + Position.Y = 360.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 39 + object CheckBox18: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Leviathan (Experimental)' + OnChange = CheckBox18Change + end + end + object Layout27: TLayout + Align = Top + Position.Y = 396.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 34 + object SpinBox13: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 9.000000000000000000 + Value = 4.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object CheckBox19: TCheckBox + Align = Left + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Level' + OnChange = CheckBox19Change + end + end + object Layout31: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object Label3: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 122.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'No. of scan iterations' + TabOrder = 1 + end + object SpinBox15: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 32.000000000000000000 + Max = 1024.000000000000000000 + Value = 32.000000000000000000 + Increment = 32.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + object Layout36: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object Label5: TLabel + Align = Left + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 122.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + Text = 'Speed/size tradeoff' + TabOrder = 1 + end + object SpinBox16: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 32.000000000000000000 + Max = 1024.000000000000000000 + Value = 256.000000000000000000 + Increment = 64.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + end + end + object Expander6: TExpander + Align = Top + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 1256.000000000000000000 + ShowCheck = False + Size.Width = 252.000000000000000000 + Size.Height = 240.000000000000000000 + Size.PlatformDefault = False + Text = 'Media' + TabOrder = 2 + ContentSize = '215' + object Layout29: TLayout + Align = Top + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 37 + object CheckBox21: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'WAV audio compression' + OnChange = CheckBox21Change + end + end + object Layout30: TLayout + Align = Top + Position.Y = 36.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 35 + object SpinBox14: TSpinBox + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Left + TabOrder = 0 + Cursor = crIBeam + DecimalDigits = 0 + Min = 1.000000000000000000 + Max = 8.000000000000000000 + Value = 5.000000000000000000 + Position.X = 138.000000000000000000 + Position.Y = 8.000000000000000000 + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + end + object RadioButton4: TRadioButton + Align = Left + GroupName = 'WAV' + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Position.X = 30.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'FLAC' + OnChange = RadioButton4Change + end + end + object Layout32: TLayout + Align = Top + Position.Y = 72.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 36 + object CheckBox26: TCheckBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 236.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'JPG image compression' + OnChange = CheckBox26Change + end + end + object Layout33: TLayout + Align = Top + Position.Y = 108.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 34 + object RadioButton1: TRadioButton + Align = Client + GroupName = 'JPG' + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 214.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'Brunsli' + end + end + object Layout34: TLayout + Align = Top + Position.Y = 144.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 33 + object RadioButton2: TRadioButton + Align = Client + GroupName = 'JPG' + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 214.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'PackJPG' + end + end + object Layout35: TLayout + Align = Top + Position.Y = 180.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 36.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + object RadioButton3: TRadioButton + Align = Client + GroupName = 'JPG' + Margins.Left = 30.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 214.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'JoJpeg (Experimental)' + end + end + end + end + end + object TabItem2: TTabItem + CustomIcon = < + item + end> + IsSelected = False + Size.Width = 102.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + StyleLookup = '' + TabOrder = 0 + Text = 'External codecs' + ExplicitSize.cx = 102.000000000000000000 + ExplicitSize.cy = 26.000000000000000000 + object VertScrollBox3: TVertScrollBox + Align = Client + Size.Width = 284.000000000000000000 + Size.Height = 354.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Viewport.Width = 284.000000000000000000 + Viewport.Height = 354.000000000000000000 + object Expander10: TExpander + Align = MostTop + Margins.Left = 8.000000000000000000 + Margins.Top = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + ShowCheck = False + Size.Width = 268.000000000000000000 + Size.Height = 130.000000000000000000 + Size.PlatformDefault = False + Text = 'Databases (*.xtl)' + TabOrder = 2 + ContentSize = '105' + object ListBox2: TListBox + Align = Client + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Margins.Bottom = 8.000000000000000000 + Size.Width = 252.000000000000000000 + Size.Height = 97.000000000000000000 + Size.PlatformDefault = False + TabOrder = 32 + DisableFocusEffect = True + DefaultItemStyles.ItemStyle = '' + DefaultItemStyles.GroupHeaderStyle = '' + DefaultItemStyles.GroupFooterStyle = '' + ShowCheckboxes = True + Viewport.Width = 248.000000000000000000 + Viewport.Height = 93.000000000000000000 + end + end + end + end + end + object Layout37: TLayout + Align = Bottom + Margins.Bottom = 8.000000000000000000 + Position.Y = 392.000000000000000000 + Size.Width = 300.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + object Button1: TButton + Align = Right + ModalResult = 1 + Margins.Left = 8.000000000000000000 + Margins.Right = 8.000000000000000000 + Position.X = 212.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 20.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Text = 'Ok' + OnClick = Button1Click + end + end +end diff --git a/Unit2.pas b/Unit2.pas new file mode 100644 index 0000000..3131eb0 --- /dev/null +++ b/Unit2.pas @@ -0,0 +1,562 @@ +unit Unit2; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + System.Variants, System.Math, System.StrUtils, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl, + FMX.StdCtrls, FMX.Edit, FMX.EditBox, FMX.SpinBox, FMX.Controls.Presentation, + FMX.Layouts, FMX.ListBox; + +type + TForm2 = class(TForm) + TabControl1: TTabControl; + TabItem1: TTabItem; + TabItem2: TTabItem; + Expander1: TExpander; + Layout6: TLayout; + CheckBox3: TCheckBox; + Layout1: TLayout; + Label4: TLabel; + SpinBox4: TSpinBox; + Layout2: TLayout; + CheckBox1: TCheckBox; + Layout3: TLayout; + Label1: TLabel; + SpinBox1: TSpinBox; + Layout4: TLayout; + CheckBox2: TCheckBox; + Expander2: TExpander; + Layout5: TLayout; + CheckBox4: TCheckBox; + Layout7: TLayout; + Label2: TLabel; + SpinBox2: TSpinBox; + Layout8: TLayout; + CheckBox5: TCheckBox; + Layout9: TLayout; + SpinBox3: TSpinBox; + Layout10: TLayout; + CheckBox6: TCheckBox; + VertScrollBox1: TVertScrollBox; + Layout11: TLayout; + SpinBox5: TSpinBox; + Layout12: TLayout; + Label6: TLabel; + SpinBox6: TSpinBox; + Expander3: TExpander; + Layout13: TLayout; + CheckBox7: TCheckBox; + Layout14: TLayout; + Label7: TLabel; + Layout15: TLayout; + SpinBox8: TSpinBox; + ComboBox1: TComboBox; + Expander4: TExpander; + Layout16: TLayout; + CheckBox8: TCheckBox; + Layout18: TLayout; + SpinBox7: TSpinBox; + CheckBox9: TCheckBox; + Expander5: TExpander; + Layout17: TLayout; + CheckBox10: TCheckBox; + Layout19: TLayout; + SpinBox9: TSpinBox; + CheckBox11: TCheckBox; + Layout20: TLayout; + CheckBox12: TCheckBox; + Layout21: TLayout; + SpinBox10: TSpinBox; + CheckBox13: TCheckBox; + Layout22: TLayout; + CheckBox14: TCheckBox; + Layout23: TLayout; + SpinBox11: TSpinBox; + CheckBox15: TCheckBox; + Layout24: TLayout; + CheckBox16: TCheckBox; + Layout25: TLayout; + SpinBox12: TSpinBox; + CheckBox17: TCheckBox; + Layout26: TLayout; + CheckBox18: TCheckBox; + Layout27: TLayout; + SpinBox13: TSpinBox; + CheckBox19: TCheckBox; + Layout28: TLayout; + CheckBox20: TCheckBox; + Expander6: TExpander; + Layout29: TLayout; + CheckBox21: TCheckBox; + Layout30: TLayout; + SpinBox14: TSpinBox; + CheckBox23: TCheckBox; + CheckBox24: TCheckBox; + CheckBox25: TCheckBox; + Layout31: TLayout; + Label3: TLabel; + SpinBox15: TSpinBox; + Layout32: TLayout; + CheckBox26: TCheckBox; + Layout33: TLayout; + RadioButton1: TRadioButton; + Layout34: TLayout; + RadioButton2: TRadioButton; + Layout35: TLayout; + RadioButton3: TRadioButton; + Layout36: TLayout; + Label5: TLabel; + SpinBox16: TSpinBox; + Layout37: TLayout; + Button1: TButton; + RadioButton4: TRadioButton; + VertScrollBox3: TVertScrollBox; + Expander10: TExpander; + ListBox2: TListBox; + procedure FormShow(Sender: TObject); + procedure CheckBox3Change(Sender: TObject); + procedure CheckBox1Change(Sender: TObject); + procedure CheckBox4Change(Sender: TObject); + procedure CheckBox5Change(Sender: TObject); + procedure CheckBox6Change(Sender: TObject); + procedure CheckBox7Change(Sender: TObject); + procedure CheckBox10Change(Sender: TObject); + procedure CheckBox8Change(Sender: TObject); + procedure CheckBox12Change(Sender: TObject); + procedure CheckBox14Change(Sender: TObject); + procedure CheckBox16Change(Sender: TObject); + procedure CheckBox18Change(Sender: TObject); + procedure CheckBox21Change(Sender: TObject); + procedure CheckBox26Change(Sender: TObject); + procedure CheckBox24Change(Sender: TObject); + procedure CheckBox23Change(Sender: TObject); + procedure CheckBox25Change(Sender: TObject); + procedure CheckBox9Change(Sender: TObject); + procedure CheckBox11Change(Sender: TObject); + procedure CheckBox13Change(Sender: TObject); + procedure CheckBox15Change(Sender: TObject); + procedure CheckBox17Change(Sender: TObject); + procedure CheckBox19Change(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure RadioButton4Change(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + + TMethod = record + FName: String; + FType: Integer; + Codecs: TArray; + end; + + TConfigCtrl = class(TObject) + private + FOwner, FParent: TFmxObject; + FExpander: TExpander; + FListBox: TListBox; + public + constructor Create(AOwner, AParent: TFmxObject); + destructor Destroy; override; + procedure SetText(AText: String); + procedure AddCodec(ACodec: String); + function GetCodec(out Codec: String): Boolean; + end; + + TLibraryCtrl = class(TObject) + private + FOwner, FParent: TFmxObject; + FExpander: TExpander; + FCheckBox: TArray; + FLayout1, FLayout2: TArray; + FLabel: TArray; + FEdit: TArray; + procedure OnCheckBoxChange(Sender: TObject); + public + constructor Create(AOwner, AParent: TFmxObject); + destructor Destroy; override; + procedure SetText(AText: String); + procedure AddCodec(ACodec: String); + function GetCodec(out Codec: String): Boolean; + end; + +var + Form2: TForm2; + Methods: TArray; + CfgCtrls: TArray; + LibCtrls: TArray; + +implementation + +{$R *.fmx} + +uses Unit1; + +procedure AddMethod(const SubStr: String; var ResStr: String; + ParamStr: TArray; ParamBool: TArray); +var + I: Integer; + S: String; +begin + if ResStr = '' then + ResStr := SubStr + else + ResStr := ResStr + '+' + SubStr; + S := ''; + for I := Low(ParamStr) to High(ParamStr) do + if ParamBool[I] then + S := S + ':' + ParamStr[I]; + ResStr := ResStr + S; +end; + +constructor TConfigCtrl.Create(AOwner, AParent: TFmxObject); +begin + inherited Create; + FOwner := AOwner; + FParent := AParent; + FExpander := TExpander.Create(FOwner); + FExpander.Parent := FParent; + FExpander.Height := 130; + FExpander.Margins.Top := 8; + FExpander.Margins.Left := 8; + FExpander.Margins.Right := 8; + FExpander.Align := TAlignLayout.Top; + FListBox := TListBox.Create(FExpander); + FListBox.Parent := FExpander; + FListBox.Margins.Bottom := 8; + FListBox.Margins.Left := 8; + FListBox.Margins.Right := 8; + FListBox.Align := TAlignLayout.Client; + FListBox.ShowCheckboxes := True; +end; + +destructor TConfigCtrl.Destroy; +begin + FListBox.Free; + FExpander.Free; + inherited Destroy; +end; + +procedure TConfigCtrl.SetText(AText: String); +begin + FExpander.Text := AText; +end; + +procedure TConfigCtrl.AddCodec(ACodec: String); +begin + FListBox.Items.Add(ACodec); +end; + +function TConfigCtrl.GetCodec(out Codec: String): Boolean; +var + I: Integer; + S: String; +begin + Result := False; + S := ''; + for I := 0 to FListBox.Items.Count - 1 do + if FListBox.ItemByIndex(I).IsChecked then + begin + S := S + ':' + FListBox.Items[I]; + Result := True; + end; + if Result then + Codec := FExpander.Text + S; +end; + +constructor TLibraryCtrl.Create(AOwner, AParent: TFmxObject); +begin + inherited Create; + FOwner := AOwner; + FParent := AParent; + FExpander := TExpander.Create(FOwner); + FExpander.Parent := FParent; + FExpander.Height := 25; + FExpander.Margins.Top := 8; + FExpander.Margins.Left := 8; + FExpander.Margins.Right := 8; + FExpander.Align := TAlignLayout.Top; +end; + +destructor TLibraryCtrl.Destroy; +begin + FExpander.Free; + inherited Destroy; +end; + +procedure TLibraryCtrl.OnCheckBoxChange(Sender: TObject); +var + I: Integer; +begin + for I := Low(FCheckBox) to High(FCheckBox) do + if Sender = FCheckBox[I] then + FEdit[I].Enabled := FCheckBox[I].IsChecked; +end; + +procedure TLibraryCtrl.SetText(AText: String); +begin + FExpander.Text := AText; +end; + +procedure TLibraryCtrl.AddCodec(ACodec: String); +var + I: Integer; +begin + I := Length(FLayout1); + Insert(TLayout.Create(FExpander), FLayout1, Length(FLayout1)); + FLayout1[I].Parent := FExpander; + FLayout1[I].Height := 64; + FLayout1[I].Align := TAlignLayout.Top; + Insert(TCheckBox.Create(FLayout1[I]), FCheckBox, Length(FCheckBox)); + FCheckBox[I].Parent := FLayout1[I]; + FCheckBox[I].Height := 20; + FCheckBox[I].Margins.Top := 8; + FCheckBox[I].Margins.Left := 8; + FCheckBox[I].Margins.Right := 8; + FCheckBox[I].Align := TAlignLayout.Top; + FCheckBox[I].Text := ACodec; + FCheckBox[I].OnChange := OnCheckBoxChange; + Insert(TLayout.Create(FLayout1[I]), FLayout2, Length(FLayout2)); + FLayout2[I].Parent := FLayout1[I]; + FLayout2[I].Align := TAlignLayout.Client; + Insert(TLabel.Create(FLayout2[I]), FLabel, Length(FLabel)); + FLabel[I].Parent := FLayout2[I]; + FLabel[I].Width := 40; + FLabel[I].Margins.Top := 8; + FLabel[I].Margins.Bottom := 8; + FLabel[I].Margins.Left := 8; + FLabel[I].Align := TAlignLayout.Left; + FLabel[I].Text := 'Param'; + Insert(TEdit.Create(FLayout2[I]), FEdit, Length(FEdit)); + FEdit[I].Parent := FLayout2[I]; + FEdit[I].Enabled := False; + FEdit[I].Margins.Top := 8; + FEdit[I].Margins.Bottom := 8; + FEdit[I].Margins.Left := 8; + FEdit[I].Margins.Right := 8; + FEdit[I].Align := TAlignLayout.Client; + FExpander.Height := FExpander.Height + 64; +end; + +function TLibraryCtrl.GetCodec(out Codec: String): Boolean; +var + I: Integer; + S: String; +begin + Result := False; + S := ''; + for I := Low(FCheckBox) to High(FCheckBox) do + if FCheckBox[I].IsChecked then + begin + AddMethod(FCheckBox[I].Text, S, [FEdit[I].Text], [FEdit[I].Text <> '']); + Result := True; + end; + if Result then + Codec := S; +end; + +procedure TForm2.Button1Click(Sender: TObject); +var + I: Integer; + S, Res: String; +begin + Res := ''; + if CheckBox3.IsChecked then + AddMethod('zlib', Res, ['w' + SpinBox4.Text], [True]); + if CheckBox1.IsChecked then + AddMethod('reflate', Res, ['l' + SpinBox1.Text], [True]); + if CheckBox2.IsChecked then + AddMethod('preflate', Res, [], []); + if CheckBox20.IsChecked then + AddMethod('png', Res, [], []); + if CheckBox4.IsChecked then + AddMethod('lz4', Res, ['a' + SpinBox2.Text], [True]); + if CheckBox5.IsChecked then + AddMethod('lz4hc', Res, ['l' + SpinBox3.Text], [CheckBox24.IsChecked]); + if CheckBox6.IsChecked then + AddMethod('lz4f', Res, ['l' + SpinBox5.Text, 'd' + SpinBox6.Text], + [CheckBox23.IsChecked, True]); + if CheckBox7.IsChecked then + AddMethod('lzo1x', Res, ['l' + SpinBox8.Text], [CheckBox25.IsChecked]); + if CheckBox8.IsChecked then + AddMethod('zstd', Res, ['l' + SpinBox7.Text], [CheckBox9.IsChecked]); + if CheckBox10.IsChecked then + AddMethod('kraken', Res, ['l' + SpinBox9.Text, 'n' + SpinBox15.Text, + 't' + SpinBox16.Text], [CheckBox11.IsChecked, True, True]); + if CheckBox12.IsChecked then + AddMethod('mermaid', Res, ['l' + SpinBox10.Text, 'n' + SpinBox15.Text, + 't' + SpinBox16.Text], [CheckBox13.IsChecked, True, True]); + if CheckBox14.IsChecked then + AddMethod('selkie', Res, ['l' + SpinBox11.Text, 'n' + SpinBox15.Text, + 't' + SpinBox16.Text], [CheckBox15.IsChecked, True, True]); + if CheckBox16.IsChecked then + AddMethod('hydra', Res, ['l' + SpinBox12.Text, 'n' + SpinBox15.Text, + 't' + SpinBox16.Text], [CheckBox17.IsChecked, True, True]); + if CheckBox18.IsChecked then + AddMethod('leviathan', Res, ['l' + SpinBox13.Text, 'n' + SpinBox15.Text, + 't' + SpinBox16.Text], [CheckBox19.IsChecked, True, True]); + if CheckBox21.IsChecked then + AddMethod('flac', Res, ['l' + SpinBox14.Text], [RadioButton4.IsChecked]); + if CheckBox26.IsChecked and RadioButton1.IsChecked then + AddMethod('brunsli', Res, [], []); + if CheckBox26.IsChecked and RadioButton2.IsChecked then + AddMethod('packjpg', Res, [], []); + if CheckBox26.IsChecked and RadioButton3.IsChecked then + AddMethod('jojpeg', Res, [], []); + for I := 0 to ListBox2.Items.Count - 1 do + if ListBox2.ItemByIndex(I).IsChecked then + AddMethod(ListBox2.Items[I], Res, [], []); + for I := Low(CfgCtrls) to High(CfgCtrls) do + if CfgCtrls[I].GetCodec(S) then + AddMethod(S, Res, [], []); + for I := Low(LibCtrls) to High(LibCtrls) do + if LibCtrls[I].GetCodec(S) then + AddMethod(S, Res, [], []); + Form1.Edit2.Text := Res; +end; + +procedure TForm2.CheckBox10Change(Sender: TObject); +begin + Layout19.Enabled := CheckBox10.IsChecked; +end; + +procedure TForm2.CheckBox11Change(Sender: TObject); +begin + SpinBox9.Enabled := CheckBox11.IsChecked; +end; + +procedure TForm2.CheckBox12Change(Sender: TObject); +begin + Layout21.Enabled := CheckBox12.IsChecked; +end; + +procedure TForm2.CheckBox13Change(Sender: TObject); +begin + SpinBox10.Enabled := CheckBox13.IsChecked; +end; + +procedure TForm2.CheckBox14Change(Sender: TObject); +begin + Layout23.Enabled := CheckBox14.IsChecked; +end; + +procedure TForm2.CheckBox15Change(Sender: TObject); +begin + SpinBox11.Enabled := CheckBox15.IsChecked; +end; + +procedure TForm2.CheckBox16Change(Sender: TObject); +begin + Layout25.Enabled := CheckBox16.IsChecked; +end; + +procedure TForm2.CheckBox17Change(Sender: TObject); +begin + SpinBox12.Enabled := CheckBox17.IsChecked; +end; + +procedure TForm2.CheckBox18Change(Sender: TObject); +begin + Layout27.Enabled := CheckBox18.IsChecked; +end; + +procedure TForm2.CheckBox19Change(Sender: TObject); +begin + SpinBox13.Enabled := CheckBox19.IsChecked; +end; + +procedure TForm2.CheckBox1Change(Sender: TObject); +begin + Layout3.Enabled := CheckBox1.IsChecked; +end; + +procedure TForm2.CheckBox21Change(Sender: TObject); +begin + Layout30.Enabled := CheckBox21.IsChecked; +end; + +procedure TForm2.CheckBox23Change(Sender: TObject); +begin + SpinBox5.Enabled := CheckBox23.IsChecked; +end; + +procedure TForm2.CheckBox24Change(Sender: TObject); +begin + SpinBox3.Enabled := CheckBox24.IsChecked; +end; + +procedure TForm2.CheckBox25Change(Sender: TObject); +begin + SpinBox8.Enabled := CheckBox25.IsChecked; +end; + +procedure TForm2.CheckBox26Change(Sender: TObject); +begin + Layout33.Enabled := CheckBox26.IsChecked; + Layout34.Enabled := CheckBox26.IsChecked; + Layout35.Enabled := CheckBox26.IsChecked; +end; + +procedure TForm2.CheckBox3Change(Sender: TObject); +begin + Layout1.Enabled := CheckBox3.IsChecked; +end; + +procedure TForm2.CheckBox4Change(Sender: TObject); +begin + Layout7.Enabled := CheckBox4.IsChecked; +end; + +procedure TForm2.CheckBox5Change(Sender: TObject); +begin + Layout9.Enabled := CheckBox5.IsChecked; +end; + +procedure TForm2.CheckBox6Change(Sender: TObject); +begin + Layout11.Enabled := CheckBox6.IsChecked; + Layout12.Enabled := CheckBox6.IsChecked; +end; + +procedure TForm2.CheckBox7Change(Sender: TObject); +begin + Layout14.Enabled := CheckBox7.IsChecked; + Layout15.Enabled := CheckBox7.IsChecked; +end; + +procedure TForm2.CheckBox8Change(Sender: TObject); +begin + Layout18.Enabled := CheckBox8.IsChecked; +end; + +procedure TForm2.CheckBox9Change(Sender: TObject); +begin + SpinBox7.Enabled := CheckBox9.IsChecked; +end; + +procedure TForm2.FormShow(Sender: TObject); +var + I: Integer; +begin + for I := 0 to ComponentCount - 1 do + begin + if Components[I] is TSpinBox then + TSpinBox(Components[I]).Cursor := crDefault; + if Components[I] is TCheckBox then + if Assigned(TCheckBox(Components[I]).OnChange) then + TCheckBox(Components[I]).OnChange(nil); + if Components[I] is TRadioButton then + if Assigned(TRadioButton(Components[I]).OnChange) then + TRadioButton(Components[I]).OnChange(nil); + end; +end; + +procedure TForm2.RadioButton4Change(Sender: TObject); +begin + SpinBox14.Enabled := RadioButton4.IsChecked; +end; + +end. diff --git a/changes.txt b/changes.txt index c1631d3..ec4bced 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,22 @@ + ES_R44 (0.6.9) + - added library checker (trial and error) + - improved user interface + - fixed bugs related to oodle scanner + - skip verification no longer applies to encryption codecs + + ES_R43 (0.6.8) + - added advanced configuration based plugin support + - added UI mode when xtool.exe is launched with xtoolui.dll present + - added skip verification mode + - xtool now enforces w15 deflate stream detection by default + - fixed oodle scanner exceptions when incomplete stream is detected + - fixed issue with zlib codec not accepting streams from database plugins + - updated command line syntax + + ES_R42 (0.6.7) + - fixed oodle scanner exceptions when incorrect library is used + - fixed issues with deduplication feature + ES_R41 (0.6.6) - fixed issues with exporting precompression database - fixed issues with deduplication feature consuming a lot of system memory @@ -6,7 +25,7 @@ ES_R40 (0.6.5) - updated oodle scanner - - remove xdelta support from oodle and lzo codecs (crc mismatch often generates large diff files) + - removed xdelta support from oodle and lzo codecs (crc mismatch often generates large diff files) ES_R39 (0.6.4) - fixed issues with lzo2a and lzo1c codecs diff --git a/common/Utils.pas b/common/Utils.pas index 8169d5a..745b55a 100644 --- a/common/Utils.pas +++ b/common/Utils.pas @@ -96,10 +96,13 @@ type end; TNullStream = class(TStream) + private + FPosition, FSize: Int64; public constructor Create; - destructor Destroy; override; + function Read(var Buffer; Count: LongInt): LongInt; override; function Write(const Buffer; Count: LongInt): LongInt; override; + function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override; end; TArrayStream = class(TStream) @@ -136,33 +139,6 @@ type procedure Update(Index: Integer; MaxSize: Int64); end; - TPointersStream = class(TStream) - protected - function GetSize: Int64; override; - procedure SetSize(NewSize: LongInt); override; - procedure SetSize(const NewSize: Int64); override; - private - FPointers: TArray; - FSizes: TArray; - FPosition, FSize: NativeInt; - FMaxSize: NativeInt; - FIndex, FCount: Integer; - FIndexPos: NativeInt; - procedure Recalculate; - public - constructor Create; - destructor Destroy; override; - function Read(var Buffer; Count: LongInt): LongInt; override; - function Write(const Buffer; Count: LongInt): LongInt; override; - function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override; - function Add(Ptr: Pointer; Size: NativeInt): Integer; - procedure Delete(Index: Integer); - procedure Insert(Index: Integer; Ptr: Pointer; Size: NativeInt); - procedure Clear; - property Count: Integer read FCount; - property Capacity: NativeInt read FMaxSize; - end; - TMemoryStreamEx = class(TMemoryStream) private FOwnMemory: Boolean; @@ -255,7 +231,10 @@ type end; TBufferedStream = class(TStream) + protected + function GetSize: Int64; override; private + FSize: Int64; FReadMode: Boolean; FMemory: PByte; FBufferSize: Integer; @@ -487,6 +466,7 @@ function GetFileList(const APath: TArray; SubDir: Boolean = True) procedure FileReadBuffer(Handle: THandle; var Buffer; Count: NativeInt); procedure FileWriteBuffer(Handle: THandle; const Buffer; Count: NativeInt); procedure CloseHandleEx(var Handle: THandle); +function ExpandPath(const AFileName: string): String; function Exec(Executable, CommandLine, WorkDir: string): Boolean; function ExecStdin(Executable, CommandLine, WorkDir: string; InBuff: Pointer; @@ -745,18 +725,37 @@ end; constructor TNullStream.Create; begin inherited Create; + FPosition := 0; + FSize := 0; end; -destructor TNullStream.Destroy; +function TNullStream.Read(var Buffer; Count: LongInt): LongInt; begin - inherited Destroy; + Inc(FPosition, Count); + Result := Count; end; function TNullStream.Write(const Buffer; Count: LongInt): LongInt; begin + Inc(FPosition, Count); + if FSize < FPosition then + FSize := FPosition; Result := Count; end; +function TNullStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; +begin + case Origin of + soBeginning: + FPosition := Offset; + soCurrent: + Inc(FPosition, Offset); + soEnd: + FPosition := FSize + Offset; + end; + Result := Position; +end; + constructor TArrayStream.Create; begin inherited Create; @@ -948,102 +947,6 @@ begin FStreams[Index].MaxSize := MaxSize; end; -constructor TPointersStream.Create; -begin - inherited Create; - Clear; - Recalculate; -end; - -destructor TPointersStream.Destroy; -begin - Clear; - inherited Destroy; -end; - -function TPointersStream.GetSize: Int64; -begin - Result := FSize; -end; - -procedure TPointersStream.SetSize(NewSize: LongInt); -begin - SetSize(Int64(NewSize)); -end; - -procedure TPointersStream.SetSize(const NewSize: Int64); -var - OldPosition: NativeInt; -begin - OldPosition := FPosition; - if NewSize <= FMaxSize then - FSize := NewSize; - if OldPosition > NewSize then - Seek(0, soEnd); -end; - -procedure TPointersStream.Recalculate; -var - I: Integer; -begin - FMaxSize := 0; - for I := 0 to FCount - 1 do - Inc(FMaxSize, FSizes[I]); - if FPosition > FMaxSize then - FPosition := FMaxSize; - if FSize > FMaxSize then - FSize := FMaxSize; -end; - -function TPointersStream.Read(var Buffer; Count: LongInt): LongInt; -begin - // 2121212 -end; - -function TPointersStream.Write(const Buffer; Count: LongInt): LongInt; -begin - -end; - -function TPointersStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; -begin - -end; - -function TPointersStream.Add(Ptr: Pointer; Size: NativeInt): Integer; -begin - System.Insert(Ptr, FPointers, FCount); - System.Insert(Size, FSizes, FCount); - Result := FCount; - Inc(FCount); - Recalculate; -end; - -procedure TPointersStream.Delete(Index: Integer); -begin - System.Delete(FPointers, Index, 1); - Dec(FCount); - Recalculate; -end; - -procedure TPointersStream.Insert(Index: Integer; Ptr: Pointer; Size: NativeInt); -begin - System.Insert(Ptr, FPointers, Index); - System.Insert(Size, FSizes, Index); - Inc(FCount); - Recalculate; -end; - -procedure TPointersStream.Clear; -begin - SetLength(FPointers, 0); - SetLength(FSizes, 0); - FCount := 0; - FPosition := 0; - FSize := 0; - FMaxSize := 0; -end; - constructor TMemoryStreamEx.Create(AOwnMemory: Boolean; const AMemory: Pointer; AMaxSize: NativeInt); begin @@ -1603,6 +1506,11 @@ begin inherited Destroy; end; +function TBufferedStream.GetSize: Int64; +begin + Result := FSize; +end; + function TBufferedStream.Read(var Buffer; Count: Integer): Integer; var I, FCount: Integer; @@ -1643,6 +1551,7 @@ begin end; end; Result := Count - FCount; + Inc(FSize, Result); end; function TBufferedStream.Write(const Buffer; Count: Integer): Integer; @@ -1693,6 +1602,7 @@ begin end; end; Result := Count - FCount; + Inc(FSize, Result); end; procedure TBufferedStream.Flush; @@ -3502,6 +3412,16 @@ begin end; end; +function ExpandPath(const AFileName: string): String; +begin + if AFileName = '' then + Result := '' + else if Pos(':', AFileName) > 0 then + Result := AFileName + else + Result := ExtractFilePath(GetModuleName) + AFileName; +end; + function Exec(Executable, CommandLine, WorkDir: string): Boolean; var StartupInfo: TStartupInfo; diff --git a/imports/LZ4DLL.pas b/imports/LZ4DLL.pas index d874fa6..e4df675 100644 --- a/imports/LZ4DLL.pas +++ b/imports/LZ4DLL.pas @@ -3,7 +3,7 @@ unit LZ4DLL; interface uses - LibImport, + Utils, LibImport, WinAPI.Windows, System.SysUtils, System.Math; @@ -271,7 +271,7 @@ var procedure Init(Filename: String); begin - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + Filename); + Lib := TLibImport.Create(ExpandPath(Filename)); if Lib.Loaded then begin @LZ4_decompress_safe := Lib.GetProcAddr('LZ4_decompress_safe'); @@ -311,7 +311,8 @@ begin end; const - DLLParam = '--lz4='; + DLLParam1 = '--lz4='; + DLLParam2 = '-l4'; var I: Integer; @@ -321,11 +322,18 @@ initialization DLLFile := 'liblz4.dll'; for I := 1 to ParamCount do - if ParamStr(I).StartsWith(DLLParam) then +begin + if ParamStr(I).StartsWith(DLLParam1) then begin - DLLFile := ParamStr(I).Substring(DLLParam.Length); + DLLFile := ParamStr(I).Substring(DLLParam1.Length); break; end; + if ParamStr(I).StartsWith(DLLParam2) then + begin + DLLFile := ParamStr(I).Substring(DLLParam2.Length); + break; + end; +end; Init(DLLFile); diff --git a/imports/LZODLL.pas b/imports/LZODLL.pas index 7c82711..04deb5d 100644 --- a/imports/LZODLL.pas +++ b/imports/LZODLL.pas @@ -3,7 +3,7 @@ unit LZODLL; interface uses - LibImport, + Utils, LibImport, WinAPI.Windows, System.SysUtils; @@ -70,7 +70,7 @@ var procedure Init(Filename: String); begin - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + Filename); + Lib := TLibImport.Create(ExpandPath(Filename)); if Lib.Loaded then begin @lzo1x_1_compress := Lib.GetProcAddr('lzo1x_1_compress'); @@ -94,7 +94,8 @@ begin end; const - DLLParam = '--lzo='; + DLLParam1 = '-lzo='; + DLLParam2 = '-lo'; var I: integer; @@ -104,11 +105,19 @@ initialization DLLFile := 'lzo2.dll'; for I := 1 to ParamCount do - if ParamStr(I).StartsWith(DLLParam) then +begin + if ParamStr(I).StartsWith(DLLParam1) then begin - DLLFile := ParamStr(I).Substring(DLLParam.Length); + DLLFile := ParamStr(I).Substring(DLLParam1.Length); break; end; + if ParamStr(I).StartsWith(DLLParam2) then + begin + DLLFile := ParamStr(I).Substring(DLLParam2.Length); + break; + end; +end; + Init(DLLFile); finalization diff --git a/imports/OodleDLL.pas b/imports/OodleDLL.pas index eb0c18a..8f77727 100644 --- a/imports/OodleDLL.pas +++ b/imports/OodleDLL.pas @@ -3,7 +3,7 @@ unit OodleDLL; interface uses - LibImport, + Utils, LibImport, WinAPI.Windows, System.SysUtils, System.Types, System.IOUtils; @@ -82,13 +82,13 @@ var I: Integer; C: Cardinal; begin - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + Filename); + Lib := TLibImport.Create(ExpandPath(Filename)); if not Lib.Loaded then - for I := 3 to 9 do + for I := 1 to 9 do begin Lib.Free; - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + 'oo2core_' + - I.ToString + '_win64.dll'); + Lib := TLibImport.Create(ExpandPath('oo2core_' + I.ToString + + '_win64.dll')); if Lib.Loaded then break; end; @@ -96,8 +96,8 @@ begin for I := 3 to 9 do begin Lib.Free; - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + 'oo2ext_' + - I.ToString + '_win64.dll'); + Lib := TLibImport.Create(ExpandPath('oo2ext_' + I.ToString + + '_win64.dll')); if Lib.Loaded then break; end; @@ -202,7 +202,8 @@ begin end; const - DLLParam = '--oodle='; + DLLParam1 = '--oodle='; + DLLParam2 = '-od'; var I: Integer; @@ -212,11 +213,18 @@ initialization DLLFile := 'oo2core_9_win64.dll'; for I := 1 to ParamCount do - if ParamStr(I).StartsWith(DLLParam) then +begin + if ParamStr(I).StartsWith(DLLParam1) then begin - DLLFile := ParamStr(I).Substring(DLLParam.Length); + DLLFile := ParamStr(I).Substring(DLLParam1.Length); break; end; + if ParamStr(I).StartsWith(DLLParam2) then + begin + DLLFile := ParamStr(I).Substring(DLLParam2.Length); + break; + end; +end; Init(DLLFile); finalization diff --git a/imports/ZLibDLL.pas b/imports/ZLibDLL.pas index 68fd4ff..e93eae4 100644 --- a/imports/ZLibDLL.pas +++ b/imports/ZLibDLL.pas @@ -3,7 +3,7 @@ unit ZLibDLL; interface uses - LibImport, + Utils, LibImport, WinAPI.Windows, System.SysUtils, System.Types, System.IOUtils, System.ZLib; @@ -148,16 +148,16 @@ end; procedure Init(Filename: String); begin - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + Filename); + Lib := TLibImport.Create(ExpandPath(Filename)); if not(Lib.Loaded and Assigned(Lib.GetProcAddr('zlibVersion'))) then begin Lib.Free; - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + 'zlibwapi.dll'); + Lib := TLibImport.Create(ExpandPath('zlibwapi.dll')); end; if not(Lib.Loaded and Assigned(Lib.GetProcAddr('zlibVersion'))) then begin Lib.Free; - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + 'zlib1.dll'); + Lib := TLibImport.Create(ExpandPath('zlib1.dll')); end; if Lib.Loaded and Assigned(Lib.GetProcAddr('zlibVersion')) then begin @@ -192,7 +192,8 @@ begin end; const - DLLParam = '--zlib='; + DLLParam1 = '--zlib='; + DLLParam2 = '-zb'; var I: integer; @@ -202,11 +203,18 @@ initialization DLLFile := 'zlibwapi.dll'; for I := 1 to ParamCount do - if ParamStr(I).StartsWith(DLLParam) then +begin + if ParamStr(I).StartsWith(DLLParam1) then begin - DLLFile := ParamStr(I).Substring(DLLParam.Length); + DLLFile := ParamStr(I).Substring(DLLParam1.Length); break; end; + if ParamStr(I).StartsWith(DLLParam2) then + begin + DLLFile := ParamStr(I).Substring(DLLParam2.Length); + break; + end; +end; Init(DLLFile); diff --git a/imports/ZSTDDLL.pas b/imports/ZSTDDLL.pas index 522324b..6cf8456 100644 --- a/imports/ZSTDDLL.pas +++ b/imports/ZSTDDLL.pas @@ -3,7 +3,7 @@ unit ZSTDDLL; interface uses - LibImport, + Utils, LibImport, WinAPI.Windows, System.SysUtils; @@ -147,7 +147,7 @@ var procedure Init(Filename: String); begin - Lib := TLibImport.Create(ExtractFilePath(ParamStr(0)) + Filename); + Lib := TLibImport.Create(ExpandPath(Filename)); if Lib.Loaded then begin @ZSTD_compress := Lib.GetProcAddr('ZSTD_compress'); @@ -185,7 +185,8 @@ begin end; const - DLLParam = '--zstd='; + DLLParam1 = '--zstd='; + DLLParam2 = '-zs'; var I: Integer; @@ -195,11 +196,19 @@ initialization DLLFile := 'libzstd.dll'; for I := 1 to ParamCount do - if ParamStr(I).StartsWith(DLLParam) then +begin + if ParamStr(I).StartsWith(DLLParam1) then begin - DLLFile := ParamStr(I).Substring(DLLParam.Length); + DLLFile := ParamStr(I).Substring(DLLParam1.Length); break; end; + if ParamStr(I).StartsWith(DLLParam2) then + begin + DLLFile := ParamStr(I).Substring(DLLParam2.Length); + break; + end; +end; + Init(DLLFile); finalization diff --git a/precompressor/PrecompDLL.pas b/precompressor/PrecompDLL.pas index 49dd018..ef5f0a4 100644 --- a/precompressor/PrecompDLL.pas +++ b/precompressor/PrecompDLL.pas @@ -4,6 +4,7 @@ interface uses Utils, + UIMain, PrecompUtils, WinAPI.Windows, System.SysUtils, System.Classes, System.StrUtils, @@ -375,6 +376,9 @@ begin @DLLStruct^.Scan2 := GetProcAddress(DLLHandle, 'PrecompScan2'); @DLLStruct^.Process := GetProcAddress(DLLHandle, 'PrecompProcess'); @DLLStruct^.Restore := GetProcAddress(DLLHandle, 'PrecompRestore'); + if UIMain.DLLLoaded then + XTLAddplugin(ChangeFileExt(ExtractFileName(DLLList[I]), ''), + PLUGIN_LIBRARY); Insert(DLLStruct^, CodecDLL, Length(CodecDLL)); J := 0; while Assigned(CodecDLL[Pred(Length(CodecDLL))].Codec(J)) do @@ -383,6 +387,8 @@ begin Insert(S, CodecDLL[Pred(Length(CodecDLL))].Names, Length(CodecDLL[Pred(Length(CodecDLL))].Names)); Insert(S, Codec.Names, Length(Codec.Names)); + if UIMain.DLLLoaded then + XTLAddCodec(S); Inc(J); end; if J = 0 then @@ -392,6 +398,8 @@ begin Length(CodecDLL[Pred(Length(CodecDLL))].Names)); Insert(ChangeFileExt(ExtractFileName(DLLList[I]), ''), Codec.Names, Length(Codec.Names)); + if UIMain.DLLLoaded then + XTLAddCodec(ChangeFileExt(ExtractFileName(DLLList[I]), '')); end; end; end; diff --git a/precompressor/PrecompINI.pas b/precompressor/PrecompINI.pas index 092618a..1fb7164 100644 --- a/precompressor/PrecompINI.pas +++ b/precompressor/PrecompINI.pas @@ -4,6 +4,7 @@ interface uses Utils, ParseExpr, + UIMain, PrecompUtils, WinAPI.Windows, System.SysUtils, System.Classes, System.StrUtils, @@ -136,7 +137,7 @@ begin if CompareText(S, Codec.Names[Y]) = 0 then begin for I := Low(CodecEnabled[Y]) to High(CodecEnabled[Y]) do - CodecEnabled[Y][I] := True; + CodecEnabled[Y, I] := True; for Z := Low(CodecCfg[0, Y]) to High(CodecCfg[0, Y]) do if Funcs^.GetParam(Command, X, PChar(CodecCfg[0, Y, Z].Name)) <> '' then @@ -144,7 +145,7 @@ begin if not ParamsSet then begin for I := Low(CodecEnabled[Y]) to High(CodecEnabled[Y]) do - CodecEnabled[Y][I] := False; + CodecEnabled[Y, I] := False; ParamsSet := True; end; CodecEnabled[Y, Z] := True; @@ -292,11 +293,13 @@ begin continue; end; for Y := Low(Conditions) to High(Conditions) do + begin if Round(Parser.Evaluate(Conditions[Y])) = 0 then begin Status := TScanStatus.Fail; break; end; + end; if Status = TScanStatus.None then begin Output(Instance, nil, -1); @@ -362,7 +365,7 @@ begin end; var - I, J, X, Y: Integer; + I, J, K, X, Y: Integer; SL: TStringList; Bytes: TBytes; S1, S2: String; @@ -373,8 +376,6 @@ var CfgRecArray: PCfgRecDynArray; CfgStruct: PCfgStruct; SList: TStringDynArray; - PStr1: PAnsiChar; - PStr2: PString; initialization @@ -390,13 +391,20 @@ begin begin S1 := ChangeFileExt(ExtractFileName(CfgList[I]), ''); Insert(S1, Codec.Names, Length(Codec.Names)); - New(CfgRecArray); + if UIMain.DLLLoaded then + XTLAddplugin(S1, PLUGIN_CONFIG); + SetLength(CodecCfg[0], Succ(Length(CodecCfg[0]))); + CfgRecArray := @CodecCfg[0, Pred(Length(CodecCfg[0]))]; X := 1; while ReadString('Stream' + X.ToString, 'Name', '') <> '' do begin - New(CfgRec); + J := Length(CodecCfg[0, Pred(Length(CodecCfg[0]))]); + SetLength(CodecCfg[0, Pred(Length(CodecCfg[0]))], Succ(J)); + CfgRec := @CodecCfg[0, Pred(Length(CodecCfg[0])), J]; CfgRec^.Parser := TExpressionParser.Create; CfgRec^.Name := ReadString('Stream' + X.ToString, 'Name', ''); + if UIMain.DLLLoaded then + XTLAddCodec(CfgRec^.Name); CfgRec^.Codec := ReadString('Stream' + X.ToString, 'Codec', ''); CfgRec^.BigEndian := ReadBool('Stream' + X.ToString, 'BigEndian', False); @@ -406,7 +414,11 @@ begin BStream := True; for Y := Low(SList) to High(SList) do begin - New(CfgStruct); + K := Length(CodecCfg[0, Pred(Length(CodecCfg[0])), J].Structure); + SetLength(CodecCfg[0, Pred(Length(CodecCfg[0])), + J].Structure, Succ(K)); + CfgStruct := @CodecCfg[0, Pred(Length(CodecCfg[0])), J] + .Structure[K]; DecodeHeader(SList[Y], S1, S2); ConvertHexChr(S2); CfgStruct^.Name := S1; @@ -422,6 +434,8 @@ begin if HexValue then begin S1 := S1.Substring(1); + while S1.Length < (CfgStruct^.Size * 2) do + S1.Insert(0, '0'); SetLength(Bytes, CfgStruct^.Size); SetLength(Bytes, HexToBin(BytesOf(S1), 0, Bytes, 0, Length(Bytes))); @@ -437,8 +451,6 @@ begin CfgStruct^.Position := Pos; CfgStruct^.Value := 0; CfgStruct^.BeforeStream := BStream; - if (CfgStruct^.Name = 'Stream') or (CfgStruct^.Size > 0) then - Insert(CfgStruct^, CfgRec^.Structure, Length(CfgRec^.Structure)); Inc(Pos, CfgStruct^.Size); if CfgStruct^.Name = 'Stream' then begin @@ -462,11 +474,10 @@ begin while ReadString('Stream' + X.ToString, 'Condition' + Y.ToString, '') <> '' do begin - New(PStr2); - PStr2^ := ReadString('Stream' + X.ToString, + S2 := ReadString('Stream' + X.ToString, 'Condition' + Y.ToString, ''); - ConvertHexChr(PStr2^); - Insert(PStr2^, CfgRec^.Conditions, Length(CfgRec^.Conditions)); + ConvertHexChr(S2); + Insert(S2, CfgRec^.Conditions, Length(CfgRec^.Conditions)); Inc(Y); end; ReadSectionValues('Stream' + X.ToString, SL); @@ -489,10 +500,8 @@ begin CfgRec^.Exprs[J] := S2; CfgRec^.Values[J] := 0; end; - Insert(CfgRec^, CfgRecArray^, Length(CfgRecArray^)); Inc(X); end; - Insert(CfgRecArray^, CodecCfg[0], Length(CodecCfg[0])); end; finally Free; @@ -504,10 +513,10 @@ for J := Low(CodecCfg[0]) to High(CodecCfg[0]) do begin with CodecCfg[0, J, X] do begin - for Y := Low(Names) to High(Names) do - Parser.DefineVariable(Names[Y], @Values[Y]); for Y := Low(Structure) to High(Structure) do Parser.DefineVariable(Structure[Y].Name, @Structure[Y].Value); + for Y := Low(Names) to High(Names) do + Parser.DefineVariable(Names[Y], @Values[Y]); end; end; diff --git a/precompressor/PrecompINIEx.pas b/precompressor/PrecompINIEx.pas new file mode 100644 index 0000000..79e4185 --- /dev/null +++ b/precompressor/PrecompINIEx.pas @@ -0,0 +1,707 @@ +unit PrecompINIEx; + +interface + +uses + Utils, ParseExpr, + UIMain, + PrecompUtils, + WinAPI.Windows, + System.SysUtils, System.Classes, System.StrUtils, + System.Types, System.Math, System.IOUtils, System.IniFiles; + +var + Codec: TPrecompressor; + +implementation + +type + PCfgStruct = ^TCfgStruct; + + TCfgStruct = record + Name: String; + Data: Pointer; + Position, Size: NativeInt; + Value: Double; + BeforeStream: Boolean; + end; + + PCfgCounter = ^TCfgCounter; + + TCfgCounter = record + StartS, EndS, StepS: String; + StartV, EndV, StepV: Double; + Current, Min, Max: Double; + end; + + PConfigRec = ^TConfigRec; + + TConfigRec = record + Parser: TExpressionParser; + Name, Codec: String; + Resource: Integer; + BigEndian: Boolean; + Structure: array [0 .. 2] of TArray; + Counter: TArray; + StreamPosition, StreamOffset, OldSize, NewSize, DepthSize: String; + Names, Exprs: TArray; + Values: TArray; + Conditions: TArray; + end; + + PCfgRecDynArray = ^TCfgRecDynArray; + TCfgRecDynArray = TArray; + +var + CfgList: TStringDynArray; + CodecCfg: TArray>; + CodecAvailable, CodecEnabled: TArray>; + +procedure EndianMove(Source, Dest: Pointer; Size: NativeInt; + BigEndian: Boolean = False); +begin + if BigEndian then + ReverseBytes(Source, Dest, Size) + else + Move(Source^, Dest^, Size); +end; + +function ConfigInit(Command: PChar; Count: Integer; + Funcs: PPrecompFuncs): Boolean; +var + I, J: Integer; + X, Y, Z: Integer; + S: String; + ParamsSet: Boolean; +begin + Result := True; + ParamsSet := False; + for X := Low(CodecAvailable) to High(CodecAvailable) do + for Y := Low(CodecAvailable[X]) to High(CodecAvailable[X]) do + begin + CodecAvailable[X, Y] := True; + CodecEnabled[X, Y] := False; + end; + SetLength(CodecCfg, Count); + for I := 1 to High(CodecCfg) do + begin + SetLength(CodecCfg[I], Length(CodecCfg[0])); + for J := Low(CodecCfg[I]) to High(CodecCfg[I]) do + SetLength(CodecCfg[I, J], Length(CodecCfg[0, J])); + end; + for I := Low(CodecCfg) to High(CodecCfg) do + for J := Low(CodecCfg[I]) to High(CodecCfg[I]) do + for X := Low(CodecCfg[I, J]) to High(CodecCfg[I, J]) do + with CodecCfg[I, J, X] do + begin + if I = 0 then + Resource := RegisterResources(Codec); + if I > 0 then + begin + Parser := TExpressionParser.Create; + Name := CodecCfg[0, J, X].Name; + Codec := CodecCfg[0, J, X].Codec; + Resource := CodecCfg[0, J, X].Resource; + BigEndian := CodecCfg[0, J, X].BigEndian; + for Z := Low(Structure) to High(Structure) do + begin + SetLength(Structure[Z], Length(CodecCfg[0, J, X].Structure[Z])); + for Y := Low(Structure[Z]) to High(Structure[Z]) do + begin + Structure[Z, Y].Name := CodecCfg[0, J, X].Structure[Z, Y].Name; + Structure[Z, Y].Position := CodecCfg[0, J, X].Structure[Z] + [Y].Position; + Structure[Z, Y].Size := CodecCfg[0, J, X].Structure[Z, Y].Size; + Structure[Z, Y].Value := CodecCfg[0, J, X].Structure + [Z, Y].Value; + Structure[Z, Y].BeforeStream := CodecCfg[0, J, X].Structure + [Z, Y].BeforeStream; + GetMem(Structure[Z, Y].Data, Structure[Z, Y].Size); + Move(CodecCfg[0, J, X].Structure[Z, Y].Data^, + Structure[Z, Y].Data^, Structure[Z, Y].Size); + end; + end; + SetLength(Counter, Length(CodecCfg[0, J, X].Counter)); + for Y := Low(Counter) to High(Counter) do + begin + Counter[Y].StartS := CodecCfg[0, J, X].Counter[Y].StartS; + Counter[Y].EndS := CodecCfg[0, J, X].Counter[Y].EndS; + Counter[Y].StepS := CodecCfg[0, J, X].Counter[Y].StepS; + Counter[Y].StartV := CodecCfg[0, J, X].Counter[Y].StartV; + Counter[Y].EndV := CodecCfg[0, J, X].Counter[Y].EndV; + Counter[Y].StepV := CodecCfg[0, J, X].Counter[Y].StepV; + Counter[Y].Current := CodecCfg[0, J, X].Counter[Y].Current; + Counter[Y].Min := CodecCfg[0, J, X].Counter[Y].Min; + Counter[Y].Max := CodecCfg[0, J, X].Counter[Y].Max; + end; + StreamPosition := CodecCfg[0, J, X].StreamPosition; + StreamOffset := CodecCfg[0, J, X].StreamOffset; + OldSize := CodecCfg[0, J, X].OldSize; + NewSize := CodecCfg[0, J, X].NewSize; + DepthSize := CodecCfg[0, J, X].DepthSize; + SetLength(Names, Length(CodecCfg[0, J, X].Names)); + SetLength(Exprs, Length(CodecCfg[0, J, X].Exprs)); + SetLength(Values, Length(CodecCfg[0, J, X].Values)); + for Y := Low(Names) to High(Names) do + begin + Names[Y] := CodecCfg[0, J, X].Names[Y]; + Exprs[Y] := CodecCfg[0, J, X].Exprs[Y]; + Values[Y] := CodecCfg[0, J, X].Values[Y]; + end; + SetLength(Conditions, Length(CodecCfg[0, J, X].Conditions)); + for Y := Low(Conditions) to High(Conditions) do + Conditions[Y] := CodecCfg[0, J, X].Conditions[Y]; + for Z := Low(Structure) to High(Structure) do + for Y := Low(Structure[Z]) to High(Structure[Z]) do + Parser.DefineVariable(Structure[Z, Y].Name, + @Structure[Z, Y].Value); + for Y := Low(Counter) to High(Counter) do + begin + Parser.DefineVariable('Counter' + Succ(Y).ToString, + @Counter[Y].Current); + Parser.DefineVariable('CounterMin' + Succ(Y).ToString, + @Counter[Y].Min); + Parser.DefineVariable('CounterMax' + Succ(Y).ToString, + @Counter[Y].Max); + end; + for Y := Low(Names) to High(Names) do + Parser.DefineVariable(Names[Y], @Values[Y]); + end; + end; + X := 0; + while Funcs^.GetCodec(Command, X, False) <> '' do + begin + S := Funcs^.GetCodec(Command, X, False); + for Y := Low(Codec.Names) to High(Codec.Names) do + if CompareText(S, Codec.Names[Y]) = 0 then + begin + for I := Low(CodecEnabled[Y]) to High(CodecEnabled[Y]) do + CodecEnabled[Y, I] := True; + for Z := Low(CodecCfg[0, Y]) to High(CodecCfg[0, Y]) do + if Funcs^.GetParam(Command, X, PChar(CodecCfg[0, Y, Z].Name)) <> '' + then + begin + if not ParamsSet then + begin + for I := Low(CodecEnabled[Y]) to High(CodecEnabled[Y]) do + CodecEnabled[Y, I] := False; + ParamsSet := True; + end; + CodecEnabled[Y, Z] := True; + end; + break; + end; + Inc(X); + end; + for X := Low(CodecEnabled) to High(CodecEnabled) do + for Y := Low(CodecEnabled[X]) to High(CodecEnabled[X]) do + if CodecEnabled[X, Y] then + AddMethod(PrecompGetCodec(PChar(CodecCfg[0, X, Y].Codec), 0, False)); +end; + +procedure ConfigFree(Funcs: PPrecompFuncs); +var + I, J: Integer; + X, Y, Z: Integer; +begin + for I := Low(CodecCfg) to High(CodecCfg) do + for J := Low(CodecCfg[I]) to High(CodecCfg[I]) do + for X := Low(CodecCfg[I, J]) to High(CodecCfg[I, J]) do + with CodecCfg[I, J, X] do + begin + if I > 0 then + begin + for Z := Low(Structure) to High(Structure) do + for Y := Low(Structure[Z]) to High(Structure[Z]) do + FreeMem(Structure[Z, Y].Data); + end; + end; +end; + +function ConfigParse(Command: String; Option: PInteger; + Funcs: PPrecompFuncs): Boolean; +begin + Result := False; +end; + +procedure ConfigScan1(Instance, Depth: Integer; Input: PByte; + Size, SizeEx: NativeInt; Output: _PrecompOutput; Add: _PrecompAdd; + Funcs: PPrecompFuncs); +type + TScanStatus = (None, Success, Fail); +var + Status: TScanStatus; + A, B: Integer; + I, J: Integer; + X, Y: Integer; + Pos: NativeInt; + NI: NativeInt; + I64: Int64; + LoopPosInt, StreamPosInt1, StreamPosInt2, StreamOffsetInt, OldSizeInt, + NewSizeInt, DepthSizeInt: NativeInt; + LoopContinue: Boolean; + SI: _StrInfo1; + DI: TDepthInfo; + DS: TPrecompStr; + + procedure UpdateCounters(var C: TConfigRec); + var + Z: Integer; + begin + with C do + for Z := Low(Counter) to High(Counter) do + begin + Counter[Z].StartV := Parser.Evaluate(Counter[Z].StartS); + Counter[Z].EndV := Parser.Evaluate(Counter[Z].EndS); + Counter[Z].StepV := Parser.Evaluate(Counter[Z].StepS); + end; + end; + + function CheckCounters(C: TConfigRec): Boolean; + var + Z: Integer; + begin + Result := True; + with C do + for Z := Low(Counter) to High(Counter) do + if not InRange(Round(Counter[Z].Current), Min(Round(Counter[Z].StartV), + Round(Counter[Z].EndV)), Max(Round(Counter[Z].StartV), + Round(Counter[Z].EndV))) then + Exit(False); + end; + + procedure DoAddStream(C: TConfigRec); + begin + with C do + begin + Output(Instance, nil, -1); + SI.Position := StreamPosInt1 + StreamOffsetInt; + SI.OldSize := OldSizeInt; + SI.NewSize := NewSizeInt; + SI.Resource := Resource; + SI.Option := 0; + if System.Pos(SPrecompSep2, Codec) > 0 then + SI.Status := TStreamStatus.Predicted + else + SI.Status := TStreamStatus.None; + DS := Funcs^.GetDepthCodec(PChar(Codec)); + Move(DS[0], DI.Codec, SizeOf(DI.Codec)); + DI.OldSize := NewSizeInt; + DI.NewSize := DepthSizeInt; + Add(Instance, @SI, PChar(Codec), @DI); + Status := TScanStatus.Success; + end; + end; + +begin + if Depth > 0 then + Exit; + for I := Low(CodecCfg[Instance]) to High(CodecCfg[Instance]) do + for J := Low(CodecCfg[Instance, I]) to High(CodecCfg[Instance, I]) do + if CodecEnabled[I, J] then + with CodecCfg[Instance, I, J] do + for X := Low(Structure[0]) to High(Structure[0]) do + if Structure[0, X].Name = 'Signature' then + begin + Pos := 0; + while BinarySearch(Input, Pos, Size, Structure[0, X].Data, + Structure[0, X].Size, Pos) do + begin + Status := TScanStatus.None; + LoopPosInt := Pos + Structure[0, X].Size; + for Y := Low(Structure[0]) to High(Structure[0]) do + begin + if (X <> Y) then + begin + NI := Structure[0, Y].Position - Structure[0, X].Position; + LoopPosInt := Pos + Structure[0, Y].Size + NI; + if InRange(Pos + NI, 0, SizeEx - Structure[0, Y].Size) then + begin + Move((Input + Pos + NI)^, Structure[0, Y].Data^, + Structure[0, Y].Size); + I64 := 0; + EndianMove(Structure[0, Y].Data, @I64, + Min(Structure[0, Y].Size, I64.Size), BigEndian); + Structure[0, Y].Value := I64.ToDouble; + end + else + Status := TScanStatus.Fail; + end; + if Status = TScanStatus.Fail then + break; + end; + if Status = TScanStatus.Fail then + begin + Inc(Pos); + continue; + end; + UpdateCounters(CodecCfg[Instance, I, J]); + for Y := Low(Counter) to High(Counter) do + begin + Counter[Y].Current := Counter[Y].StartV; + Counter[Y].Min := Min(Counter[Y].StepV, + Counter[Y].EndV - Counter[Y].Current); + Counter[Y].Max := Max(Counter[Y].StepV, + Counter[Y].EndV - Counter[Y].Current); + end; + while CheckCounters(CodecCfg[Instance, I, J]) do + begin + Status := TScanStatus.None; + for Y := Low(Structure[1]) to High(Structure[1]) do + begin + if InRange(LoopPosInt, 0, SizeEx - Structure[1, Y].Size) + then + begin + Move((Input + LoopPosInt)^, Structure[1, Y].Data^, + Structure[1, Y].Size); + I64 := 0; + EndianMove(Structure[1, Y].Data, @I64, + Min(Structure[1, Y].Size, I64.Size), BigEndian); + Structure[1, Y].Value := I64.ToDouble; + end + else + begin + Status := TScanStatus.Fail; + break; + end; + Inc(LoopPosInt, Structure[1, Y].Size); + end; + if Status = TScanStatus.Fail then + break; + StreamPosInt1 := Pos + Round(Parser.Evaluate(StreamPosition)); + StreamPosInt2 := StreamPosInt1; + for Y := Low(Structure[2]) to High(Structure[2]) do + begin + if (Structure[2, Y].BeforeStream = True) then + begin + if Structure[2, Y].Name = 'Stream' then + begin + StreamPosInt1 := StreamPosInt2; + continue; + end; + Funcs^.ReadFuture(Instance, StreamPosInt2, + Structure[2, Y].Data, Structure[2, Y].Size); + I64 := 0; + EndianMove(Structure[2, Y].Data, @I64, + Min(Structure[2, Y].Size, I64.Size), BigEndian); + Structure[2, Y].Value := I64.ToDouble; + Inc(StreamPosInt2, Structure[2, Y].Size); + end; + end; + for A := Low(Exprs) to High(Exprs) do + begin + for B := Low(Exprs) to High(Exprs) do + try + if A = B then + continue; + Values[B] := Parser.Evaluate(Exprs[B]); + except + end; + try + Values[A] := Parser.Evaluate(Exprs[A]); + except + end; + end; + StreamOffsetInt := Round(Parser.Evaluate(StreamOffset)); + OldSizeInt := Round(Parser.Evaluate(OldSize)); + NewSizeInt := Round(Parser.Evaluate(NewSize)); + DepthSizeInt := Round(Parser.Evaluate(DepthSize)); + for Y := Low(Structure[2]) to High(Structure[2]) do + begin + if (Structure[2, Y].BeforeStream = False) then + begin + Funcs^.ReadFuture(Instance, StreamPosInt2 + OldSizeInt, + Structure[2, Y].Data, Structure[2, Y].Size); + I64 := 0; + EndianMove(Structure[2, Y].Data, @I64, + Min(Structure[2, Y].Size, I64.Size), BigEndian); + Structure[2, Y].Value := I64.ToDouble; + Inc(StreamPosInt2, Structure[2, Y].Size); + end; + end; + if Length(Conditions) = 0 then + DoAddStream(CodecCfg[Instance, I, J]) + else + for Y := Low(Conditions) to High(Conditions) do + begin + if (Round(Parser.Evaluate(Conditions[Y])) <> 0) and + (Y = High(Conditions)) then + DoAddStream(CodecCfg[Instance, I, J]) + else + break; + end; + UpdateCounters(CodecCfg[Instance, I, J]); + for Y := Low(Counter) to High(Counter) do + begin + Counter[Y].Current := Counter[Y].Current + Counter[Y].StepV; + Counter[Y].Min := + Min(Counter[Y].StepV, + Counter[Y].EndV - Counter[Y].Current); + Counter[Y].Max := + Max(Counter[Y].StepV, + Counter[Y].EndV - Counter[Y].Current); + end; + end; + Inc(Pos); + end; + end; +end; + +function ConfigScan2(Instance, Depth: Integer; Input: Pointer; Size: NativeInt; + StreamInfo: PStrInfo2; Offset: PInteger; Output: _PrecompOutput; + Funcs: PPrecompFuncs): Boolean; +begin + Result := False; +end; + +function ConfigProcess(Instance, Depth: Integer; OldInput, NewInput: Pointer; + StreamInfo: PStrInfo2; Output: _PrecompOutput; Funcs: PPrecompFuncs): Boolean; +begin + Result := False; +end; + +function ConfigRestore(Instance, Depth: Integer; Input, InputExt: Pointer; + StreamInfo: _StrInfo3; Output: _PrecompOutput; Funcs: PPrecompFuncs): Boolean; +begin + Result := False; +end; + +procedure DecodeHeader(const Header: String; out Name, Value: String); +begin + if (Pos('(', Header) > 0) and (Pos(')', Header) > 0) then + begin + Name := ReplaceStr(Header.Substring(0, Header.IndexOf('(')), ' ', ''); + Value := Header.Substring(Succ(Header.IndexOf('(')), + Header.IndexOf(')') - Succ(Header.IndexOf('('))); + end + else + Name := Header; +end; + +procedure ConvertHexChr(var S: String); +begin + S := ReplaceStr(S, '0x', '$'); + S := ReplaceStr(S, '#', '$'); +end; + +var + I, J, K, X, Y, Z: Integer; + SL: TStringList; + Bytes: TBytes; + S1, S2, S3: String; + Pos: Integer; + BStream: Boolean; + HexValue: Boolean; + CfgRec: PConfigRec; + CfgRecArray: PCfgRecDynArray; + CfgStruct: PCfgStruct; + CfgCounter: PCfgCounter; + SList: TStringDynArray; + +initialization + +CfgList := TDirectory.GetFiles(ExtractFilePath(Utils.GetModuleName), '*.ini', + TSearchOption.soTopDirectoryOnly); +SL := TStringList.Create; +SetLength(CodecCfg, 1); +for I := Low(CfgList) to High(CfgList) do +begin + with TIniFile.Create(CfgList[I]) do + try + if ReadString('StreamList1', 'Name', '') <> '' then + begin + S1 := ChangeFileExt(ExtractFileName(CfgList[I]), ''); + Insert(S1, Codec.Names, Length(Codec.Names)); + if UIMain.DLLLoaded then + XTLAddplugin(S1, PLUGIN_CONFIG); + SetLength(CodecCfg[0], Succ(Length(CodecCfg[0]))); + CfgRecArray := @CodecCfg[0, Pred(Length(CodecCfg[0]))]; + X := 1; + while ReadString('StreamList' + X.ToString, 'Name', '') <> '' do + begin + J := Length(CodecCfg[0, Pred(Length(CodecCfg[0]))]); + SetLength(CodecCfg[0, Pred(Length(CodecCfg[0]))], Succ(J)); + CfgRec := @CodecCfg[0, Pred(Length(CodecCfg[0])), J]; + CfgRec^.Parser := TExpressionParser.Create; + CfgRec^.Name := ReadString('StreamList' + X.ToString, 'Name', ''); + if UIMain.DLLLoaded then + XTLAddCodec(CfgRec^.Name); + CfgRec^.Codec := ReadString('StreamList' + X.ToString, 'Codec', ''); + CfgRec^.BigEndian := ReadBool('StreamList' + X.ToString, + 'BigEndian', False); + for Z := Low(CfgRec^.Structure) to High(CfgRec^.Structure) do + begin + case Z of + 0: + S3 := 'Structure1'; + 1: + S3 := 'StructureN'; + 2: + S3 := 'StructureS'; + end; + SList := DecodeStr(ReadString('StreamList' + X.ToString, S3, + ''), ','); + Pos := 0; + BStream := True; + for Y := Low(SList) to High(SList) do + begin + K := Length(CodecCfg[0, Pred(Length(CodecCfg[0])), + J].Structure[Z]); + SetLength(CodecCfg[0, Pred(Length(CodecCfg[0])), J].Structure + [Z], Succ(K)); + CfgStruct := @CodecCfg[0, Pred(Length(CodecCfg[0])), J] + .Structure[Z, K]; + DecodeHeader(SList[Y], S1, S2); + ConvertHexChr(S2); + CfgStruct^.Name := S1; + CfgStruct^.Size := + Round(IfThen(S2 <> '', CfgRec^.Parser.Evaluate(S2), 0)); + GetMem(CfgStruct^.Data, CfgStruct^.Size); + if (Z = 0) and (CfgStruct^.Name = 'Signature') then + begin + S1 := ReplaceStr(ReadString('StreamList' + X.ToString, + 'Signature', '0'), ' ', ''); + ConvertHexChr(S1); + HexValue := S1[1] = '$'; + if HexValue then + begin + S1 := S1.Substring(1); + while S1.Length < (CfgStruct^.Size * 2) do + S1.Insert(0, '0'); + SetLength(Bytes, CfgStruct^.Size); + SetLength(Bytes, HexToBin(BytesOf(S1), 0, Bytes, 0, + Length(Bytes))); + ReverseBytes(@Bytes[0], CfgStruct^.Data, CfgStruct^.Size); + end + else + begin + Bytes := BytesOf(S1); + SetLength(Bytes, CfgStruct^.Size); + Move(Bytes[0], CfgStruct^.Data^, CfgStruct^.Size); + end; + end; + CfgStruct^.Position := Pos; + CfgStruct^.Value := 0; + CfgStruct^.BeforeStream := BStream; + Inc(Pos, CfgStruct^.Size); + if (Z = 2) and (CfgStruct^.Name = 'Stream') then + begin + Pos := 0; + BStream := False; + end; + end; + end; + Y := 1; + while ReadString('StreamList' + X.ToString, + 'CounterStart' + Y.ToString, '') <> '' do + begin + K := Length(CodecCfg[0, Pred(Length(CodecCfg[0])), J].Counter); + SetLength(CodecCfg[0, Pred(Length(CodecCfg[0])), + J].Counter, Succ(K)); + CfgCounter := @CodecCfg[0, Pred(Length(CodecCfg[0])), J].Counter[K]; + CfgCounter^.StartS := ReadString('StreamList' + X.ToString, + 'CounterStart' + Y.ToString, ''); + CfgCounter^.EndS := ReadString('StreamList' + X.ToString, + 'CounterEnd' + Y.ToString, ''); + CfgCounter^.StepS := ReadString('StreamList' + X.ToString, + 'CounterStep' + Y.ToString, ''); + CfgCounter^.StartV := 0; + CfgCounter^.EndV := 0; + CfgCounter^.StepV := 0; + CfgCounter^.Current := 0; + CfgCounter^.Min := 0; + CfgCounter^.Max := 0; + Inc(Y); + end; + CfgRec^.StreamPosition := ReadString('StreamList' + X.ToString, + 'StreamPosition', ''); + CfgRec^.StreamOffset := ReadString('StreamList' + X.ToString, + 'StreamOffset', '0'); + ConvertHexChr(CfgRec^.StreamOffset); + CfgRec^.OldSize := ReadString('StreamList' + X.ToString, + 'CompressedSize', '0'); + ConvertHexChr(CfgRec^.OldSize); + CfgRec^.NewSize := ReadString('StreamList' + X.ToString, + 'DecompressedSize', '0'); + ConvertHexChr(CfgRec^.NewSize); + CfgRec^.DepthSize := ReadString('StreamList' + X.ToString, + 'DepthSize', '0'); + ConvertHexChr(CfgRec^.DepthSize); + Y := 1; + while ReadString('StreamList' + X.ToString, 'Condition' + Y.ToString, + '') <> '' do + begin + S2 := ReadString('StreamList' + X.ToString, + 'Condition' + Y.ToString, ''); + ConvertHexChr(S2); + Insert(S2, CfgRec^.Conditions, Length(CfgRec^.Conditions)); + Inc(Y); + end; + ReadSectionValues('StreamList' + X.ToString, SL); + for J := SL.Count - 1 downto 0 do + begin + S1 := SL[J].Substring(0, SL[J].IndexOf('=')).TrimRight; + S2 := SL[J].Substring(Succ(SL[J].IndexOf('='))).TrimLeft; + if (IndexText(S1, ['Name', 'Codec', 'BigEndian', 'Signature', + 'Structure1', 'StructureN', 'StructureS']) >= 0) or + S1.StartsWith('Condition', True) or S1.StartsWith('CounterStart', + True) or S1.StartsWith('CounterEnd', True) or + S1.StartsWith('CounterStep', True) then + SL.Delete(J); + end; + SetLength(CfgRec^.Names, SL.Count); + SetLength(CfgRec^.Exprs, SL.Count); + SetLength(CfgRec^.Values, SL.Count); + for J := 0 to SL.Count - 1 do + begin + S1 := SL[J].Substring(0, SL[J].IndexOf('=')).TrimRight; + S2 := SL[J].Substring(Succ(SL[J].IndexOf('='))).TrimLeft; + CfgRec^.Names[J] := S1; + CfgRec^.Exprs[J] := S2; + CfgRec^.Values[J] := 0; + end; + Inc(X); + end; + end; + finally + Free; + end; +end; + +for J := Low(CodecCfg[0]) to High(CodecCfg[0]) do + for X := Low(CodecCfg[0, J]) to High(CodecCfg[0, J]) do + begin + with CodecCfg[0, J, X] do + begin + for Z := Low(Structure) to High(Structure) do + for Y := Low(Structure[Z]) to High(Structure[Z]) do + Parser.DefineVariable(Structure[Z, Y].Name, @Structure[Z, Y].Value); + for Y := Low(Counter) to High(Counter) do + begin + Parser.DefineVariable('Counter' + Succ(Y).ToString, + @Counter[Y].Current); + Parser.DefineVariable('CounterMin' + Succ(Y).ToString, @Counter[Y].Min); + Parser.DefineVariable('CounterMax' + Succ(Y).ToString, @Counter[Y].Max); + end; + for Y := Low(Names) to High(Names) do + Parser.DefineVariable(Names[Y], @Values[Y]); + end; + end; + +Codec.Initialised := False; +Codec.Init := @ConfigInit; +Codec.Free := @ConfigFree; +Codec.Parse := @ConfigParse; +Codec.Scan1 := @ConfigScan1; +Codec.Scan2 := @ConfigScan2; +Codec.Process := @ConfigProcess; +Codec.Restore := @ConfigRestore; +SetLength(CodecAvailable, Length(CodecCfg[0])); +SetLength(CodecEnabled, Length(CodecCfg[0])); +for I := Low(CodecCfg[0]) to High(CodecCfg[0]) do +begin + SetLength(CodecAvailable[I], Length(CodecCfg[0, I])); + SetLength(CodecEnabled[I], Length(CodecCfg[0, I])); +end; + +end. diff --git a/precompressor/PrecompMain.pas b/precompressor/PrecompMain.pas index 1aa9f42..1bda118 100644 --- a/precompressor/PrecompMain.pas +++ b/precompressor/PrecompMain.pas @@ -7,7 +7,8 @@ interface uses Threading, Utils, SynCommons, ParseClass, ParseExpr, FLZMA2DLL, PrecompUtils, PrecompCrypto, PrecompZLib, PrecompLZ4, PrecompLZO, PrecompZSTD, - PrecompOodle, PrecompMedia, PrecompINI, PrecompSearch, PrecompDLL, PrecompEXE, + PrecompOodle, PrecompMedia, PrecompINI, PrecompINIEx, PrecompSearch, + PrecompDLL, PrecompEXE, WinAPI.Windows, WinAPI.ShlObj, System.SysUtils, System.Classes, System.SyncObjs, System.Math, System.Types, System.StrUtils, System.RTLConsts, System.TimeSpan, System.Diagnostics, @@ -103,12 +104,15 @@ var Codecs: array of TPrecompressor; DBFile: String = ''; ExtDir: String = ''; + SrepMemCfg: String; UseDB: Boolean = False; StoreDD: Integer = -2; VERBOSE: Boolean = False; EXTRACT: Boolean = False; + NOVERIFY: Boolean = False; DupSysMem: Int64 = 0; EncInfo: TEncInfo; + EncFreed: Boolean = False; ConTask: TTask; Stopwatch: TStopwatch; @@ -186,18 +190,24 @@ begin Options.Depth := EnsureRange(Succ(ArgParse.AsInteger('-d', 0, 0)), 1, 10); Options.LowMem := ArgParse.AsBoolean('-lm'); UseDB := ArgParse.AsBoolean('-db') or ArgParse.AsBoolean('--dbase'); - Options.DBaseFile := ArgParse.AsString('--dbase='); + Options.DBaseFile := ArgParse.AsString('--dbase=', 0, ''); + Options.DBaseFile := ArgParse.AsString('-db', 0, Options.DBaseFile); if Options.DBaseFile <> '' then UseDB := True; StoreDD := -2; if ArgParse.AsBoolean('-dd') or ArgParse.AsBoolean('--dedup') then StoreDD := -1; if FileExists(ExtractFilePath(Utils.GetModuleName) + 'srep.exe') then + begin StoreDD := ArgParse.AsInteger('--dedup=', 0, StoreDD); + StoreDD := ArgParse.AsInteger('-dd', 0, StoreDD); + end; S := ArgParse.AsString('--diff=', 0, '5p'); + S := ArgParse.AsString('-df', 0, S); S := ReplaceText(S, 'p', '%'); DIFF_TOLERANCE := Max(0.00, ExpParse.Evaluate(S)); VERBOSE := ArgParse.AsBoolean('-v') or ArgParse.AsBoolean('--verbose'); + NOVERIFY := ArgParse.AsBoolean('-s') or ArgParse.AsBoolean('--skip'); Options.ExtractDir := ArgParse.AsString('--extract='); if Options.ExtractDir <> '' then EXTRACT := DirectoryExists(Options.ExtractDir); @@ -244,10 +254,11 @@ begin Options.DedupSysMem := Max(0, Round(ExpParse.Evaluate(S))); if B then Options.DedupSysMem := -Options.DedupSysMem; - VERBOSE := ArgParse.AsBoolean('--verbose'); - S := ArgParse.AsString('--compress=', 0, 't50p'); + VERBOSE := ArgParse.AsBoolean('-v') or ArgParse.AsBoolean('--verbose'); + S := ArgParse.AsString('--compress=', 0, 't25p'); S := ReplaceText(S, SPrecompSep3, SPrecompSep2); Options.CompressCfg := S; + SrepMemCfg := ArgParse.AsString('--srepmem=', 0, '75p'); finally ArgParse.Free; ExpParse.Free; @@ -317,6 +328,7 @@ var begin SetLength(Codecs, 0); Insert(PrecompINI.Codec, Codecs, Length(Codecs)); + Insert(PrecompINIEx.Codec, Codecs, Length(Codecs)); Insert(PrecompSearch.Codec, Codecs, Length(Codecs)); Insert(PrecompDLL.Codec, Codecs, Length(Codecs)); Insert(PrecompEXE.Codec, Codecs, Length(Codecs)); @@ -992,10 +1004,13 @@ begin CurCodec[Index] := SI2.Codec; CurDepth[Index] := Depth; try - Result := Codecs[SI2.Codec].Process(Index, Depth, - PByte(DataStore.Slot(ThreadIndex).Memory) + SI2.ActualPosition, - PByte(MemOutput1[ThreadIndex].Memory) + SI2.StorePosition, @SI1, - @PrecompOutput1, @PrecompFunctions); + if NOVERIFY and not(SI2.Codec in [5]) then + Result := True + else + Result := Codecs[SI2.Codec].Process(Index, Depth, + PByte(DataStore.Slot(ThreadIndex).Memory) + SI2.ActualPosition, + PByte(MemOutput1[ThreadIndex].Memory) + SI2.StorePosition, @SI1, + @PrecompOutput1, @PrecompFunctions); except Result := False; end; @@ -1274,11 +1289,10 @@ begin DataStore := TDataStore2.Create(Length(InfoStore1)); end; CodecInit(Options^.Threads, Options^.Method); - DBFile := Options^.DBaseFile; - if FileExists(ExtractFilePath(Utils.GetModuleName) + DBFile) then + DBFile := ExpandPath(Options^.DBaseFile); + if FileExists(DBFile) then begin - with TFileStream.Create(ExtractFilePath(Utils.GetModuleName) + DBFile, - fmShareDenyNone) do + with TFileStream.Create(DBFile, fmShareDenyNone) do begin Position := 0; if WorkStream[0].Size < Size then @@ -1309,6 +1323,8 @@ begin if (IndexText(PrecompGetCodec(PChar(Options^.Method), I, False), PrecompINI.Codec.Names) < 0) and (IndexText(PrecompGetCodec(PChar(Options^.Method), I, False), + PrecompINIEx.Codec.Names) < 0) and + (IndexText(PrecompGetCodec(PChar(Options^.Method), I, False), PrecompSearch.Codec.Names) < 0) then begin if S = '' then @@ -1359,6 +1375,7 @@ var UI32: UInt32; I, J, K: Integer; begin + EncFreed := True; if Length(Tasks) > 1 then WaitForAll(Tasks); CodecFree(Length(Tasks)); @@ -1684,8 +1701,7 @@ begin end; end; end; - with TFileStream.Create(ExtractFilePath(Utils.GetModuleName) + DBFile, - fmCreate) do + with TFileStream.Create(DBFile, fmCreate) do begin WriteBuffer(WorkStream[0].Memory^, WorkStream[0].Position); Free; @@ -1734,7 +1750,7 @@ begin end; end else - Output.CopyFrom(TempOutput, 0); + Output.CopyFrom(TBufferedStream(TempOutput).Instance, 0); TempOutput.Free; DeleteFile(S); end @@ -2098,7 +2114,8 @@ begin if (Depth = 0) and (StoreDD >= 0) then begin LStream := TProcessStream.Create(ExtractFilePath(Utils.GetModuleName) + - 'srep.exe', '-d -s - -', GetCurrentDir, Input, nil); + 'srep.exe', '-d -s -mem' + SrepMemCfg + ' - -', GetCurrentDir, + Input, nil); if not LStream.Execute then raise EReadError.CreateRes(@SReadError); DecInput[Index] := TBufferedStream.Create(LStream, True, 4194304); @@ -2350,7 +2367,8 @@ begin if Options.DoCompress then LOutput.Free; try - // EncFree; + if not EncFreed then + EncFree; finally Stopwatch.Stop; end; diff --git a/precompressor/PrecompOodle.pas b/precompressor/PrecompOodle.pas index 4706056..fa6dfb9 100644 --- a/precompressor/PrecompOodle.pas +++ b/precompressor/PrecompOodle.pas @@ -513,16 +513,27 @@ begin Pos := 0; while Pos < Size do begin - GetOodleSI(Input + Pos, SizeEx - Pos, @OodleSI); - if (OodleSI.CSize > 0) then - begin - if GetOodleUS(Instance, Input, Pos, @OodleSI, Output, Add, Funcs) > 0 then + try + while Pos < Size do begin - Inc(Pos, OodleSI.CSize); - continue; + GetOodleSI(Input + Pos, SizeEx - Pos, @OodleSI); + if (OodleSI.CSize > 0) then + begin + try + if GetOodleUS(Instance, Input, Pos, @OodleSI, Output, Add, Funcs) > 0 + then + begin + Inc(Pos, OodleSI.CSize); + continue; + end; + except + end; + end; + Inc(Pos); end; + except + Inc(Pos); end; - Inc(Pos); end; end; diff --git a/precompressor/PrecompSearch.pas b/precompressor/PrecompSearch.pas index 54de061..d78e442 100644 --- a/precompressor/PrecompSearch.pas +++ b/precompressor/PrecompSearch.pas @@ -4,6 +4,7 @@ interface uses Utils, SynCommons, SynCrypto, + UIMain, PrecompUtils, WinAPI.Windows, System.SysUtils, System.Classes, System.StrUtils, @@ -281,6 +282,8 @@ begin SetLength(CodecSearch, Succ(J)); S := ChangeFileExt(ExtractFileName(SearchList[I]), ''); Insert(S, Codec.Names, Length(Codec.Names)); + if UIMain.DLLLoaded then + XTLAddplugin(S, PLUGIN_DATABASE); end; while FStream.Position < FStream.Size do begin diff --git a/precompressor/PrecompZLib.pas b/precompressor/PrecompZLib.pas index a844c23..2e95e72 100644 --- a/precompressor/PrecompZLib.pas +++ b/precompressor/PrecompZLib.pas @@ -444,7 +444,8 @@ begin exit; end else if BoolArray(CodecEnabled, False) then - exit; + if Assigned(Add) then + exit; Pos := 0; Buffer := Funcs^.Allocator(Instance, Z_WORKMEM); IsZlib := False; @@ -487,7 +488,7 @@ begin (EndianSwap(PWord(Input + Pos - 2)^) mod $1F = 0) then begin WinBits := (Input + Pos - 2)^ shr 4; - if WinBits in [0 .. 7] then + if WinBits = ZWinBits then begin ZStream := @ZStream2[Instance, WinBits]; Level := (Input + Pos - 1)^ shr $6; @@ -569,7 +570,8 @@ begin if (I = ZLIB_CODEC) and (WinBits = 0) then SetBits(SI.Option, 1, 12, 3); SetBits(SI.Option, I, 0, 5); - if CodecEnabled[I] or (I = X) then + if CodecEnabled[I] or (I = X) or + (CodecAvailable[I] and not Assigned(Add)) then begin DS := Funcs^.GetDepthCodec(DI1.Codec); Move(DS[0], DI2.Codec, SizeOf(DI2.Codec)); @@ -751,8 +753,7 @@ begin L := EnsureRange(L, 1, 9); M := 0; I := 0; - Params := 'l' + L.ToString + ':' + 'w' + - (GetBits(StreamInfo^.Option, 12, 3) + 8).ToString; + Params := 'l' + L.ToString; raw2hif_Init(HR, L); while True do begin @@ -793,7 +794,7 @@ begin Res1 := StreamInfo^.NewSize; Res2 := P_HIFSIZE; Buffer := Funcs^.Allocator(Instance, Res2); - Params := 'w' + (GetBits(StreamInfo^.Option, 12, 3) + 8).ToString; + Params := ''; if preflate_decode(OldInput, StreamInfo^.OldSize, NewInput, @Res1, Buffer, @Res2) then begin @@ -868,8 +869,7 @@ begin I := 0; J := 0; M := 0; - Params := 'l' + GetBits(StreamInfo.Option, 5, 7).ToString + ':' + 'w' + - (GetBits(StreamInfo.Option, 12, 3) + 8).ToString; + Params := 'l' + GetBits(StreamInfo.Option, 5, 7).ToString; hif2raw_Init(HR, GetBits(StreamInfo.Option, 5, 7)); while True do begin @@ -904,7 +904,7 @@ begin begin Res1 := StreamInfo.OldSize; Buffer := Funcs^.Allocator(Instance, Res1); - Params := 'w' + (GetBits(StreamInfo.Option, 12, 3) + 8).ToString; + Params := ''; if preflate_reencode(Input, StreamInfo.NewSize, InputExt, StreamInfo.ExtSize, Buffer, @Res1) then begin diff --git a/precompressor/PrecompZSTD.pas b/precompressor/PrecompZSTD.pas index fb3dfad..3e7154a 100644 --- a/precompressor/PrecompZSTD.pas +++ b/precompressor/PrecompZSTD.pas @@ -320,8 +320,6 @@ begin if Result or (StreamInfo^.Status >= TStreamStatus.Predicted) then break; end; - if Res1 < 0 then - exit; if (Result = False) and ((StreamInfo^.Status >= TStreamStatus.Predicted) or (SOList[Instance][X].Count = 1)) and (DIFF_TOLERANCE > 0) then begin diff --git a/resources/Win32/fast-lzma2.dll b/resources/Win32/fast-lzma2.dll deleted file mode 100644 index c166eb44cf715260698700f36021f08b24aa90ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166400 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 dD`Q7HJtC} diff --git a/resources/Win32/xdelta3_dll.dll b/resources/Win32/xdelta3_dll.dll deleted file mode 100644 index c6e672cf7782b471215d5388016021807856676b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113664 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 diff --git a/resources/Win64/xdelta3_dll.dll b/resources/Win64/xdelta3_dll.dll deleted file mode 100644 index c099e66cf0901b94a5e7f20a9a4c89b34cb22976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123904 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 diff --git a/ui/UIMain.pas b/ui/UIMain.pas new file mode 100644 index 0000000..054f905 --- /dev/null +++ b/ui/UIMain.pas @@ -0,0 +1,95 @@ +unit UIMain; + +interface + +uses + LibImport, + WinAPI.Windows, + System.SysUtils, System.Classes, System.Types; + +type + PUIFuncs = ^TUIFuncs; + + TUIFuncs = record + IsZlibLoaded: Boolean; + IsReflateLoaded: Boolean; + IsPreflateLoaded: Boolean; + IsLZ4Loaded: Boolean; + IsLZOLoaded: Boolean; + IsZSTDLoaded: Boolean; + IsOodleLoaded: Boolean; + IsFLACLoaded: Boolean; + IsBrunsliLoaded: Boolean; + IsPackJPGLoaded: Boolean; + IsJoJpegLoaded: Boolean; + IsXDeltaLoaded: Boolean; + IsLZMALoaded: Boolean; + IsSrepAvailable: Boolean; + end; + +const + PLUGIN_DATABASE = 0; + PLUGIN_CONFIG = 1; + PLUGIN_LIBRARY = 2; + +var + UIFuncs: TUIFuncs; + XTLUI1: procedure; + XTLUI2: function(Funcs: PUIFuncs; var Params: TArray; + out LibType: Integer; out LibPath: String): Boolean; + XTLAddPlugin: procedure(S: String; I: Integer); + XTLAddCodec: procedure(S: String); + DLLLoaded: Boolean = False; + +implementation + +uses + BrunsliDLL, FLACDLL, FLZMA2DLL, JoJpegDLL, LZ4DLL, LZODLL, OodleDLL, + PackJPGDLL, PreflateDLL, ReflateDLL, XDeltaDLL, ZLibDLL, ZSTDDLL, + Utils; + +var + Lib: TLibImport; + +procedure Init; +begin + Lib := TLibImport.Create(ChangeFileExt(Utils.GetModuleName, 'ui.dll')); + if Lib.Loaded then + begin + @XTLUI1 := Lib.GetProcAddr('XTLUI1'); + @XTLUI2 := Lib.GetProcAddr('XTLUI2'); + @XTLAddPlugin := Lib.GetProcAddr('XTLAddPlugin'); + @XTLAddCodec := Lib.GetProcAddr('XTLAddCodec'); + DLLLoaded := Assigned(XTLUI1); + end; +end; + +procedure Deinit; +begin + Lib.Free; +end; + +initialization + +UIFuncs.IsZlibLoaded := ZLibDLL.DLLLoaded; +UIFuncs.IsReflateLoaded := ReflateDLL.DLLLoaded; +UIFuncs.IsPreflateLoaded := PreflateDLL.DLLLoaded; +UIFuncs.IsLZ4Loaded := LZ4DLL.DLLLoaded; +UIFuncs.IsLZOLoaded := LZODLL.DLLLoaded; +UIFuncs.IsZSTDLoaded := ZSTDDLL.DLLLoaded; +UIFuncs.IsOodleLoaded := OodleDLL.DLLLoaded; +UIFuncs.IsFLACLoaded := FLACDLL.DLLLoaded; +UIFuncs.IsBrunsliLoaded := BrunsliDLL.DLLLoaded; +UIFuncs.IsPackJPGLoaded := PackJPGDLL.DLLLoaded; +UIFuncs.IsJoJpegLoaded := JoJpegDLL.DLLLoaded; +UIFuncs.IsXDeltaLoaded := XDeltaDLL.DLLLoaded; +UIFuncs.IsLZMALoaded := FLZMA2DLL.DLLLoaded; +UIFuncs.IsSrepAvailable := FileExists(ExtractFilePath(Utils.GetModuleName) + + 'srep.exe'); +Init; + +finalization + +Deinit; + +end. diff --git a/xtool.dpr b/xtool.dpr index f89db4d..03c0b78 100644 --- a/xtool.dpr +++ b/xtool.dpr @@ -62,6 +62,7 @@ uses ZLibDLL in 'imports\ZLibDLL.pas', ZSTDDLL in 'imports\ZSTDDLL.pas', lz4 in 'sources\lz4.pas', + UIMain in 'ui\UIMain.pas', PrecompMain in 'precompressor\PrecompMain.pas', PrecompUtils in 'precompressor\PrecompUtils.pas', PrecompCrypto in 'precompressor\PrecompCrypto.pas', @@ -72,6 +73,7 @@ uses PrecompMedia in 'precompressor\PrecompMedia.pas', PrecompOodle in 'precompressor\PrecompOodle.pas', PrecompINI in 'precompressor\PrecompINI.pas', + PrecompINIEx in 'precompressor\PrecompINIEx.pas', PrecompSearch in 'precompressor\PrecompSearch.pas', PrecompDLL in 'precompressor\PrecompDLL.pas', PrecompEXE in 'precompressor\PrecompEXE.pas', @@ -172,15 +174,59 @@ begin Result := TFileStream.Create(Output, fmCreate); end; +function CheckInstance(const InstanceName: string): boolean; +var + Sem: THandle; +begin + Result := False; + Sem := CreateSemaphore(nil, 0, 1, PChar(InstanceName)); + if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then + begin + CloseHandle(Sem); + exit(True); + end; +end; + +function Exec_(Executable, CommandLine, WorkDir: string): boolean; +var + StartupInfo: TStartupInfo; + ProcessInfo: TProcessInformation; + dwExitCode: DWORD; + LWorkDir: PChar; +begin + Result := False; + FillChar(StartupInfo, sizeof(StartupInfo), #0); + StartupInfo.cb := sizeof(StartupInfo); + if WorkDir <> '' then + LWorkDir := Pointer(WorkDir) + else + LWorkDir := Pointer(GetCurrentDir); + if CreateProcess(nil, PChar('"' + Executable + '" ' + CommandLine), nil, nil, + False, 0, nil, LWorkDir, StartupInfo, ProcessInfo) then + begin + CloseHandleEx(ProcessInfo.hThread); + WaitForSingleObject(ProcessInfo.hProcess, INFINITE); + GetExitCodeProcess(ProcessInfo.hProcess, dwExitCode); + CloseHandleEx(ProcessInfo.hProcess); + Result := dwExitCode = 0; + end + else + RaiseLastOSError; +end; + const BufferSize = 1048576; var I, J: Integer; S: String; + LibType: Integer; + LibPath: String; + LibList: System.Types.TStringDynArray; + ParamStr_: TArray; ParamArg: array [0 .. 1] of TArray; StrArray: TArray; - IsParam: Boolean; + IsParam: boolean; Input, Output: TStream; PrecompEnc: PrecompMain.TEncodeOptions; PrecompDec: PrecompMain.TDecodeOptions; @@ -207,7 +253,56 @@ end; begin FormatSettings := TFormatSettings.Invariant; - ProgramInfo; + if not CheckInstance('XToolUI_Check') then + ProgramInfo; + if UIMain.DLLLoaded and (ParamCount = 0) then + begin + XTLUI1; + while XTLUI2(@UIFuncs, ParamStr_, LibType, LibPath) do + begin + S := ''; + for I := 1 to High(ParamStr_) do + S := S + IfThen(ParamStr_[I].Contains(' '), '"' + ParamStr_[I] + '"', + ParamStr_[I]) + ' '; + PrecompMain.Parse(ParamStr_, PrecompEnc); + if LibType = 0 then + begin + WriteLine('Chunk size: ' + ConvertKB2TB(PrecompEnc.ChunkSize div 1024) + + ', ' + 'Threads: ' + PrecompEnc.Threads.ToString + ', ' + 'Depth: ' + + (PrecompEnc.Depth - 1).ToString); + WriteLine(''); + Exec_(ParamStr(0), S, ''); + end + else + begin + LibList := TDirectory.GetFiles(LibPath, '*.dll', + TSearchOption.soAllDirectories); + for J := Low(LibList) to High(LibList) do + begin + S := ''; + for I := 1 to High(ParamStr_) do + begin + S := S + IfThen(ParamStr_[I].Contains(' '), + '"' + ParamStr_[I] + '"', ParamStr_[I]) + ' '; + if I = 1 then + case LibType of + 1: + S := S + '"' + '-l4' + LibList[J] + '"' + ' '; + 2: + S := S + '"' + '-zs' + LibList[J] + '"' + ' '; + 3: + S := S + '"' + '-od' + LibList[J] + '"' + ' '; + end; + end; + WriteLine('Library loaded: ' + ReplaceText(LibList[J], + IncludeTrailingBackSlash(LibPath), '')); + WriteLine(''); + Exec_(ParamStr(0), S, ''); + end; + end; + end; + exit; + end; try if ParamCount = 0 then begin @@ -240,6 +335,12 @@ begin try PrecompMain.Parse(ParamArg[0], PrecompEnc); PrecompMain.Encode(Input, Output, PrecompEnc); + if TBufferedStream(Output).Instance is TNullStream then + begin + WriteLine('Results: ' + ConvertKB2TB(Input.Size div 1024) + ' >> ' + + ConvertKB2TB(Output.Size div 1024)); + WriteLine(''); + end; finally Input.Free; Output.Free; diff --git a/xtool.dproj b/xtool.dproj index 15ff681..3276fc1 100644 --- a/xtool.dproj +++ b/xtool.dproj @@ -48,6 +48,12 @@ Base true + + true + Cfg_2 + true + true + true Cfg_2 @@ -119,6 +125,12 @@ 0 0 + + .\$(Platform)\DCUs + /usr/bin/gnome-terminal -- "%debuggee%" + (None) + none + .\$(Platform)\DCUs 7177 @@ -134,6 +146,7 @@ true 0 CompanyName=;FileDescription=;FileVersion=0.0.0.0;InternalName=;LegalCopyright=Razor12911;LegalTrademarks=;OriginalFilename=xtool.exe;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.0.0.0;Comments=Created by Razor12911 + none @@ -166,6 +179,7 @@ + @@ -176,6 +190,7 @@ + @@ -207,8 +222,8 @@ xtool.dpr - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components diff --git a/xtool.dres b/xtool.dres deleted file mode 100644 index 26a7ef342a0b713a69015ac473371708e242fe88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95816 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 + out LibType: Integer; out LibPath: String): Boolean; +var + I, J, X: Integer; + Expander: TExpander; +begin + if not UIInitialised then + begin + UIInitialised := True; + { Form2.CheckBox3.Enabled := Funcs^.IsZlibLoaded; + Form2.CheckBox1.Enabled := Funcs^.IsReflateLoaded; + Form2.CheckBox2.Enabled := Funcs^.IsPreflateLoaded; + Form2.CheckBox4.Enabled := Funcs^.IsLZ4Loaded; + Form2.CheckBox5.Enabled := Funcs^.IsLZ4Loaded; + Form2.CheckBox6.Enabled := Funcs^.IsLZ4Loaded; + Form2.CheckBox7.Enabled := Funcs^.IsLZOLoaded; + Form2.CheckBox8.Enabled := Funcs^.IsZSTDLoaded; + Form2.CheckBox10.Enabled := Funcs^.IsOodleLoaded; + Form2.CheckBox12.Enabled := Funcs^.IsOodleLoaded; + Form2.CheckBox14.Enabled := Funcs^.IsOodleLoaded; + Form2.CheckBox16.Enabled := Funcs^.IsOodleLoaded; + Form2.CheckBox18.Enabled := Funcs^.IsOodleLoaded; + Form2.CheckBox21.Enabled := Funcs^.IsFLACLoaded; + Form2.RadioButton4.Enabled := Funcs^.IsFLACLoaded; + Form2.CheckBox26.Enabled := Funcs^.IsBrunsliLoaded or + Funcs^.IsPackJPGLoaded or Funcs^.IsJoJpegLoaded; + Form2.RadioButton1.Enabled := Funcs^.IsBrunsliLoaded; + Form2.RadioButton2.Enabled := Funcs^.IsPackJPGLoaded; + Form2.RadioButton3.Enabled := Funcs^.IsJoJpegLoaded; + Form1.GroupBox5.Enabled := Funcs^.IsLZMALoaded; } + Form1.SpinBox4.Enabled := Funcs^.IsSrepAvailable; + for I := Low(Methods) to High(Methods) do + begin + case Methods[I].FType of + PLUGIN_DATABASE: + Form2.ListBox2.Items.Add(Methods[I].FName); + PLUGIN_CONFIG: + begin + J := Length(CfgCtrls); + Insert(TConfigCtrl.Create(Form2, Form2.VertScrollBox3), CfgCtrls, + Length(CfgCtrls)); + CfgCtrls[J].SetText(Methods[I].FName); + for X := Low(Methods[I].Codecs) to High(Methods[I].Codecs) do + CfgCtrls[J].AddCodec(Methods[I].Codecs[X]); + end; + PLUGIN_LIBRARY: + begin + J := Length(LibCtrls); + Insert(TLibraryCtrl.Create(Form2, Form2.VertScrollBox3), LibCtrls, + Length(LibCtrls)); + LibCtrls[J].SetText(Methods[I].FName); + for X := Low(Methods[I].Codecs) to High(Methods[I].Codecs) do + LibCtrls[J].AddCodec(Methods[I].Codecs[X]); + end; + end; + end; + for I := 0 to Form2.ComponentCount - 1 do + begin + if Form2.Components[I] is TExpander then + TExpander(Form2.Components[I]).IsExpanded := False; + end; + if Form2.ListBox2.Items.Count = 0 then + Form2.Expander10.Visible := False; + end; + Result := Form1.ShowModal = mrOk; + LibType := Form1.ComboBox4.ItemIndex; + LibPath := Form1.Edit5.Text; + if Result then + begin + SetLength(Params, Length(CmdStr)); + for I := Low(CmdStr) to High(CmdStr) do + Params[I] := CmdStr[I]; + end; +end; + +procedure XTLAddPlugin(S: String; I: Integer); +var + J: Integer; +begin + J := Length(Methods); + SetLength(Methods, Succ(J)); + Methods[J].FName := S; + Methods[J].FType := I; + SetLength(Methods[J].Codecs, 0); +end; + +procedure XTLAddCodec(S: String); +var + J: Integer; +begin + J := Pred(Length(Methods)); + Insert(S, Methods[J].Codecs, Length(Methods[J].Codecs)); +end; + +exports XTLUI1, XTLUI2, XTLAddPlugin, XTLAddCodec; + +begin + +end. diff --git a/xtoolui.dproj b/xtoolui.dproj new file mode 100644 index 0000000..a1d54c0 --- /dev/null +++ b/xtoolui.dproj @@ -0,0 +1,1043 @@ + + + {DFC294EE-9AC3-4C8F-8F10-C1976253A985} + 19.5 + FMX + True + Release + Win64 + 3 + Library + xtoolui.dpr + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + xtoolui + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + Debug + $(MSBuildProjectName) + + + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + + + DataSnapServer;emshosting;fmx;DbxCommonDriver;bindengine;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;dbxcds;emsedge;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;dbexpress;FireDACInfxDriver;inet;DataSnapCommon;dbrtl;FireDACOracleDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;dsnapxml;DataSnapClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;xmlrtl;dsnap;CloudService;FireDACDb2Driver;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + + + DataSnapServer;vclwinx;emshosting;fmx;DbxCommonDriver;vclie;bindengine;VCLRESTComponents;FireDACCommonODBC;DBXMSSQLDriver;IndyIPCommon;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;dbxcds;vcledge;IndyIPClient;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;fmxase;vcltouch;DBXOdbcDriver;dbrtl;FireDACOracleDriver;FireDACDBXDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;adortl;dsnapxml;IndyIPServer;DataSnapClient;DataSnapProviderClient;dsnapcon;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;DBXSybaseASADriver;CloudService;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;DataSnapNativeClient;bindcompvclsmp;fmxobj;FMXTee;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DataSnapServer;vclwinx;emshosting;fmx;DbxCommonDriver;vclie;bindengine;VCLRESTComponents;FireDACCommonODBC;DBXMSSQLDriver;IndyIPCommon;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;dbxcds;vcledge;IndyIPClient;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;fmxase;vcltouch;DBXOdbcDriver;dbrtl;FireDACOracleDriver;FireDACDBXDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;adortl;dsnapxml;IndyIPServer;DataSnapClient;DataSnapProviderClient;dsnapcon;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;DBXSybaseASADriver;CloudService;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;DataSnapNativeClient;bindcompvclsmp;fmxobj;FMXTee;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + .\$(Platform)\DCUs + true + 7177 + (None) + none + 0 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=xtoolui.dll;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.0.0.0;Comments=Created by Razor12911 + + + .\$(Platform)\DCUs + true + 7177 + (None) + none + 0 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.0.0.0;InternalName=;LegalCopyright=Razor12911;LegalTrademarks=;OriginalFilename=xtooui.dll;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.0.0.0;Comments=Created by Razor12911 + Win64\Release\xtool.exe + + + + MainSource + + +

Form1 + + +
Form2
+
+ + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Application + + + + xtoolui.dpr + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + xtoolui.dll + true + + + + + xtoolui.dll + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 64 + + + classes + 64 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + + False + False + False + False + False + True + True + + + 12 + + + + + diff --git a/xtoolui.res b/xtoolui.res new file mode 100644 index 0000000000000000000000000000000000000000..4075f387968ffdd4d78681c4e3d2ad9cf0e7cf3a GIT binary patch literal 820 zcmZvaK~KU!5QSfngXqPBF&;c{@JzsPP-8R%)Q}(;BwS4eL=q^ZU?To5uKpYE`U|Yz zZdnV&ZFahyee>qcbR;Ruj-q&TTw9BjyWa!j*}J?lX$M-QiX7W|&?EL*O-@xcROh>j zz2R)uNBZkWisP+gX|9%UL%4anPi_ysnL-T|s1MsfL-k+|^sF&4-voIosI0us*hMrL zMW@=v@9-63rs`Op348-$1DpAcuQAV1uXqK+YFwMRkjMm|R}PHZ(z$lYQv=tR4@()Y ziRLy_UoWtWp7?slAENUFl?5KNE^TaMi8U1(2B+D4jo_7>Mx!vNE|{T>uj!E7_r#CM z9$I`=6?@mgHv-+mK5-LLy-%#EXN=!*uGbxNb?HS1<@G-Wi3W!++CHu0H@lVe$@EJo zJ3z1L(8yL6kYkF!jHVvBX4tN>=$&K#@0zL3W714Tu2ac0NXIgh)Z*5spHn(zc$5E^ mIr>a9R=QwE(GK0KsRZ84X;XKcO1y8Gq85`Euhn_q!u1P7igc?0 literal 0 HcmV?d00001

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